Full Code of mingrammer/diagrams for AI

master 366f5d2850a3 cached
318 files
799.1 KB
221.8k tokens
2855 symbols
1 requests
Download .txt
Showing preview only (869K chars total). Download the full file or copy to clipboard to get everything.
Repository: mingrammer/diagrams
Branch: master
Commit: 366f5d2850a3
Files: 318
Total size: 799.1 KB

Directory structure:
gitextract_neutf5we/

├── .devcontainer/
│   ├── Dockerfile
│   └── devcontainer.json
├── .github/
│   ├── dependabot.yml
│   └── workflows/
│       ├── codeql-analysis.yml
│       ├── pre-commit.yml
│       └── test.yml
├── .gitignore
├── .isort.cfg
├── .pre-commit-config.yaml
├── CHANGELOG.md
├── CONTRIBUTING.md
├── DEVELOPMENT.md
├── LICENSE
├── README.md
├── autogen.sh
├── config.py
├── diagrams/
│   ├── __init__.py
│   ├── alibabacloud/
│   │   ├── __init__.py
│   │   ├── analytics.py
│   │   ├── application.py
│   │   ├── communication.py
│   │   ├── compute.py
│   │   ├── database.py
│   │   ├── iot.py
│   │   ├── network.py
│   │   ├── security.py
│   │   ├── storage.py
│   │   └── web.py
│   ├── aws/
│   │   ├── __init__.py
│   │   ├── analytics.py
│   │   ├── ar.py
│   │   ├── blockchain.py
│   │   ├── business.py
│   │   ├── compute.py
│   │   ├── cost.py
│   │   ├── database.py
│   │   ├── devtools.py
│   │   ├── enablement.py
│   │   ├── enduser.py
│   │   ├── engagement.py
│   │   ├── game.py
│   │   ├── general.py
│   │   ├── integration.py
│   │   ├── iot.py
│   │   ├── management.py
│   │   ├── media.py
│   │   ├── migration.py
│   │   ├── ml.py
│   │   ├── mobile.py
│   │   ├── network.py
│   │   ├── quantum.py
│   │   ├── robotics.py
│   │   ├── satellite.py
│   │   ├── security.py
│   │   └── storage.py
│   ├── azure/
│   │   ├── __init__.py
│   │   ├── aimachinelearning.py
│   │   ├── analytics.py
│   │   ├── appservices.py
│   │   ├── azureecosystem.py
│   │   ├── azurestack.py
│   │   ├── blockchain.py
│   │   ├── compute.py
│   │   ├── containers.py
│   │   ├── database.py
│   │   ├── databases.py
│   │   ├── devops.py
│   │   ├── general.py
│   │   ├── hybridmulticloud.py
│   │   ├── identity.py
│   │   ├── integration.py
│   │   ├── intune.py
│   │   ├── iot.py
│   │   ├── managementgovernance.py
│   │   ├── menu.py
│   │   ├── migrate.py
│   │   ├── migration.py
│   │   ├── mixedreality.py
│   │   ├── ml.py
│   │   ├── mobile.py
│   │   ├── monitor.py
│   │   ├── network.py
│   │   ├── networking.py
│   │   ├── newicons.py
│   │   ├── other.py
│   │   ├── security.py
│   │   ├── storage.py
│   │   └── web.py
│   ├── base/
│   │   └── __init__.py
│   ├── c4/
│   │   └── __init__.py
│   ├── cli.py
│   ├── custom/
│   │   └── __init__.py
│   ├── digitalocean/
│   │   ├── __init__.py
│   │   ├── compute.py
│   │   ├── database.py
│   │   ├── network.py
│   │   └── storage.py
│   ├── elastic/
│   │   ├── __init__.py
│   │   ├── agent.py
│   │   ├── beats.py
│   │   ├── elasticsearch.py
│   │   ├── enterprisesearch.py
│   │   ├── observability.py
│   │   ├── orchestration.py
│   │   ├── saas.py
│   │   └── security.py
│   ├── firebase/
│   │   ├── __init__.py
│   │   ├── base.py
│   │   ├── develop.py
│   │   ├── extentions.py
│   │   ├── grow.py
│   │   └── quality.py
│   ├── gcp/
│   │   ├── __init__.py
│   │   ├── analytics.py
│   │   ├── api.py
│   │   ├── compute.py
│   │   ├── database.py
│   │   ├── devtools.py
│   │   ├── iot.py
│   │   ├── management.py
│   │   ├── migration.py
│   │   ├── ml.py
│   │   ├── network.py
│   │   ├── operations.py
│   │   ├── security.py
│   │   └── storage.py
│   ├── generic/
│   │   ├── __init__.py
│   │   ├── blank.py
│   │   ├── compute.py
│   │   ├── database.py
│   │   ├── device.py
│   │   ├── network.py
│   │   ├── os.py
│   │   ├── place.py
│   │   ├── storage.py
│   │   └── virtualization.py
│   ├── gis/
│   │   ├── __init__.py
│   │   ├── cli.py
│   │   ├── cplusplus.py
│   │   ├── data.py
│   │   ├── database.py
│   │   ├── desktop.py
│   │   ├── format.py
│   │   ├── geocoding.py
│   │   ├── georchestra.py
│   │   ├── java.py
│   │   ├── javascript.py
│   │   ├── mobile.py
│   │   ├── ogc.py
│   │   ├── organization.py
│   │   ├── python.py
│   │   ├── routing.py
│   │   ├── server.py
│   │   └── toolkit.py
│   ├── ibm/
│   │   ├── __init__.py
│   │   ├── analytics.py
│   │   ├── applications.py
│   │   ├── blockchain.py
│   │   ├── compute.py
│   │   ├── data.py
│   │   ├── devops.py
│   │   ├── general.py
│   │   ├── infrastructure.py
│   │   ├── management.py
│   │   ├── network.py
│   │   ├── security.py
│   │   ├── social.py
│   │   ├── storage.py
│   │   └── user.py
│   ├── k8s/
│   │   ├── __init__.py
│   │   ├── chaos.py
│   │   ├── clusterconfig.py
│   │   ├── compute.py
│   │   ├── controlplane.py
│   │   ├── ecosystem.py
│   │   ├── group.py
│   │   ├── infra.py
│   │   ├── network.py
│   │   ├── others.py
│   │   ├── podconfig.py
│   │   ├── rbac.py
│   │   └── storage.py
│   ├── oci/
│   │   ├── __init__.py
│   │   ├── compute.py
│   │   ├── connectivity.py
│   │   ├── database.py
│   │   ├── devops.py
│   │   ├── governance.py
│   │   ├── monitoring.py
│   │   ├── network.py
│   │   ├── security.py
│   │   └── storage.py
│   ├── onprem/
│   │   ├── __init__.py
│   │   ├── aggregator.py
│   │   ├── analytics.py
│   │   ├── auth.py
│   │   ├── cd.py
│   │   ├── certificates.py
│   │   ├── ci.py
│   │   ├── client.py
│   │   ├── compute.py
│   │   ├── container.py
│   │   ├── database.py
│   │   ├── dns.py
│   │   ├── etl.py
│   │   ├── gitops.py
│   │   ├── groupware.py
│   │   ├── iac.py
│   │   ├── identity.py
│   │   ├── inmemory.py
│   │   ├── logging.py
│   │   ├── messaging.py
│   │   ├── mlops.py
│   │   ├── monitoring.py
│   │   ├── network.py
│   │   ├── proxmox.py
│   │   ├── queue.py
│   │   ├── registry.py
│   │   ├── search.py
│   │   ├── security.py
│   │   ├── storage.py
│   │   ├── tracing.py
│   │   ├── vcs.py
│   │   └── workflow.py
│   ├── openstack/
│   │   ├── __init__.py
│   │   ├── adjacentenablers.py
│   │   ├── apiproxies.py
│   │   ├── applicationlifecycle.py
│   │   ├── baremetal.py
│   │   ├── billing.py
│   │   ├── compute.py
│   │   ├── containerservices.py
│   │   ├── deployment.py
│   │   ├── frontend.py
│   │   ├── lifecyclemanagement.py
│   │   ├── monitoring.py
│   │   ├── multiregion.py
│   │   ├── networking.py
│   │   ├── nfv.py
│   │   ├── operations.py
│   │   ├── optimization.py
│   │   ├── orchestration.py
│   │   ├── packaging.py
│   │   ├── sharedservices.py
│   │   ├── storage.py
│   │   ├── user.py
│   │   └── workloadprovisioning.py
│   ├── outscale/
│   │   ├── __init__.py
│   │   ├── compute.py
│   │   ├── network.py
│   │   ├── security.py
│   │   └── storage.py
│   ├── programming/
│   │   ├── __init__.py
│   │   ├── flowchart.py
│   │   ├── framework.py
│   │   ├── language.py
│   │   └── runtime.py
│   └── saas/
│       ├── __init__.py
│       ├── alerting.py
│       ├── analytics.py
│       ├── automation.py
│       ├── cdn.py
│       ├── chat.py
│       ├── communication.py
│       ├── crm.py
│       ├── filesharing.py
│       ├── identity.py
│       ├── logging.py
│       ├── media.py
│       ├── payment.py
│       ├── recommendation.py
│       ├── security.py
│       └── social.py
├── docker/
│   └── dev/
│       └── Dockerfile
├── docs/
│   ├── getting-started/
│   │   ├── examples.md
│   │   └── installation.md
│   ├── guides/
│   │   ├── cluster.md
│   │   ├── diagram.md
│   │   ├── edge.md
│   │   └── node.md
│   └── nodes/
│       ├── alibabacloud.md
│       ├── aws.md
│       ├── azure.md
│       ├── c4.md
│       ├── custom.md
│       ├── digitalocean.md
│       ├── elastic.md
│       ├── firebase.md
│       ├── gcp.md
│       ├── generic.md
│       ├── gis.md
│       ├── ibm.md
│       ├── k8s.md
│       ├── oci.md
│       ├── onprem.md
│       ├── openstack.md
│       ├── outscale.md
│       ├── programming.md
│       └── saas.md
├── pyproject.toml
├── scripts/
│   ├── __init__.py
│   ├── generate.py
│   └── resource.py
├── templates/
│   ├── apidoc.tmpl
│   ├── apidoc_custom.tmpl
│   └── module.tmpl
├── tests/
│   ├── __init__.py
│   ├── test_c4.py
│   ├── test_cli.py
│   └── test_diagram.py
└── website/
    ├── core/
    │   └── Footer.js
    ├── i18n/
    │   └── en.json
    ├── package.json
    ├── pages/
    │   └── en/
    │       └── index.js
    ├── publish.sh
    ├── sidebars.json
    ├── siteConfig.js
    └── static/
        └── css/
            └── custom.css

================================================
FILE CONTENTS
================================================

================================================
FILE: .devcontainer/Dockerfile
================================================
# use latest python 3 alpine image.
FROM python:3-alpine

# install system dependencies.
RUN apk update && apk add --no-cache \
  gcc libc-dev g++ graphviz git bash go imagemagick inkscape ttf-opensans curl fontconfig xdg-utils \
  nodejs npm

# install go package.
RUN go install github.com/mingrammer/round@latest

# install fonts
RUN curl -O https://noto-website-2.storage.googleapis.com/pkgs/NotoSansCJKjp-hinted.zip \
&& mkdir -p /usr/share/fonts/NotoSansCJKjp \
&& unzip NotoSansCJKjp-hinted.zip -d /usr/share/fonts/NotoSansCJKjp/ \
&& rm NotoSansCJKjp-hinted.zip \
&& fc-cache -fv

# add go bin to path.
ENV PATH "$PATH:/root/go/bin"

# project directory.
WORKDIR /usr/src/diagrams

# Copy the rest of your app's source code from your host to your image filesystem.
COPY . .

# install python requirements.
RUN pip install black graphviz jinja2


================================================
FILE: .devcontainer/devcontainer.json
================================================
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/docker-outside-of-docker
{
	"name": "Diagrams",
	// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
	// "image": "mcr.microsoft.com/devcontainers/base:bullseye",
	"build":{
		"dockerfile": "../docker/dev/Dockerfile"
	},

	// Use this environment variable if you need to bind mount your local source code into a new container.
	// "remoteEnv": {
	// 	"LOCAL_WORKSPACE_FOLDER": "${localWorkspaceFolder}"
	// }

	// Use 'forwardPorts' to make a list of ports inside the container available locally.
	// "forwardPorts": [],

	// Use 'postCreateCommand' to run commands after the container is created.
	// "postCreateCommand": "docker --version",

	// Configure tool-specific properties.
	"customizations": {
		"vscode": {
			"extensions": [
				"ms-python.python",
				"ms-python.debugpy",
				"mhutchie.git-graph",
				"mutantdino.resourcemonitor",
				"tehpeng.diagramspreviewer"
			]
		}
	}
  "workspaceMount": "source=${localWorkspaceFolder},target=/usr/src/diagrams,type=bind",
	"workspaceFolder": "/usr/src/diagrams"
	// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
	// "remoteUser": "root"
}


================================================
FILE: .github/dependabot.yml
================================================
version: 2
updates:
- package-ecosystem: pip
  directory: "/"
  schedule:
    interval: daily
    time: "08:00"
  open-pull-requests-limit: 10
- package-ecosystem: npm
  directory: "/website"
  schedule:
    interval: daily
    time: "08:00"
  open-pull-requests-limit: 10
- package-ecosystem: docker
  directory: "/docker/dev"
  schedule:
    interval: daily
    time: "08:00"
  open-pull-requests-limit: 10


================================================
FILE: .github/workflows/codeql-analysis.yml
================================================
name: "CodeQL"

on:
  push:
    branches: [master]
  pull_request:
    # The branches below must be a subset of the branches above
    branches: [master]
  schedule:
    - cron: '0 16 * * 2'

jobs:
  analyse:
    name: Analyse
    runs-on: ubuntu-latest

    steps:
    - name: Checkout repository
      uses: actions/checkout@v4
      with:
        # We must fetch at least the immediate parents so that if this is
        # a pull request then we can check out the head.
        fetch-depth: 2

    # If this run was triggered by a pull request event, then checkout
    # the head of the pull request instead of the merge commit.
    - run: git checkout HEAD^2
      if: ${{ github.event_name == 'pull_request' }}

    # Initializes the CodeQL tools for scanning.
    - name: Initialize CodeQL
      uses: github/codeql-action/init@v3
      # Override language selection by uncommenting this and choosing your languages
      with:
        languages: python

    - name: Perform CodeQL Analysis
      uses: github/codeql-action/analyze@v3


================================================
FILE: .github/workflows/pre-commit.yml
================================================
name: pre-commit

on:
  pull_request:
  push:
    branches: [main]

jobs:
  pre-commit:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v3
    - uses: actions/setup-python@v3
    - uses: pre-commit/action@v3.0.1


================================================
FILE: .github/workflows/test.yml
================================================
name: Run tests

on:
  push:
    branches:
      - master
    paths:
      - ".github/workflows/test.yml"
      - "pyproject.toml"
      - "poetry.lock"
      - "**.py"
  pull_request:
    branches:
      - master
    paths:
      - ".github/workflows/test.yml"
      - "pyproject.toml"
      - "poetry.lock"
      - "**.py"

jobs:
  test:
    strategy:
      matrix:
        python: ["3.9", "3.10", "3.11", "3.12", "3.13"]
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-python@v5
        with:
          python-version: ${{ matrix.python }}
      - name: Setup Graphviz
        uses: ts-graphviz/setup-graphviz@v2
      - name: Install poetry
        run: curl -sSL https://install.python-poetry.org | python3 -
      - name: Run all tests
        run: |
          poetry install
          poetry run python -m unittest -v tests/*.py


================================================
FILE: .gitignore
================================================
# ide & editor
.idea/
.vscode/

# compiled & binary
*.egg-info/
__pycache__/
*.pyc
*.egg-info

# graphviz
*.gv*

# dist
dist
website/build

# node modules
node_modules

# testing
main.py

# trash
.DS_Store

# Website uses yarn; ignore npm package-lock.json
website/package-lock.json

# Ignore .swp files
.swp
*.whl
dist/


================================================
FILE: .isort.cfg
================================================
[settings]
line_length = 120
multi_line_output = 3
include_trailing_comma = True
known_third_party = graphviz,jinja2


================================================
FILE: .pre-commit-config.yaml
================================================
repos:
-   repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v3.2.0
    hooks:
    -   id: check-yaml
    -   id: end-of-file-fixer
    -   id: trailing-whitespace

-   repo: https://github.com/asottile/seed-isort-config
    rev: v2.2.0
    hooks:
    -   id: seed-isort-config

-   repo: https://github.com/pre-commit/mirrors-isort
    rev: v5.10.1
    hooks:
    -   id: isort

-   repo: https://github.com/hhatto/autopep8
    rev: v2.3.1
    hooks:
    -   id: autopep8
        args: [--in-place, --aggressive, --aggressive, --max-line-length=120]


================================================
FILE: CHANGELOG.md
================================================
# Changelogs

## 0.17.0

### Added

- Support GCP Endpoints: [#259](https://github.com/mingrammer/diagrams/pull/259)
- Support DroneCI and Atlantis (Terraform): [#255](https://github.com/mingrammer/diagrams/pull/255)
- Support Okta: [#254](https://github.com/mingrammer/diagrams/pull/254)
- Support OutScale provider: [#251](https://github.com/mingrammer/diagrams/pull/251)
- Support Prometheus Operator: [#253](https://github.com/mingrammer/diagrams/pull/253)
- Support Snowflake: [#245](https://github.com/mingrammer/diagrams/pull/245)
- Support for CJK fonts + Replace ms-fonts with opensans: [#242](https://github.com/mingrammer/diagrams/pull/242)
- Support Pushover: [#241](https://github.com/mingrammer/diagrams/pull/241)

### Fixed

- Update bm, vm cases for OCI
- Set a dummy filename to prevent raise error when both name and filename are not provided: [#240](https://github.com/mingrammer/diagrams/pull/240)

## 0.16.0

### Breaking Changes

The following import changes:

#### Elastic

| Old import path                                                    | New import path                                               |
| -------------------------------------------------------------------| --------------------------------------------------------------|
| `from diagrams.onprem.logging import Logstash`                     | `from diagrams.elastic.elasticsearch import Logstash`         |
| `from diagrams.onprem.monitoring import Kibana`                    | `from diagrams.elastic.elasticsearch import Kibana`           |
| `from diagrams.onprem.search import Elasticsearch`                 | `from diagrams.elastic.elasticsearch import Elasticsearch`    |

> About `from diagrams.onprem.search import Elasticsearch` the previous icon was the company icon, not the elasticsearch product.
>
> For the company icon use: `from diagrams.elastic.saas import Elastic`

#### OCI

| Old import path                                                    | New import path                                               |
| -------------------------------------------------------------------| --------------------------------------------------------------|
| `from diagrams.oci.compute import AutoScale`                       | `from diagrams.oci.compute import Autoscale`                  |
| `from diagrams.oci.compute import AutoScaleWhite`                  | `from diagrams.oci.compute import AutoscaleWhite`             |
| `from diagrams.oci.compute import Bm`                              | `from diagrams.oci.compute import BM`                         |
| `from diagrams.oci.compute import BmWhite`                         | `from diagrams.oci.compute import BMWhite`                    |
| `from diagrams.oci.compute import Vm`                              | `from diagrams.oci.compute import VM`                         |
| `from diagrams.oci.compute import VmWhite`                         | `from diagrams.oci.compute import VMWhite`                    |
| `from diagrams.oci.connectivity import Customerdatacenter`         | `from diagrams.oci.connectivity import CustomerDatacenter`    |
| `from diagrams.oci.connectivity import CustomerdatacenterWhite`    | `from diagrams.oci.connectivity import CustomerDatacntrWhite` |
| `from diagrams.oci.connectivity import Customerpremisesequip`      | `from diagrams.oci.connectivity import CustomerPremise`       |
| `from diagrams.oci.connectivity import CustomerpremisesequipWhite` | `from diagrams.oci.connectivity import CustomerPremiseWhite`  |
| `from diagrams.oci.connectivity import Fastconnect`                | `from diagrams.oci.connectivity import FastConnect`           |
| `from diagrams.oci.connectivity import FastconnectWhite`           | `from diagrams.oci.connectivity import FastConnectWhite`      |
| `from diagrams.oci.connectivity import Vpn`                        | `from diagrams.oci.connectivity import VPN`                   |
| `from diagrams.oci.connectivity import VpnWhite`                   | `from diagrams.oci.connectivity import VPNWhite`              |
| `from diagrams.oci.database import AutonomousDatabase`             | `from diagrams.oci.database import Autonomous`                |
| `from diagrams.oci.database import AutonomousDatabaseWhite`        | `from diagrams.oci.database import AutonomousWhite`           |
| `from diagrams.oci.database import Databaseservice`                | `from diagrams.oci.database import DatabaseService`           |
| `from diagrams.oci.database import DatabaseserviceWhite`           | `from diagrams.oci.database import DatabaseServiceWhite`      |
| `from diagrams.oci.devops import Apigateway`                       | `from diagrams.oci.devops import APIGateway`                  |
| `from diagrams.oci.devops import ApigatewayWhite`                  | `from diagrams.oci.devops import APIGatewayWhite`             |
| `from diagrams.oci.devops import Apiservice`                       | `from diagrams.oci.devops import APIService`                  |
| `from diagrams.oci.devops import ApiserviceWhite`                  | `from diagrams.oci.devops import APIServiceWhite`             |
| `from diagrams.oci.devops import Resourcemgmt`                     | `from diagrams.oci.devops import ResourceMgmt`                |
| `from diagrams.oci.devops import ResourcemgmtWhite`                | `from diagrams.oci.devops import ResourceMgmtWhite`           |
| `from diagrams.oci.edge import Cdn`                                | `from diagrams.oci.connectivity import CDN`                   |
| `from diagrams.oci.edge import CdnWhite`                           | `from diagrams.oci.connectivity import CDNWhite`              |
| `from diagrams.oci.edge import Dns`                                | `from diagrams.oci.connectivity import DNS`                   |
| `from diagrams.oci.edge import DnsWhite`                           | `from diagrams.oci.connectivity import DNSWhite`              |
| `from diagrams.oci.edge import Emaildelivery`                      | `from diagrams.oci.monitoring import Email`                   |
| `from diagrams.oci.edge import EmaildeliveryWhite`                 | `from diagrams.oci.monitoring import EmailWhite`              |
| `from diagrams.oci.edge import Waf`                                | `from diagrams.oci.security import WAF`                       |
| `from diagrams.oci.edge import WafWhite`                           | `from diagrams.oci.security import WAFWhite`                  |
| `from diagrams.oci.monitoring import Event`                        | `from diagrams.oci.monitoring import Events`                  |
| `from diagrams.oci.monitoring import EventWhite`                   | `from diagrams.oci.monitoring import EventsWhite`             |
| `from diagrams.oci.monitoring import Healthcheck`                  | `from diagrams.oci.monitoring import HealthCheck`             |
| `from diagrams.oci.monitoring import HealthcheckWhite`             | `from diagrams.oci.monitoring import HealthCheckWhite`        |
| `from diagrams.oci.monitoring import Logging`                      | `from diagrams.oci.governance import Logging`                 |
| `from diagrams.oci.monitoring import LoggingWhite`                 | `from diagrams.oci.governance import LoggingWhite`            |
| `from diagrams.oci.monitoring import Queuing`                      | `from diagrams.oci.monitoring import Queue`                   |
| `from diagrams.oci.monitoring import QueuingWhite`                 | `from diagrams.oci.monitoring import QueueWhite`              |
| `from diagrams.oci.network import Internetgateway`                 | `from diagrams.oci.network import InternetGateway`            |
| `from diagrams.oci.network import InternetgatewayWhite`            | `from diagrams.oci.network import InternetGatewayWhite`       |
| `from diagrams.oci.network import Loadbalance`                     | `from diagrams.oci.network import LoadBalancer`               |
| `from diagrams.oci.network import LoadbalanceWhite`                | `from diagrams.oci.network import LoadBalancerWhite`          |
| `from diagrams.oci.network import NATgateway`                      | `from diagrams.oci.connectivity import NATGateway`            |
| `from diagrams.oci.network import NATgatewayWhite`                 | `from diagrams.oci.connectivity import NATGatewayWhite`       |
| `from diagrams.oci.network import Routetable`                      | `from diagrams.oci.network import RouteTable`                 |
| `from diagrams.oci.network import RoutetableWhite`                 | `from diagrams.oci.network import RouteTableWhite`            |
| `from diagrams.oci.network import Securitylists`                   | `from diagrams.oci.network import SecurityLists`              |
| `from diagrams.oci.network import SecuritylistsWhite`              | `from diagrams.oci.network import SecurityListsWhite`         |
| `from diagrams.oci.network import Vcloudnetwork`                   | `from diagrams.oci.network import Vcn`                        |
| `from diagrams.oci.network import VcloudnetworkWhite`              | `from diagrams.oci.network import VcnWhite`                   |
| `from diagrams.oci.security import Audit`                          | `from diagrams.oci.governance import Audit`                   |
| `from diagrams.oci.security import AuditWhite`                     | `from diagrams.oci.governance import AuditWhite`              |
| `from diagrams.oci.security import Compartments`                   | `from diagrams.oci.governance import Compartments`            |
| `from diagrams.oci.security import CompartmentsWhite`              | `from diagrams.oci.governance import CompartmentsWhite`       |
| `from diagrams.oci.security import Ddos`                           | `from diagrams.oci.security import DDOS`                      |
| `from diagrams.oci.security import DdosWhite`                      | `from diagrams.oci.security import DDOSWhite`                 |
| `from diagrams.oci.security import Groups`                         | `from diagrams.oci.governance import Groups`                  |
| `from diagrams.oci.security import GroupsWhite`                    | `from diagrams.oci.governance import GroupsWhite`             |
| `from diagrams.oci.security import IdAccess`                       | `from diagrams.oci.security import IDAccess`                  |
| `from diagrams.oci.security import IdAccessWhite`                  | `from diagrams.oci.security import IDAccessWhite`             |
| `from diagrams.oci.security import Keymgmt`                        | `from diagrams.oci.security import KeyManagement`             |
| `from diagrams.oci.security import KeymgmtWhite`                   | `from diagrams.oci.security import KeyManagementWhite`        |
| `from diagrams.oci.security import Ocid`                           | `from diagrams.oci.governance import OCID`                    |
| `from diagrams.oci.security import OcidWhite`                      | `from diagrams.oci.governance import OCIDWhite`               |
| `from diagrams.oci.security import Policies`                       | `from diagrams.oci.governance import Policies`                |
| `from diagrams.oci.security import PoliciesWhite`                  | `from diagrams.oci.governance import PoliciesWhite`           |
| `from diagrams.oci.security import Tagging`                        | `from diagrams.oci.governance import Tagging`                 |
| `from diagrams.oci.security import TaggingWhite`                   | `from diagrams.oci.governance import TaggingWhite`            |
| `from diagrams.oci.storage import Backuprestore`                   | `from diagrams.oci.storage import BackupRestore`              |
| `from diagrams.oci.storage import BackuprestoreWhite`              | `from diagrams.oci.storage import BackupRestoreWhite`         |
| `from diagrams.oci.storage import Blockstorage`                    | `from diagrams.oci.storage import BlockStorage`               |
| `from diagrams.oci.storage import BlockstorageWhite`               | `from diagrams.oci.storage import BlockStorageWhite`          |
| `from diagrams.oci.storage import Datatransfer`                    | `from diagrams.oci.storage import DataTransfer`               |
| `from diagrams.oci.storage import DatatransferWhite`               | `from diagrams.oci.storage import DataTransferWhite`          |
| `from diagrams.oci.storage import Filestorage`                     | `from diagrams.oci.storage import FileStorage`                |
| `from diagrams.oci.storage import FilestorageWhite`                | `from diagrams.oci.storage import FileStorageWhite`           |
| `from diagrams.oci.storage import Objectstorage`                   | `from diagrams.oci.storage import ObjectStorage`              |
| `from diagrams.oci.storage import ObjectstorageWhite`              | `from diagrams.oci.storage import ObjectStorageWhite`         |
| `from diagrams.oci.storage import Storagegateway`                  | `from diagrams.oci.storage import StorageGateway`             |
| `from diagrams.oci.storage import StoragegatewayWhite`             | `from diagrams.oci.storage import StorageGatewayWhite`        |

### Added

- Docker local development setup: [#210](https://github.com/mingrammer/diagrams/pull/210)
- Support OpenStack [#211](https://github.com/mingrammer/diagrams/pull/211)
- Support SQL, Druid and Databricks
- Support Cloudinary: [#218](https://github.com/mingrammer/diagrams/pull/218)

### Fixed

- Clean GCP resources: [#228](https://github.com/mingrammer/diagrams/pull/228)
- Support DataDog, PaperTrail, Syslog, Rsyslog and Graylog: [#222](https://github.com/mingrammer/diagrams/pull/222)
- Update all OCI icon set (bark and white): [#205](https://github.com/mingrammer/diagrams/pull/205)


## 0.15.0

### Added

- Support curvestyle option (ortho or curved)
- Support Auth0, Cloudflare and Recombee: [#209](https://github.com/mingrammer/diagrams/pull/209)

### Fixed

- Fix typo for PersistentVolume: [#207](https://github.com/mingrammer/diagrams/pull/207)
- Fix misaligned label text position


## 0.14.0

### Added

- Support sagemaker for AWS provider: [#204](https://github.com/mingrammer/diagrams/pull/204)
- Support ConcourseCI: [#198](https://github.com/mingrammer/diagrams/pull/198)
- Support Tekton CLI: [#199](https://github.com/mingrammer/diagrams/pull/199)
- Support more analytics tools for Onprem provider: [#195](https://github.com/mingrammer/diagrams/pull/195)
- Support more resources for AWS provider: [#192](https://github.com/mingrammer/diagrams/pull/192)
- Support kubernetes ecosystem: [#188](https://github.com/mingrammer/diagrams/pull/188)
- Support Beats for ElasticStack provider: [#153](https://github.com/mingrammer/diagrams/pull/153)
- Support more icons for Generic provider: [#186](https://github.com/mingrammer/diagrams/pull/186)
- Support Opsgenie: [#187](https://github.com/mingrammer/diagrams/pull/187)
- Support Tekton: [#150](https://github.com/mingrammer/diagrams/pull/150)
- Support Generic provider: [#171](https://github.com/mingrammer/diagrams/pull/171)


## 0.13.1

### Fixed

- Add missing firebase base class: [3f400a7](https://github.com/mingrammer/diagrams/commit/3f400a7bc3c91ae9db1f2e69c290bc004c6fa4c6)


## 0.13.0

### Added

- Support more DynamoDB and IAM nodes for AWS: [#180](https://github.com/mingrammer/diagrams/pull/180)
- New provider elastic: [#174](https://github.com/mingrammer/diagrams/pull/174)
- Support Rust: [#179](https://github.com/mingrammer/diagrams/pull/179)
- Support Flux and Flagger: [#147](https://github.com/mingrammer/diagrams/pull/147)
- New provider saas: [#173](https://github.com/mingrammer/diagrams/pull/173)
- New provider firebase: [#167](https://github.com/mingrammer/diagrams/pull/167)
- Support ZuulCI: [#145](https://github.com/mingrammer/diagrams/pull/145)


## 0.12.0

### Added

- Support GitlabCI: [#166](https://github.com/mingrammer/diagrams/pull/166)
- Support Sentry: [#165](https://github.com/mingrammer/diagrams/pull/165)
- Support Couchbase: [#164](https://github.com/mingrammer/diagrams/pull/164)
- Support new IoT icons, and new Game, General and Robotics categories for AWS: [#161](https://github.com/mingrammer/diagrams/pull/161)
- Support general icon set for Azure: [#155](https://github.com/mingrammer/diagrams/pull/155)
- Support Fluent Bit: [#154](https://github.com/mingrammer/diagrams/pull/154)
- Support integration services for Azure: [#152](https://github.com/mingrammer/diagrams/pull/152)
- Support custom attribute options for Nodes: [#151](https://github.com/mingrammer/diagrams/pull/151)


## 0.11.0

### Added

- Support programming provider (programming languages and frameworks): [#112](https://github.com/mingrammer/diagrams/pull/112)
- Support NACL, Subnets, Route Table and VPC peering for AWS provider: [#135](https://github.com/mingrammer/diagrams/pull/135)
- Support Loki: [#139](https://github.com/mingrammer/diagrams/pull/139)
- Support Tableau and Metabase: [#142](https://github.com/mingrammer/diagrams/pull/142)
- Support AWS Elemental Services: [#149](https://github.com/mingrammer/diagrams/pull/149)

### Fixed

- Rename Cloudfront to CloudFront: [#129](https://github.com/mingrammer/diagrams/pull/129)


## 0.10.0

### Added

- Support red-colored OCI nodes: [#121](https://github.com/mingrammer/diagrams/pull/121)
- Support custom graph attributes for the Cluster: [6741ed9](https://github.com/mingrammer/diagrams/commit/6741ed9e2bcca297a1044ca5c8f2cf9eb3f8b5b3)


## v0.9.0

### Added

- Support Thanos: [#99](https://github.com/mingrammer/diagrams/pull/99)
- Support AWS VPC Endpoint: [#101](https://github.com/mingrammer/diagrams/pull/101)
- Support AWS VPC Router: [#102](https://github.com/mingrammer/diagrams/pull/102)
- Support Teamcity: [#103](https://github.com/mingrammer/diagrams/pull/103)
- Support Pomerium: [#104](https://github.com/mingrammer/diagrams/pull/104)
- Support Ansible and AWX: [#110](https://github.com/mingrammer/diagrams/pull/110)

### Fixed

- Replace MD5 Hash with UUID: [#94](https://github.com/mingrammer/diagrams/pull/94)
- Verify Edge attributes exist before setting: [#96](https://github.com/mingrammer/diagrams/pull/96)


## v0.8.2

### Added

- Support Diadag: [#88](https://github.com/mingrammer/diagrams/pull/88)
- Support Norika and Embulk: [#87](https://github.com/mingrammer/diagrams/pull/87)


## v0.8.1

### Added

- Support Celery: [#68](https://github.com/mingrammer/diagrams/pull/68)
- Support Terraform: [#79](https://github.com/mingrammer/diagrams/pull/79)
- Support Clickhouse: [#85](https://github.com/mingrammer/diagrams/pull/85)


## v0.8.0

### Added

- Support Apache Beam: [#66](https://github.com/mingrammer/diagrams/pull/66)
- Support PFSense and VyOS: [#67](https://github.com/mingrammer/diagrams/pull/67)
- Support Polyaxon: [#74](https://github.com/mingrammer/diagrams/pull/74)
- Support Spinnaker: [#77](https://github.com/mingrammer/diagrams/pull/77)
- Support Git, GitLab and GitHub of onprem.vcs: [#80](https://github.com/mingrammer/diagrams/pull/80)
- Support Dgraph, JanusGraph and Scylla of onprem.database: [#84](https://github.com/mingrammer/diagrams/pull/84)


## v0.7.4

### Added

- Trivy of onprem.security: [#61](https://github.com/mingrammer/diagrams/pull/61)
- Cloud IAP (Identity-Aware Proxy) for GCP provider: [#56](https://github.com/mingrammer/diagrams/pull/56), [#43](https://github.com/mingrammer/diagrams/pull/43)


## v0.7.3

### Fixed

- Use dynamic keyword attributes for edge init to fix missing attribute


## v0.7.2

### Fixed

- Prevent the edge attrs from overwriting by empty string
- Only use the label for edge


## v0.7.0

### Added

- Customer engagement services for AWS: [#57](https://github.com/mingrammer/diagrams/pull/57)
- Edge attributes support: [#48](https://github.com/mingrammer/diagrams/pull/48)


## v0.6.5

### Added

- More on-prem/aws icons: [#55](https://github.com/mingrammer/diagrams/pull/55)
- Aliases for etcd and haproxy


## v0.6.4

### Added

- AWS management resources

### Fixed

- Update OCI icon set: [#46](https://github.com/mingrammer/diagrams/pull/46)


## v0.6.3

### Added

- Support inline rendering for jupyter notebook


## v0.6.2

### Fixed

- Support multi-line labels


## v0.6.1

### Added

- Aliases for activemq (ActiveMQ) / rabbitmq (RabbitMQ)


## v0.6.0

### Added

- Support custom nodes: [#25](https://github.com/mingrammer/diagrams/pull/25)
- Allow an output filename to be passed to Diagram explicitly: [#28](https://github.com/mingrammer/diagrams/pull/28)
- Support on-premise nodes: [#35](https://github.com/mingrammer/diagrams/pull/35)


## v0.5.0

### Added

- Oracle Cloud provider support: [#20](https://github.com/mingrammer/diagrams/pull/20)


## v0.4.0

### Added

- Alibaba Cloud provider support: [#19](https://github.com/mingrammer/diagrams/pull/19)


## v0.3.0

### Added

- Allow custom dot attributes: [#11](https://github.com/mingrammer/diagrams/pull/11)

### Fixed

- Support Python 3.6: [#13](https://github.com/mingrammer/diagrams/pull/13)


## v0.2.3

### Fixed

- Fix misaligned node labels by removing backward-incompatible 'imagepos' attribute: [#7](https://github.com/mingrammer/diagrams/pull/7)


## v0.2.1

### Added

- Add more AWS analytics services: [870b387](https://github.com/mingrammer/diagrams/commit/870b387ded41cb6591b8bdfd3994e5719d8b9969)


## v0.2.0

### Added

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


================================================
FILE: CONTRIBUTING.md
================================================
# Contribution Guide

You shouldn't edit the node class files (all files under `diagrams/` directory) by
yourself.

## Set up your environment

- See [DEVELOPMENT][DEVELOPMENT.md]

## Resources

### Update nodes

All node classes are auto-generated from image resource files. For example, the
`diagram.aws.compute.EC2` class is auto-generated based on the
`resources/aws/compute/ec2.png` image resource file.

So, if you want to add new node resources or update existing node resources, you
can just add or update the image files in `resources/<provider>/<type>/<image>`.

Images should be resized to fit a maximum of 256 pixels wide or high.

```shell
# You can do that easily with ImageMagick
convert -resize 256 my_big_image.jpg my_image.jpg

# Or FFmpeg
ffmpeg -i my_big_image.jpg -vf scale=w=256:h=256:force_original_aspect_ratio=decrease my_image.png
```

Then just run the `./autogen.sh` to generate the added or updated node classes. (cf. [DEVELOPMENT][DEVELOPMENT.md])

> IMPORTANT NOTE: To run `autogen.sh`, you need the [round][round], [black][black] and
> [inkscape][inkscape] command line tools that are used for cleaning the image
> resource filenames and formatting the generated python code.
>
> macOS users can download inkscape via Homebrew.
>
> Or you can use the docker image.

[DEVELOPMENT.md]: ./DEVELOPMENT.md
[round]: https://github.com/mingrammer/round
[black]: https://pypi.org/project/black
[inkscape]: https://inkscape.org/ko/release

#### Update Specific Instructions for Azure Icons

Download and unzip [Azure Icons](https://learn.microsoft.com/en-us/azure/architecture/icons/)

Execute inside Azure_Public_Service_Icons/Icons/
```bash
# Rename some diretories
mv ai\ +\ machine\ learning/ aimachinelearning/
mv app\ services/ appservices
mv azure\ stack/ azurestack
mv azure\ ecosystem/ azureecosystem
mv management\ +\ governance/ managementgovernance
mv  mixed\ reality mixedreality
mv new\ icons/ newicons
#  Convert Name to name
rename -f 'y/A-Z/a-z/' ./*/*
# Create png files and eliminate ?????-icon-service from namefile
find . -type f -name "*.svg" -exec bash -c 'inkscape -h 256  --export-filename="${0%.svg}.png" "$0";mv "${0%.svg}.png" "$(echo "${0%.svg}.png" | sed -r 's/[0-9]{5}-icon-service-//')"' {} \;
# Delete svg files
find . -type f -name "*.svg" -exec bash -c 'rm "$0"' {} \;
```

If you get any errors with autogen, it will probably be a '+' in  filename

### Add new provider

To add a new provider to Diagrams, please follow the steps below in addition to the image intructions above:
- in `autogen.sh` add in the `providers` variable the new provider code
- in `config.py`:
  - in the `providers` variable, add the new provider code
  - in the `FILE_PREFIXES` variable, add a new entry with your new provider code. And eventually a file prefix
  - Optionnaly, update the `UPPER_WORDS` variable to a new entry with your new provider code.
  - in the `ALIASES` variable, add a new entry with your new provider code. See below on how to add new aliases.
- in `scripts/resource.py`:
  - add a function `cleaner_XXX` (replace XXX by your provider name). For the implementation look at the existing functions
  - in the `cleaners` variable, add an entry with your new provider code and the function defined above
- in `sidebars.json`, update the `Nodes` array to add the reference of the new provider
- in the `diagrams` folder, add a new file `__init__.py` for the new provider. For the content look at the existing providers

### Update Aliases

Some node classes have alias. For example, `aws.compute.ECS` class is an alias
of `aws.compute.ElasticContainerService` class. Aliases also were auto-generated
from `ALIASES` map in [config.py](config.py).

So, if you want to add new aliases or update existing aliases, you can just add
or update the `ALIASES` map in [config.py](config.py).

Then just run the `./autogen.sh` to generate the added or updated aliases. (cf. [DEVELOPMENT][DEVELOPMENT.md])

> IMPORTANT NOTE: To run `autogen.sh`, you need the [round][round] and
> [inkscape][inkscape] command line tools that are used for cleaning the image
> resource filenames.
>
> macOS users can download inkscape via Homebrew.
>
> Or you can use the docker image.

## Run Tests

```shell
python -m unittest tests/*.py -v
```

## Testing changes to the website

The [Docusaurus](https://docusaurus.io/)-based documentation website can be run by installing dependencies, then simply running `npm run start`.

```bash
cd website/
npm i
npm run start
```

The website will be available on [http://localhost:3000](http://localhost:3000).

Edit files in `website/` and `docs/` respectively to edit documentation.


================================================
FILE: DEVELOPMENT.md
================================================
# Development Guide

## Docker local development setup

You should have docker installed in your system, if not click [here](https://docs.docker.com/get-docker/).

1. Go to diagrams root directory.

2. Build the docker image.

    ```shell
    docker build --tag diagrams:1.0 -f ./docker/dev/Dockerfile .
    ```

3. Create the container, run in background and mount the project source code.

    ```shell
    docker run -d \
    -it \
    --name diagrams \
    --mount type=bind,source="$(pwd)",target=/usr/src/diagrams \
    diagrams:1.0
    ```

4. Run unit tests in the host using the container to confirm that it's working.

    ```shell
    docker exec diagrams python -m unittest tests/*.py -v
    ```

5. Run the bash script `autogen.sh` to test.

    ```shell
    docker exec diagrams ./autogen.sh
    ```

6. If the unit tests and the bash script `autogen.sh` is working correctly, then your system is now ready for development.


## Mac local development setup

To be able to develop and run diagrams locally on you Mac device, you should have [Python](https://www.python.org/downloads/), [Go](https://golang.org/doc/install), and [brew](https://brew.sh/) installed on your system.

1. Go to diagrams root directory.

2. Install poetry, the Python project management package used by diagrams.

    ```shell
    pip install poetry
    ```

3. Install the project's Python dependencies.

    ```shell
    poetry install
    ```

4. Install diagrams binary dependencies.

    ```shell
    brew install imagemagick inkscape black
    go install github.com/mingrammer/round@latest
    # ln -sf ~/go/bin/round ~/.local/bin/round
    ```

5. Run unit tests to confirm that it's working.

    ```shell
    python -m unittest tests/*.py -v
    ```

6. Run the bash script `autogen.sh` to test.

    ```shell
    ./autogen.sh
    ```

7. If the unit tests and the bash script `autogen.sh` is working correctly, then your system is now ready for development.


================================================
FILE: LICENSE
================================================
MIT License

Copyright (c) 2020 MinJae Kwon

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.


================================================
FILE: README.md
================================================
![diagrams logo](assets/img/diagrams.png)

# Diagrams

[![license](https://img.shields.io/badge/license-MIT-blue.svg)](/LICENSE)
[![pypi version](https://badge.fury.io/py/diagrams.svg)](https://badge.fury.io/py/diagrams)
![python version](https://img.shields.io/badge/python-%3E%3D%203.9-blue?logo=python)
![Run tests](https://github.com/mingrammer/diagrams/workflows/Run%20tests/badge.svg?branch=master)
[![todos](https://badgen.net/https/api.tickgit.com/badgen/github.com/mingrammer/diagrams?label=todos)](https://www.tickgit.com/browse?repo=github.com/mingrammer/diagrams)
![contributors](https://img.shields.io/github/contributors/mingrammer/diagrams)

<a href="https://www.buymeacoffee.com/mingrammer" target="_blank"><img src="https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png" alt="Buy Me A Coffee" style="height: 41px !important;width: 174px !important;box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;" ></a>

**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-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.

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

## Providers

![aws provider](https://img.shields.io/badge/AWS-orange?logo=amazon-aws&color=ff9900)
![azure provider](https://img.shields.io/badge/Azure-orange?logo=microsoft-azure&color=0089d6)
![gcp provider](https://img.shields.io/badge/GCP-orange?logo=google-cloud&color=4285f4)
![ibm provider](https://img.shields.io/badge/IBM-orange?logo=ibm&color=052FAD)
![kubernetes provider](https://img.shields.io/badge/Kubernetes-orange?logo=kubernetes&color=326ce5)
![alibaba cloud provider](https://img.shields.io/badge/AlibabaCloud-orange?logo=alibaba-cloud&color=ff6a00)
![oracle cloud provider](https://img.shields.io/badge/OracleCloud-orange?logo=oracle&color=f80000)
![openstack provider](https://img.shields.io/badge/OpenStack-orange?logo=openstack&color=da1a32)
![firebase provider](https://img.shields.io/badge/Firebase-orange?logo=firebase&color=FFCA28)
![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)
![outscale provider](https://img.shields.io/badge/OutScale-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)
![programming provider](https://img.shields.io/badge/Programming-orange?color=5f87bf)
![saas provider](https://img.shields.io/badge/SaaS-orange?color=5f87bf)
![c4 provider](https://img.shields.io/badge/C4-orange?color=5f87bf)

## Getting Started

It requires **Python 3.9** or higher, check your Python version first.

It uses [Graphviz](https://www.graphviz.org/) to render the diagram, so you need to [install Graphviz](https://graphviz.gitlab.io/download/) to use **diagrams**. After installing graphviz (or already have it), install the **diagrams**.

> macOS users can download the Graphviz via `brew install graphviz` if you're using [Homebrew](https://brew.sh).

```shell
# using pip (pip3)
$ pip install diagrams

# using pipenv
$ pipenv install diagrams

# using poetry
$ poetry add diagrams
```

You can start with [quick start](https://diagrams.mingrammer.com/docs/getting-started/installation#quick-start). Check out [guides](https://diagrams.mingrammer.com/docs/guides/diagram) for more details, and you can find all available nodes list in [here](https://diagrams.mingrammer.com/docs/nodes/aws).

## Examples

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

## Contributing

To contribute to diagram, check out [contribution guidelines](CONTRIBUTING.md).

> Let me know if you are using diagrams! I'll add you in showcase page. (I'm working on it!) :)

## Who uses it?

[Apache Airflow](https://github.com/apache/airflow) is the most popular data workflow Orchestrator. Airflow uses Diagrams to generate architecture diagrams in their documentation.

[Cloudiscovery](https://github.com/Cloud-Architects/cloudiscovery) helps you to analyze resources in your cloud (AWS/GCP/Azure/Alibaba/IBM) account. It allows you to create a diagram of analyzed cloud resource map based on this Diagrams library, so you can draw your existing cloud infrastructure with Cloudiscovery.

[Airflow Diagrams](https://github.com/feluelle/airflow-diagrams) is an Airflow plugin that aims to easily visualise your Airflow DAGs on service level from providers like AWS, GCP, Azure, etc. via diagrams.

[KubeDiagrams](https://github.com/philippemerle/KubeDiagrams) is a tool to generate Kubernetes architecture diagrams from Kubernetes manifest files, kustomization files, Helm charts, and actual cluster state. [KubeDiagrams](https://github.com/philippemerle/KubeDiagrams) supports all Kubernetes built-in resources, any custom resources, and label-based resource clustering.

[AWS CloudFormation Diagrams](https://github.com/philippemerle/AWS-CloudFormation-Diagrams) is a simple CLI script to generate AWS architecture diagrams from AWS CloudFormation templates.

## Other languages

- If you are familiar with Go, you can use [go-diagrams](https://github.com/blushft/go-diagrams) as well.

## License

[MIT](LICENSE)


================================================
FILE: autogen.sh
================================================
#!/bin/bash
echo "starting"
app_root_dir="diagrams"

# NOTE: azure icon set is not latest version
providers=(
  "onprem"
  "aws"
  "azure"
  "digitalocean"
  "gcp"
  "ibm"
  "firebase"
  "k8s"
  "alibabacloud"
  "oci"
  "programming"
  "saas"
  "elastic"
  "generic"
  "openstack"
  "outscale"
  "gis"
)

if ! [ -x "$(command -v round)" ]; then
  echo 'round is not installed'
  exit 1
fi

if ! [ -x "$(command -v inkscape)" ]; then
  echo 'inkscape is not installed'
  exit 1
fi

if ! [ -x "$(command -v convert)" ]; then
  echo 'image magick is not installed'
  exit 1
fi

if ! [ -x "$(command -v black)" ]; then
  echo 'black is not installed'
  exit 1
fi

# preprocess the resources
for pvd in "${providers[@]}"; do
  # convert the svg to png for azure provider
  if [ "$pvd" = "onprem" ] || [ "$pvd" = "azure" ]; then
    echo "converting the svg to png using inkscape for provider '$pvd'"
    python -m scripts.resource svg2png "$pvd"
  fi
  if [ "$pvd" == "oci" ] || [ "$pvd" = "ibm" ]; then
    echo "converting the svg to png using image magick for provider '$pvd'"
    python -m scripts.resource svg2png2 "$pvd"
  fi
  echo "cleaning the resource names for provider '$pvd'"
  python -m scripts.resource clean "$pvd"
  # round the all png images for aws provider
  if [ "$pvd" = "aws" ]; then
    echo "rounding the resources for provider '$pvd'"
    python -m scripts.resource round "$pvd"
  fi
done

# generate the module classes and docs
for pvd in "${providers[@]}"; do
  echo "generating the modules & docs for provider '$pvd'"
  python -m scripts.generate "$pvd"
done

# Generate doc for custom module
echo "generating the docs for custom"
python -m scripts.generate "custom"

# copy icons across to website
echo "copying icons to website static folder"
cp -r resources website/static/img/

# run black
echo "linting the all the diagram modules"
black "$app_root_dir"/**/*.py


================================================
FILE: config.py
================================================
# fmt: off

#########################
#      Application      #
#########################

APP_NAME = "diagrams"

DIR_DOC_ROOT = "docs/nodes"
DIR_APP_ROOT = "diagrams"
DIR_RESOURCE = "resources"
DIR_TEMPLATE = "templates"

PROVIDERS = (
    "base",
    "onprem",
    "aws",
    "azure",
    "digitalocean",
    "gcp",
    "ibm",
    "firebase",
    "k8s",
    "alibabacloud",
    "oci",
    "programming",
    "saas",
    "elastic",
    "generic",
    "openstack",
    "outscale",
    "gis"
)

#########################
#  Resource Processing  #
#########################

CMD_ROUND = "round"
CMD_ROUND_OPTS = ("-w",)
CMD_SVG2PNG = "inkscape"
CMD_SVG2PNG_OPTS = ("-w", "256", "-h", "256", "--export-type", "png")
CMD_SVG2PNG_IM = "convert"
CMD_SVG2PNG_IM_OPTS = ("-shave", "25%x25%", "-resize", "256x256!")

FILE_PREFIXES = {
    "onprem": (),
    "aws": ("Amazon-", "AWS-"),
    "azure": ("Azure-",),
    "digitalocean": (),
    "gcp": ("Cloud-",),
    "firebase": ("Cloud-",),
    "ibm": (),
    "k8s": (),
    "alibabacloud": (),
    "oci": ("OCI-icon-",),
    "programming": (),
    "saas": (),
    "elastic": (),
    "outscale": (),
    "generic": (),
    "openstack": (),
    "gis": (),
}

#########################
#  Doc Auto Generation  #
#########################

TMPL_APIDOC = "apidoc.tmpl"

#########################
# Class Auto Generation #
#########################

TMPL_MODULE = "module.tmpl"

UPPER_WORDS = {
    "aws": ("aws", "api", "ebs", "ec2", "efs", "emr", "rds", "ml", "mq", "nat", "vpc", "waf", "sdk"),
    "azure": ("ad", "b2c", "ai", "api", "cdn", "ddos", "dns", "fxt", "hana", "hd", "id", "sap", "sql", "vm", "vpn", "vpc"),
    "gcp": ("gcp", "ai", "api", "cdn", "dns", "gke", "gpu", "iap", "ids", "ml", "nat", "os", "sdk", "sql", "ssd", "tpu", "vpn"),
    "firebase": ("ab", "fcm", "ml"),
    "k8s": (
        "api", "cm", "ccm", "crb", "crd", "ds", "etcd", "hpa", "k8s", "ns", "psp", "pv", "pvc", "rb", "rs",
        "sa", "sc", "sts", "svc",
    ),
    "oci": ("oci", "ocid", "oke", "ocir", "ddos", "waf", "bm", "vm", "cdn", "vpn", "dns", "nat", "dms", "api", "id"),
    "elastic": ("apm", "siem", "ece", "eck", "sql"),
    "generic": ("vpn", "ios", "xen", "sql", "lxc"),
    "outscale": ("osc",),
    "openstack": ("rpm", "loci", "nfv", "ec2api"),
    "pve": ("pve",),
    "ibm": ("ibm",),
    "gis": ("gis","ban","ign","ogc","qgis","wfs","wms"),
}

TITLE_WORDS = {
    "onprem": {
        "onprem": "OnPrem",
    },
    "alibabacloud": {
        "alibabacloud": "AlibabaCloud"
    },
    "aws": {
        "cloudfront": "CloudFront"
    },
    "digitalocean": {
        "digitalocean": "DigitalOcean"
    },
    "openstack": {
        "openstack": "OpenStack"
    },
    "ibm": {
        "ibm": "IBMCloud"
    },
}

# TODO: check if the classname exists
ALIASES = {
    "onprem": {
        "analytics": {
            "Powerbi": "PowerBI"
        },
        "ci": {
            "Circleci": "CircleCI",
            "Concourseci": "ConcourseCI",
            "Droneci": "DroneCI",
            "Gitlabci": "GitlabCI",
            "Travisci": "TravisCI",
            "Teamcity": "TC",
            "Zuulci": "ZuulCI",
        },
        "container": {
            "Lxc": "LXC",
            "Rkt": "RKT",
        },
        "database": {
            "Clickhouse": "ClickHouse",
            "Cockroachdb": "CockroachDB",
            "Couchdb": "CouchDB",
            "Hbase": "HBase",
            "Influxdb": "InfluxDB",
            "Janusgraph": "JanusGraph",
            "Mariadb": "MariaDB",
            "Mongodb": "MongoDB",
            "Mssql": "MSSQL",
            "Mysql": "MySQL",
            "Postgresql": "PostgreSQL",
            "Qdrant": "Qdrant",
        },
        "gitops": {
            "Argocd": "ArgoCD",
        },
        "logging": {
            "Fluentbit": "FluentBit",
            "Rsyslog": "RSyslog",
        },
        "network": {
            "Etcd": "ETCD",
            "Haproxy": "HAProxy",
            "OpenServiceMesh": "OSM",
            "Opnsense": "OPNSense",
            "Pfsense": "PFSense",
            "Vyos": "VyOS"
        },
        "proxmox": {
            "Pve": "ProxmoxVE",
        },
        "queue": {
            "Activemq": "ActiveMQ",
            "Emqx": "EMQX",
            "Rabbitmq": "RabbitMQ",
            "Zeromq": "ZeroMQ",
        },
        "storage": {
            "Ceph": "CEPH",
            "CephOsd": "CEPH_OSD",
        },
        "workflow": {
            "Kubeflow": "KubeFlow",
            "Nifi": "NiFi",
        }
    },
    "aws": {
        "analytics": {
            "ElasticsearchService": "ES",
        },
        "business": {
            "AlexaForBusiness": "A4B"
        },
        "blockchain": {
            "QuantumLedgerDatabaseQldb": "QLDB"
        },
        "compute": {
            "ApplicationAutoScaling": "AutoScaling",
            "EC2Ami": "AMI",
            "EC2ContainerRegistry": "ECR",
            "ElasticBeanstalk": "EB",
            "ElasticContainerService": "ECS",
            "ElasticKubernetesService": "EKS",
            "ServerlessApplicationRepository": "SAR",
        },
        "database": {
            "DatabaseMigrationService": "DMS",
            "DocumentdbMongodbCompatibility": "DocumentDB",
            "DynamodbDax": "DAX",
            "DynamodbGlobalSecondaryIndex": "DynamodbGSI",
            "Database": "DB",
            "Dynamodb": "DDB",
            "Elasticache": "ElastiCache",
            "QuantumLedgerDatabaseQldb": "QLDB",
        },
        "devtools": {
            "CommandLineInterface": "CLI",
            "DeveloperTools": "DevTools",
        },
        "engagement": {
            "SimpleEmailServiceSes": "SES",
        },
        "general": {
            "GenericOfficeBuilding": "OfficeBuilding",
        },
        "integration": {
            "SimpleNotificationServiceSns": "SNS",
            "SimpleQueueServiceSqs": "SQS",
            "StepFunctions": "SF",
        },
        "iot": {
            "Freertos": "FreeRTOS",
            "IotHardwareBoard": "IotBoard",
        },
        "management": {
            "SystemsManager": "SSM",
            "SystemsManagerParameterStore": "ParameterStore",
        },
        "migration": {
            "ApplicationDiscoveryService": "ADS",
            "CloudendureMigration": "CEM",
            "DatabaseMigrationService": "DMS",
            "MigrationAndTransfer": "MAT",
            "ServerMigrationService": "SMS",
        },
        "ml": {
            "DeepLearningContainers": "DLC",
        },
        "network": {
            "CloudFront": "CF",
            "ElasticLoadBalancing": "ELB",
            "ElbApplicationLoadBalancer": "ALB",
            "ElbClassicLoadBalancer": "CLB",
            "ElbNetworkLoadBalancer": "NLB",
            "GlobalAccelerator": "GAX",
            "InternetGateway": "IGW",
            "TransitGateway": "TGW",
            "TransitGatewayAttachment": "TGWAttach",
        },
        "security": {
            "CertificateManager": "ACM",
            "Cloudhsm": "CloudHSM",
            "DirectoryService": "DS",
            "FirewallManager": "FMS",
            "IdentityAndAccessManagementIamAccessAnalyzer": "IAMAccessAnalyzer",
            "IdentityAndAccessManagementIamAWSSts": "IAMAWSSts",
            "IdentityAndAccessManagementIamPermissions": "IAMPermissions",
            "IdentityAndAccessManagementIamRole": "IAMRole",
            "IdentityAndAccessManagementIam": "IAM",
            "KeyManagementService": "KMS",
            "ResourceAccessManager": "RAM",
        },
        "storage": {
            "CloudendureDisasterRecovery": "CDR",
            "ElasticBlockStoreEBS": "EBS",
            "ElasticFileSystemEFS": "EFS",
            "Fsx": "FSx",
            "SimpleStorageServiceS3": "S3",
        },
    },
    "azure": {
        "compute": {
            "ContainerRegistries": "ACR",
            "KubernetesServices": "AKS",
            "VMScaleSet": "VMSS"
        },
    },
    "gcp": {
        "analytics": {
            "Bigquery": "BigQuery",
            "Pubsub": "PubSub",
        },
        "compute": {
            "AppEngine": "GAE",
            "ComputeEngine": "GCE",
            "Functions": "GCF",
            "KubernetesEngine": "GKE",
            "Run": "CloudRun",
        },
        "database": {
            "Bigtable": "BigTable",
        },
        "devtools": {
            "ContainerRegistry": "GCR",
        },
        "migration": {
            "MigrateComputeEngine": "CE",
        },
        "ml": {
            "Automl": "AutoML",
            "NaturalLanguageAPI": "NLAPI",
            "SpeechToText": "STT",
            "TextToSpeech": "TTS",
        },
        "network": {
            "CloudIDS": "IDS",
            "PrivateServiceConnect": "PSC",
            "VirtualPrivateCloud": "VPC",
        },
        "security": {
            "AccessContextManager": "ACM",
            "KeyManagementService": "KMS",
            "SecurityCommandCenter": "SCC",
        },
        "storage": {
            "LocalSSD": "SSD",
            "Storage": "GCS",
        },
    },
    "firebase": {
        "grow": {
            "Messaging": "FCM"
        }
    },
    "k8s": {
        "clusterconfig": {
            "Limits": "LimitRange",
            "HPA": "HorizontalPodAutoscaler",
        },
        "compute": {
            "Deploy": "Deployment",
            "DS": "DaemonSet",
            "RS": "ReplicaSet",
            "STS": "StatefulSet"
        },
        "controlplane": {
            "API": "APIServer",
            "CM": "ControllerManager",
            "KProxy": "KubeProxy",
            "Sched": "Scheduler",
        },
        "group": {
            "NS": "Namespace",
        },
        "network": {
            "Ep": "Endpoint",
            "Ing": "Ingress",
            "Netpol": "NetworkPolicy",
            "SVC": "Service",
        },
        "podconfig": {
            "CM": "ConfigMap",
        },
        "rbac": {
            "CRole": "ClusterRole",
            "CRB": "ClusterRoleBinding",
            "RB": "RoleBinding",
            "SA": "ServiceAccount",
        },
        "storage": {
            "PV": "PersistentVolume",
            "PVC": "PersistentVolumeClaim",
            "SC": "StorageClass",
            "Vol": "Volume",
        },
    },
    "alibabacloud": {
        "application": {
            "LogService": "SLS",
            "MessageNotificationService": "MNS",
            "PerformanceTestingService": "PTS",
            "SmartConversationAnalysis": "SCA",
        },
        "compute": {
            "AutoScaling": "ESS",
            "ElasticComputeService": "ECS",
            "ElasticContainerInstance": "ECI",
            "ElasticHighPerformanceComputing": "EHPC",
            "FunctionCompute": "FC",
            "OperationOrchestrationService": "OOS",
            "ResourceOrchestrationService": "ROS",
            "ServerLoadBalancer": "SLB",
            "ServerlessAppEngine": "SAE",
            "SimpleApplicationServer": "SAS",
            "WebAppService": "WAS",
        },
        "database": {
            "DataManagementService": "DMS",
            "DataTransmissionService": "DTS",
            "DatabaseBackupService": "DBS",
            "DisributeRelationalDatabaseService": "DRDS",
            "GraphDatabaseService": "GDS",
            "RelationalDatabaseService": "RDS",
        },
        "network": {
            "CloudEnterpriseNetwork": "CEN",
            "ElasticIpAddress": "EIP",
            "ServerLoadBalancer": "SLB",
            "VirtualPrivateCloud": "VPC",
        },
        "security": {
            "AntiBotService": "ABS",
            "AntifraudService": "AS",
            "CloudFirewall": "CFW",
            "ContentModeration": "CM",
            "DataEncryptionService": "DES",
            "WebApplicationFirewall": "WAF",
        },
        "storage": {
            "FileStorageHdfs": "HDFS",
            "FileStorageNas": "NAS",
            "HybridBackupRecovery": "HBR",
            "HybridCloudDisasterRecovery": "HDR",
            "ObjectStorageService": "OSS",
            "ObjectTableStore": "OTS",
        }
    },
    "digitalocean": {},
    "gis": {},
    "oci": {
        "compute": {
            "VM": "VirtualMachine",
            "VMWhite": "VirtualMachineWhite",
            "BM": "BareMetal",
            "BMWhite": "BareMetalWhite",
            "OCIR": "OCIRegistry",
            "OCIRWhite": "OCIRegistryWhite",
            "OKE": "ContainerEngine",
            "OKEWhite": "ContainerEngineWhite",
        },
        "database": {
            "Autonomous": "ADB",
            "AutonomousWhite": "ADBWhite",
            "DatabaseService": "DBService",
            "DatabaseServiceWhite": "DBServiceWhite",
        }
    },
    "programming": {
        "framework": {
            "Fastapi": "FastAPI",
            "Graphql": "GraphQL",
            "Dotnet": "DotNet",
            "Nextjs": "NextJs"
        },
        "language": {
            "Javascript": "JavaScript",
            "Nodejs": "NodeJS",
            "Php": "PHP",
            "Typescript": "TypeScript"
        },
    },
    "saas": {
        "logging": {
            "Datadog": "DataDog",
            "Newrelic": "NewRelic"
        }
    },
    "elastic": {
        "elasticsearch": {
            "Elasticsearch": "ElasticSearch",
            "Logstash": "LogStash",
            "MachineLearning": "ML",
        }
    },
    "outscale": {
        "Osc": "OSC",
    },
    "ibm": {},
    "generic": {},
    "openstack": {
        "user": {
            "Openstackclient": "OpenStackClient",
        },
        "billing": {
            "Cloudkitty": "CloudKitty",
        },
        "deployment": {
            "Kolla": "KollaAnsible",
            "Tripleo": "TripleO",
        }
    },
}


================================================
FILE: diagrams/__init__.py
================================================
import contextvars
import os
import uuid
from pathlib import Path
from typing import Dict, List, Optional, Union

from graphviz import Digraph

# Theme definitions for diagram styling
# Each theme defines: cluster background colors (by depth), border color, edge color
THEMES = {
    "neutral": {
        "bgcolor": ("#F8F9FA", "#F1F3F5", "#E9ECEF", "#DEE2E6"),
        "pencolor": "#ADB5BD",
        "edgecolor": "#495057",
    },
    "pastel": {
        "bgcolor": ("#E5F5FD", "#EBF3E7", "#ECE8F6", "#FDF7E3"),
        "pencolor": "#AEB6BE",
        "edgecolor": "#7B8894",
    },
    "blues": {
        "bgcolor": ("#E7F5FF", "#D0EBFF", "#A5D8FF", "#74C0FC"),
        "pencolor": "#339AF0",
        "edgecolor": "#1971C2",
    },
    "greens": {
        "bgcolor": ("#EBFBEE", "#D3F9D8", "#B2F2BB", "#8CE99A"),
        "pencolor": "#40C057",
        "edgecolor": "#2F9E44",
    },
    "orange": {
        "bgcolor": ("#FFF4E6", "#FFE8CC", "#FFD8A8", "#FFC078"),
        "pencolor": "#FD7E14",
        "edgecolor": "#E8590C",
    },
}

# Global contexts for a diagrams and a cluster.
#
# These global contexts are for letting the clusters and nodes know
# where context they are belong to. So the all clusters and nodes does
# not need to specify the current diagrams or cluster via parameters.
__diagram = contextvars.ContextVar("diagrams")
__cluster = contextvars.ContextVar("cluster")


def getdiagram() -> "Diagram":
    try:
        return __diagram.get()
    except LookupError:
        return None


def setdiagram(diagram: "Diagram"):
    __diagram.set(diagram)


def getcluster() -> "Cluster":
    try:
        return __cluster.get()
    except LookupError:
        return None


def setcluster(cluster: "Cluster"):
    __cluster.set(cluster)


class Diagram:
    __directions = ("TB", "BT", "LR", "RL")
    __curvestyles = ("ortho", "curved", "spline", "polyline")
    __outformats = ("png", "jpg", "svg", "pdf", "dot")

    # fmt: off
    _default_graph_attrs = {
        "pad": "2.0",
        "splines": "spline",
        "nodesep": "0.70",
        "ranksep": "0.90",
        "fontname": "Sans-Serif",
        "fontsize": "15",
        "fontcolor": "#2D3436",
    }
    _default_node_attrs = {
        "shape": "box",
        "style": "rounded",
        "fixedsize": "true",
        "width": "1.4",
        "height": "1.4",
        "labelloc": "b",
        # imagepos attribute is not backward compatible
        # TODO: check graphviz version to see if "imagepos" is available >= 2.40
        # https://github.com/xflr6/graphviz/blob/master/graphviz/backend.py#L248
        # "imagepos": "tc",
        "imagescale": "true",
        "fontname": "Sans-Serif",
        "fontsize": "13",
        "fontcolor": "#2D3436",
    }
    _default_edge_attrs = {
        "color": "#495057",
        "arrowsize": "0.8",
    }

    # fmt: on

    # TODO: Label position option
    # TODO: Save directory option (filename + directory?)
    def __init__(
        self,
        name: str = "",
        filename: str = "",
        direction: str = "LR",
        curvestyle: str = "spline",
        outformat: Union[str, list[str]] = "png",
        autolabel: bool = False,
        show: bool = True,
        strict: bool = False,
        theme: str = "neutral",
        graph_attr: Optional[dict] = None,
        node_attr: Optional[dict] = None,
        edge_attr: Optional[dict] = None,
    ):
        """Diagram represents a global diagrams context.

        :param name: Diagram name. It will be used for output filename if the
            filename isn't given.
        :param filename: The output filename, without the extension (.png).
            If not given, it will be generated from the name.
        :param direction: Data flow direction. Default is 'left to right'.
        :param curvestyle: Edge routing style. One of "ortho", "curved", "spline", or "polyline".
        :param outformat: Output file format. Default is 'png'.
        :param show: Open generated image after save if true, just only save otherwise.
        :param theme: Color theme. One of "neutral", "pastel", "blues", "greens", "orange".
        :param graph_attr: Provide graph_attr dot config attributes.
        :param node_attr: Provide node_attr dot config attributes.
        :param edge_attr: Provide edge_attr dot config attributes.
        :param strict: Rendering should merge multi-edges.
        """
        if graph_attr is None:
            graph_attr = {}
        if node_attr is None:
            node_attr = {}
        if edge_attr is None:
            edge_attr = {}

        # Validate and set theme
        if theme not in THEMES:
            raise ValueError(f'"{theme}" is not a valid theme. Choose from: {", ".join(THEMES.keys())}')
        self.theme = theme
        self._theme_config = THEMES[theme]

        self.name = name
        if not name and not filename:
            filename = "diagrams_image"
        elif not filename:
            filename = "_".join(self.name.split()).lower()
        self.filename = filename
        self.dot = Digraph(self.name, filename=self.filename, strict=strict)

        # Set attributes.
        for k, v in self._default_graph_attrs.items():
            self.dot.graph_attr[k] = v
        self.dot.graph_attr["label"] = self.name
        for k, v in self._default_node_attrs.items():
            self.dot.node_attr[k] = v
        for k, v in self._default_edge_attrs.items():
            self.dot.edge_attr[k] = v

        # Apply theme edge color
        self.dot.edge_attr["color"] = self._theme_config["edgecolor"]

        if not self._validate_direction(direction):
            raise ValueError(f'"{direction}" is not a valid direction')
        self.dot.graph_attr["rankdir"] = direction

        if not self._validate_curvestyle(curvestyle):
            raise ValueError(f'"{curvestyle}" is not a valid curvestyle')
        self.dot.graph_attr["splines"] = curvestyle

        if isinstance(outformat, list):
            for one_format in outformat:
                if not self._validate_outformat(one_format):
                    raise ValueError(
                        f'"{one_format}" is not a valid output format')
        else:
            if not self._validate_outformat(outformat):
                raise ValueError(f'"{outformat}" is not a valid output format')
        self.outformat = outformat

        # Merge passed in attributes
        self.dot.graph_attr.update(graph_attr)
        self.dot.node_attr.update(node_attr)
        self.dot.edge_attr.update(edge_attr)

        self.show = show
        self.autolabel = autolabel

    def __str__(self) -> str:
        return str(self.dot)

    def __enter__(self):
        setdiagram(self)
        return self

    def __exit__(self, exc_type, exc_value, traceback):
        self.render()
        # Remove the graphviz file leaving only the image.
        os.remove(self.filename)
        setdiagram(None)

    def _repr_png_(self):
        return self.dot.pipe(format="png")

    def _validate_direction(self, direction: str) -> bool:
        return direction.upper() in self.__directions

    def _validate_curvestyle(self, curvestyle: str) -> bool:
        return curvestyle.lower() in self.__curvestyles

    def _validate_outformat(self, outformat: str) -> bool:
        return outformat.lower() in self.__outformats

    def node(self, nodeid: str, label: str, **attrs) -> None:
        """Create a new node."""
        self.dot.node(nodeid, label=label, **attrs)

    def connect(self, node: "Node", node2: "Node", edge: "Edge") -> None:
        """Connect the two Nodes."""
        self.dot.edge(node.nodeid, node2.nodeid, **edge.attrs)

    def subgraph(self, dot: Digraph) -> None:
        """Create a subgraph for clustering"""
        self.dot.subgraph(dot)

    def render(self) -> None:
        if isinstance(self.outformat, list):
            for one_format in self.outformat:
                self.dot.render(format=one_format, view=self.show, quiet=True)
        else:
            self.dot.render(format=self.outformat, view=self.show, quiet=True)


class Cluster:
    __directions = ("TB", "BT", "LR", "RL")

    # fmt: off
    _default_graph_attrs = {
        "shape": "box",
        "style": "rounded",
        "labeljust": "l",
        "fontname": "Sans-Serif",
        "fontsize": "12",
    }

    # fmt: on

    # FIXME:
    #  Cluster direction does not work now. Graphviz couldn't render
    #  correctly for a subgraph that has a different rank direction.
    def __init__(
        self,
        label: str = "cluster",
        direction: str = "LR",
        graph_attr: Optional[dict] = None,
    ):
        """Cluster represents a cluster context.

        :param label: Cluster label.
        :param direction: Data flow direction. Default is 'left to right'.
        :param graph_attr: Provide graph_attr dot config attributes.
        """
        if graph_attr is None:
            graph_attr = {}
        self.label = label
        self.name = "cluster_" + self.label

        # Node must belong to a diagram.
        self._diagram = getdiagram()
        if self._diagram is None:
            raise EnvironmentError("Global diagrams context not set up")
        self._parent = getcluster()

        # Get theme configuration from the diagram
        theme_config = self._diagram._theme_config

        self.dot = Digraph(self.name)

        # Set attributes.
        for k, v in self._default_graph_attrs.items():
            self.dot.graph_attr[k] = v
        self.dot.graph_attr["label"] = self.label

        # Apply theme colors
        self.dot.graph_attr["pencolor"] = theme_config["pencolor"]

        if not self._validate_direction(direction):
            raise ValueError(f'"{direction}" is not a valid direction')
        self.dot.graph_attr["rankdir"] = direction

        # Set cluster depth for distinguishing the background color
        self.depth = self._parent.depth + 1 if self._parent else 0
        bgcolors = theme_config["bgcolor"]
        coloridx = self.depth % len(bgcolors)
        self.dot.graph_attr["bgcolor"] = bgcolors[coloridx]

        # Merge passed in attributes
        self.dot.graph_attr.update(graph_attr)

    def __enter__(self):
        setcluster(self)
        return self

    def __exit__(self, exc_type, exc_value, traceback):
        if self._parent:
            self._parent.subgraph(self.dot)
        else:
            self._diagram.subgraph(self.dot)
        setcluster(self._parent)

    def _validate_direction(self, direction: str) -> bool:
        return direction.upper() in self.__directions

    def node(self, nodeid: str, label: str, **attrs) -> None:
        """Create a new node in the cluster."""
        self.dot.node(nodeid, label=label, **attrs)

    def subgraph(self, dot: Digraph) -> None:
        self.dot.subgraph(dot)


class Node:
    """Node represents a node for a specific backend service."""

    _provider = None
    _type = None

    _icon_dir = None
    _icon = None

    _height = 1.9

    def __init__(self, label: str = "", *, nodeid: str = None, **attrs: Dict):
        """Node represents a system component.

        :param label: Node label.
        """
        # Generates an ID for identifying a node, unless specified
        self._id = nodeid or self._rand_id()
        self.label = label

        # Node must belong to a diagram.
        self._diagram = getdiagram()
        if self._diagram is None:
            raise EnvironmentError("Global diagrams context not set up")

        if self._diagram.autolabel:
            prefix = self.__class__.__name__
            if self.label:
                self.label = prefix + "\n" + self.label
            else:
                self.label = prefix

        # fmt: off
        # If a node has an icon, increase the height slightly to avoid
        # that label being spanned between icon image and white space.
        # Increase the height by the number of new lines included in the label.
        padding = 0.4 * (self.label.count('\n'))
        self._attrs = {
            "shape": "none",
            "height": str(self._height + padding),
            "image": self._load_icon(),
        } if self._icon else {}

        # fmt: on
        self._attrs.update(attrs)

        self._cluster = getcluster()

        # If a node is in the cluster context, add it to cluster.
        if self._cluster:
            self._cluster.node(self._id, self.label, **self._attrs)
        else:
            self._diagram.node(self._id, self.label, **self._attrs)

    def __repr__(self):
        _name = self.__class__.__name__
        return f"<{self._provider}.{self._type}.{_name}>"

    def __sub__(self, other: Union["Node", List["Node"], "Edge"]):
        """Implement Self - Node, Self - [Nodes] and Self - Edge."""
        if isinstance(other, list):
            for node in other:
                self.connect(node, Edge(self))
            return other
        elif isinstance(other, Node):
            return self.connect(other, Edge(self))
        else:
            other.node = self
            return other

    def __rsub__(self, other: Union[List["Node"], List["Edge"]]):
        """Called for [Nodes] and [Edges] - Self because list don't have __sub__ operators."""
        for o in other:
            if isinstance(o, Edge):
                o.connect(self)
            else:
                o.connect(self, Edge(self))
        return self

    def __rshift__(self, other: Union["Node", List["Node"], "Edge"]):
        """Implements Self >> Node, Self >> [Nodes] and Self Edge."""
        if isinstance(other, list):
            for node in other:
                self.connect(node, Edge(self, forward=True))
            return other
        elif isinstance(other, Node):
            return self.connect(other, Edge(self, forward=True))
        else:
            other.forward = True
            other.node = self
            return other

    def __lshift__(self, other: Union["Node", List["Node"], "Edge"]):
        """Implements Self << Node, Self << [Nodes] and Self << Edge."""
        if isinstance(other, list):
            for node in other:
                self.connect(node, Edge(self, reverse=True))
            return other
        elif isinstance(other, Node):
            return self.connect(other, Edge(self, reverse=True))
        else:
            other.reverse = True
            return other.connect(self)

    def __rrshift__(self, other: Union[List["Node"], List["Edge"]]):
        """Called for [Nodes] and [Edges] >> Self because list don't have __rshift__ operators."""
        for o in other:
            if isinstance(o, Edge):
                o.forward = True
                o.connect(self)
            else:
                o.connect(self, Edge(self, forward=True))
        return self

    def __rlshift__(self, other: Union[List["Node"], List["Edge"]]):
        """Called for [Nodes] << Self because list of Nodes don't have __lshift__ operators."""
        for o in other:
            if isinstance(o, Edge):
                o.reverse = True
                o.connect(self)
            else:
                o.connect(self, Edge(self, reverse=True))
        return self

    @property
    def nodeid(self):
        return self._id

    # TODO: option for adding flow description to the connection edge
    def connect(self, node: "Node", edge: "Edge"):
        """Connect to other node.

        :param node: Other node instance.
        :param edge: Type of the edge.
        :return: Connected node.
        """
        if not isinstance(node, Node):
            ValueError(f"{node} is not a valid Node")
        if not isinstance(edge, Edge):
            ValueError(f"{edge} is not a valid Edge")
        # An edge must be added on the global diagrams, not a cluster.
        self._diagram.connect(self, node, edge)
        return node

    @staticmethod
    def _rand_id():
        return uuid.uuid4().hex

    def _load_icon(self):
        basedir = Path(os.path.abspath(os.path.dirname(__file__)))
        return os.path.join(basedir.parent, self._icon_dir, self._icon)


class Edge:
    """Edge represents an edge between two nodes."""

    _default_edge_attrs = {
        "fontcolor": "#2D3436",
        "fontname": "Sans-Serif",
        "fontsize": "13",
    }

    def __init__(
        self,
        node: "Node" = None,
        forward: bool = False,
        reverse: bool = False,
        label: str = "",
        color: str = "",
        style: str = "",
        **attrs: Dict,
    ):
        """Edge represents an edge between two nodes.

        :param node: Parent node.
        :param forward: Points forward.
        :param reverse: Points backward.
        :param label: Edge label.
        :param color: Edge color.
        :param style: Edge style.
        :param attrs: Other edge attributes
        """
        if node is not None:
            assert isinstance(node, Node)

        self.node = node
        self.forward = forward
        self.reverse = reverse

        self._attrs = {}

        # Set attributes.
        for k, v in self._default_edge_attrs.items():
            self._attrs[k] = v

        if label:
            # Graphviz complaining about using label for edges, so replace it with xlabel.
            # Update: xlabel option causes the misaligned label position:
            # https://github.com/mingrammer/diagrams/issues/83
            self._attrs["label"] = label
        if color:
            self._attrs["color"] = color
        if style:
            self._attrs["style"] = style
        self._attrs.update(attrs)

    def __sub__(self, other: Union["Node", "Edge", List["Node"]]):
        """Implement Self - Node or Edge and Self - [Nodes]"""
        return self.connect(other)

    def __rsub__(self, other: Union[List["Node"],
                 List["Edge"]]) -> List["Edge"]:
        """Called for [Nodes] or [Edges] - Self because list don't have __sub__ operators."""
        return self.append(other)

    def __rshift__(self, other: Union["Node", "Edge", List["Node"]]):
        """Implements Self >> Node or Edge and Self >> [Nodes]."""
        self.forward = True
        return self.connect(other)

    def __lshift__(self, other: Union["Node", "Edge", List["Node"]]):
        """Implements Self << Node or Edge and Self << [Nodes]."""
        self.reverse = True
        return self.connect(other)

    def __rrshift__(self,
                    other: Union[List["Node"],
                                 List["Edge"]]) -> List["Edge"]:
        """Called for [Nodes] or [Edges] >> Self because list of Edges don't have __rshift__ operators."""
        return self.append(other, forward=True)

    def __rlshift__(self,
                    other: Union[List["Node"],
                                 List["Edge"]]) -> List["Edge"]:
        """Called for [Nodes] or [Edges] << Self because list of Edges don't have __lshift__ operators."""
        return self.append(other, reverse=True)

    def append(self,
               other: Union[List["Node"],
                            List["Edge"]],
               forward=None,
               reverse=None) -> List["Edge"]:
        result = []
        for o in other:
            if isinstance(o, Edge):
                o.forward = forward if forward else o.forward
                o.reverse = reverse if reverse else o.reverse
                self._attrs = o.attrs.copy()
                result.append(o)
            else:
                result.append(
                    Edge(
                        o,
                        forward=forward,
                        reverse=reverse,
                        **self._attrs))
        return result

    def connect(self, other: Union["Node", "Edge", List["Node"]]):
        if isinstance(other, list):
            for node in other:
                self.node.connect(node, self)
            return other
        elif isinstance(other, Edge):
            self._attrs = other._attrs.copy()
            return self
        else:
            if self.node is not None:
                return self.node.connect(other, self)
            else:
                self.node = other
                return self

    @property
    def attrs(self) -> Dict:
        if self.forward and self.reverse:
            direction = "both"
        elif self.forward:
            direction = "forward"
        elif self.reverse:
            direction = "back"
        else:
            direction = "none"
        return {**self._attrs, "dir": direction}


Group = Cluster


================================================
FILE: diagrams/alibabacloud/__init__.py
================================================
"""
AlibabaCloud provides a set of services for Alibaba Cloud provider.
"""

from diagrams import Node


class _AlibabaCloud(Node):
    _provider = "alibabacloud"
    _icon_dir = "resources/alibabacloud"

    fontcolor = "#ffffff"


class AlibabaCloud(_AlibabaCloud):
    _icon = "alibabacloud.png"


================================================
FILE: diagrams/alibabacloud/analytics.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _AlibabaCloud


class _Analytics(_AlibabaCloud):
    _type = "analytics"
    _icon_dir = "resources/alibabacloud/analytics"


class AnalyticDb(_Analytics):
    _icon = "analytic-db.png"


class ClickHouse(_Analytics):
    _icon = "click-house.png"


class DataLakeAnalytics(_Analytics):
    _icon = "data-lake-analytics.png"


class ElaticMapReduce(_Analytics):
    _icon = "elatic-map-reduce.png"


class OpenSearch(_Analytics):
    _icon = "open-search.png"


# Aliases


================================================
FILE: diagrams/alibabacloud/application.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _AlibabaCloud


class _Application(_AlibabaCloud):
    _type = "application"
    _icon_dir = "resources/alibabacloud/application"


class ApiGateway(_Application):
    _icon = "api-gateway.png"


class BeeBot(_Application):
    _icon = "bee-bot.png"


class BlockchainAsAService(_Application):
    _icon = "blockchain-as-a-service.png"


class CloudCallCenter(_Application):
    _icon = "cloud-call-center.png"


class CodePipeline(_Application):
    _icon = "code-pipeline.png"


class DirectMail(_Application):
    _icon = "direct-mail.png"


class LogService(_Application):
    _icon = "log-service.png"


class MessageNotificationService(_Application):
    _icon = "message-notification-service.png"


class NodeJsPerformancePlatform(_Application):
    _icon = "node-js-performance-platform.png"


class OpenSearch(_Application):
    _icon = "open-search.png"


class PerformanceTestingService(_Application):
    _icon = "performance-testing-service.png"


class RdCloud(_Application):
    _icon = "rd-cloud.png"


class SmartConversationAnalysis(_Application):
    _icon = "smart-conversation-analysis.png"


class Yida(_Application):
    _icon = "yida.png"


# Aliases

SLS = LogService
MNS = MessageNotificationService
PTS = PerformanceTestingService
SCA = SmartConversationAnalysis


================================================
FILE: diagrams/alibabacloud/communication.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _AlibabaCloud


class _Communication(_AlibabaCloud):
    _type = "communication"
    _icon_dir = "resources/alibabacloud/communication"


class DirectMail(_Communication):
    _icon = "direct-mail.png"


class MobilePush(_Communication):
    _icon = "mobile-push.png"


# Aliases


================================================
FILE: diagrams/alibabacloud/compute.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _AlibabaCloud


class _Compute(_AlibabaCloud):
    _type = "compute"
    _icon_dir = "resources/alibabacloud/compute"


class AutoScaling(_Compute):
    _icon = "auto-scaling.png"


class BatchCompute(_Compute):
    _icon = "batch-compute.png"


class ContainerRegistry(_Compute):
    _icon = "container-registry.png"


class ContainerService(_Compute):
    _icon = "container-service.png"


class ElasticComputeService(_Compute):
    _icon = "elastic-compute-service.png"


class ElasticContainerInstance(_Compute):
    _icon = "elastic-container-instance.png"


class ElasticHighPerformanceComputing(_Compute):
    _icon = "elastic-high-performance-computing.png"


class ElasticSearch(_Compute):
    _icon = "elastic-search.png"


class FunctionCompute(_Compute):
    _icon = "function-compute.png"


class OperationOrchestrationService(_Compute):
    _icon = "operation-orchestration-service.png"


class ResourceOrchestrationService(_Compute):
    _icon = "resource-orchestration-service.png"


class ServerLoadBalancer(_Compute):
    _icon = "server-load-balancer.png"


class ServerlessAppEngine(_Compute):
    _icon = "serverless-app-engine.png"


class SimpleApplicationServer(_Compute):
    _icon = "simple-application-server.png"


class WebAppService(_Compute):
    _icon = "web-app-service.png"


# Aliases

ESS = AutoScaling
ECS = ElasticComputeService
ECI = ElasticContainerInstance
EHPC = ElasticHighPerformanceComputing
FC = FunctionCompute
OOS = OperationOrchestrationService
ROS = ResourceOrchestrationService
SLB = ServerLoadBalancer
SAE = ServerlessAppEngine
SAS = SimpleApplicationServer
WAS = WebAppService


================================================
FILE: diagrams/alibabacloud/database.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _AlibabaCloud


class _Database(_AlibabaCloud):
    _type = "database"
    _icon_dir = "resources/alibabacloud/database"


class ApsaradbCassandra(_Database):
    _icon = "apsaradb-cassandra.png"


class ApsaradbHbase(_Database):
    _icon = "apsaradb-hbase.png"


class ApsaradbMemcache(_Database):
    _icon = "apsaradb-memcache.png"


class ApsaradbMongodb(_Database):
    _icon = "apsaradb-mongodb.png"


class ApsaradbOceanbase(_Database):
    _icon = "apsaradb-oceanbase.png"


class ApsaradbPolardb(_Database):
    _icon = "apsaradb-polardb.png"


class ApsaradbPostgresql(_Database):
    _icon = "apsaradb-postgresql.png"


class ApsaradbPpas(_Database):
    _icon = "apsaradb-ppas.png"


class ApsaradbRedis(_Database):
    _icon = "apsaradb-redis.png"


class ApsaradbSqlserver(_Database):
    _icon = "apsaradb-sqlserver.png"


class DataManagementService(_Database):
    _icon = "data-management-service.png"


class DataTransmissionService(_Database):
    _icon = "data-transmission-service.png"


class DatabaseBackupService(_Database):
    _icon = "database-backup-service.png"


class DisributeRelationalDatabaseService(_Database):
    _icon = "disribute-relational-database-service.png"


class GraphDatabaseService(_Database):
    _icon = "graph-database-service.png"


class HybriddbForMysql(_Database):
    _icon = "hybriddb-for-mysql.png"


class RelationalDatabaseService(_Database):
    _icon = "relational-database-service.png"


# Aliases

DMS = DataManagementService
DTS = DataTransmissionService
DBS = DatabaseBackupService
DRDS = DisributeRelationalDatabaseService
GDS = GraphDatabaseService
RDS = RelationalDatabaseService


================================================
FILE: diagrams/alibabacloud/iot.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _AlibabaCloud


class _Iot(_AlibabaCloud):
    _type = "iot"
    _icon_dir = "resources/alibabacloud/iot"


class IotInternetDeviceId(_Iot):
    _icon = "iot-internet-device-id.png"


class IotLinkWan(_Iot):
    _icon = "iot-link-wan.png"


class IotMobileConnectionPackage(_Iot):
    _icon = "iot-mobile-connection-package.png"


class IotPlatform(_Iot):
    _icon = "iot-platform.png"


# Aliases


================================================
FILE: diagrams/alibabacloud/network.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _AlibabaCloud


class _Network(_AlibabaCloud):
    _type = "network"
    _icon_dir = "resources/alibabacloud/network"


class Cdn(_Network):
    _icon = "cdn.png"


class CloudEnterpriseNetwork(_Network):
    _icon = "cloud-enterprise-network.png"


class ElasticIpAddress(_Network):
    _icon = "elastic-ip-address.png"


class ExpressConnect(_Network):
    _icon = "express-connect.png"


class NatGateway(_Network):
    _icon = "nat-gateway.png"


class ServerLoadBalancer(_Network):
    _icon = "server-load-balancer.png"


class SmartAccessGateway(_Network):
    _icon = "smart-access-gateway.png"


class VirtualPrivateCloud(_Network):
    _icon = "virtual-private-cloud.png"


class VpnGateway(_Network):
    _icon = "vpn-gateway.png"


# Aliases

CEN = CloudEnterpriseNetwork
EIP = ElasticIpAddress
SLB = ServerLoadBalancer
VPC = VirtualPrivateCloud


================================================
FILE: diagrams/alibabacloud/security.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _AlibabaCloud


class _Security(_AlibabaCloud):
    _type = "security"
    _icon_dir = "resources/alibabacloud/security"


class AntiBotService(_Security):
    _icon = "anti-bot-service.png"


class AntiDdosBasic(_Security):
    _icon = "anti-ddos-basic.png"


class AntiDdosPro(_Security):
    _icon = "anti-ddos-pro.png"


class AntifraudService(_Security):
    _icon = "antifraud-service.png"


class BastionHost(_Security):
    _icon = "bastion-host.png"


class CloudFirewall(_Security):
    _icon = "cloud-firewall.png"


class CloudSecurityScanner(_Security):
    _icon = "cloud-security-scanner.png"


class ContentModeration(_Security):
    _icon = "content-moderation.png"


class CrowdsourcedSecurityTesting(_Security):
    _icon = "crowdsourced-security-testing.png"


class DataEncryptionService(_Security):
    _icon = "data-encryption-service.png"


class DbAudit(_Security):
    _icon = "db-audit.png"


class GameShield(_Security):
    _icon = "game-shield.png"


class IdVerification(_Security):
    _icon = "id-verification.png"


class ManagedSecurityService(_Security):
    _icon = "managed-security-service.png"


class SecurityCenter(_Security):
    _icon = "security-center.png"


class ServerGuard(_Security):
    _icon = "server-guard.png"


class SslCertificates(_Security):
    _icon = "ssl-certificates.png"


class WebApplicationFirewall(_Security):
    _icon = "web-application-firewall.png"


# Aliases

ABS = AntiBotService
AS = AntifraudService
CFW = CloudFirewall
CM = ContentModeration
DES = DataEncryptionService
WAF = WebApplicationFirewall


================================================
FILE: diagrams/alibabacloud/storage.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _AlibabaCloud


class _Storage(_AlibabaCloud):
    _type = "storage"
    _icon_dir = "resources/alibabacloud/storage"


class CloudStorageGateway(_Storage):
    _icon = "cloud-storage-gateway.png"


class FileStorageHdfs(_Storage):
    _icon = "file-storage-hdfs.png"


class FileStorageNas(_Storage):
    _icon = "file-storage-nas.png"


class HybridBackupRecovery(_Storage):
    _icon = "hybrid-backup-recovery.png"


class HybridCloudDisasterRecovery(_Storage):
    _icon = "hybrid-cloud-disaster-recovery.png"


class Imm(_Storage):
    _icon = "imm.png"


class ObjectStorageService(_Storage):
    _icon = "object-storage-service.png"


class ObjectTableStore(_Storage):
    _icon = "object-table-store.png"


# Aliases

HDFS = FileStorageHdfs
NAS = FileStorageNas
HBR = HybridBackupRecovery
HDR = HybridCloudDisasterRecovery
OSS = ObjectStorageService
OTS = ObjectTableStore


================================================
FILE: diagrams/alibabacloud/web.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _AlibabaCloud


class _Web(_AlibabaCloud):
    _type = "web"
    _icon_dir = "resources/alibabacloud/web"


class Dns(_Web):
    _icon = "dns.png"


class Domain(_Web):
    _icon = "domain.png"


# Aliases


================================================
FILE: diagrams/aws/__init__.py
================================================
"""
AWS provides a set of services for Amazon Web Service provider.
"""

from diagrams import Node


class _AWS(Node):
    _provider = "aws"
    _icon_dir = "resources/aws"

    fontcolor = "#ffffff"


class AWS(_AWS):
    _icon = "aws.png"


================================================
FILE: diagrams/aws/analytics.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _AWS


class _Analytics(_AWS):
    _type = "analytics"
    _icon_dir = "resources/aws/analytics"


class AmazonOpensearchService(_Analytics):
    _icon = "amazon-opensearch-service.png"


class Analytics(_Analytics):
    _icon = "analytics.png"


class Athena(_Analytics):
    _icon = "athena.png"


class CloudsearchSearchDocuments(_Analytics):
    _icon = "cloudsearch-search-documents.png"


class Cloudsearch(_Analytics):
    _icon = "cloudsearch.png"


class DataLakeResource(_Analytics):
    _icon = "data-lake-resource.png"


class DataPipeline(_Analytics):
    _icon = "data-pipeline.png"


class ElasticsearchService(_Analytics):
    _icon = "elasticsearch-service.png"


class EMRCluster(_Analytics):
    _icon = "emr-cluster.png"


class EMREngineMaprM3(_Analytics):
    _icon = "emr-engine-mapr-m3.png"


class EMREngineMaprM5(_Analytics):
    _icon = "emr-engine-mapr-m5.png"


class EMREngineMaprM7(_Analytics):
    _icon = "emr-engine-mapr-m7.png"


class EMREngine(_Analytics):
    _icon = "emr-engine.png"


class EMRHdfsCluster(_Analytics):
    _icon = "emr-hdfs-cluster.png"


class EMR(_Analytics):
    _icon = "emr.png"


class GlueCrawlers(_Analytics):
    _icon = "glue-crawlers.png"


class GlueDataCatalog(_Analytics):
    _icon = "glue-data-catalog.png"


class Glue(_Analytics):
    _icon = "glue.png"


class KinesisDataAnalytics(_Analytics):
    _icon = "kinesis-data-analytics.png"


class KinesisDataFirehose(_Analytics):
    _icon = "kinesis-data-firehose.png"


class KinesisDataStreams(_Analytics):
    _icon = "kinesis-data-streams.png"


class KinesisVideoStreams(_Analytics):
    _icon = "kinesis-video-streams.png"


class Kinesis(_Analytics):
    _icon = "kinesis.png"


class LakeFormation(_Analytics):
    _icon = "lake-formation.png"


class ManagedStreamingForKafka(_Analytics):
    _icon = "managed-streaming-for-kafka.png"


class Quicksight(_Analytics):
    _icon = "quicksight.png"


class RedshiftDenseComputeNode(_Analytics):
    _icon = "redshift-dense-compute-node.png"


class RedshiftDenseStorageNode(_Analytics):
    _icon = "redshift-dense-storage-node.png"


class Redshift(_Analytics):
    _icon = "redshift.png"


# Aliases

ES = ElasticsearchService


================================================
FILE: diagrams/aws/ar.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _AWS


class _Ar(_AWS):
    _type = "ar"
    _icon_dir = "resources/aws/ar"


class ArVr(_Ar):
    _icon = "ar-vr.png"


class Sumerian(_Ar):
    _icon = "sumerian.png"


# Aliases


================================================
FILE: diagrams/aws/blockchain.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _AWS


class _Blockchain(_AWS):
    _type = "blockchain"
    _icon_dir = "resources/aws/blockchain"


class BlockchainResource(_Blockchain):
    _icon = "blockchain-resource.png"


class Blockchain(_Blockchain):
    _icon = "blockchain.png"


class ManagedBlockchain(_Blockchain):
    _icon = "managed-blockchain.png"


class QuantumLedgerDatabaseQldb(_Blockchain):
    _icon = "quantum-ledger-database-qldb.png"


# Aliases

QLDB = QuantumLedgerDatabaseQldb


================================================
FILE: diagrams/aws/business.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _AWS


class _Business(_AWS):
    _type = "business"
    _icon_dir = "resources/aws/business"


class AlexaForBusiness(_Business):
    _icon = "alexa-for-business.png"


class BusinessApplications(_Business):
    _icon = "business-applications.png"


class Chime(_Business):
    _icon = "chime.png"


class Workmail(_Business):
    _icon = "workmail.png"


# Aliases

A4B = AlexaForBusiness


================================================
FILE: diagrams/aws/compute.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _AWS


class _Compute(_AWS):
    _type = "compute"
    _icon_dir = "resources/aws/compute"


class AppRunner(_Compute):
    _icon = "app-runner.png"


class ApplicationAutoScaling(_Compute):
    _icon = "application-auto-scaling.png"


class Batch(_Compute):
    _icon = "batch.png"


class ComputeOptimizer(_Compute):
    _icon = "compute-optimizer.png"


class Compute(_Compute):
    _icon = "compute.png"


class EC2Ami(_Compute):
    _icon = "ec2-ami.png"


class EC2AutoScaling(_Compute):
    _icon = "ec2-auto-scaling.png"


class EC2ContainerRegistryImage(_Compute):
    _icon = "ec2-container-registry-image.png"


class EC2ContainerRegistryRegistry(_Compute):
    _icon = "ec2-container-registry-registry.png"


class EC2ContainerRegistry(_Compute):
    _icon = "ec2-container-registry.png"


class EC2ElasticIpAddress(_Compute):
    _icon = "ec2-elastic-ip-address.png"


class EC2ImageBuilder(_Compute):
    _icon = "ec2-image-builder.png"


class EC2Instance(_Compute):
    _icon = "ec2-instance.png"


class EC2Instances(_Compute):
    _icon = "ec2-instances.png"


class EC2Rescue(_Compute):
    _icon = "ec2-rescue.png"


class EC2SpotInstance(_Compute):
    _icon = "ec2-spot-instance.png"


class EC2(_Compute):
    _icon = "ec2.png"


class ElasticBeanstalkApplication(_Compute):
    _icon = "elastic-beanstalk-application.png"


class ElasticBeanstalkDeployment(_Compute):
    _icon = "elastic-beanstalk-deployment.png"


class ElasticBeanstalk(_Compute):
    _icon = "elastic-beanstalk.png"


class ElasticContainerServiceContainer(_Compute):
    _icon = "elastic-container-service-container.png"


class ElasticContainerServiceServiceConnect(_Compute):
    _icon = "elastic-container-service-service-connect.png"


class ElasticContainerServiceService(_Compute):
    _icon = "elastic-container-service-service.png"


class ElasticContainerServiceTask(_Compute):
    _icon = "elastic-container-service-task.png"


class ElasticContainerService(_Compute):
    _icon = "elastic-container-service.png"


class ElasticKubernetesService(_Compute):
    _icon = "elastic-kubernetes-service.png"


class Fargate(_Compute):
    _icon = "fargate.png"


class LambdaFunction(_Compute):
    _icon = "lambda-function.png"


class Lambda(_Compute):
    _icon = "lambda.png"


class Lightsail(_Compute):
    _icon = "lightsail.png"


class LocalZones(_Compute):
    _icon = "local-zones.png"


class Outposts(_Compute):
    _icon = "outposts.png"


class ServerlessApplicationRepository(_Compute):
    _icon = "serverless-application-repository.png"


class ThinkboxDeadline(_Compute):
    _icon = "thinkbox-deadline.png"


class ThinkboxDraft(_Compute):
    _icon = "thinkbox-draft.png"


class ThinkboxFrost(_Compute):
    _icon = "thinkbox-frost.png"


class ThinkboxKrakatoa(_Compute):
    _icon = "thinkbox-krakatoa.png"


class ThinkboxSequoia(_Compute):
    _icon = "thinkbox-sequoia.png"


class ThinkboxStoke(_Compute):
    _icon = "thinkbox-stoke.png"


class ThinkboxXmesh(_Compute):
    _icon = "thinkbox-xmesh.png"


class VmwareCloudOnAWS(_Compute):
    _icon = "vmware-cloud-on-aws.png"


class Wavelength(_Compute):
    _icon = "wavelength.png"


# Aliases

AutoScaling = ApplicationAutoScaling
AMI = EC2Ami
ECR = EC2ContainerRegistry
EB = ElasticBeanstalk
ECS = ElasticContainerService
EKS = ElasticKubernetesService
SAR = ServerlessApplicationRepository


================================================
FILE: diagrams/aws/cost.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _AWS


class _Cost(_AWS):
    _type = "cost"
    _icon_dir = "resources/aws/cost"


class Budgets(_Cost):
    _icon = "budgets.png"


class CostAndUsageReport(_Cost):
    _icon = "cost-and-usage-report.png"


class CostExplorer(_Cost):
    _icon = "cost-explorer.png"


class CostManagement(_Cost):
    _icon = "cost-management.png"


class ReservedInstanceReporting(_Cost):
    _icon = "reserved-instance-reporting.png"


class SavingsPlans(_Cost):
    _icon = "savings-plans.png"


# Aliases


================================================
FILE: diagrams/aws/database.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _AWS


class _Database(_AWS):
    _type = "database"
    _icon_dir = "resources/aws/database"


class AuroraInstance(_Database):
    _icon = "aurora-instance.png"


class Aurora(_Database):
    _icon = "aurora.png"


class DatabaseMigrationServiceDatabaseMigrationWorkflow(_Database):
    _icon = "database-migration-service-database-migration-workflow.png"


class DatabaseMigrationService(_Database):
    _icon = "database-migration-service.png"


class Database(_Database):
    _icon = "database.png"


class DocumentdbMongodbCompatibility(_Database):
    _icon = "documentdb-mongodb-compatibility.png"


class DynamodbAttribute(_Database):
    _icon = "dynamodb-attribute.png"


class DynamodbAttributes(_Database):
    _icon = "dynamodb-attributes.png"


class DynamodbDax(_Database):
    _icon = "dynamodb-dax.png"


class DynamodbGlobalSecondaryIndex(_Database):
    _icon = "dynamodb-global-secondary-index.png"


class DynamodbItem(_Database):
    _icon = "dynamodb-item.png"


class DynamodbItems(_Database):
    _icon = "dynamodb-items.png"


class DynamodbStreams(_Database):
    _icon = "dynamodb-streams.png"


class DynamodbTable(_Database):
    _icon = "dynamodb-table.png"


class Dynamodb(_Database):
    _icon = "dynamodb.png"


class ElasticacheCacheNode(_Database):
    _icon = "elasticache-cache-node.png"


class ElasticacheForMemcached(_Database):
    _icon = "elasticache-for-memcached.png"


class ElasticacheForRedis(_Database):
    _icon = "elasticache-for-redis.png"


class Elasticache(_Database):
    _icon = "elasticache.png"


class KeyspacesManagedApacheCassandraService(_Database):
    _icon = "keyspaces-managed-apache-cassandra-service.png"


class Neptune(_Database):
    _icon = "neptune.png"


class QuantumLedgerDatabaseQldb(_Database):
    _icon = "quantum-ledger-database-qldb.png"


class RDSInstance(_Database):
    _icon = "rds-instance.png"


class RDSMariadbInstance(_Database):
    _icon = "rds-mariadb-instance.png"


class RDSMysqlInstance(_Database):
    _icon = "rds-mysql-instance.png"


class RDSOnVmware(_Database):
    _icon = "rds-on-vmware.png"


class RDSOracleInstance(_Database):
    _icon = "rds-oracle-instance.png"


class RDSPostgresqlInstance(_Database):
    _icon = "rds-postgresql-instance.png"


class RDSSqlServerInstance(_Database):
    _icon = "rds-sql-server-instance.png"


class RDS(_Database):
    _icon = "rds.png"


class RedshiftDenseComputeNode(_Database):
    _icon = "redshift-dense-compute-node.png"


class RedshiftDenseStorageNode(_Database):
    _icon = "redshift-dense-storage-node.png"


class Redshift(_Database):
    _icon = "redshift.png"


class Timestream(_Database):
    _icon = "timestream.png"


# Aliases

DMS = DatabaseMigrationService
DocumentDB = DocumentdbMongodbCompatibility
DAX = DynamodbDax
DynamodbGSI = DynamodbGlobalSecondaryIndex
DB = Database
DDB = Dynamodb
ElastiCache = Elasticache
QLDB = QuantumLedgerDatabaseQldb


================================================
FILE: diagrams/aws/devtools.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _AWS


class _Devtools(_AWS):
    _type = "devtools"
    _icon_dir = "resources/aws/devtools"


class CloudDevelopmentKit(_Devtools):
    _icon = "cloud-development-kit.png"


class Cloud9Resource(_Devtools):
    _icon = "cloud9-resource.png"


class Cloud9(_Devtools):
    _icon = "cloud9.png"


class Cloudshell(_Devtools):
    _icon = "cloudshell.png"


class Codeartifact(_Devtools):
    _icon = "codeartifact.png"


class Codebuild(_Devtools):
    _icon = "codebuild.png"


class Codecommit(_Devtools):
    _icon = "codecommit.png"


class Codedeploy(_Devtools):
    _icon = "codedeploy.png"


class Codepipeline(_Devtools):
    _icon = "codepipeline.png"


class Codestar(_Devtools):
    _icon = "codestar.png"


class CommandLineInterface(_Devtools):
    _icon = "command-line-interface.png"


class DeveloperTools(_Devtools):
    _icon = "developer-tools.png"


class ToolsAndSdks(_Devtools):
    _icon = "tools-and-sdks.png"


class XRay(_Devtools):
    _icon = "x-ray.png"


# Aliases

CLI = CommandLineInterface
DevTools = DeveloperTools


================================================
FILE: diagrams/aws/enablement.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _AWS


class _Enablement(_AWS):
    _type = "enablement"
    _icon_dir = "resources/aws/enablement"


class CustomerEnablement(_Enablement):
    _icon = "customer-enablement.png"


class Iq(_Enablement):
    _icon = "iq.png"


class ManagedServices(_Enablement):
    _icon = "managed-services.png"


class ProfessionalServices(_Enablement):
    _icon = "professional-services.png"


class Support(_Enablement):
    _icon = "support.png"


# Aliases


================================================
FILE: diagrams/aws/enduser.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _AWS


class _Enduser(_AWS):
    _type = "enduser"
    _icon_dir = "resources/aws/enduser"


class Appstream20(_Enduser):
    _icon = "appstream-2-0.png"


class DesktopAndAppStreaming(_Enduser):
    _icon = "desktop-and-app-streaming.png"


class Workdocs(_Enduser):
    _icon = "workdocs.png"


class Worklink(_Enduser):
    _icon = "worklink.png"


class Workspaces(_Enduser):
    _icon = "workspaces.png"


# Aliases


================================================
FILE: diagrams/aws/engagement.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _AWS


class _Engagement(_AWS):
    _type = "engagement"
    _icon_dir = "resources/aws/engagement"


class Connect(_Engagement):
    _icon = "connect.png"


class CustomerEngagement(_Engagement):
    _icon = "customer-engagement.png"


class Pinpoint(_Engagement):
    _icon = "pinpoint.png"


class SimpleEmailServiceSesEmail(_Engagement):
    _icon = "simple-email-service-ses-email.png"


class SimpleEmailServiceSes(_Engagement):
    _icon = "simple-email-service-ses.png"


# Aliases

SES = SimpleEmailServiceSes


================================================
FILE: diagrams/aws/game.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _AWS


class _Game(_AWS):
    _type = "game"
    _icon_dir = "resources/aws/game"


class GameTech(_Game):
    _icon = "game-tech.png"


class Gamelift(_Game):
    _icon = "gamelift.png"


# Aliases


================================================
FILE: diagrams/aws/general.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _AWS


class _General(_AWS):
    _type = "general"
    _icon_dir = "resources/aws/general"


class Client(_General):
    _icon = "client.png"


class Disk(_General):
    _icon = "disk.png"


class Forums(_General):
    _icon = "forums.png"


class General(_General):
    _icon = "general.png"


class GenericDatabase(_General):
    _icon = "generic-database.png"


class GenericFirewall(_General):
    _icon = "generic-firewall.png"


class GenericOfficeBuilding(_General):
    _icon = "generic-office-building.png"


class GenericSamlToken(_General):
    _icon = "generic-saml-token.png"


class GenericSDK(_General):
    _icon = "generic-sdk.png"


class InternetAlt1(_General):
    _icon = "internet-alt1.png"


class InternetAlt2(_General):
    _icon = "internet-alt2.png"


class InternetGateway(_General):
    _icon = "internet-gateway.png"


class Marketplace(_General):
    _icon = "marketplace.png"


class MobileClient(_General):
    _icon = "mobile-client.png"


class Multimedia(_General):
    _icon = "multimedia.png"


class OfficeBuilding(_General):
    _icon = "office-building.png"


class SamlToken(_General):
    _icon = "saml-token.png"


class SDK(_General):
    _icon = "sdk.png"


class SslPadlock(_General):
    _icon = "ssl-padlock.png"


class TapeStorage(_General):
    _icon = "tape-storage.png"


class Toolkit(_General):
    _icon = "toolkit.png"


class TraditionalServer(_General):
    _icon = "traditional-server.png"


class User(_General):
    _icon = "user.png"


class Users(_General):
    _icon = "users.png"


# Aliases

OfficeBuilding = GenericOfficeBuilding


================================================
FILE: diagrams/aws/integration.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _AWS


class _Integration(_AWS):
    _type = "integration"
    _icon_dir = "resources/aws/integration"


class ApplicationIntegration(_Integration):
    _icon = "application-integration.png"


class Appsync(_Integration):
    _icon = "appsync.png"


class ConsoleMobileApplication(_Integration):
    _icon = "console-mobile-application.png"


class EventResource(_Integration):
    _icon = "event-resource.png"


class EventbridgeCustomEventBusResource(_Integration):
    _icon = "eventbridge-custom-event-bus-resource.png"


class EventbridgeDefaultEventBusResource(_Integration):
    _icon = "eventbridge-default-event-bus-resource.png"


class EventbridgeEvent(_Integration):
    _icon = "eventbridge-event.png"


class EventbridgePipes(_Integration):
    _icon = "eventbridge-pipes.png"


class EventbridgeRule(_Integration):
    _icon = "eventbridge-rule.png"


class EventbridgeSaasPartnerEventBusResource(_Integration):
    _icon = "eventbridge-saas-partner-event-bus-resource.png"


class EventbridgeScheduler(_Integration):
    _icon = "eventbridge-scheduler.png"


class EventbridgeSchema(_Integration):
    _icon = "eventbridge-schema.png"


class Eventbridge(_Integration):
    _icon = "eventbridge.png"


class ExpressWorkflows(_Integration):
    _icon = "express-workflows.png"


class MQ(_Integration):
    _icon = "mq.png"


class SimpleNotificationServiceSnsEmailNotification(_Integration):
    _icon = "simple-notification-service-sns-email-notification.png"


class SimpleNotificationServiceSnsHttpNotification(_Integration):
    _icon = "simple-notification-service-sns-http-notification.png"


class SimpleNotificationServiceSnsTopic(_Integration):
    _icon = "simple-notification-service-sns-topic.png"


class SimpleNotificationServiceSns(_Integration):
    _icon = "simple-notification-service-sns.png"


class SimpleQueueServiceSqsMessage(_Integration):
    _icon = "simple-queue-service-sqs-message.png"


class SimpleQueueServiceSqsQueue(_Integration):
    _icon = "simple-queue-service-sqs-queue.png"


class SimpleQueueServiceSqs(_Integration):
    _icon = "simple-queue-service-sqs.png"


class StepFunctions(_Integration):
    _icon = "step-functions.png"


# Aliases

SNS = SimpleNotificationServiceSns
SQS = SimpleQueueServiceSqs
SF = StepFunctions


================================================
FILE: diagrams/aws/iot.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _AWS


class _Iot(_AWS):
    _type = "iot"
    _icon_dir = "resources/aws/iot"


class Freertos(_Iot):
    _icon = "freertos.png"


class InternetOfThings(_Iot):
    _icon = "internet-of-things.png"


class Iot1Click(_Iot):
    _icon = "iot-1-click.png"


class IotAction(_Iot):
    _icon = "iot-action.png"


class IotActuator(_Iot):
    _icon = "iot-actuator.png"


class IotAlexaEcho(_Iot):
    _icon = "iot-alexa-echo.png"


class IotAlexaEnabledDevice(_Iot):
    _icon = "iot-alexa-enabled-device.png"


class IotAlexaSkill(_Iot):
    _icon = "iot-alexa-skill.png"


class IotAlexaVoiceService(_Iot):
    _icon = "iot-alexa-voice-service.png"


class IotAnalyticsChannel(_Iot):
    _icon = "iot-analytics-channel.png"


class IotAnalyticsDataSet(_Iot):
    _icon = "iot-analytics-data-set.png"


class IotAnalyticsDataStore(_Iot):
    _icon = "iot-analytics-data-store.png"


class IotAnalyticsNotebook(_Iot):
    _icon = "iot-analytics-notebook.png"


class IotAnalyticsPipeline(_Iot):
    _icon = "iot-analytics-pipeline.png"


class IotAnalytics(_Iot):
    _icon = "iot-analytics.png"


class IotBank(_Iot):
    _icon = "iot-bank.png"


class IotBicycle(_Iot):
    _icon = "iot-bicycle.png"


class IotButton(_Iot):
    _icon = "iot-button.png"


class IotCamera(_Iot):
    _icon = "iot-camera.png"


class IotCar(_Iot):
    _icon = "iot-car.png"


class IotCart(_Iot):
    _icon = "iot-cart.png"


class IotCertificate(_Iot):
    _icon = "iot-certificate.png"


class IotCoffeePot(_Iot):
    _icon = "iot-coffee-pot.png"


class IotCore(_Iot):
    _icon = "iot-core.png"


class IotDesiredState(_Iot):
    _icon = "iot-desired-state.png"


class IotDeviceDefender(_Iot):
    _icon = "iot-device-defender.png"


class IotDeviceGateway(_Iot):
    _icon = "iot-device-gateway.png"


class IotDeviceManagement(_Iot):
    _icon = "iot-device-management.png"


class IotDoorLock(_Iot):
    _icon = "iot-door-lock.png"


class IotEvents(_Iot):
    _icon = "iot-events.png"


class IotFactory(_Iot):
    _icon = "iot-factory.png"


class IotFireTvStick(_Iot):
    _icon = "iot-fire-tv-stick.png"


class IotFireTv(_Iot):
    _icon = "iot-fire-tv.png"


class IotGeneric(_Iot):
    _icon = "iot-generic.png"


class IotGreengrassConnector(_Iot):
    _icon = "iot-greengrass-connector.png"


class IotGreengrass(_Iot):
    _icon = "iot-greengrass.png"


class IotHardwareBoard(_Iot):
    _icon = "iot-hardware-board.png"


class IotHouse(_Iot):
    _icon = "iot-house.png"


class IotHttp(_Iot):
    _icon = "iot-http.png"


class IotHttp2(_Iot):
    _icon = "iot-http2.png"


class IotJobs(_Iot):
    _icon = "iot-jobs.png"


class IotLambda(_Iot):
    _icon = "iot-lambda.png"


class IotLightbulb(_Iot):
    _icon = "iot-lightbulb.png"


class IotMedicalEmergency(_Iot):
    _icon = "iot-medical-emergency.png"


class IotMqtt(_Iot):
    _icon = "iot-mqtt.png"


class IotOverTheAirUpdate(_Iot):
    _icon = "iot-over-the-air-update.png"


class IotPolicyEmergency(_Iot):
    _icon = "iot-policy-emergency.png"


class IotPolicy(_Iot):
    _icon = "iot-policy.png"


class IotReportedState(_Iot):
    _icon = "iot-reported-state.png"


class IotRule(_Iot):
    _icon = "iot-rule.png"


class IotSensor(_Iot):
    _icon = "iot-sensor.png"


class IotServo(_Iot):
    _icon = "iot-servo.png"


class IotShadow(_Iot):
    _icon = "iot-shadow.png"


class IotSimulator(_Iot):
    _icon = "iot-simulator.png"


class IotSitewise(_Iot):
    _icon = "iot-sitewise.png"


class IotThermostat(_Iot):
    _icon = "iot-thermostat.png"


class IotThingsGraph(_Iot):
    _icon = "iot-things-graph.png"


class IotTopic(_Iot):
    _icon = "iot-topic.png"


class IotTravel(_Iot):
    _icon = "iot-travel.png"


class IotUtility(_Iot):
    _icon = "iot-utility.png"


class IotWindfarm(_Iot):
    _icon = "iot-windfarm.png"


# Aliases

FreeRTOS = Freertos
IotBoard = IotHardwareBoard


================================================
FILE: diagrams/aws/management.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _AWS


class _Management(_AWS):
    _type = "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):
    _icon = "auto-scaling.png"


class Chatbot(_Management):
    _icon = "chatbot.png"


class CloudformationChangeSet(_Management):
    _icon = "cloudformation-change-set.png"


class CloudformationStack(_Management):
    _icon = "cloudformation-stack.png"


class CloudformationTemplate(_Management):
    _icon = "cloudformation-template.png"


class Cloudformation(_Management):
    _icon = "cloudformation.png"


class Cloudtrail(_Management):
    _icon = "cloudtrail.png"


class CloudwatchAlarm(_Management):
    _icon = "cloudwatch-alarm.png"


class CloudwatchEventEventBased(_Management):
    _icon = "cloudwatch-event-event-based.png"


class CloudwatchEventTimeBased(_Management):
    _icon = "cloudwatch-event-time-based.png"


class CloudwatchLogs(_Management):
    _icon = "cloudwatch-logs.png"


class CloudwatchRule(_Management):
    _icon = "cloudwatch-rule.png"


class Cloudwatch(_Management):
    _icon = "cloudwatch.png"


class Codeguru(_Management):
    _icon = "codeguru.png"


class CommandLineInterface(_Management):
    _icon = "command-line-interface.png"


class Config(_Management):
    _icon = "config.png"


class ControlTower(_Management):
    _icon = "control-tower.png"


class LicenseManager(_Management):
    _icon = "license-manager.png"


class ManagedServices(_Management):
    _icon = "managed-services.png"


class ManagementAndGovernance(_Management):
    _icon = "management-and-governance.png"


class ManagementConsole(_Management):
    _icon = "management-console.png"


class OpsworksApps(_Management):
    _icon = "opsworks-apps.png"


class OpsworksDeployments(_Management):
    _icon = "opsworks-deployments.png"


class OpsworksInstances(_Management):
    _icon = "opsworks-instances.png"


class OpsworksLayers(_Management):
    _icon = "opsworks-layers.png"


class OpsworksMonitoring(_Management):
    _icon = "opsworks-monitoring.png"


class OpsworksPermissions(_Management):
    _icon = "opsworks-permissions.png"


class OpsworksResources(_Management):
    _icon = "opsworks-resources.png"


class OpsworksStack(_Management):
    _icon = "opsworks-stack.png"


class Opsworks(_Management):
    _icon = "opsworks.png"


class OrganizationsAccount(_Management):
    _icon = "organizations-account.png"


class OrganizationsOrganizationalUnit(_Management):
    _icon = "organizations-organizational-unit.png"


class Organizations(_Management):
    _icon = "organizations.png"


class PersonalHealthDashboard(_Management):
    _icon = "personal-health-dashboard.png"


class Proton(_Management):
    _icon = "proton.png"


class ServiceCatalog(_Management):
    _icon = "service-catalog.png"


class SystemsManagerAppConfig(_Management):
    _icon = "systems-manager-app-config.png"


class SystemsManagerAutomation(_Management):
    _icon = "systems-manager-automation.png"


class SystemsManagerDocuments(_Management):
    _icon = "systems-manager-documents.png"


class SystemsManagerInventory(_Management):
    _icon = "systems-manager-inventory.png"


class SystemsManagerMaintenanceWindows(_Management):
    _icon = "systems-manager-maintenance-windows.png"


class SystemsManagerOpscenter(_Management):
    _icon = "systems-manager-opscenter.png"


class SystemsManagerParameterStore(_Management):
    _icon = "systems-manager-parameter-store.png"


class SystemsManagerPatchManager(_Management):
    _icon = "systems-manager-patch-manager.png"


class SystemsManagerRunCommand(_Management):
    _icon = "systems-manager-run-command.png"


class SystemsManagerStateManager(_Management):
    _icon = "systems-manager-state-manager.png"


class SystemsManager(_Management):
    _icon = "systems-manager.png"


class TrustedAdvisorChecklistCost(_Management):
    _icon = "trusted-advisor-checklist-cost.png"


class TrustedAdvisorChecklistFaultTolerant(_Management):
    _icon = "trusted-advisor-checklist-fault-tolerant.png"


class TrustedAdvisorChecklistPerformance(_Management):
    _icon = "trusted-advisor-checklist-performance.png"


class TrustedAdvisorChecklistSecurity(_Management):
    _icon = "trusted-advisor-checklist-security.png"


class TrustedAdvisorChecklist(_Management):
    _icon = "trusted-advisor-checklist.png"


class TrustedAdvisor(_Management):
    _icon = "trusted-advisor.png"


class UserNotifications(_Management):
    _icon = "user-notifications.png"


class WellArchitectedTool(_Management):
    _icon = "well-architected-tool.png"


# Aliases

SSM = SystemsManager
ParameterStore = SystemsManagerParameterStore


================================================
FILE: diagrams/aws/media.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _AWS


class _Media(_AWS):
    _type = "media"
    _icon_dir = "resources/aws/media"


class ElasticTranscoder(_Media):
    _icon = "elastic-transcoder.png"


class ElementalConductor(_Media):
    _icon = "elemental-conductor.png"


class ElementalDelta(_Media):
    _icon = "elemental-delta.png"


class ElementalLive(_Media):
    _icon = "elemental-live.png"


class ElementalMediaconnect(_Media):
    _icon = "elemental-mediaconnect.png"


class ElementalMediaconvert(_Media):
    _icon = "elemental-mediaconvert.png"


class ElementalMedialive(_Media):
    _icon = "elemental-medialive.png"


class ElementalMediapackage(_Media):
    _icon = "elemental-mediapackage.png"


class ElementalMediastore(_Media):
    _icon = "elemental-mediastore.png"


class ElementalMediatailor(_Media):
    _icon = "elemental-mediatailor.png"


class ElementalServer(_Media):
    _icon = "elemental-server.png"


class KinesisVideoStreams(_Media):
    _icon = "kinesis-video-streams.png"


class MediaServices(_Media):
    _icon = "media-services.png"


# Aliases


================================================
FILE: diagrams/aws/migration.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _AWS


class _Migration(_AWS):
    _type = "migration"
    _icon_dir = "resources/aws/migration"


class ApplicationDiscoveryService(_Migration):
    _icon = "application-discovery-service.png"


class CloudendureMigration(_Migration):
    _icon = "cloudendure-migration.png"


class DatabaseMigrationService(_Migration):
    _icon = "database-migration-service.png"


class DatasyncAgent(_Migration):
    _icon = "datasync-agent.png"


class Datasync(_Migration):
    _icon = "datasync.png"


class MigrationAndTransfer(_Migration):
    _icon = "migration-and-transfer.png"


class MigrationHub(_Migration):
    _icon = "migration-hub.png"


class ServerMigrationService(_Migration):
    _icon = "server-migration-service.png"


class SnowballEdge(_Migration):
    _icon = "snowball-edge.png"


class Snowball(_Migration):
    _icon = "snowball.png"


class Snowmobile(_Migration):
    _icon = "snowmobile.png"


class TransferForSftp(_Migration):
    _icon = "transfer-for-sftp.png"


# Aliases

ADS = ApplicationDiscoveryService
CEM = CloudendureMigration
DMS = DatabaseMigrationService
MAT = MigrationAndTransfer
SMS = ServerMigrationService


================================================
FILE: diagrams/aws/ml.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _AWS


class _ML(_AWS):
    _type = "ml"
    _icon_dir = "resources/aws/ml"


class ApacheMxnetOnAWS(_ML):
    _icon = "apache-mxnet-on-aws.png"


class AugmentedAi(_ML):
    _icon = "augmented-ai.png"


class Bedrock(_ML):
    _icon = "bedrock.png"


class Comprehend(_ML):
    _icon = "comprehend.png"


class DeepLearningAmis(_ML):
    _icon = "deep-learning-amis.png"


class DeepLearningContainers(_ML):
    _icon = "deep-learning-containers.png"


class Deepcomposer(_ML):
    _icon = "deepcomposer.png"


class Deeplens(_ML):
    _icon = "deeplens.png"


class Deepracer(_ML):
    _icon = "deepracer.png"


class ElasticInference(_ML):
    _icon = "elastic-inference.png"


class Forecast(_ML):
    _icon = "forecast.png"


class FraudDetector(_ML):
    _icon = "fraud-detector.png"


class Kendra(_ML):
    _icon = "kendra.png"


class Lex(_ML):
    _icon = "lex.png"


class MachineLearning(_ML):
    _icon = "machine-learning.png"


class Personalize(_ML):
    _icon = "personalize.png"


class Polly(_ML):
    _icon = "polly.png"


class Q(_ML):
    _icon = "q.png"


class RekognitionImage(_ML):
    _icon = "rekognition-image.png"


class RekognitionVideo(_ML):
    _icon = "rekognition-video.png"


class Rekognition(_ML):
    _icon = "rekognition.png"


class SagemakerGroundTruth(_ML):
    _icon = "sagemaker-ground-truth.png"


class SagemakerModel(_ML):
    _icon = "sagemaker-model.png"


class SagemakerNotebook(_ML):
    _icon = "sagemaker-notebook.png"


class SagemakerTrainingJob(_ML):
    _icon = "sagemaker-training-job.png"


class Sagemaker(_ML):
    _icon = "sagemaker.png"


class TensorflowOnAWS(_ML):
    _icon = "tensorflow-on-aws.png"


class Textract(_ML):
    _icon = "textract.png"


class Transcribe(_ML):
    _icon = "transcribe.png"


class Transform(_ML):
    _icon = "transform.png"


class Translate(_ML):
    _icon = "translate.png"


# Aliases

DLC = DeepLearningContainers


================================================
FILE: diagrams/aws/mobile.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _AWS


class _Mobile(_AWS):
    _type = "mobile"
    _icon_dir = "resources/aws/mobile"


class Amplify(_Mobile):
    _icon = "amplify.png"


class APIGatewayEndpoint(_Mobile):
    _icon = "api-gateway-endpoint.png"


class APIGateway(_Mobile):
    _icon = "api-gateway.png"


class Appsync(_Mobile):
    _icon = "appsync.png"


class DeviceFarm(_Mobile):
    _icon = "device-farm.png"


class Mobile(_Mobile):
    _icon = "mobile.png"


class Pinpoint(_Mobile):
    _icon = "pinpoint.png"


# Aliases


================================================
FILE: diagrams/aws/network.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _AWS


class _Network(_AWS):
    _type = "network"
    _icon_dir = "resources/aws/network"


class APIGatewayEndpoint(_Network):
    _icon = "api-gateway-endpoint.png"


class APIGateway(_Network):
    _icon = "api-gateway.png"


class AppMesh(_Network):
    _icon = "app-mesh.png"


class ClientVpn(_Network):
    _icon = "client-vpn.png"


class CloudMap(_Network):
    _icon = "cloud-map.png"


class CloudFrontDownloadDistribution(_Network):
    _icon = "cloudfront-download-distribution.png"


class CloudFrontEdgeLocation(_Network):
    _icon = "cloudfront-edge-location.png"


class CloudFrontStreamingDistribution(_Network):
    _icon = "cloudfront-streaming-distribution.png"


class CloudFront(_Network):
    _icon = "cloudfront.png"


class DirectConnect(_Network):
    _icon = "direct-connect.png"


class ElasticLoadBalancing(_Network):
    _icon = "elastic-load-balancing.png"


class ElbApplicationLoadBalancer(_Network):
    _icon = "elb-application-load-balancer.png"


class ElbClassicLoadBalancer(_Network):
    _icon = "elb-classic-load-balancer.png"


class ElbNetworkLoadBalancer(_Network):
    _icon = "elb-network-load-balancer.png"


class Endpoint(_Network):
    _icon = "endpoint.png"


class GlobalAccelerator(_Network):
    _icon = "global-accelerator.png"


class InternetGateway(_Network):
    _icon = "internet-gateway.png"


class Nacl(_Network):
    _icon = "nacl.png"


class NATGateway(_Network):
    _icon = "nat-gateway.png"


class NetworkFirewall(_Network):
    _icon = "network-firewall.png"


class NetworkingAndContentDelivery(_Network):
    _icon = "networking-and-content-delivery.png"


class PrivateSubnet(_Network):
    _icon = "private-subnet.png"


class Privatelink(_Network):
    _icon = "privatelink.png"


class PublicSubnet(_Network):
    _icon = "public-subnet.png"


class Route53HostedZone(_Network):
    _icon = "route-53-hosted-zone.png"


class Route53(_Network):
    _icon = "route-53.png"


class RouteTable(_Network):
    _icon = "route-table.png"


class SiteToSiteVpn(_Network):
    _icon = "site-to-site-vpn.png"


class TransitGatewayAttachment(_Network):
    _icon = "transit-gateway-attachment.png"


class TransitGateway(_Network):
    _icon = "transit-gateway.png"


class VPCCustomerGateway(_Network):
    _icon = "vpc-customer-gateway.png"


class VPCElasticNetworkAdapter(_Network):
    _icon = "vpc-elastic-network-adapter.png"


class VPCElasticNetworkInterface(_Network):
    _icon = "vpc-elastic-network-interface.png"


class VPCFlowLogs(_Network):
    _icon = "vpc-flow-logs.png"


class VPCPeering(_Network):
    _icon = "vpc-peering.png"


class VPCRouter(_Network):
    _icon = "vpc-router.png"


class VPCTrafficMirroring(_Network):
    _icon = "vpc-traffic-mirroring.png"


class VPC(_Network):
    _icon = "vpc.png"


class VpnConnection(_Network):
    _icon = "vpn-connection.png"


class VpnGateway(_Network):
    _icon = "vpn-gateway.png"


# Aliases

CF = CloudFront
ELB = ElasticLoadBalancing
ALB = ElbApplicationLoadBalancer
CLB = ElbClassicLoadBalancer
NLB = ElbNetworkLoadBalancer
GAX = GlobalAccelerator
IGW = InternetGateway
TGW = TransitGateway
TGWAttach = TransitGatewayAttachment


================================================
FILE: diagrams/aws/quantum.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _AWS


class _Quantum(_AWS):
    _type = "quantum"
    _icon_dir = "resources/aws/quantum"


class Braket(_Quantum):
    _icon = "braket.png"


class QuantumTechnologies(_Quantum):
    _icon = "quantum-technologies.png"


# Aliases


================================================
FILE: diagrams/aws/robotics.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _AWS


class _Robotics(_AWS):
    _type = "robotics"
    _icon_dir = "resources/aws/robotics"


class RobomakerCloudExtensionRos(_Robotics):
    _icon = "robomaker-cloud-extension-ros.png"


class RobomakerDevelopmentEnvironment(_Robotics):
    _icon = "robomaker-development-environment.png"


class RobomakerFleetManagement(_Robotics):
    _icon = "robomaker-fleet-management.png"


class RobomakerSimulator(_Robotics):
    _icon = "robomaker-simulator.png"


class Robomaker(_Robotics):
    _icon = "robomaker.png"


class Robotics(_Robotics):
    _icon = "robotics.png"


# Aliases


================================================
FILE: diagrams/aws/satellite.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _AWS


class _Satellite(_AWS):
    _type = "satellite"
    _icon_dir = "resources/aws/satellite"


class GroundStation(_Satellite):
    _icon = "ground-station.png"


class Satellite(_Satellite):
    _icon = "satellite.png"


# Aliases


================================================
FILE: diagrams/aws/security.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _AWS


class _Security(_AWS):
    _type = "security"
    _icon_dir = "resources/aws/security"


class AdConnector(_Security):
    _icon = "ad-connector.png"


class Artifact(_Security):
    _icon = "artifact.png"


class CertificateAuthority(_Security):
    _icon = "certificate-authority.png"


class CertificateManager(_Security):
    _icon = "certificate-manager.png"


class CloudDirectory(_Security):
    _icon = "cloud-directory.png"


class Cloudhsm(_Security):
    _icon = "cloudhsm.png"


class Cognito(_Security):
    _icon = "cognito.png"


class Detective(_Security):
    _icon = "detective.png"


class DirectoryService(_Security):
    _icon = "directory-service.png"


class FirewallManager(_Security):
    _icon = "firewall-manager.png"


class Guardduty(_Security):
    _icon = "guardduty.png"


class IdentityAndAccessManagementIamAccessAnalyzer(_Security):
    _icon = "identity-and-access-management-iam-access-analyzer.png"


class IdentityAndAccessManagementIamAddOn(_Security):
    _icon = "identity-and-access-management-iam-add-on.png"


class IdentityAndAccessManagementIamAWSStsAlternate(_Security):
    _icon = "identity-and-access-management-iam-aws-sts-alternate.png"


class IdentityAndAccessManagementIamAWSSts(_Security):
    _icon = "identity-and-access-management-iam-aws-sts.png"


class IdentityAndAccessManagementIamDataEncryptionKey(_Security):
    _icon = "identity-and-access-management-iam-data-encryption-key.png"


class IdentityAndAccessManagementIamEncryptedData(_Security):
    _icon = "identity-and-access-management-iam-encrypted-data.png"


class IdentityAndAccessManagementIamLongTermSecurityCredential(_Security):
    _icon = "identity-and-access-management-iam-long-term-security-credential.png"


class IdentityAndAccessManagementIamMfaToken(_Security):
    _icon = "identity-and-access-management-iam-mfa-token.png"


class IdentityAndAccessManagementIamPermissions(_Security):
    _icon = "identity-and-access-management-iam-permissions.png"


class IdentityAndAccessManagementIamRole(_Security):
    _icon = "identity-and-access-management-iam-role.png"


class IdentityAndAccessManagementIamTemporarySecurityCredential(_Security):
    _icon = "identity-and-access-management-iam-temporary-security-credential.png"


class IdentityAndAccessManagementIam(_Security):
    _icon = "identity-and-access-management-iam.png"


class InspectorAgent(_Security):
    _icon = "inspector-agent.png"


class Inspector(_Security):
    _icon = "inspector.png"


class KeyManagementService(_Security):
    _icon = "key-management-service.png"


class Macie(_Security):
    _icon = "macie.png"


class ManagedMicrosoftAd(_Security):
    _icon = "managed-microsoft-ad.png"


class ResourceAccessManager(_Security):
    _icon = "resource-access-manager.png"


class SecretsManager(_Security):
    _icon = "secrets-manager.png"


class SecurityHubFinding(_Security):
    _icon = "security-hub-finding.png"


class SecurityHub(_Security):
    _icon = "security-hub.png"


class SecurityIdentityAndCompliance(_Security):
    _icon = "security-identity-and-compliance.png"


class SecurityLake(_Security):
    _icon = "security-lake.png"


class ShieldAdvanced(_Security):
    _icon = "shield-advanced.png"


class Shield(_Security):
    _icon = "shield.png"


class SimpleAd(_Security):
    _icon = "simple-ad.png"


class SingleSignOn(_Security):
    _icon = "single-sign-on.png"


class WAFFilteringRule(_Security):
    _icon = "waf-filtering-rule.png"


class WAF(_Security):
    _icon = "waf.png"


# Aliases

ACM = CertificateManager
CloudHSM = Cloudhsm
DS = DirectoryService
FMS = FirewallManager
IAMAccessAnalyzer = IdentityAndAccessManagementIamAccessAnalyzer
IAMAWSSts = IdentityAndAccessManagementIamAWSSts
IAMPermissions = IdentityAndAccessManagementIamPermissions
IAMRole = IdentityAndAccessManagementIamRole
IAM = IdentityAndAccessManagementIam
KMS = KeyManagementService
RAM = ResourceAccessManager


================================================
FILE: diagrams/aws/storage.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _AWS


class _Storage(_AWS):
    _type = "storage"
    _icon_dir = "resources/aws/storage"


class Backup(_Storage):
    _icon = "backup.png"


class CloudendureDisasterRecovery(_Storage):
    _icon = "cloudendure-disaster-recovery.png"


class EFSInfrequentaccessPrimaryBg(_Storage):
    _icon = "efs-infrequentaccess-primary-bg.png"


class EFSStandardPrimaryBg(_Storage):
    _icon = "efs-standard-primary-bg.png"


class ElasticBlockStoreEBSSnapshot(_Storage):
    _icon = "elastic-block-store-ebs-snapshot.png"


class ElasticBlockStoreEBSVolume(_Storage):
    _icon = "elastic-block-store-ebs-volume.png"


class ElasticBlockStoreEBS(_Storage):
    _icon = "elastic-block-store-ebs.png"


class ElasticFileSystemEFSFileSystem(_Storage):
    _icon = "elastic-file-system-efs-file-system.png"


class ElasticFileSystemEFS(_Storage):
    _icon = "elastic-file-system-efs.png"


class FsxForLustre(_Storage):
    _icon = "fsx-for-lustre.png"


class FsxForWindowsFileServer(_Storage):
    _icon = "fsx-for-windows-file-server.png"


class Fsx(_Storage):
    _icon = "fsx.png"


class MultipleVolumesResource(_Storage):
    _icon = "multiple-volumes-resource.png"


class S3AccessPoints(_Storage):
    _icon = "s3-access-points.png"


class S3GlacierArchive(_Storage):
    _icon = "s3-glacier-archive.png"


class S3GlacierVault(_Storage):
    _icon = "s3-glacier-vault.png"


class S3Glacier(_Storage):
    _icon = "s3-glacier.png"


class S3ObjectLambdaAccessPoints(_Storage):
    _icon = "s3-object-lambda-access-points.png"


class SimpleStorageServiceS3BucketWithObjects(_Storage):
    _icon = "simple-storage-service-s3-bucket-with-objects.png"


class SimpleStorageServiceS3Bucket(_Storage):
    _icon = "simple-storage-service-s3-bucket.png"


class SimpleStorageServiceS3Object(_Storage):
    _icon = "simple-storage-service-s3-object.png"


class SimpleStorageServiceS3(_Storage):
    _icon = "simple-storage-service-s3.png"


class SnowFamilySnowballImportExport(_Storage):
    _icon = "snow-family-snowball-import-export.png"


class SnowballEdge(_Storage):
    _icon = "snowball-edge.png"


class Snowball(_Storage):
    _icon = "snowball.png"


class Snowmobile(_Storage):
    _icon = "snowmobile.png"


class StorageGatewayCachedVolume(_Storage):
    _icon = "storage-gateway-cached-volume.png"


class StorageGatewayNonCachedVolume(_Storage):
    _icon = "storage-gateway-non-cached-volume.png"


class StorageGatewayVirtualTapeLibrary(_Storage):
    _icon = "storage-gateway-virtual-tape-library.png"


class StorageGateway(_Storage):
    _icon = "storage-gateway.png"


class Storage(_Storage):
    _icon = "storage.png"


# Aliases

CDR = CloudendureDisasterRecovery
EBS = ElasticBlockStoreEBS
EFS = ElasticFileSystemEFS
FSx = Fsx
S3 = SimpleStorageServiceS3


================================================
FILE: diagrams/azure/__init__.py
================================================
"""
Azure provides a set of services for Microsoft Azure provider.
"""

from diagrams import Node


class _Azure(Node):
    _provider = "azure"
    _icon_dir = "resources/azure"

    fontcolor = "#ffffff"


class Azure(_Azure):
    _icon = "azure.png"


================================================
FILE: diagrams/azure/aimachinelearning.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _Azure


class _Aimachinelearning(_Azure):
    _type = "aimachinelearning"
    _icon_dir = "resources/azure/aimachinelearning"


class AIStudio(_Aimachinelearning):
    _icon = "ai-studio.png"


class AnomalyDetector(_Aimachinelearning):
    _icon = "anomaly-detector.png"


class AzureAppliedAIServices(_Aimachinelearning):
    _icon = "azure-applied-ai-services.png"


class AzureExperimentationStudio(_Aimachinelearning):
    _icon = "azure-experimentation-studio.png"


class AzureObjectUnderstanding(_Aimachinelearning):
    _icon = "azure-object-understanding.png"


class AzureOpenai(_Aimachinelearning):
    _icon = "azure-openai.png"


class BatchAI(_Aimachinelearning):
    _icon = "batch-ai.png"


class Bonsai(_Aimachinelearning):
    _icon = "bonsai.png"


class BotServices(_Aimachinelearning):
    _icon = "bot-services.png"


class CognitiveSearch(_Aimachinelearning):
    _icon = "cognitive-search.png"


class CognitiveServicesDecisions(_Aimachinelearning):
    _icon = "cognitive-services-decisions.png"


class CognitiveServices(_Aimachinelearning):
    _icon = "cognitive-services.png"


class ComputerVision(_Aimachinelearning):
    _icon = "computer-vision.png"


class ContentModerators(_Aimachinelearning):
    _icon = "content-moderators.png"


class CustomVision(_Aimachinelearning):
    _icon = "custom-vision.png"


class FaceApis(_Aimachinelearning):
    _icon = "face-apis.png"


class FormRecognizers(_Aimachinelearning):
    _icon = "form-recognizers.png"


class GenomicsAccounts(_Aimachinelearning):
    _icon = "genomics-accounts.png"


class Genomics(_Aimachinelearning):
    _icon = "genomics.png"


class ImmersiveReaders(_Aimachinelearning):
    _icon = "immersive-readers.png"


class LanguageUnderstanding(_Aimachinelearning):
    _icon = "language-understanding.png"


class Language(_Aimachinelearning):
    _icon = "language.png"


class MachineLearningStudioClassicWebServices(_Aimachinelearning):
    _icon = "machine-learning-studio-classic-web-services.png"


class MachineLearningStudioWebServicePlans(_Aimachinelearning):
    _icon = "machine-learning-studio-web-service-plans.png"


class MachineLearningStudioWorkspaces(_Aimachinelearning):
    _icon = "machine-learning-studio-workspaces.png"


class MachineLearning(_Aimachinelearning):
    _icon = "machine-learning.png"


class MetricsAdvisor(_Aimachinelearning):
    _icon = "metrics-advisor.png"


class Personalizers(_Aimachinelearning):
    _icon = "personalizers.png"


class QnaMakers(_Aimachinelearning):
    _icon = "qna-makers.png"


class ServerlessSearch(_Aimachinelearning):
    _icon = "serverless-search.png"


class SpeechServices(_Aimachinelearning):
    _icon = "speech-services.png"


class TranslatorText(_Aimachinelearning):
    _icon = "translator-text.png"


# Aliases


================================================
FILE: diagrams/azure/analytics.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _Azure


class _Analytics(_Azure):
    _type = "analytics"
    _icon_dir = "resources/azure/analytics"


class AnalysisServices(_Analytics):
    _icon = "analysis-services.png"


class AzureDataExplorerClusters(_Analytics):
    _icon = "azure-data-explorer-clusters.png"


class AzureDatabricks(_Analytics):
    _icon = "azure-databricks.png"


class AzureSynapseAnalytics(_Analytics):
    _icon = "azure-synapse-analytics.png"


class AzureWorkbooks(_Analytics):
    _icon = "azure-workbooks.png"


class DataExplorerClusters(_Analytics):
    _icon = "data-explorer-clusters.png"


class DataFactories(_Analytics):
    _icon = "data-factories.png"


class DataLakeAnalytics(_Analytics):
    _icon = "data-lake-analytics.png"


class DataLakeStoreGen1(_Analytics):
    _icon = "data-lake-store-gen1.png"


class Databricks(_Analytics):
    _icon = "databricks.png"


class EndpointAnalytics(_Analytics):
    _icon = "endpoint-analytics.png"


class EventHubClusters(_Analytics):
    _icon = "event-hub-clusters.png"


class EventHubs(_Analytics):
    _icon = "event-hubs.png"


class HDInsightClusters(_Analytics):
    _icon = "hd-insight-clusters.png"


class LogAnalyticsWorkspaces(_Analytics):
    _icon = "log-analytics-workspaces.png"


class PowerBiEmbedded(_Analytics):
    _icon = "power-bi-embedded.png"


class PowerPlatform(_Analytics):
    _icon = "power-platform.png"


class PrivateLinkServices(_Analytics):
    _icon = "private-link-services.png"


class StreamAnalyticsJobs(_Analytics):
    _icon = "stream-analytics-jobs.png"


class SynapseAnalytics(_Analytics):
    _icon = "synapse-analytics.png"


# Aliases


================================================
FILE: diagrams/azure/appservices.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _Azure


class _Appservices(_Azure):
    _type = "appservices"
    _icon_dir = "resources/azure/appservices"


class AppServiceCertificates(_Appservices):
    _icon = "app-service-certificates.png"


class AppServiceDomains(_Appservices):
    _icon = "app-service-domains.png"


class AppServiceEnvironments(_Appservices):
    _icon = "app-service-environments.png"


class AppServicePlans(_Appservices):
    _icon = "app-service-plans.png"


class AppServices(_Appservices):
    _icon = "app-services.png"


class CDNProfiles(_Appservices):
    _icon = "cdn-profiles.png"


class CognitiveSearch(_Appservices):
    _icon = "cognitive-search.png"


class NotificationHubs(_Appservices):
    _icon = "notification-hubs.png"


# Aliases


================================================
FILE: diagrams/azure/azureecosystem.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _Azure


class _Azureecosystem(_Azure):
    _type = "azureecosystem"
    _icon_dir = "resources/azure/azureecosystem"


class Applens(_Azureecosystem):
    _icon = "applens.png"


class AzureHybridCenter(_Azureecosystem):
    _icon = "azure-hybrid-center.png"


class CollaborativeService(_Azureecosystem):
    _icon = "collaborative-service.png"


# Aliases


================================================
FILE: diagrams/azure/azurestack.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _Azure


class _Azurestack(_Azure):
    _type = "azurestack"
    _icon_dir = "resources/azure/azurestack"


class Capacity(_Azurestack):
    _icon = "capacity.png"


class InfrastructureBackup(_Azurestack):
    _icon = "infrastructure-backup.png"


class MultiTenancy(_Azurestack):
    _icon = "multi-tenancy.png"


class Offers(_Azurestack):
    _icon = "offers.png"


class Plans(_Azurestack):
    _icon = "plans.png"


class Updates(_Azurestack):
    _icon = "updates.png"


class UserSubscriptions(_Azurestack):
    _icon = "user-subscriptions.png"


# Aliases


================================================
FILE: diagrams/azure/blockchain.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _Azure


class _Blockchain(_Azure):
    _type = "blockchain"
    _icon_dir = "resources/azure/blockchain"


class AbsMember(_Blockchain):
    _icon = "abs-member.png"


class AzureBlockchainService(_Blockchain):
    _icon = "azure-blockchain-service.png"


class AzureTokenService(_Blockchain):
    _icon = "azure-token-service.png"


class BlockchainApplications(_Blockchain):
    _icon = "blockchain-applications.png"


class Consortium(_Blockchain):
    _icon = "consortium.png"


class OutboundConnection(_Blockchain):
    _icon = "outbound-connection.png"


# Aliases


================================================
FILE: diagrams/azure/compute.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _Azure


class _Compute(_Azure):
    _type = "compute"
    _icon_dir = "resources/azure/compute"


class AppServices(_Compute):
    _icon = "app-services.png"


class ApplicationGroup(_Compute):
    _icon = "application-group.png"


class AutomanagedVM(_Compute):
    _icon = "automanaged-vm.png"


class AvailabilitySets(_Compute):
    _icon = "availability-sets.png"


class AzureComputeGalleries(_Compute):
    _icon = "azure-compute-galleries.png"


class AzureSpringApps(_Compute):
    _icon = "azure-spring-apps.png"


class BatchAccounts(_Compute):
    _icon = "batch-accounts.png"


class CitrixVirtualDesktopsEssentials(_Compute):
    _icon = "citrix-virtual-desktops-essentials.png"


class CloudServicesClassic(_Compute):
    _icon = "cloud-services-classic.png"


class CloudServices(_Compute):
    _icon = "cloud-services.png"


class CloudsimpleVirtualMachines(_Compute):
    _icon = "cloudsimple-virtual-machines.png"


class ContainerApps(_Compute):
    _icon = "container-apps.png"


class ContainerInstances(_Compute):
    _icon = "container-instances.png"


class ContainerRegistries(_Compute):
    _icon = "container-registries.png"


class ContainerServicesDeprecated(_Compute):
    _icon = "container-services-deprecated.png"


class DiskEncryptionSets(_Compute):
    _icon = "disk-encryption-sets.png"


class DiskSnapshots(_Compute):
    _icon = "disk-snapshots.png"


class DisksClassic(_Compute):
    _icon = "disks-classic.png"


class DisksSnapshots(_Compute):
    _icon = "disks-snapshots.png"


class Disks(_Compute):
    _icon = "disks.png"


class FunctionApps(_Compute):
    _icon = "function-apps.png"


class HostGroups(_Compute):
    _icon = "host-groups.png"


class HostPools(_Compute):
    _icon = "host-pools.png"


class Hosts(_Compute):
    _icon = "hosts.png"


class ImageDefinitions(_Compute):
    _icon = "image-definitions.png"


class ImageTemplates(_Compute):
    _icon = "image-templates.png"


class ImageVersions(_Compute):
    _icon = "image-versions.png"


class Images(_Compute):
    _icon = "images.png"


class KubernetesServices(_Compute):
    _icon = "kubernetes-services.png"


class MaintenanceConfiguration(_Compute):
    _icon = "maintenance-configuration.png"


class ManagedServiceFabric(_Compute):
    _icon = "managed-service-fabric.png"


class MeshApplications(_Compute):
    _icon = "mesh-applications.png"


class MetricsAdvisor(_Compute):
    _icon = "metrics-advisor.png"


class OsImagesClassic(_Compute):
    _icon = "os-images-classic.png"


class OsImages(_Compute):
    _icon = "os-images.png"


class RestorePointsCollections(_Compute):
    _icon = "restore-points-collections.png"


class RestorePoints(_Compute):
    _icon = "restore-points.png"


class SAPHANAOnAzure(_Compute):
    _icon = "sap-hana-on-azure.png"


class ServiceFabricClusters(_Compute):
    _icon = "service-fabric-clusters.png"


class SharedImageGalleries(_Compute):
    _icon = "shared-image-galleries.png"


class SpringCloud(_Compute):
    _icon = "spring-cloud.png"


class VirtualMachine(_Compute):
    _icon = "virtual-machine.png"


class VirtualMachinesClassic(_Compute):
    _icon = "virtual-machines-classic.png"


class VMClassic(_Compute):
    _icon = "vm-classic.png"


class VMImagesClassic(_Compute):
    _icon = "vm-images-classic.png"


class VMImages(_Compute):
    _icon = "vm-images.png"


class VMLinux(_Compute):
    _icon = "vm-linux.png"


class VMScaleSet(_Compute):
    _icon = "vm-scale-set.png"


class VMScaleSets(_Compute):
    _icon = "vm-scale-sets.png"


class VMWindows(_Compute):
    _icon = "vm-windows.png"


class VM(_Compute):
    _icon = "vm.png"


class Workspaces2(_Compute):
    _icon = "workspaces-2.png"


class Workspaces(_Compute):
    _icon = "workspaces.png"


# Aliases

ACR = ContainerRegistries
AKS = KubernetesServices
VMSS = VMScaleSet


================================================
FILE: diagrams/azure/containers.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _Azure


class _Containers(_Azure):
    _type = "containers"
    _icon_dir = "resources/azure/containers"


class AppServices(_Containers):
    _icon = "app-services.png"


class AzureRedHatOpenshift(_Containers):
    _icon = "azure-red-hat-openshift.png"


class BatchAccounts(_Containers):
    _icon = "batch-accounts.png"


class ContainerInstances(_Containers):
    _icon = "container-instances.png"


class ContainerRegistries(_Containers):
    _icon = "container-registries.png"


class KubernetesServices(_Containers):
    _icon = "kubernetes-services.png"


class ServiceFabricClusters(_Containers):
    _icon = "service-fabric-clusters.png"


# Aliases


================================================
FILE: diagrams/azure/database.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _Azure


class _Database(_Azure):
    _type = "database"
    _icon_dir = "resources/azure/database"


class BlobStorage(_Database):
    _icon = "blob-storage.png"


class CacheForRedis(_Database):
    _icon = "cache-for-redis.png"


class CosmosDb(_Database):
    _icon = "cosmos-db.png"


class DataExplorerClusters(_Database):
    _icon = "data-explorer-clusters.png"


class DataFactory(_Database):
    _icon = "data-factory.png"


class DataLake(_Database):
    _icon = "data-lake.png"


class DatabaseForMariadbServers(_Database):
    _icon = "database-for-mariadb-servers.png"


class DatabaseForMysqlServers(_Database):
    _icon = "database-for-mysql-servers.png"


class DatabaseForPostgresqlServers(_Database):
    _icon = "database-for-postgresql-servers.png"


class ElasticDatabasePools(_Database):
    _icon = "elastic-database-pools.png"


class ElasticJobAgents(_Database):
    _icon = "elastic-job-agents.png"


class InstancePools(_Database):
    _icon = "instance-pools.png"


class ManagedDatabases(_Database):
    _icon = "managed-databases.png"


class SQLDatabases(_Database):
    _icon = "sql-databases.png"


class SQLDatawarehouse(_Database):
    _icon = "sql-datawarehouse.png"


class SQLManagedInstances(_Database):
    _icon = "sql-managed-instances.png"


class SQLServerStretchDatabases(_Database):
    _icon = "sql-server-stretch-databases.png"


class SQLServers(_Database):
    _icon = "sql-servers.png"


class SQLVM(_Database):
    _icon = "sql-vm.png"


class SQL(_Database):
    _icon = "sql.png"


class SsisLiftAndShiftIr(_Database):
    _icon = "ssis-lift-and-shift-ir.png"


class SynapseAnalytics(_Database):
    _icon = "synapse-analytics.png"


class VirtualClusters(_Database):
    _icon = "virtual-clusters.png"


class VirtualDatacenter(_Database):
    _icon = "virtual-datacenter.png"


# Aliases


================================================
FILE: diagrams/azure/databases.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _Azure


class _Databases(_Azure):
    _type = "databases"
    _icon_dir = "resources/azure/databases"


class AzureCosmosDb(_Databases):
    _icon = "azure-cosmos-db.png"


class AzureDataExplorerClusters(_Databases):
    _icon = "azure-data-explorer-clusters.png"


class AzureDatabaseMariadbServer(_Databases):
    _icon = "azure-database-mariadb-server.png"


class AzureDatabaseMigrationServices(_Databases):
    _icon = "azure-database-migration-services.png"


class AzureDatabaseMysqlServer(_Databases):
    _icon = "azure-database-mysql-server.png"


class AzureDatabasePostgresqlServerGroup(_Databases):
    _icon = "azure-database-postgresql-server-group.png"


class AzureDatabasePostgresqlServer(_Databases):
    _icon = "azure-database-postgresql-server.png"


class AzurePurviewAccounts(_Databases):
    _icon = "azure-purview-accounts.png"


class AzureSQLEdge(_Databases):
    _icon = "azure-sql-edge.png"


class AzureSQLServerStretchDatabases(_Databases):
    _icon = "azure-sql-server-stretch-databases.png"


class AzureSQLVM(_Databases):
    _icon = "azure-sql-vm.png"


class AzureSQL(_Databases):
    _icon = "azure-sql.png"


class AzureSynapseAnalytics(_Databases):
    _icon = "azure-synapse-analytics.png"


class CacheRedis(_Databases):
    _icon = "cache-redis.png"


class DataFactories(_Databases):
    _icon = "data-factories.png"


class ElasticJobAgents(_Databases):
    _icon = "elastic-job-agents.png"


class InstancePools(_Databases):
    _icon = "instance-pools.png"


class ManagedDatabase(_Databases):
    _icon = "managed-database.png"


class OracleDatabase(_Databases):
    _icon = "oracle-database.png"


class SQLDataWarehouses(_Databases):
    _icon = "sql-data-warehouses.png"


class SQLDatabase(_Databases):
    _icon = "sql-database.png"


class SQLElasticPools(_Databases):
    _icon = "sql-elastic-pools.png"


class SQLManagedInstance(_Databases):
    _icon = "sql-managed-instance.png"


class SQLServerRegistries(_Databases):
    _icon = "sql-server-registries.png"


class SQLServer(_Databases):
    _icon = "sql-server.png"


class SsisLiftAndShiftIr(_Databases):
    _icon = "ssis-lift-and-shift-ir.png"


class VirtualClusters(_Databases):
    _icon = "virtual-clusters.png"


# Aliases


================================================
FILE: diagrams/azure/devops.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _Azure


class _Devops(_Azure):
    _type = "devops"
    _icon_dir = "resources/azure/devops"


class APIConnections(_Devops):
    _icon = "api-connections.png"


class APIManagementServices(_Devops):
    _icon = "api-management-services.png"


class ApplicationInsights(_Devops):
    _icon = "application-insights.png"


class Artifacts(_Devops):
    _icon = "artifacts.png"


class AzureDevops(_Devops):
    _icon = "azure-devops.png"


class Boards(_Devops):
    _icon = "boards.png"


class ChangeAnalysis(_Devops):
    _icon = "change-analysis.png"


class Cloudtest(_Devops):
    _icon = "cloudtest.png"


class CodeOptimization(_Devops):
    _icon = "code-optimization.png"


class DevopsStarter(_Devops):
    _icon = "devops-starter.png"


class Devops(_Devops):
    _icon = "devops.png"


class DevtestLabs(_Devops):
    _icon = "devtest-labs.png"


class LabAccounts(_Devops):
    _icon = "lab-accounts.png"


class LabServices(_Devops):
    _icon = "lab-services.png"


class LoadTesting(_Devops):
    _icon = "load-testing.png"


class Pipelines(_Devops):
    _icon = "pipelines.png"


class Repos(_Devops):
    _icon = "repos.png"


class TestPlans(_Devops):
    _icon = "test-plans.png"


# Aliases


================================================
FILE: diagrams/azure/general.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _Azure


class _General(_Azure):
    _type = "general"
    _icon_dir = "resources/azure/general"


class AllResources(_General):
    _icon = "all-resources.png"


class Allresources(_General):
    _icon = "allresources.png"


class Azurehome(_General):
    _icon = "azurehome.png"


class Backlog(_General):
    _icon = "backlog.png"


class BizTalk(_General):
    _icon = "biz-talk.png"


class BlobBlock(_General):
    _icon = "blob-block.png"


class BlobPage(_General):
    _icon = "blob-page.png"


class Branch(_General):
    _icon = "branch.png"


class Browser(_General):
    _icon = "browser.png"


class Bug(_General):
    _icon = "bug.png"


class Builds(_General):
    _icon = "builds.png"


class Cache(_General):
    _icon = "cache.png"


class Code(_General):
    _icon = "code.png"


class Commit(_General):
    _icon = "commit.png"


class ControlsHorizontal(_General):
    _icon = "controls-horizontal.png"


class Controls(_General):
    _icon = "controls.png"


class CostAlerts(_General):
    _icon = "cost-alerts.png"


class CostAnalysis(_General):
    _icon = "cost-analysis.png"


class CostBudgets(_General):
    _icon = "cost-budgets.png"


class CostManagementAndBilling(_General):
    _icon = "cost-management-and-billing.png"


class CostManagement(_General):
    _icon = "cost-management.png"


class Counter(_General):
    _icon = "counter.png"


class Cubes(_General):
    _icon = "cubes.png"


class Dashboard(_General):
    _icon = "dashboard.png"


class DevConsole(_General):
    _icon = "dev-console.png"


class Developertools(_General):
    _icon = "developertools.png"


class Download(_General):
    _icon = "download.png"


class Error(_General):
    _icon = "error.png"


class Extensions(_General):
    _icon = "extensions.png"


class FeaturePreviews(_General):
    _icon = "feature-previews.png"


class File(_General):
    _icon = "file.png"


class Files(_General):
    _icon = "files.png"


class FolderBlank(_General):
    _icon = "folder-blank.png"


class FolderWebsite(_General):
    _icon = "folder-website.png"


class FreeServices(_General):
    _icon = "free-services.png"


class Ftp(_General):
    _icon = "ftp.png"


class Gear(_General):
    _icon = "gear.png"


class GlobeError(_General):
    _icon = "globe-error.png"


class GlobeSuccess(_General):
    _icon = "globe-success.png"


class GlobeWarning(_General):
    _icon = "globe-warning.png"


class Guide(_General):
    _icon = "guide.png"


class Heart(_General):
    _icon = "heart.png"


class HelpAndSupport(_General):
    _icon = "help-and-support.png"


class Helpsupport(_General):
    _icon = "helpsupport.png"


class Image(_General):
    _icon = "image.png"


class Information(_General):
    _icon = "information.png"


class InputOutput(_General):
    _icon = "input-output.png"


class JourneyHub(_General):
    _icon = "journey-hub.png"


class LaunchPortal(_General):
    _icon = "launch-portal.png"


class Learn(_General):
    _icon = "learn.png"


class LoadTest(_General):
    _icon = "load-test.png"


class Location(_General):
    _icon = "location.png"


class LogStreaming(_General):
    _icon = "log-streaming.png"


class ManagementGroups(_General):
    _icon = "management-groups.png"


class ManagementPortal(_General):
    _icon = "management-portal.png"


class Managementgroups(_General):
    _icon = "managementgroups.png"


class MarketplaceManagement(_General):
    _icon = "marketplace-management.png"


class Marketplace(_General):
    _icon = "marketplace.png"


class MediaFile(_General):
    _icon = "media-file.png"


class Media(_General):
    _icon = "media.png"


class MobileEngagement(_General):
    _icon = "mobile-engagement.png"


class Mobile(_General):
    _icon = "mobile.png"


class Module(_General):
    _icon = "module.png"


class PowerUp(_General):
    _icon = "power-up.png"


class Power(_General):
    _icon = "power.png"


class Powershell(_General):
    _icon = "powershell.png"


class PreviewFeatures(_General):
    _icon = "preview-features.png"


class ProcessExplorer(_General):
    _icon = "process-explorer.png"


class ProductionReadyDatabase(_General):
    _icon = "production-ready-database.png"


class QuickstartCenter(_General):
    _icon = "quickstart-center.png"


class Quickstartcenter(_General):
    _icon = "quickstartcenter.png"


class Recent(_General):
    _icon = "recent.png"


class RegionManagement(_General):
    _icon = "region-management.png"


class Reservations(_General):
    _icon = "reservations.png"


class ResourceExplorer(_General):
    _icon = "resource-explorer.png"


class ResourceGroupList(_General):
    _icon = "resource-group-list.png"


class ResourceGroups(_General):
    _icon = "resource-groups.png"


class ResourceLinked(_General):
    _icon = "resource-linked.png"


class Resource(_General):
    _icon = "resource.png"


class Resourcegroups(_General):
    _icon = "resourcegroups.png"


class Scheduler(_General):
    _icon = "scheduler.png"


class SearchGrid(_General):
    _icon = "search-grid.png"


class Search(_General):
    _icon = "search.png"


class ServerFarm(_General):
    _icon = "server-farm.png"


class ServiceHealth(_General):
    _icon = "service-health.png"


class Servicehealth(_General):
    _icon = "servicehealth.png"


class Shareddashboard(_General):
    _icon = "shareddashboard.png"


class Ssd(_General):
    _icon = "ssd.png"


class StorageAzureFiles(_General):
    _icon = "storage-azure-files.png"


class StorageContainer(_General):
    _icon = "storage-container.png"


class StorageQueue(_General):
    _icon = "storage-queue.png"


class Subscriptions(_General):
    _icon = "subscriptions.png"


class Support(_General):
    _icon = "support.png"


class Supportrequests(_General):
    _icon = "supportrequests.png"


class Table(_General):
    _icon = "table.png"


class Tag(_General):
    _icon = "tag.png"


class Tags(_General):
    _icon = "tags.png"


class Templates(_General):
    _icon = "templates.png"


class TfsVcRepository(_General):
    _icon = "tfs-vc-repository.png"


class Toolbox(_General):
    _icon = "toolbox.png"


class Troubleshoot(_General):
    _icon = "troubleshoot.png"


class Twousericon(_General):
    _icon = "twousericon.png"


class Userhealthicon(_General):
    _icon = "userhealthicon.png"


class Usericon(_General):
    _icon = "usericon.png"


class Userprivacy(_General):
    _icon = "userprivacy.png"


class Userresource(_General):
    _icon = "userresource.png"


class Versions(_General):
    _icon = "versions.png"


class WebSlots(_General):
    _icon = "web-slots.png"


class WebTest(_General):
    _icon = "web-test.png"


class WebsitePower(_General):
    _icon = "website-power.png"


class WebsiteStaging(_General):
    _icon = "website-staging.png"


class Whatsnew(_General):
    _icon = "whatsnew.png"


class Workbooks(_General):
    _icon = "workbooks.png"


class Workflow(_General):
    _icon = "workflow.png"


# Aliases


================================================
FILE: diagrams/azure/hybridmulticloud.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _Azure


class _Hybridmulticloud(_Azure):
    _type = "hybridmulticloud"
    _icon_dir = "resources/azure/hybridmulticloud"


class AzureOperator5GCore(_Hybridmulticloud):
    _icon = "azure-operator-5g-core.png"


class AzureOperatorInsights(_Hybridmulticloud):
    _icon = "azure-operator-insights.png"


class AzureOperatorNexus(_Hybridmulticloud):
    _icon = "azure-operator-nexus.png"


class AzureOperatorServiceManager(_Hybridmulticloud):
    _icon = "azure-operator-service-manager.png"


class AzureProgrammableConnectivity(_Hybridmulticloud):
    _icon = "azure-programmable-connectivity.png"


# Aliases


================================================
FILE: diagrams/azure/identity.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _Azure


class _Identity(_Azure):
    _type = "identity"
    _icon_dir = "resources/azure/identity"


class AadLicenses(_Identity):
    _icon = "aad-licenses.png"


class AccessReview(_Identity):
    _icon = "access-review.png"


class ActiveDirectoryConnectHealth(_Identity):
    _icon = "active-directory-connect-health.png"


class ActiveDirectory(_Identity):
    _icon = "active-directory.png"


class ADB2C(_Identity):
    _icon = "ad-b2c.png"


class ADDomainServices(_Identity):
    _icon = "ad-domain-services.png"


class ADIdentityProtection(_Identity):
    _icon = "ad-identity-protection.png"


class ADPrivilegedIdentityManagement(_Identity):
    _icon = "ad-privileged-identity-management.png"


class AdministrativeUnits(_Identity):
    _icon = "administrative-units.png"


class APIProxy(_Identity):
    _icon = "api-proxy.png"


class AppRegistrations(_Identity):
    _icon = "app-registrations.png"


class AzureActiveDirectory(_Identity):
    _icon = "azure-active-directory.png"


class AzureADB2C(_Identity):
    _icon = "azure-ad-b2c.png"


class AzureADDomainServices(_Identity):
    _icon = "azure-ad-domain-services.png"


class AzureADIdentityProtection(_Identity):
    _icon = "azure-ad-identity-protection.png"


class AzureADPrivilegeIdentityManagement(_Identity):
    _icon = "azure-ad-privilege-identity-management.png"


class AzureADPrivlegedIdentityManagement(_Identity):
    _icon = "azure-ad-privleged-identity-management.png"


class AzureADRolesAndAdministrators(_Identity):
    _icon = "azure-ad-roles-and-administrators.png"


class AzureInformationProtection(_Identity):
    _icon = "azure-information-protection.png"


class ConditionalAccess(_Identity):
    _icon = "conditional-access.png"


class CustomAzureADRoles(_Identity):
    _icon = "custom-azure-ad-roles.png"


class EnterpriseApplications(_Identity):
    _icon = "enterprise-applications.png"


class EntraConnect(_Identity):
    _icon = "entra-connect.png"


class EntraDomainServices(_Identity):
    _icon = "entra-domain-services.png"


class EntraIDProtection(_Identity):
    _icon = "entra-id-protection.png"


class EntraManagedIdentities(_Identity):
    _icon = "entra-managed-identities.png"


class EntraPrivlegedIdentityManagement(_Identity):
    _icon = "entra-privleged-identity-management.png"


class EntraVerifiedID(_Identity):
    _icon = "entra-verified-id.png"


class ExternalIdentities(_Identity):
    _icon = "external-identities.png"


class GlobalSecureAccess(_Identity):
    _icon = "global-secure-access.png"


class Groups(_Identity):
    _icon = "groups.png"


class IdentityGovernance(_Identity):
    _icon = "identity-governance.png"


class InformationProtection(_Identity):
    _icon = "information-protection.png"


class InternetAccess(_Identity):
    _icon = "internet-access.png"


class ManagedIdentities(_Identity):
    _icon = "managed-identities.png"


class PrivateAccess(_Identity):
    _icon = "private-access.png"


class Security(_Identity):
    _icon = "security.png"


class TenantProperties(_Identity):
    _icon = "tenant-properties.png"


class UserSettings(_Identity):
    _icon = "user-settings.png"


class Users(_Identity):
    _icon = "users.png"


class VerifiableCredentials(_Identity):
    _icon = "verifiable-credentials.png"


# Aliases


================================================
FILE: diagrams/azure/integration.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _Azure


class _Integration(_Azure):
    _type = "integration"
    _icon_dir = "resources/azure/integration"


class APIConnections(_Integration):
    _icon = "api-connections.png"


class APIForFhir(_Integration):
    _icon = "api-for-fhir.png"


class APIManagementServices(_Integration):
    _icon = "api-management-services.png"


class APIManagement(_Integration):
    _icon = "api-management.png"


class AppConfiguration(_Integration):
    _icon = "app-configuration.png"


class AzureAPIForFhir(_Integration):
    _icon = "azure-api-for-fhir.png"


class AzureDataCatalog(_Integration):
    _icon = "azure-data-catalog.png"


class AzureDataboxGateway(_Integration):
    _icon = "azure-databox-gateway.png"


class AzureServiceBus(_Integration):
    _icon = "azure-service-bus.png"


class AzureSQLServerStretchDatabases(_Integration):
    _icon = "azure-sql-server-stretch-databases.png"


class AzureStackEdge(_Integration):
    _icon = "azure-stack-edge.png"


class DataCatalog(_Integration):
    _icon = "data-catalog.png"


class DataFactories(_Integration):
    _icon = "data-factories.png"


class EventGridDomains(_Integration):
    _icon = "event-grid-domains.png"


class EventGridSubscriptions(_Integration):
    _icon = "event-grid-subscriptions.png"


class EventGridTopics(_Integration):
    _icon = "event-grid-topics.png"


class IntegrationAccounts(_Integration):
    _icon = "integration-accounts.png"


class IntegrationEnvironments(_Integration):
    _icon = "integration-environments.png"


class IntegrationServiceEnvironments(_Integration):
    _icon = "integration-service-environments.png"


class LogicAppsCustomConnector(_Integration):
    _icon = "logic-apps-custom-connector.png"


class LogicApps(_Integration):
    _icon = "logic-apps.png"


class PartnerNamespace(_Integration):
    _icon = "partner-namespace.png"


class PartnerRegistration(_Integration):
    _icon = "partner-registration.png"


class PartnerTopic(_Integration):
    _icon = "partner-topic.png"


class PowerPlatform(_Integration):
    _icon = "power-platform.png"


class Relays(_Integration):
    _icon = "relays.png"


class SendgridAccounts(_Integration):
    _icon = "sendgrid-accounts.png"


class ServiceBusRelays(_Integration):
    _icon = "service-bus-relays.png"


class ServiceBus(_Integration):
    _icon = "service-bus.png"


class ServiceCatalogManagedApplicationDefinitions(_Integration):
    _icon = "service-catalog-managed-application-definitions.png"


class SoftwareAsAService(_Integration):
    _icon = "software-as-a-service.png"


class SQLDataWarehouses(_Integration):
    _icon = "sql-data-warehouses.png"


class StorsimpleDeviceManagers(_Integration):
    _icon = "storsimple-device-managers.png"


class SystemTopic(_Integration):
    _icon = "system-topic.png"


# Aliases


================================================
FILE: diagrams/azure/intune.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _Azure


class _Intune(_Azure):
    _type = "intune"
    _icon_dir = "resources/azure/intune"


class AzureADRolesAndAdministrators(_Intune):
    _icon = "azure-ad-roles-and-administrators.png"


class ClientApps(_Intune):
    _icon = "client-apps.png"


class DeviceCompliance(_Intune):
    _icon = "device-compliance.png"


class DeviceConfiguration(_Intune):
    _icon = "device-configuration.png"


class DeviceEnrollment(_Intune):
    _icon = "device-enrollment.png"


class DeviceSecurityApple(_Intune):
    _icon = "device-security-apple.png"


class DeviceSecurityGoogle(_Intune):
    _icon = "device-security-google.png"


class DeviceSecurityWindows(_Intune):
    _icon = "device-security-windows.png"


class Devices(_Intune):
    _icon = "devices.png"


class Ebooks(_Intune):
    _icon = "ebooks.png"


class ExchangeAccess(_Intune):
    _icon = "exchange-access.png"


class IntuneAppProtection(_Intune):
    _icon = "intune-app-protection.png"


class IntuneForEducation(_Intune):
    _icon = "intune-for-education.png"


class Intune(_Intune):
    _icon = "intune.png"


class Mindaro(_Intune):
    _icon = "mindaro.png"


class SecurityBaselines(_Intune):
    _icon = "security-baselines.png"


class SoftwareUpdates(_Intune):
    _icon = "software-updates.png"


class TenantStatus(_Intune):
    _icon = "tenant-status.png"


# Aliases


================================================
FILE: diagrams/azure/iot.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _Azure


class _Iot(_Azure):
    _type = "iot"
    _icon_dir = "resources/azure/iot"


class AzureCosmosDb(_Iot):
    _icon = "azure-cosmos-db.png"


class AzureDataboxGateway(_Iot):
    _icon = "azure-databox-gateway.png"


class AzureIotOperations(_Iot):
    _icon = "azure-iot-operations.png"


class AzureMapsAccounts(_Iot):
    _icon = "azure-maps-accounts.png"


class AzureStack(_Iot):
    _icon = "azure-stack.png"


class DeviceProvisioningServices(_Iot):
    _icon = "device-provisioning-services.png"


class DigitalTwins(_Iot):
    _icon = "digital-twins.png"


class EventGridSubscriptions(_Iot):
    _icon = "event-grid-subscriptions.png"


class EventHubClusters(_Iot):
    _icon = "event-hub-clusters.png"


class EventHubs(_Iot):
    _icon = "event-hubs.png"


class FunctionApps(_Iot):
    _icon = "function-apps.png"


class IndustrialIot(_Iot):
    _icon = "industrial-iot.png"


class IotCentralApplications(_Iot):
    _icon = "iot-central-applications.png"


class IotEdge(_Iot):
    _icon = "iot-edge.png"


class IotHubSecurity(_Iot):
    _icon = "iot-hub-security.png"


class IotHub(_Iot):
    _icon = "iot-hub.png"


class LogicApps(_Iot):
    _icon = "logic-apps.png"


class MachineLearningStudioClassicWebServices(_Iot):
    _icon = "machine-learning-studio-classic-web-services.png"


class MachineLearningStudioWebServicePlans(_Iot):
    _icon = "machine-learning-studio-web-service-plans.png"


class MachineLearningStudioWorkspaces(_Iot):
    _icon = "machine-learning-studio-workspaces.png"


class Maps(_Iot):
    _icon = "maps.png"


class NotificationHubNamespaces(_Iot):
    _icon = "notification-hub-namespaces.png"


class NotificationHubs(_Iot):
    _icon = "notification-hubs.png"


class Sphere(_Iot):
    _icon = "sphere.png"


class StackHciPremium(_Iot):
    _icon = "stack-hci-premium.png"


class StreamAnalyticsJobs(_Iot):
    _icon = "stream-analytics-jobs.png"


class TimeSeriesDataSets(_Iot):
    _icon = "time-series-data-sets.png"


class TimeSeriesInsightsAccessPolicies(_Iot):
    _icon = "time-series-insights-access-policies.png"


class TimeSeriesInsightsEnvironments(_Iot):
    _icon = "time-series-insights-environments.png"


class TimeSeriesInsightsEventSources(_Iot):
    _icon = "time-series-insights-event-sources.png"


class TimeSeriesInsightsEventsSources(_Iot):
    _icon = "time-series-insights-events-sources.png"


class Windows10IotCoreServices(_Iot):
    _icon = "windows-10-iot-core-services.png"


class Windows10CoreServices(_Iot):
    _icon = "windows10-core-services.png"


# Aliases


================================================
FILE: diagrams/azure/managementgovernance.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _Azure


class _Managementgovernance(_Azure):
    _type = "managementgovernance"
    _icon_dir = "resources/azure/managementgovernance"


class ActivityLog(_Managementgovernance):
    _icon = "activity-log.png"


class Advisor(_Managementgovernance):
    _icon = "advisor.png"


class Alerts(_Managementgovernance):
    _icon = "alerts.png"


class ApplicationInsights(_Managementgovernance):
    _icon = "application-insights.png"


class ArcMachines(_Managementgovernance):
    _icon = "arc-machines.png"


class AutomationAccounts(_Managementgovernance):
    _icon = "automation-accounts.png"


class AzureArc(_Managementgovernance):
    _icon = "azure-arc.png"


class AzureLighthouse(_Managementgovernance):
    _icon = "azure-lighthouse.png"


class Blueprints(_Managementgovernance):
    _icon = "blueprints.png"


class Compliance(_Managementgovernance):
    _icon = "compliance.png"


class CostManagementAndBilling(_Managementgovernance):
    _icon = "cost-management-and-billing.png"


class CustomerLockboxForMicrosoftAzure(_Managementgovernance):
    _icon = "customer-lockbox-for-microsoft-azure.png"


class DiagnosticsSettings(_Managementgovernance):
    _icon = "diagnostics-settings.png"


class Education(_Managementgovernance):
    _icon = "education.png"


class IntuneTrends(_Managementgovernance):
    _icon = "intune-trends.png"


class LogAnalyticsWorkspaces(_Managementgovernance):
    _icon = "log-analytics-workspaces.png"


class Machinesazurearc(_Managementgovernance):
    _icon = "machinesazurearc.png"


class ManagedApplicationsCenter(_Managementgovernance):
    _icon = "managed-applications-center.png"


class ManagedDesktop(_Managementgovernance):
    _icon = "managed-desktop.png"


class Metrics(_Managementgovernance):
    _icon = "metrics.png"


class Monitor(_Managementgovernance):
    _icon = "monitor.png"


class MyCustomers(_Managementgovernance):
    _icon = "my-customers.png"


class OperationLogClassic(_Managementgovernance):
    _icon = "operation-log-classic.png"


class Policy(_Managementgovernance):
    _icon = "policy.png"


class RecoveryServicesVaults(_Managementgovernance):
    _icon = "recovery-services-vaults.png"


class ResourceGraphExplorer(_Managementgovernance):
    _icon = "resource-graph-explorer.png"


class ResourcesProvider(_Managementgovernance):
    _icon = "resources-provider.png"


class SchedulerJobCollections(_Managementgovernance):
    _icon = "scheduler-job-collections.png"


class ServiceCatalogMad(_Managementgovernance):
    _icon = "service-catalog-mad.png"


class ServiceProviders(_Managementgovernance):
    _icon = "service-providers.png"


class Solutions(_Managementgovernance):
    _icon = "solutions.png"


class UniversalPrint(_Managementgovernance):
    _icon = "universal-print.png"


class UserPrivacy(_Managementgovernance):
    _icon = "user-privacy.png"


# Aliases


================================================
FILE: diagrams/azure/menu.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _Azure


class _Menu(_Azure):
    _type = "menu"
    _icon_dir = "resources/azure/menu"


class Keys(_Menu):
    _icon = "keys.png"


# Aliases


================================================
FILE: diagrams/azure/migrate.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _Azure


class _Migrate(_Azure):
    _type = "migrate"
    _icon_dir = "resources/azure/migrate"


class AzureDataboxGateway(_Migrate):
    _icon = "azure-databox-gateway.png"


class AzureMigrate(_Migrate):
    _icon = "azure-migrate.png"


class AzureStackEdge(_Migrate):
    _icon = "azure-stack-edge.png"


class CostManagementAndBilling(_Migrate):
    _icon = "cost-management-and-billing.png"


class DataBox(_Migrate):
    _icon = "data-box.png"


class RecoveryServicesVaults(_Migrate):
    _icon = "recovery-services-vaults.png"


# Aliases


================================================
FILE: diagrams/azure/migration.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _Azure


class _Migration(_Azure):
    _type = "migration"
    _icon_dir = "resources/azure/migration"


class AzureDatabaseMigrationServices(_Migration):
    _icon = "azure-database-migration-services.png"


class DataBoxEdge(_Migration):
    _icon = "data-box-edge.png"


class DataBox(_Migration):
    _icon = "data-box.png"


class DatabaseMigrationServices(_Migration):
    _icon = "database-migration-services.png"


class MigrationProjects(_Migration):
    _icon = "migration-projects.png"


class RecoveryServicesVaults(_Migration):
    _icon = "recovery-services-vaults.png"


# Aliases


================================================
FILE: diagrams/azure/mixedreality.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _Azure


class _Mixedreality(_Azure):
    _type = "mixedreality"
    _icon_dir = "resources/azure/mixedreality"


class RemoteRendering(_Mixedreality):
    _icon = "remote-rendering.png"


class SpatialAnchorAccounts(_Mixedreality):
    _icon = "spatial-anchor-accounts.png"


# Aliases


================================================
FILE: diagrams/azure/ml.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _Azure


class _Ml(_Azure):
    _type = "ml"
    _icon_dir = "resources/azure/ml"


class AzureOpenAI(_Ml):
    _icon = "azure-open-ai.png"


class AzureSpeechService(_Ml):
    _icon = "azure-speech-service.png"


class BatchAI(_Ml):
    _icon = "batch-ai.png"


class BotServices(_Ml):
    _icon = "bot-services.png"


class CognitiveServices(_Ml):
    _icon = "cognitive-services.png"


class GenomicsAccounts(_Ml):
    _icon = "genomics-accounts.png"


class MachineLearningServiceWorkspaces(_Ml):
    _icon = "machine-learning-service-workspaces.png"


class MachineLearningStudioWebServicePlans(_Ml):
    _icon = "machine-learning-studio-web-service-plans.png"


class MachineLearningStudioWebServices(_Ml):
    _icon = "machine-learning-studio-web-services.png"


class MachineLearningStudioWorkspaces(_Ml):
    _icon = "machine-learning-studio-workspaces.png"


# Aliases


================================================
FILE: diagrams/azure/mobile.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _Azure


class _Mobile(_Azure):
    _type = "mobile"
    _icon_dir = "resources/azure/mobile"


class AppServiceMobile(_Mobile):
    _icon = "app-service-mobile.png"


class AppServices(_Mobile):
    _icon = "app-services.png"


class MobileEngagement(_Mobile):
    _icon = "mobile-engagement.png"


class NotificationHubs(_Mobile):
    _icon = "notification-hubs.png"


class PowerPlatform(_Mobile):
    _icon = "power-platform.png"


# Aliases


================================================
FILE: diagrams/azure/monitor.py
================================================
# 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 ActivityLog(_Monitor):
    _icon = "activity-log.png"


class ApplicationInsights(_Monitor):
    _icon = "application-insights.png"


class AutoScale(_Monitor):
    _icon = "auto-scale.png"


class AzureMonitorsForSAPSolutions(_Monitor):
    _icon = "azure-monitors-for-sap-solutions.png"


class AzureWorkbooks(_Monitor):
    _icon = "azure-workbooks.png"


class ChangeAnalysis(_Monitor):
    _icon = "change-analysis.png"


class DiagnosticsSettings(_Monitor):
    _icon = "diagnostics-settings.png"


class LogAnalyticsWorkspaces(_Monitor):
    _icon = "log-analytics-workspaces.png"


class Logs(_Monitor):
    _icon = "logs.png"


class Metrics(_Monitor):
    _icon = "metrics.png"


class Monitor(_Monitor):
    _icon = "monitor.png"


class NetworkWatcher(_Monitor):
    _icon = "network-watcher.png"


# Aliases


================================================
FILE: diagrams/azure/network.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _Azure


class _Network(_Azure):
    _type = "network"
    _icon_dir = "resources/azure/network"


class ApplicationGateway(_Network):
    _icon = "application-gateway.png"


class ApplicationSecurityGroups(_Network):
    _icon = "application-security-groups.png"


class CDNProfiles(_Network):
    _icon = "cdn-profiles.png"


class Connections(_Network):
    _icon = "connections.png"


class DDOSProtectionPlans(_Network):
    _icon = "ddos-protection-plans.png"


class DNSPrivateZones(_Network):
    _icon = "dns-private-zones.png"


class DNSZones(_Network):
    _icon = "dns-zones.png"


class ExpressrouteCircuits(_Network):
    _icon = "expressroute-circuits.png"


class Firewall(_Network):
    _icon = "firewall.png"


class FrontDoors(_Network):
    _icon = "front-doors.png"


class LoadBalancers(_Network):
    _icon = "load-balancers.png"


class LocalNetworkGateways(_Network):
    _icon = "local-network-gateways.png"


class NetworkInterfaces(_Network):
    _icon = "network-interfaces.png"


class NetworkSecurityGroupsClassic(_Network):
    _icon = "network-security-groups-classic.png"


class NetworkWatcher(_Network):
    _icon = "network-watcher.png"


class OnPremisesDataGateways(_Network):
    _icon = "on-premises-data-gateways.png"


class PrivateEndpoint(_Network):
    _icon = "private-endpoint.png"


class PublicIpAddresses(_Network):
    _icon = "public-ip-addresses.png"


class ReservedIpAddressesClassic(_Network):
    _icon = "reserved-ip-addresses-classic.png"


class RouteFilters(_Network):
    _icon = "route-filters.png"


class RouteTables(_Network):
    _icon = "route-tables.png"


class ServiceEndpointPolicies(_Network):
    _icon = "service-endpoint-policies.png"


class Subnets(_Network):
    _icon = "subnets.png"


class TrafficManagerProfiles(_Network):
    _icon = "traffic-manager-profiles.png"


class VirtualNetworkClassic(_Network):
    _icon = "virtual-network-classic.png"


class VirtualNetworkGateways(_Network):
    _icon = "virtual-network-gateways.png"


class VirtualNetworks(_Network):
    _icon = "virtual-networks.png"


class VirtualWans(_Network):
    _icon = "virtual-wans.png"


# Aliases


================================================
FILE: diagrams/azure/networking.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _Azure


class _Networking(_Azure):
    _type = "networking"
    _icon_dir = "resources/azure/networking"


class ApplicationGateways(_Networking):
    _icon = "application-gateways.png"


class AtmMultistack(_Networking):
    _icon = "atm-multistack.png"


class AzureCommunicationsGateway(_Networking):
    _icon = "azure-communications-gateway.png"


class AzureFirewallManager(_Networking):
    _icon = "azure-firewall-manager.png"


class AzureFirewallPolicy(_Networking):
    _icon = "azure-firewall-policy.png"


class Bastions(_Networking):
    _icon = "bastions.png"


class CDNProfiles(_Networking):
    _icon = "cdn-profiles.png"


class ConnectedCache(_Networking):
    _icon = "connected-cache.png"


class Connections(_Networking):
    _icon = "connections.png"


class DDOSProtectionPlans(_Networking):
    _icon = "ddos-protection-plans.png"


class DNSMultistack(_Networking):
    _icon = "dns-multistack.png"


class DNSPrivateResolver(_Networking):
    _icon = "dns-private-resolver.png"


class DNSSecurityPolicy(_Networking):
    _icon = "dns-security-policy.png"


class DNSZones(_Networking):
    _icon = "dns-zones.png"


class ExpressrouteCircuits(_Networking):
    _icon = "expressroute-circuits.png"


class Firewalls(_Networking):
    _icon = "firewalls.png"


class FrontDoorAndCDNProfiles(_Networking):
    _icon = "front-door-and-cdn-profiles.png"


class IpAddressManager(_Networking):
    _icon = "ip-address-manager.png"


class IpGroups(_Networking):
    _icon = "ip-groups.png"


class LoadBalancerHub(_Networking):
    _icon = "load-balancer-hub.png"


class LoadBalancers(_Networking):
    _icon = "load-balancers.png"


class LocalNetworkGateways(_Networking):
    _icon = "local-network-gateways.png"


class Nat(_Networking):
    _icon = "nat.png"


class NetworkInterfaces(_Networking):
    _icon = "network-interfaces.png"


class NetworkSecurityGroups(_Networking):
    _icon = "network-security-groups.png"


class NetworkWatcher(_Networking):
    _icon = "network-watcher.png"


class OnPremisesDataGateways(_Networking):
    _icon = "on-premises-data-gateways.png"


class PrivateLinkService(_Networking):
    _icon = "private-link-service.png"


class PrivateLinkServices(_Networking):
    _icon = "private-link-services.png"


class PrivateLink(_Networking):
    _icon = "private-link.png"


class ProximityPlacementGroups(_Networking):
    _icon = "proximity-placement-groups.png"


class PublicIpAddressesClassic(_Networking):
    _icon = "public-ip-addresses-classic.png"


class PublicIpAddresses(_Networking):
    _icon = "public-ip-addresses.png"


class PublicIpPrefixes(_Networking):
    _icon = "public-ip-prefixes.png"


class ReservedIpAddressesClassic(_Networking):
    _icon = "reserved-ip-addresses-classic.png"


class ResourceManagementPrivateLink(_Networking):
    _icon = "resource-management-private-link.png"


class RouteFilters(_Networking):
    _icon = "route-filters.png"


class RouteTables(_Networking):
    _icon = "route-tables.png"


class ServiceEndpointPolicies(_Networking):
    _icon = "service-endpoint-policies.png"


class SpotVM(_Networking):
    _icon = "spot-vm.png"


class SpotVmss(_Networking):
    _icon = "spot-vmss.png"


class Subnet(_Networking):
    _icon = "subnet.png"


class TrafficController(_Networking):
    _icon = "traffic-controller.png"


class TrafficManagerProfiles(_Networking):
    _icon = "traffic-manager-profiles.png"


class VirtualNetworkGateways(_Networking):
    _icon = "virtual-network-gateways.png"


class VirtualNetworksClassic(_Networking):
    _icon = "virtual-networks-classic.png"


class VirtualNetworks(_Networking):
    _icon = "virtual-networks.png"


class VirtualRouter(_Networking):
    _icon = "virtual-router.png"


class VirtualWanHub(_Networking):
    _icon = "virtual-wan-hub.png"


class VirtualWans(_Networking):
    _icon = "virtual-wans.png"


class WebApplicationFirewallPolicieswaf(_Networking):
    _icon = "web-application-firewall-policieswaf.png"


# Aliases


================================================
FILE: diagrams/azure/newicons.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _Azure


class _Newicons(_Azure):
    _type = "newicons"
    _icon_dir = "resources/azure/newicons"


class AzureSustainability(_Newicons):
    _icon = "azure-sustainability.png"


class ConnectedVehiclePlatform(_Newicons):
    _icon = "connected-vehicle-platform.png"


class EntraConnectHealth(_Newicons):
    _icon = "entra-connect-health.png"


class EntraConnectSync(_Newicons):
    _icon = "entra-connect-sync.png"


class IcmTroubleshooting(_Newicons):
    _icon = "icm-troubleshooting.png"


class Osconfig(_Newicons):
    _icon = "osconfig.png"


class StorageActions(_Newicons):
    _icon = "storage-actions.png"


# Aliases


================================================
FILE: diagrams/azure/other.py
================================================
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _Azure


class _Other(_Azure):
    _type = "other"
    _icon_dir = "resources/azure/other"


class AadLicenses(_Other):
    _icon = "aad-licenses.png"


class AksIstio(_Other):
    _icon = "aks-istio.png"


class AppComplianceAutomation(_Other):
    _icon = "app-compliance-automation.png"


class AppRegistrations(_Other):
    _icon = "app-registrations.png"


class Aquila(_Other):
    _icon = "aquila.png"


class ArcDataServices(_Other):
    _icon = "arc-data-services.png"


class ArcKubernetes(_Other):
    _icon = "arc-kubernetes.png"


class ArcPostgresql(_Other):
    _icon = "arc-postgresql-.png"


class ArcSQLManagedInstance(_Other):
    _icon = "arc-sql-managed-instance.png"


class ArcSQLServer(_Other):
    _icon = "arc-sql-server.png"


class AvsVM(_Other):
    _icon = "avs-vm.png"


class AzureA(_Other):
    _icon = "azure-a.png"


class AzureBackupCenter(_Other):
    _icon = "azure-backup-center.png"


class AzureCenterForSAP(_Other):
    _icon = "azure-center-for-sap.png"


class AzureChaosStudio(_Other):
    _icon = "azure-chaos-studio.png"


class AzureCloudShell(_Other):
    _icon = "azure-cloud-shell.png"


class AzureCommunicationServices(_Other):
    _icon = "azure-communication-services.png"


class AzureComputeGalleries(_Other):
    _icon = "azure-compute-galleries.png"


class AzureDeploymentEnvironments(_Other):
    _icon = "azure-deployment-environments.png"


class AzureDevTunnels(_Other):
    _icon = "azure-dev-tunnels.png"


class AzureEdgeHardwareCenter(_Other):
    _icon = "azure-edge-hardware-center.png"


class AzureHpcWorkbenches(_Other):
    _icon = "azure-hpc-workbenches.png"


class AzureLoadTesting(_Other):
    _icon = "azure-load-testing.png"


class AzureManagedGrafana(_Other):
    _icon = "azure-managed-grafana.png"


class AzureMonitorDashboard(_Other):
    _icon = "azure-monitor-dashboard.png"


class AzureNetworkFunctionManagerFunctions(_Other):
    _icon = "azure-network-function-manager-functions.png"


class AzureNetworkFunctionManager(_Other):
    _icon = "azure-network-function-manager.png"


class AzureOrbital(_Other):
    _icon = "azure-orbital.png"


class AzureQuotas(_Other):
    _icon = "azure-quotas.png"


class AzureSphere(_Other):
    _icon = "azure-sphere.png"


class AzureStorageMover(_Other):
    _icon = "azure-storage-mover.png"


class AzureSupportCenterBlue(_Other):
    _icon = "azure-support-center-blue.png"


class AzureVideoIndexer(_Other):
    _icon = "azure-video-indexer.png"


class AzureVirtualDesktop(_Other):
    _icon = "azure-virtual-desktop.png"


class AzureVmwareSolution(_Other):
    _icon = "azure-vmware-solution.png"


class Azureattestation(_Other):
    _icon = "azureattestation.png"


class Azurite(_Other):
    _icon = "azurite.png"


class BackupVault(_Other):
    _icon = "backup-vault.png"


class BareMetalInfrastructure(_Other):
    _icon = "bare-metal-infrastructure.png"


class CapacityReservationGroups(_Other):
    _icon = "capacity-reservation-groups.png"


class CentralServiceInstanceForSAP(_Other):
    _icon = "central-service-instance-for-sap.png"


class Ceres(_Other):
    _icon = "ceres.png"


class CloudServicesExtendedSupport(_Other):
    _icon = "cloud-services-extended-support.png"


class CommunityImages(_Other):
    _icon = "community-images.png"


class ComplianceCenter(_Other):
    _icon = "compliance-center.png"


class ConfidentialLedgers(_Other):
    _icon = "confidential-ledgers.png"


class ContainerAppsEnvironments(_Other):
    _icon = "container-apps-environments.png"


class CostExport(_Other):
    _icon = "cost-export.png"


class CustomIpPrefix(_Other):
    _icon = "custom-ip-prefix.png"


class DashboardHub(_Other):
    _icon = "dashboard-hub.png"


class DataCollectionRules(_Other):
    _icon = "data-collection-rules.png"


class DatabaseInstanceForSAP(_Other):
    _icon = "database-instance-for-sap.png"


class DedicatedHsm(_Other):
    _icon = "dedicated-hsm.png"


class DefenderCmLocalManager(_Other):
    _icon = "defender-cm-local-manager.png"


class DefenderDcsController(_Other):
    _icon = "defender-dcs-controller.png"


class DefenderDistributerControlSystem(_Other):
    _icon = "defender-distributer-control-system.png"


class DefenderEngineeringStation(_Other):
    _icon = "defender-engineering-station.png"


class DefenderExternalManagement(_Other):
    _icon = "defender-external-management.png"


class DefenderFreezerMonitor(_Other):
    _icon = "defender-freezer-monitor.png"


class DefenderHistorian(_Other):
    _icon = "defender-historian.png"


class DefenderHmi(_Other):
    _icon = "defender-hmi.png"


class DefenderIndustrialPackagingSystem(_Other):
    _icon = "defender-industrial-packaging-system.png"


class DefenderIndustrialPrinter(_Other):
    _icon = "defender-industrial-printer.png"


class DefenderIndustrialRobot(_Other):
    _icon = "defender-industrial-robot.png"


class DefenderIndustrialScaleSystem(_Other):
    _icon = "defender-industrial-scale-system.png"


class DefenderMarquee(_Other):
    _icon = "defender-marquee.png"


class DefenderMeter(_Other):
    _icon = "defender-meter.png"


class DefenderPlc(_Other):
    _icon = "defender-plc.png"


class DefenderPneumaticDevice(_Other):
    _icon = "defender-pneumatic-device.png"


class DefenderProgramableBoard(_Other):
    _icon = "defender-programable-board.png"


class DefenderRelay(_Other):
    _icon = "defender-relay.png"


class DefenderRobotController(_Other):
    _icon = "defender-robot-controller.png"


class DefenderRtu(_Other):
    _icon = "defender-rtu.png"


class DefenderSensor(_Other):
    _icon = "defender-sensor.png"


class DefenderSlot(_Other):
    _icon = "defender-slot.png"


class DefenderWebGuidingSystem(_Other):
    _icon = "defender-web-guiding-system.png"


class DeviceUpdateIotHub(_Other):
    _icon = "device-update-iot-hub.png"


class DiskPool(_Other):
    _icon = "disk-pool.png"


class EdgeManagement(_Other):
    _icon = "edge-management.png"


class ElasticSan(_Other):
    _icon = "elastic-san.png"


class ExchangeOnPremisesAccess(_Other):
    _icon = "exchange-on-premises-access.png"


class ExpressRouteTrafficCollector(_Other):
    _icon = "express-route-traffic-collector.png"


class ExpressrouteDirect(_Other):
    _icon = "expressroute-direct.png"


class FhirSe
Download .txt
gitextract_neutf5we/

├── .devcontainer/
│   ├── Dockerfile
│   └── devcontainer.json
├── .github/
│   ├── dependabot.yml
│   └── workflows/
│       ├── codeql-analysis.yml
│       ├── pre-commit.yml
│       └── test.yml
├── .gitignore
├── .isort.cfg
├── .pre-commit-config.yaml
├── CHANGELOG.md
├── CONTRIBUTING.md
├── DEVELOPMENT.md
├── LICENSE
├── README.md
├── autogen.sh
├── config.py
├── diagrams/
│   ├── __init__.py
│   ├── alibabacloud/
│   │   ├── __init__.py
│   │   ├── analytics.py
│   │   ├── application.py
│   │   ├── communication.py
│   │   ├── compute.py
│   │   ├── database.py
│   │   ├── iot.py
│   │   ├── network.py
│   │   ├── security.py
│   │   ├── storage.py
│   │   └── web.py
│   ├── aws/
│   │   ├── __init__.py
│   │   ├── analytics.py
│   │   ├── ar.py
│   │   ├── blockchain.py
│   │   ├── business.py
│   │   ├── compute.py
│   │   ├── cost.py
│   │   ├── database.py
│   │   ├── devtools.py
│   │   ├── enablement.py
│   │   ├── enduser.py
│   │   ├── engagement.py
│   │   ├── game.py
│   │   ├── general.py
│   │   ├── integration.py
│   │   ├── iot.py
│   │   ├── management.py
│   │   ├── media.py
│   │   ├── migration.py
│   │   ├── ml.py
│   │   ├── mobile.py
│   │   ├── network.py
│   │   ├── quantum.py
│   │   ├── robotics.py
│   │   ├── satellite.py
│   │   ├── security.py
│   │   └── storage.py
│   ├── azure/
│   │   ├── __init__.py
│   │   ├── aimachinelearning.py
│   │   ├── analytics.py
│   │   ├── appservices.py
│   │   ├── azureecosystem.py
│   │   ├── azurestack.py
│   │   ├── blockchain.py
│   │   ├── compute.py
│   │   ├── containers.py
│   │   ├── database.py
│   │   ├── databases.py
│   │   ├── devops.py
│   │   ├── general.py
│   │   ├── hybridmulticloud.py
│   │   ├── identity.py
│   │   ├── integration.py
│   │   ├── intune.py
│   │   ├── iot.py
│   │   ├── managementgovernance.py
│   │   ├── menu.py
│   │   ├── migrate.py
│   │   ├── migration.py
│   │   ├── mixedreality.py
│   │   ├── ml.py
│   │   ├── mobile.py
│   │   ├── monitor.py
│   │   ├── network.py
│   │   ├── networking.py
│   │   ├── newicons.py
│   │   ├── other.py
│   │   ├── security.py
│   │   ├── storage.py
│   │   └── web.py
│   ├── base/
│   │   └── __init__.py
│   ├── c4/
│   │   └── __init__.py
│   ├── cli.py
│   ├── custom/
│   │   └── __init__.py
│   ├── digitalocean/
│   │   ├── __init__.py
│   │   ├── compute.py
│   │   ├── database.py
│   │   ├── network.py
│   │   └── storage.py
│   ├── elastic/
│   │   ├── __init__.py
│   │   ├── agent.py
│   │   ├── beats.py
│   │   ├── elasticsearch.py
│   │   ├── enterprisesearch.py
│   │   ├── observability.py
│   │   ├── orchestration.py
│   │   ├── saas.py
│   │   └── security.py
│   ├── firebase/
│   │   ├── __init__.py
│   │   ├── base.py
│   │   ├── develop.py
│   │   ├── extentions.py
│   │   ├── grow.py
│   │   └── quality.py
│   ├── gcp/
│   │   ├── __init__.py
│   │   ├── analytics.py
│   │   ├── api.py
│   │   ├── compute.py
│   │   ├── database.py
│   │   ├── devtools.py
│   │   ├── iot.py
│   │   ├── management.py
│   │   ├── migration.py
│   │   ├── ml.py
│   │   ├── network.py
│   │   ├── operations.py
│   │   ├── security.py
│   │   └── storage.py
│   ├── generic/
│   │   ├── __init__.py
│   │   ├── blank.py
│   │   ├── compute.py
│   │   ├── database.py
│   │   ├── device.py
│   │   ├── network.py
│   │   ├── os.py
│   │   ├── place.py
│   │   ├── storage.py
│   │   └── virtualization.py
│   ├── gis/
│   │   ├── __init__.py
│   │   ├── cli.py
│   │   ├── cplusplus.py
│   │   ├── data.py
│   │   ├── database.py
│   │   ├── desktop.py
│   │   ├── format.py
│   │   ├── geocoding.py
│   │   ├── georchestra.py
│   │   ├── java.py
│   │   ├── javascript.py
│   │   ├── mobile.py
│   │   ├── ogc.py
│   │   ├── organization.py
│   │   ├── python.py
│   │   ├── routing.py
│   │   ├── server.py
│   │   └── toolkit.py
│   ├── ibm/
│   │   ├── __init__.py
│   │   ├── analytics.py
│   │   ├── applications.py
│   │   ├── blockchain.py
│   │   ├── compute.py
│   │   ├── data.py
│   │   ├── devops.py
│   │   ├── general.py
│   │   ├── infrastructure.py
│   │   ├── management.py
│   │   ├── network.py
│   │   ├── security.py
│   │   ├── social.py
│   │   ├── storage.py
│   │   └── user.py
│   ├── k8s/
│   │   ├── __init__.py
│   │   ├── chaos.py
│   │   ├── clusterconfig.py
│   │   ├── compute.py
│   │   ├── controlplane.py
│   │   ├── ecosystem.py
│   │   ├── group.py
│   │   ├── infra.py
│   │   ├── network.py
│   │   ├── others.py
│   │   ├── podconfig.py
│   │   ├── rbac.py
│   │   └── storage.py
│   ├── oci/
│   │   ├── __init__.py
│   │   ├── compute.py
│   │   ├── connectivity.py
│   │   ├── database.py
│   │   ├── devops.py
│   │   ├── governance.py
│   │   ├── monitoring.py
│   │   ├── network.py
│   │   ├── security.py
│   │   └── storage.py
│   ├── onprem/
│   │   ├── __init__.py
│   │   ├── aggregator.py
│   │   ├── analytics.py
│   │   ├── auth.py
│   │   ├── cd.py
│   │   ├── certificates.py
│   │   ├── ci.py
│   │   ├── client.py
│   │   ├── compute.py
│   │   ├── container.py
│   │   ├── database.py
│   │   ├── dns.py
│   │   ├── etl.py
│   │   ├── gitops.py
│   │   ├── groupware.py
│   │   ├── iac.py
│   │   ├── identity.py
│   │   ├── inmemory.py
│   │   ├── logging.py
│   │   ├── messaging.py
│   │   ├── mlops.py
│   │   ├── monitoring.py
│   │   ├── network.py
│   │   ├── proxmox.py
│   │   ├── queue.py
│   │   ├── registry.py
│   │   ├── search.py
│   │   ├── security.py
│   │   ├── storage.py
│   │   ├── tracing.py
│   │   ├── vcs.py
│   │   └── workflow.py
│   ├── openstack/
│   │   ├── __init__.py
│   │   ├── adjacentenablers.py
│   │   ├── apiproxies.py
│   │   ├── applicationlifecycle.py
│   │   ├── baremetal.py
│   │   ├── billing.py
│   │   ├── compute.py
│   │   ├── containerservices.py
│   │   ├── deployment.py
│   │   ├── frontend.py
│   │   ├── lifecyclemanagement.py
│   │   ├── monitoring.py
│   │   ├── multiregion.py
│   │   ├── networking.py
│   │   ├── nfv.py
│   │   ├── operations.py
│   │   ├── optimization.py
│   │   ├── orchestration.py
│   │   ├── packaging.py
│   │   ├── sharedservices.py
│   │   ├── storage.py
│   │   ├── user.py
│   │   └── workloadprovisioning.py
│   ├── outscale/
│   │   ├── __init__.py
│   │   ├── compute.py
│   │   ├── network.py
│   │   ├── security.py
│   │   └── storage.py
│   ├── programming/
│   │   ├── __init__.py
│   │   ├── flowchart.py
│   │   ├── framework.py
│   │   ├── language.py
│   │   └── runtime.py
│   └── saas/
│       ├── __init__.py
│       ├── alerting.py
│       ├── analytics.py
│       ├── automation.py
│       ├── cdn.py
│       ├── chat.py
│       ├── communication.py
│       ├── crm.py
│       ├── filesharing.py
│       ├── identity.py
│       ├── logging.py
│       ├── media.py
│       ├── payment.py
│       ├── recommendation.py
│       ├── security.py
│       └── social.py
├── docker/
│   └── dev/
│       └── Dockerfile
├── docs/
│   ├── getting-started/
│   │   ├── examples.md
│   │   └── installation.md
│   ├── guides/
│   │   ├── cluster.md
│   │   ├── diagram.md
│   │   ├── edge.md
│   │   └── node.md
│   └── nodes/
│       ├── alibabacloud.md
│       ├── aws.md
│       ├── azure.md
│       ├── c4.md
│       ├── custom.md
│       ├── digitalocean.md
│       ├── elastic.md
│       ├── firebase.md
│       ├── gcp.md
│       ├── generic.md
│       ├── gis.md
│       ├── ibm.md
│       ├── k8s.md
│       ├── oci.md
│       ├── onprem.md
│       ├── openstack.md
│       ├── outscale.md
│       ├── programming.md
│       └── saas.md
├── pyproject.toml
├── scripts/
│   ├── __init__.py
│   ├── generate.py
│   └── resource.py
├── templates/
│   ├── apidoc.tmpl
│   ├── apidoc_custom.tmpl
│   └── module.tmpl
├── tests/
│   ├── __init__.py
│   ├── test_c4.py
│   ├── test_cli.py
│   └── test_diagram.py
└── website/
    ├── core/
    │   └── Footer.js
    ├── i18n/
    │   └── en.json
    ├── package.json
    ├── pages/
    │   └── en/
    │       └── index.js
    ├── publish.sh
    ├── sidebars.json
    ├── siteConfig.js
    └── static/
        └── css/
            └── custom.css
Download .txt
SYMBOL INDEX (2855 symbols across 265 files)

FILE: diagrams/__init__.py
  function getdiagram (line 48) | def getdiagram() -> "Diagram":
  function setdiagram (line 55) | def setdiagram(diagram: "Diagram"):
  function getcluster (line 59) | def getcluster() -> "Cluster":
  function setcluster (line 66) | def setcluster(cluster: "Cluster"):
  class Diagram (line 70) | class Diagram:
    method __init__ (line 110) | def __init__(
    method __str__ (line 200) | def __str__(self) -> str:
    method __enter__ (line 203) | def __enter__(self):
    method __exit__ (line 207) | def __exit__(self, exc_type, exc_value, traceback):
    method _repr_png_ (line 213) | def _repr_png_(self):
    method _validate_direction (line 216) | def _validate_direction(self, direction: str) -> bool:
    method _validate_curvestyle (line 219) | def _validate_curvestyle(self, curvestyle: str) -> bool:
    method _validate_outformat (line 222) | def _validate_outformat(self, outformat: str) -> bool:
    method node (line 225) | def node(self, nodeid: str, label: str, **attrs) -> None:
    method connect (line 229) | def connect(self, node: "Node", node2: "Node", edge: "Edge") -> None:
    method subgraph (line 233) | def subgraph(self, dot: Digraph) -> None:
    method render (line 237) | def render(self) -> None:
  class Cluster (line 245) | class Cluster:
    method __init__ (line 262) | def __init__(
    method __enter__ (line 311) | def __enter__(self):
    method __exit__ (line 315) | def __exit__(self, exc_type, exc_value, traceback):
    method _validate_direction (line 322) | def _validate_direction(self, direction: str) -> bool:
    method node (line 325) | def node(self, nodeid: str, label: str, **attrs) -> None:
    method subgraph (line 329) | def subgraph(self, dot: Digraph) -> None:
  class Node (line 333) | class Node:
    method __init__ (line 344) | def __init__(self, label: str = "", *, nodeid: str = None, **attrs: Di...
    method __repr__ (line 387) | def __repr__(self):
    method __sub__ (line 391) | def __sub__(self, other: Union["Node", List["Node"], "Edge"]):
    method __rsub__ (line 403) | def __rsub__(self, other: Union[List["Node"], List["Edge"]]):
    method __rshift__ (line 412) | def __rshift__(self, other: Union["Node", List["Node"], "Edge"]):
    method __lshift__ (line 425) | def __lshift__(self, other: Union["Node", List["Node"], "Edge"]):
    method __rrshift__ (line 437) | def __rrshift__(self, other: Union[List["Node"], List["Edge"]]):
    method __rlshift__ (line 447) | def __rlshift__(self, other: Union[List["Node"], List["Edge"]]):
    method nodeid (line 458) | def nodeid(self):
    method connect (line 462) | def connect(self, node: "Node", edge: "Edge"):
    method _rand_id (line 478) | def _rand_id():
    method _load_icon (line 481) | def _load_icon(self):
  class Edge (line 486) | class Edge:
    method __init__ (line 495) | def __init__(
    method __sub__ (line 539) | def __sub__(self, other: Union["Node", "Edge", List["Node"]]):
    method __rsub__ (line 543) | def __rsub__(self, other: Union[List["Node"],
    method __rshift__ (line 548) | def __rshift__(self, other: Union["Node", "Edge", List["Node"]]):
    method __lshift__ (line 553) | def __lshift__(self, other: Union["Node", "Edge", List["Node"]]):
    method __rrshift__ (line 558) | def __rrshift__(self,
    method __rlshift__ (line 564) | def __rlshift__(self,
    method append (line 570) | def append(self,
    method connect (line 591) | def connect(self, other: Union["Node", "Edge", List["Node"]]):
    method attrs (line 607) | def attrs(self) -> Dict:

FILE: diagrams/alibabacloud/__init__.py
  class _AlibabaCloud (line 8) | class _AlibabaCloud(Node):
  class AlibabaCloud (line 15) | class AlibabaCloud(_AlibabaCloud):

FILE: diagrams/alibabacloud/analytics.py
  class _Analytics (line 6) | class _Analytics(_AlibabaCloud):
  class AnalyticDb (line 11) | class AnalyticDb(_Analytics):
  class ClickHouse (line 15) | class ClickHouse(_Analytics):
  class DataLakeAnalytics (line 19) | class DataLakeAnalytics(_Analytics):
  class ElaticMapReduce (line 23) | class ElaticMapReduce(_Analytics):
  class OpenSearch (line 27) | class OpenSearch(_Analytics):

FILE: diagrams/alibabacloud/application.py
  class _Application (line 6) | class _Application(_AlibabaCloud):
  class ApiGateway (line 11) | class ApiGateway(_Application):
  class BeeBot (line 15) | class BeeBot(_Application):
  class BlockchainAsAService (line 19) | class BlockchainAsAService(_Application):
  class CloudCallCenter (line 23) | class CloudCallCenter(_Application):
  class CodePipeline (line 27) | class CodePipeline(_Application):
  class DirectMail (line 31) | class DirectMail(_Application):
  class LogService (line 35) | class LogService(_Application):
  class MessageNotificationService (line 39) | class MessageNotificationService(_Application):
  class NodeJsPerformancePlatform (line 43) | class NodeJsPerformancePlatform(_Application):
  class OpenSearch (line 47) | class OpenSearch(_Application):
  class PerformanceTestingService (line 51) | class PerformanceTestingService(_Application):
  class RdCloud (line 55) | class RdCloud(_Application):
  class SmartConversationAnalysis (line 59) | class SmartConversationAnalysis(_Application):
  class Yida (line 63) | class Yida(_Application):

FILE: diagrams/alibabacloud/communication.py
  class _Communication (line 6) | class _Communication(_AlibabaCloud):
  class DirectMail (line 11) | class DirectMail(_Communication):
  class MobilePush (line 15) | class MobilePush(_Communication):

FILE: diagrams/alibabacloud/compute.py
  class _Compute (line 6) | class _Compute(_AlibabaCloud):
  class AutoScaling (line 11) | class AutoScaling(_Compute):
  class BatchCompute (line 15) | class BatchCompute(_Compute):
  class ContainerRegistry (line 19) | class ContainerRegistry(_Compute):
  class ContainerService (line 23) | class ContainerService(_Compute):
  class ElasticComputeService (line 27) | class ElasticComputeService(_Compute):
  class ElasticContainerInstance (line 31) | class ElasticContainerInstance(_Compute):
  class ElasticHighPerformanceComputing (line 35) | class ElasticHighPerformanceComputing(_Compute):
  class ElasticSearch (line 39) | class ElasticSearch(_Compute):
  class FunctionCompute (line 43) | class FunctionCompute(_Compute):
  class OperationOrchestrationService (line 47) | class OperationOrchestrationService(_Compute):
  class ResourceOrchestrationService (line 51) | class ResourceOrchestrationService(_Compute):
  class ServerLoadBalancer (line 55) | class ServerLoadBalancer(_Compute):
  class ServerlessAppEngine (line 59) | class ServerlessAppEngine(_Compute):
  class SimpleApplicationServer (line 63) | class SimpleApplicationServer(_Compute):
  class WebAppService (line 67) | class WebAppService(_Compute):

FILE: diagrams/alibabacloud/database.py
  class _Database (line 6) | class _Database(_AlibabaCloud):
  class ApsaradbCassandra (line 11) | class ApsaradbCassandra(_Database):
  class ApsaradbHbase (line 15) | class ApsaradbHbase(_Database):
  class ApsaradbMemcache (line 19) | class ApsaradbMemcache(_Database):
  class ApsaradbMongodb (line 23) | class ApsaradbMongodb(_Database):
  class ApsaradbOceanbase (line 27) | class ApsaradbOceanbase(_Database):
  class ApsaradbPolardb (line 31) | class ApsaradbPolardb(_Database):
  class ApsaradbPostgresql (line 35) | class ApsaradbPostgresql(_Database):
  class ApsaradbPpas (line 39) | class ApsaradbPpas(_Database):
  class ApsaradbRedis (line 43) | class ApsaradbRedis(_Database):
  class ApsaradbSqlserver (line 47) | class ApsaradbSqlserver(_Database):
  class DataManagementService (line 51) | class DataManagementService(_Database):
  class DataTransmissionService (line 55) | class DataTransmissionService(_Database):
  class DatabaseBackupService (line 59) | class DatabaseBackupService(_Database):
  class DisributeRelationalDatabaseService (line 63) | class DisributeRelationalDatabaseService(_Database):
  class GraphDatabaseService (line 67) | class GraphDatabaseService(_Database):
  class HybriddbForMysql (line 71) | class HybriddbForMysql(_Database):
  class RelationalDatabaseService (line 75) | class RelationalDatabaseService(_Database):

FILE: diagrams/alibabacloud/iot.py
  class _Iot (line 6) | class _Iot(_AlibabaCloud):
  class IotInternetDeviceId (line 11) | class IotInternetDeviceId(_Iot):
  class IotLinkWan (line 15) | class IotLinkWan(_Iot):
  class IotMobileConnectionPackage (line 19) | class IotMobileConnectionPackage(_Iot):
  class IotPlatform (line 23) | class IotPlatform(_Iot):

FILE: diagrams/alibabacloud/network.py
  class _Network (line 6) | class _Network(_AlibabaCloud):
  class Cdn (line 11) | class Cdn(_Network):
  class CloudEnterpriseNetwork (line 15) | class CloudEnterpriseNetwork(_Network):
  class ElasticIpAddress (line 19) | class ElasticIpAddress(_Network):
  class ExpressConnect (line 23) | class ExpressConnect(_Network):
  class NatGateway (line 27) | class NatGateway(_Network):
  class ServerLoadBalancer (line 31) | class ServerLoadBalancer(_Network):
  class SmartAccessGateway (line 35) | class SmartAccessGateway(_Network):
  class VirtualPrivateCloud (line 39) | class VirtualPrivateCloud(_Network):
  class VpnGateway (line 43) | class VpnGateway(_Network):

FILE: diagrams/alibabacloud/security.py
  class _Security (line 6) | class _Security(_AlibabaCloud):
  class AntiBotService (line 11) | class AntiBotService(_Security):
  class AntiDdosBasic (line 15) | class AntiDdosBasic(_Security):
  class AntiDdosPro (line 19) | class AntiDdosPro(_Security):
  class AntifraudService (line 23) | class AntifraudService(_Security):
  class BastionHost (line 27) | class BastionHost(_Security):
  class CloudFirewall (line 31) | class CloudFirewall(_Security):
  class CloudSecurityScanner (line 35) | class CloudSecurityScanner(_Security):
  class ContentModeration (line 39) | class ContentModeration(_Security):
  class CrowdsourcedSecurityTesting (line 43) | class CrowdsourcedSecurityTesting(_Security):
  class DataEncryptionService (line 47) | class DataEncryptionService(_Security):
  class DbAudit (line 51) | class DbAudit(_Security):
  class GameShield (line 55) | class GameShield(_Security):
  class IdVerification (line 59) | class IdVerification(_Security):
  class ManagedSecurityService (line 63) | class ManagedSecurityService(_Security):
  class SecurityCenter (line 67) | class SecurityCenter(_Security):
  class ServerGuard (line 71) | class ServerGuard(_Security):
  class SslCertificates (line 75) | class SslCertificates(_Security):
  class WebApplicationFirewall (line 79) | class WebApplicationFirewall(_Security):

FILE: diagrams/alibabacloud/storage.py
  class _Storage (line 6) | class _Storage(_AlibabaCloud):
  class CloudStorageGateway (line 11) | class CloudStorageGateway(_Storage):
  class FileStorageHdfs (line 15) | class FileStorageHdfs(_Storage):
  class FileStorageNas (line 19) | class FileStorageNas(_Storage):
  class HybridBackupRecovery (line 23) | class HybridBackupRecovery(_Storage):
  class HybridCloudDisasterRecovery (line 27) | class HybridCloudDisasterRecovery(_Storage):
  class Imm (line 31) | class Imm(_Storage):
  class ObjectStorageService (line 35) | class ObjectStorageService(_Storage):
  class ObjectTableStore (line 39) | class ObjectTableStore(_Storage):

FILE: diagrams/alibabacloud/web.py
  class _Web (line 6) | class _Web(_AlibabaCloud):
  class Dns (line 11) | class Dns(_Web):
  class Domain (line 15) | class Domain(_Web):

FILE: diagrams/aws/__init__.py
  class _AWS (line 8) | class _AWS(Node):
  class AWS (line 15) | class AWS(_AWS):

FILE: diagrams/aws/analytics.py
  class _Analytics (line 6) | class _Analytics(_AWS):
  class AmazonOpensearchService (line 11) | class AmazonOpensearchService(_Analytics):
  class Analytics (line 15) | class Analytics(_Analytics):
  class Athena (line 19) | class Athena(_Analytics):
  class CloudsearchSearchDocuments (line 23) | class CloudsearchSearchDocuments(_Analytics):
  class Cloudsearch (line 27) | class Cloudsearch(_Analytics):
  class DataLakeResource (line 31) | class DataLakeResource(_Analytics):
  class DataPipeline (line 35) | class DataPipeline(_Analytics):
  class ElasticsearchService (line 39) | class ElasticsearchService(_Analytics):
  class EMRCluster (line 43) | class EMRCluster(_Analytics):
  class EMREngineMaprM3 (line 47) | class EMREngineMaprM3(_Analytics):
  class EMREngineMaprM5 (line 51) | class EMREngineMaprM5(_Analytics):
  class EMREngineMaprM7 (line 55) | class EMREngineMaprM7(_Analytics):
  class EMREngine (line 59) | class EMREngine(_Analytics):
  class EMRHdfsCluster (line 63) | class EMRHdfsCluster(_Analytics):
  class EMR (line 67) | class EMR(_Analytics):
  class GlueCrawlers (line 71) | class GlueCrawlers(_Analytics):
  class GlueDataCatalog (line 75) | class GlueDataCatalog(_Analytics):
  class Glue (line 79) | class Glue(_Analytics):
  class KinesisDataAnalytics (line 83) | class KinesisDataAnalytics(_Analytics):
  class KinesisDataFirehose (line 87) | class KinesisDataFirehose(_Analytics):
  class KinesisDataStreams (line 91) | class KinesisDataStreams(_Analytics):
  class KinesisVideoStreams (line 95) | class KinesisVideoStreams(_Analytics):
  class Kinesis (line 99) | class Kinesis(_Analytics):
  class LakeFormation (line 103) | class LakeFormation(_Analytics):
  class ManagedStreamingForKafka (line 107) | class ManagedStreamingForKafka(_Analytics):
  class Quicksight (line 111) | class Quicksight(_Analytics):
  class RedshiftDenseComputeNode (line 115) | class RedshiftDenseComputeNode(_Analytics):
  class RedshiftDenseStorageNode (line 119) | class RedshiftDenseStorageNode(_Analytics):
  class Redshift (line 123) | class Redshift(_Analytics):

FILE: diagrams/aws/ar.py
  class _Ar (line 6) | class _Ar(_AWS):
  class ArVr (line 11) | class ArVr(_Ar):
  class Sumerian (line 15) | class Sumerian(_Ar):

FILE: diagrams/aws/blockchain.py
  class _Blockchain (line 6) | class _Blockchain(_AWS):
  class BlockchainResource (line 11) | class BlockchainResource(_Blockchain):
  class Blockchain (line 15) | class Blockchain(_Blockchain):
  class ManagedBlockchain (line 19) | class ManagedBlockchain(_Blockchain):
  class QuantumLedgerDatabaseQldb (line 23) | class QuantumLedgerDatabaseQldb(_Blockchain):

FILE: diagrams/aws/business.py
  class _Business (line 6) | class _Business(_AWS):
  class AlexaForBusiness (line 11) | class AlexaForBusiness(_Business):
  class BusinessApplications (line 15) | class BusinessApplications(_Business):
  class Chime (line 19) | class Chime(_Business):
  class Workmail (line 23) | class Workmail(_Business):

FILE: diagrams/aws/compute.py
  class _Compute (line 6) | class _Compute(_AWS):
  class AppRunner (line 11) | class AppRunner(_Compute):
  class ApplicationAutoScaling (line 15) | class ApplicationAutoScaling(_Compute):
  class Batch (line 19) | class Batch(_Compute):
  class ComputeOptimizer (line 23) | class ComputeOptimizer(_Compute):
  class Compute (line 27) | class Compute(_Compute):
  class EC2Ami (line 31) | class EC2Ami(_Compute):
  class EC2AutoScaling (line 35) | class EC2AutoScaling(_Compute):
  class EC2ContainerRegistryImage (line 39) | class EC2ContainerRegistryImage(_Compute):
  class EC2ContainerRegistryRegistry (line 43) | class EC2ContainerRegistryRegistry(_Compute):
  class EC2ContainerRegistry (line 47) | class EC2ContainerRegistry(_Compute):
  class EC2ElasticIpAddress (line 51) | class EC2ElasticIpAddress(_Compute):
  class EC2ImageBuilder (line 55) | class EC2ImageBuilder(_Compute):
  class EC2Instance (line 59) | class EC2Instance(_Compute):
  class EC2Instances (line 63) | class EC2Instances(_Compute):
  class EC2Rescue (line 67) | class EC2Rescue(_Compute):
  class EC2SpotInstance (line 71) | class EC2SpotInstance(_Compute):
  class EC2 (line 75) | class EC2(_Compute):
  class ElasticBeanstalkApplication (line 79) | class ElasticBeanstalkApplication(_Compute):
  class ElasticBeanstalkDeployment (line 83) | class ElasticBeanstalkDeployment(_Compute):
  class ElasticBeanstalk (line 87) | class ElasticBeanstalk(_Compute):
  class ElasticContainerServiceContainer (line 91) | class ElasticContainerServiceContainer(_Compute):
  class ElasticContainerServiceServiceConnect (line 95) | class ElasticContainerServiceServiceConnect(_Compute):
  class ElasticContainerServiceService (line 99) | class ElasticContainerServiceService(_Compute):
  class ElasticContainerServiceTask (line 103) | class ElasticContainerServiceTask(_Compute):
  class ElasticContainerService (line 107) | class ElasticContainerService(_Compute):
  class ElasticKubernetesService (line 111) | class ElasticKubernetesService(_Compute):
  class Fargate (line 115) | class Fargate(_Compute):
  class LambdaFunction (line 119) | class LambdaFunction(_Compute):
  class Lambda (line 123) | class Lambda(_Compute):
  class Lightsail (line 127) | class Lightsail(_Compute):
  class LocalZones (line 131) | class LocalZones(_Compute):
  class Outposts (line 135) | class Outposts(_Compute):
  class ServerlessApplicationRepository (line 139) | class ServerlessApplicationRepository(_Compute):
  class ThinkboxDeadline (line 143) | class ThinkboxDeadline(_Compute):
  class ThinkboxDraft (line 147) | class ThinkboxDraft(_Compute):
  class ThinkboxFrost (line 151) | class ThinkboxFrost(_Compute):
  class ThinkboxKrakatoa (line 155) | class ThinkboxKrakatoa(_Compute):
  class ThinkboxSequoia (line 159) | class ThinkboxSequoia(_Compute):
  class ThinkboxStoke (line 163) | class ThinkboxStoke(_Compute):
  class ThinkboxXmesh (line 167) | class ThinkboxXmesh(_Compute):
  class VmwareCloudOnAWS (line 171) | class VmwareCloudOnAWS(_Compute):
  class Wavelength (line 175) | class Wavelength(_Compute):

FILE: diagrams/aws/cost.py
  class _Cost (line 6) | class _Cost(_AWS):
  class Budgets (line 11) | class Budgets(_Cost):
  class CostAndUsageReport (line 15) | class CostAndUsageReport(_Cost):
  class CostExplorer (line 19) | class CostExplorer(_Cost):
  class CostManagement (line 23) | class CostManagement(_Cost):
  class ReservedInstanceReporting (line 27) | class ReservedInstanceReporting(_Cost):
  class SavingsPlans (line 31) | class SavingsPlans(_Cost):

FILE: diagrams/aws/database.py
  class _Database (line 6) | class _Database(_AWS):
  class AuroraInstance (line 11) | class AuroraInstance(_Database):
  class Aurora (line 15) | class Aurora(_Database):
  class DatabaseMigrationServiceDatabaseMigrationWorkflow (line 19) | class DatabaseMigrationServiceDatabaseMigrationWorkflow(_Database):
  class DatabaseMigrationService (line 23) | class DatabaseMigrationService(_Database):
  class Database (line 27) | class Database(_Database):
  class DocumentdbMongodbCompatibility (line 31) | class DocumentdbMongodbCompatibility(_Database):
  class DynamodbAttribute (line 35) | class DynamodbAttribute(_Database):
  class DynamodbAttributes (line 39) | class DynamodbAttributes(_Database):
  class DynamodbDax (line 43) | class DynamodbDax(_Database):
  class DynamodbGlobalSecondaryIndex (line 47) | class DynamodbGlobalSecondaryIndex(_Database):
  class DynamodbItem (line 51) | class DynamodbItem(_Database):
  class DynamodbItems (line 55) | class DynamodbItems(_Database):
  class DynamodbStreams (line 59) | class DynamodbStreams(_Database):
  class DynamodbTable (line 63) | class DynamodbTable(_Database):
  class Dynamodb (line 67) | class Dynamodb(_Database):
  class ElasticacheCacheNode (line 71) | class ElasticacheCacheNode(_Database):
  class ElasticacheForMemcached (line 75) | class ElasticacheForMemcached(_Database):
  class ElasticacheForRedis (line 79) | class ElasticacheForRedis(_Database):
  class Elasticache (line 83) | class Elasticache(_Database):
  class KeyspacesManagedApacheCassandraService (line 87) | class KeyspacesManagedApacheCassandraService(_Database):
  class Neptune (line 91) | class Neptune(_Database):
  class QuantumLedgerDatabaseQldb (line 95) | class QuantumLedgerDatabaseQldb(_Database):
  class RDSInstance (line 99) | class RDSInstance(_Database):
  class RDSMariadbInstance (line 103) | class RDSMariadbInstance(_Database):
  class RDSMysqlInstance (line 107) | class RDSMysqlInstance(_Database):
  class RDSOnVmware (line 111) | class RDSOnVmware(_Database):
  class RDSOracleInstance (line 115) | class RDSOracleInstance(_Database):
  class RDSPostgresqlInstance (line 119) | class RDSPostgresqlInstance(_Database):
  class RDSSqlServerInstance (line 123) | class RDSSqlServerInstance(_Database):
  class RDS (line 127) | class RDS(_Database):
  class RedshiftDenseComputeNode (line 131) | class RedshiftDenseComputeNode(_Database):
  class RedshiftDenseStorageNode (line 135) | class RedshiftDenseStorageNode(_Database):
  class Redshift (line 139) | class Redshift(_Database):
  class Timestream (line 143) | class Timestream(_Database):

FILE: diagrams/aws/devtools.py
  class _Devtools (line 6) | class _Devtools(_AWS):
  class CloudDevelopmentKit (line 11) | class CloudDevelopmentKit(_Devtools):
  class Cloud9Resource (line 15) | class Cloud9Resource(_Devtools):
  class Cloud9 (line 19) | class Cloud9(_Devtools):
  class Cloudshell (line 23) | class Cloudshell(_Devtools):
  class Codeartifact (line 27) | class Codeartifact(_Devtools):
  class Codebuild (line 31) | class Codebuild(_Devtools):
  class Codecommit (line 35) | class Codecommit(_Devtools):
  class Codedeploy (line 39) | class Codedeploy(_Devtools):
  class Codepipeline (line 43) | class Codepipeline(_Devtools):
  class Codestar (line 47) | class Codestar(_Devtools):
  class CommandLineInterface (line 51) | class CommandLineInterface(_Devtools):
  class DeveloperTools (line 55) | class DeveloperTools(_Devtools):
  class ToolsAndSdks (line 59) | class ToolsAndSdks(_Devtools):
  class XRay (line 63) | class XRay(_Devtools):

FILE: diagrams/aws/enablement.py
  class _Enablement (line 6) | class _Enablement(_AWS):
  class CustomerEnablement (line 11) | class CustomerEnablement(_Enablement):
  class Iq (line 15) | class Iq(_Enablement):
  class ManagedServices (line 19) | class ManagedServices(_Enablement):
  class ProfessionalServices (line 23) | class ProfessionalServices(_Enablement):
  class Support (line 27) | class Support(_Enablement):

FILE: diagrams/aws/enduser.py
  class _Enduser (line 6) | class _Enduser(_AWS):
  class Appstream20 (line 11) | class Appstream20(_Enduser):
  class DesktopAndAppStreaming (line 15) | class DesktopAndAppStreaming(_Enduser):
  class Workdocs (line 19) | class Workdocs(_Enduser):
  class Worklink (line 23) | class Worklink(_Enduser):
  class Workspaces (line 27) | class Workspaces(_Enduser):

FILE: diagrams/aws/engagement.py
  class _Engagement (line 6) | class _Engagement(_AWS):
  class Connect (line 11) | class Connect(_Engagement):
  class CustomerEngagement (line 15) | class CustomerEngagement(_Engagement):
  class Pinpoint (line 19) | class Pinpoint(_Engagement):
  class SimpleEmailServiceSesEmail (line 23) | class SimpleEmailServiceSesEmail(_Engagement):
  class SimpleEmailServiceSes (line 27) | class SimpleEmailServiceSes(_Engagement):

FILE: diagrams/aws/game.py
  class _Game (line 6) | class _Game(_AWS):
  class GameTech (line 11) | class GameTech(_Game):
  class Gamelift (line 15) | class Gamelift(_Game):

FILE: diagrams/aws/general.py
  class _General (line 6) | class _General(_AWS):
  class Client (line 11) | class Client(_General):
  class Disk (line 15) | class Disk(_General):
  class Forums (line 19) | class Forums(_General):
  class General (line 23) | class General(_General):
  class GenericDatabase (line 27) | class GenericDatabase(_General):
  class GenericFirewall (line 31) | class GenericFirewall(_General):
  class GenericOfficeBuilding (line 35) | class GenericOfficeBuilding(_General):
  class GenericSamlToken (line 39) | class GenericSamlToken(_General):
  class GenericSDK (line 43) | class GenericSDK(_General):
  class InternetAlt1 (line 47) | class InternetAlt1(_General):
  class InternetAlt2 (line 51) | class InternetAlt2(_General):
  class InternetGateway (line 55) | class InternetGateway(_General):
  class Marketplace (line 59) | class Marketplace(_General):
  class MobileClient (line 63) | class MobileClient(_General):
  class Multimedia (line 67) | class Multimedia(_General):
  class OfficeBuilding (line 71) | class OfficeBuilding(_General):
  class SamlToken (line 75) | class SamlToken(_General):
  class SDK (line 79) | class SDK(_General):
  class SslPadlock (line 83) | class SslPadlock(_General):
  class TapeStorage (line 87) | class TapeStorage(_General):
  class Toolkit (line 91) | class Toolkit(_General):
  class TraditionalServer (line 95) | class TraditionalServer(_General):
  class User (line 99) | class User(_General):
  class Users (line 103) | class Users(_General):

FILE: diagrams/aws/integration.py
  class _Integration (line 6) | class _Integration(_AWS):
  class ApplicationIntegration (line 11) | class ApplicationIntegration(_Integration):
  class Appsync (line 15) | class Appsync(_Integration):
  class ConsoleMobileApplication (line 19) | class ConsoleMobileApplication(_Integration):
  class EventResource (line 23) | class EventResource(_Integration):
  class EventbridgeCustomEventBusResource (line 27) | class EventbridgeCustomEventBusResource(_Integration):
  class EventbridgeDefaultEventBusResource (line 31) | class EventbridgeDefaultEventBusResource(_Integration):
  class EventbridgeEvent (line 35) | class EventbridgeEvent(_Integration):
  class EventbridgePipes (line 39) | class EventbridgePipes(_Integration):
  class EventbridgeRule (line 43) | class EventbridgeRule(_Integration):
  class EventbridgeSaasPartnerEventBusResource (line 47) | class EventbridgeSaasPartnerEventBusResource(_Integration):
  class EventbridgeScheduler (line 51) | class EventbridgeScheduler(_Integration):
  class EventbridgeSchema (line 55) | class EventbridgeSchema(_Integration):
  class Eventbridge (line 59) | class Eventbridge(_Integration):
  class ExpressWorkflows (line 63) | class ExpressWorkflows(_Integration):
  class MQ (line 67) | class MQ(_Integration):
  class SimpleNotificationServiceSnsEmailNotification (line 71) | class SimpleNotificationServiceSnsEmailNotification(_Integration):
  class SimpleNotificationServiceSnsHttpNotification (line 75) | class SimpleNotificationServiceSnsHttpNotification(_Integration):
  class SimpleNotificationServiceSnsTopic (line 79) | class SimpleNotificationServiceSnsTopic(_Integration):
  class SimpleNotificationServiceSns (line 83) | class SimpleNotificationServiceSns(_Integration):
  class SimpleQueueServiceSqsMessage (line 87) | class SimpleQueueServiceSqsMessage(_Integration):
  class SimpleQueueServiceSqsQueue (line 91) | class SimpleQueueServiceSqsQueue(_Integration):
  class SimpleQueueServiceSqs (line 95) | class SimpleQueueServiceSqs(_Integration):
  class StepFunctions (line 99) | class StepFunctions(_Integration):

FILE: diagrams/aws/iot.py
  class _Iot (line 6) | class _Iot(_AWS):
  class Freertos (line 11) | class Freertos(_Iot):
  class InternetOfThings (line 15) | class InternetOfThings(_Iot):
  class Iot1Click (line 19) | class Iot1Click(_Iot):
  class IotAction (line 23) | class IotAction(_Iot):
  class IotActuator (line 27) | class IotActuator(_Iot):
  class IotAlexaEcho (line 31) | class IotAlexaEcho(_Iot):
  class IotAlexaEnabledDevice (line 35) | class IotAlexaEnabledDevice(_Iot):
  class IotAlexaSkill (line 39) | class IotAlexaSkill(_Iot):
  class IotAlexaVoiceService (line 43) | class IotAlexaVoiceService(_Iot):
  class IotAnalyticsChannel (line 47) | class IotAnalyticsChannel(_Iot):
  class IotAnalyticsDataSet (line 51) | class IotAnalyticsDataSet(_Iot):
  class IotAnalyticsDataStore (line 55) | class IotAnalyticsDataStore(_Iot):
  class IotAnalyticsNotebook (line 59) | class IotAnalyticsNotebook(_Iot):
  class IotAnalyticsPipeline (line 63) | class IotAnalyticsPipeline(_Iot):
  class IotAnalytics (line 67) | class IotAnalytics(_Iot):
  class IotBank (line 71) | class IotBank(_Iot):
  class IotBicycle (line 75) | class IotBicycle(_Iot):
  class IotButton (line 79) | class IotButton(_Iot):
  class IotCamera (line 83) | class IotCamera(_Iot):
  class IotCar (line 87) | class IotCar(_Iot):
  class IotCart (line 91) | class IotCart(_Iot):
  class IotCertificate (line 95) | class IotCertificate(_Iot):
  class IotCoffeePot (line 99) | class IotCoffeePot(_Iot):
  class IotCore (line 103) | class IotCore(_Iot):
  class IotDesiredState (line 107) | class IotDesiredState(_Iot):
  class IotDeviceDefender (line 111) | class IotDeviceDefender(_Iot):
  class IotDeviceGateway (line 115) | class IotDeviceGateway(_Iot):
  class IotDeviceManagement (line 119) | class IotDeviceManagement(_Iot):
  class IotDoorLock (line 123) | class IotDoorLock(_Iot):
  class IotEvents (line 127) | class IotEvents(_Iot):
  class IotFactory (line 131) | class IotFactory(_Iot):
  class IotFireTvStick (line 135) | class IotFireTvStick(_Iot):
  class IotFireTv (line 139) | class IotFireTv(_Iot):
  class IotGeneric (line 143) | class IotGeneric(_Iot):
  class IotGreengrassConnector (line 147) | class IotGreengrassConnector(_Iot):
  class IotGreengrass (line 151) | class IotGreengrass(_Iot):
  class IotHardwareBoard (line 155) | class IotHardwareBoard(_Iot):
  class IotHouse (line 159) | class IotHouse(_Iot):
  class IotHttp (line 163) | class IotHttp(_Iot):
  class IotHttp2 (line 167) | class IotHttp2(_Iot):
  class IotJobs (line 171) | class IotJobs(_Iot):
  class IotLambda (line 175) | class IotLambda(_Iot):
  class IotLightbulb (line 179) | class IotLightbulb(_Iot):
  class IotMedicalEmergency (line 183) | class IotMedicalEmergency(_Iot):
  class IotMqtt (line 187) | class IotMqtt(_Iot):
  class IotOverTheAirUpdate (line 191) | class IotOverTheAirUpdate(_Iot):
  class IotPolicyEmergency (line 195) | class IotPolicyEmergency(_Iot):
  class IotPolicy (line 199) | class IotPolicy(_Iot):
  class IotReportedState (line 203) | class IotReportedState(_Iot):
  class IotRule (line 207) | class IotRule(_Iot):
  class IotSensor (line 211) | class IotSensor(_Iot):
  class IotServo (line 215) | class IotServo(_Iot):
  class IotShadow (line 219) | class IotShadow(_Iot):
  class IotSimulator (line 223) | class IotSimulator(_Iot):
  class IotSitewise (line 227) | class IotSitewise(_Iot):
  class IotThermostat (line 231) | class IotThermostat(_Iot):
  class IotThingsGraph (line 235) | class IotThingsGraph(_Iot):
  class IotTopic (line 239) | class IotTopic(_Iot):
  class IotTravel (line 243) | class IotTravel(_Iot):
  class IotUtility (line 247) | class IotUtility(_Iot):
  class IotWindfarm (line 251) | class IotWindfarm(_Iot):

FILE: diagrams/aws/management.py
  class _Management (line 6) | class _Management(_AWS):
  class AmazonDevopsGuru (line 11) | class AmazonDevopsGuru(_Management):
  class AmazonManagedGrafana (line 15) | class AmazonManagedGrafana(_Management):
  class AmazonManagedPrometheus (line 19) | class AmazonManagedPrometheus(_Management):
  class AmazonManagedWorkflowsApacheAirflow (line 23) | class AmazonManagedWorkflowsApacheAirflow(_Management):
  class AutoScaling (line 27) | class AutoScaling(_Management):
  class Chatbot (line 31) | class Chatbot(_Management):
  class CloudformationChangeSet (line 35) | class CloudformationChangeSet(_Management):
  class CloudformationStack (line 39) | class CloudformationStack(_Management):
  class CloudformationTemplate (line 43) | class CloudformationTemplate(_Management):
  class Cloudformation (line 47) | class Cloudformation(_Management):
  class Cloudtrail (line 51) | class Cloudtrail(_Management):
  class CloudwatchAlarm (line 55) | class CloudwatchAlarm(_Management):
  class CloudwatchEventEventBased (line 59) | class CloudwatchEventEventBased(_Management):
  class CloudwatchEventTimeBased (line 63) | class CloudwatchEventTimeBased(_Management):
  class CloudwatchLogs (line 67) | class CloudwatchLogs(_Management):
  class CloudwatchRule (line 71) | class CloudwatchRule(_Management):
  class Cloudwatch (line 75) | class Cloudwatch(_Management):
  class Codeguru (line 79) | class Codeguru(_Management):
  class CommandLineInterface (line 83) | class CommandLineInterface(_Management):
  class Config (line 87) | class Config(_Management):
  class ControlTower (line 91) | class ControlTower(_Management):
  class LicenseManager (line 95) | class LicenseManager(_Management):
  class ManagedServices (line 99) | class ManagedServices(_Management):
  class ManagementAndGovernance (line 103) | class ManagementAndGovernance(_Management):
  class ManagementConsole (line 107) | class ManagementConsole(_Management):
  class OpsworksApps (line 111) | class OpsworksApps(_Management):
  class OpsworksDeployments (line 115) | class OpsworksDeployments(_Management):
  class OpsworksInstances (line 119) | class OpsworksInstances(_Management):
  class OpsworksLayers (line 123) | class OpsworksLayers(_Management):
  class OpsworksMonitoring (line 127) | class OpsworksMonitoring(_Management):
  class OpsworksPermissions (line 131) | class OpsworksPermissions(_Management):
  class OpsworksResources (line 135) | class OpsworksResources(_Management):
  class OpsworksStack (line 139) | class OpsworksStack(_Management):
  class Opsworks (line 143) | class Opsworks(_Management):
  class OrganizationsAccount (line 147) | class OrganizationsAccount(_Management):
  class OrganizationsOrganizationalUnit (line 151) | class OrganizationsOrganizationalUnit(_Management):
  class Organizations (line 155) | class Organizations(_Management):
  class PersonalHealthDashboard (line 159) | class PersonalHealthDashboard(_Management):
  class Proton (line 163) | class Proton(_Management):
  class ServiceCatalog (line 167) | class ServiceCatalog(_Management):
  class SystemsManagerAppConfig (line 171) | class SystemsManagerAppConfig(_Management):
  class SystemsManagerAutomation (line 175) | class SystemsManagerAutomation(_Management):
  class SystemsManagerDocuments (line 179) | class SystemsManagerDocuments(_Management):
  class SystemsManagerInventory (line 183) | class SystemsManagerInventory(_Management):
  class SystemsManagerMaintenanceWindows (line 187) | class SystemsManagerMaintenanceWindows(_Management):
  class SystemsManagerOpscenter (line 191) | class SystemsManagerOpscenter(_Management):
  class SystemsManagerParameterStore (line 195) | class SystemsManagerParameterStore(_Management):
  class SystemsManagerPatchManager (line 199) | class SystemsManagerPatchManager(_Management):
  class SystemsManagerRunCommand (line 203) | class SystemsManagerRunCommand(_Management):
  class SystemsManagerStateManager (line 207) | class SystemsManagerStateManager(_Management):
  class SystemsManager (line 211) | class SystemsManager(_Management):
  class TrustedAdvisorChecklistCost (line 215) | class TrustedAdvisorChecklistCost(_Management):
  class TrustedAdvisorChecklistFaultTolerant (line 219) | class TrustedAdvisorChecklistFaultTolerant(_Management):
  class TrustedAdvisorChecklistPerformance (line 223) | class TrustedAdvisorChecklistPerformance(_Management):
  class TrustedAdvisorChecklistSecurity (line 227) | class TrustedAdvisorChecklistSecurity(_Management):
  class TrustedAdvisorChecklist (line 231) | class TrustedAdvisorChecklist(_Management):
  class TrustedAdvisor (line 235) | class TrustedAdvisor(_Management):
  class UserNotifications (line 239) | class UserNotifications(_Management):
  class WellArchitectedTool (line 243) | class WellArchitectedTool(_Management):

FILE: diagrams/aws/media.py
  class _Media (line 6) | class _Media(_AWS):
  class ElasticTranscoder (line 11) | class ElasticTranscoder(_Media):
  class ElementalConductor (line 15) | class ElementalConductor(_Media):
  class ElementalDelta (line 19) | class ElementalDelta(_Media):
  class ElementalLive (line 23) | class ElementalLive(_Media):
  class ElementalMediaconnect (line 27) | class ElementalMediaconnect(_Media):
  class ElementalMediaconvert (line 31) | class ElementalMediaconvert(_Media):
  class ElementalMedialive (line 35) | class ElementalMedialive(_Media):
  class ElementalMediapackage (line 39) | class ElementalMediapackage(_Media):
  class ElementalMediastore (line 43) | class ElementalMediastore(_Media):
  class ElementalMediatailor (line 47) | class ElementalMediatailor(_Media):
  class ElementalServer (line 51) | class ElementalServer(_Media):
  class KinesisVideoStreams (line 55) | class KinesisVideoStreams(_Media):
  class MediaServices (line 59) | class MediaServices(_Media):

FILE: diagrams/aws/migration.py
  class _Migration (line 6) | class _Migration(_AWS):
  class ApplicationDiscoveryService (line 11) | class ApplicationDiscoveryService(_Migration):
  class CloudendureMigration (line 15) | class CloudendureMigration(_Migration):
  class DatabaseMigrationService (line 19) | class DatabaseMigrationService(_Migration):
  class DatasyncAgent (line 23) | class DatasyncAgent(_Migration):
  class Datasync (line 27) | class Datasync(_Migration):
  class MigrationAndTransfer (line 31) | class MigrationAndTransfer(_Migration):
  class MigrationHub (line 35) | class MigrationHub(_Migration):
  class ServerMigrationService (line 39) | class ServerMigrationService(_Migration):
  class SnowballEdge (line 43) | class SnowballEdge(_Migration):
  class Snowball (line 47) | class Snowball(_Migration):
  class Snowmobile (line 51) | class Snowmobile(_Migration):
  class TransferForSftp (line 55) | class TransferForSftp(_Migration):

FILE: diagrams/aws/ml.py
  class _ML (line 6) | class _ML(_AWS):
  class ApacheMxnetOnAWS (line 11) | class ApacheMxnetOnAWS(_ML):
  class AugmentedAi (line 15) | class AugmentedAi(_ML):
  class Bedrock (line 19) | class Bedrock(_ML):
  class Comprehend (line 23) | class Comprehend(_ML):
  class DeepLearningAmis (line 27) | class DeepLearningAmis(_ML):
  class DeepLearningContainers (line 31) | class DeepLearningContainers(_ML):
  class Deepcomposer (line 35) | class Deepcomposer(_ML):
  class Deeplens (line 39) | class Deeplens(_ML):
  class Deepracer (line 43) | class Deepracer(_ML):
  class ElasticInference (line 47) | class ElasticInference(_ML):
  class Forecast (line 51) | class Forecast(_ML):
  class FraudDetector (line 55) | class FraudDetector(_ML):
  class Kendra (line 59) | class Kendra(_ML):
  class Lex (line 63) | class Lex(_ML):
  class MachineLearning (line 67) | class MachineLearning(_ML):
  class Personalize (line 71) | class Personalize(_ML):
  class Polly (line 75) | class Polly(_ML):
  class Q (line 79) | class Q(_ML):
  class RekognitionImage (line 83) | class RekognitionImage(_ML):
  class RekognitionVideo (line 87) | class RekognitionVideo(_ML):
  class Rekognition (line 91) | class Rekognition(_ML):
  class SagemakerGroundTruth (line 95) | class SagemakerGroundTruth(_ML):
  class SagemakerModel (line 99) | class SagemakerModel(_ML):
  class SagemakerNotebook (line 103) | class SagemakerNotebook(_ML):
  class SagemakerTrainingJob (line 107) | class SagemakerTrainingJob(_ML):
  class Sagemaker (line 111) | class Sagemaker(_ML):
  class TensorflowOnAWS (line 115) | class TensorflowOnAWS(_ML):
  class Textract (line 119) | class Textract(_ML):
  class Transcribe (line 123) | class Transcribe(_ML):
  class Transform (line 127) | class Transform(_ML):
  class Translate (line 131) | class Translate(_ML):

FILE: diagrams/aws/mobile.py
  class _Mobile (line 6) | class _Mobile(_AWS):
  class Amplify (line 11) | class Amplify(_Mobile):
  class APIGatewayEndpoint (line 15) | class APIGatewayEndpoint(_Mobile):
  class APIGateway (line 19) | class APIGateway(_Mobile):
  class Appsync (line 23) | class Appsync(_Mobile):
  class DeviceFarm (line 27) | class DeviceFarm(_Mobile):
  class Mobile (line 31) | class Mobile(_Mobile):
  class Pinpoint (line 35) | class Pinpoint(_Mobile):

FILE: diagrams/aws/network.py
  class _Network (line 6) | class _Network(_AWS):
  class APIGatewayEndpoint (line 11) | class APIGatewayEndpoint(_Network):
  class APIGateway (line 15) | class APIGateway(_Network):
  class AppMesh (line 19) | class AppMesh(_Network):
  class ClientVpn (line 23) | class ClientVpn(_Network):
  class CloudMap (line 27) | class CloudMap(_Network):
  class CloudFrontDownloadDistribution (line 31) | class CloudFrontDownloadDistribution(_Network):
  class CloudFrontEdgeLocation (line 35) | class CloudFrontEdgeLocation(_Network):
  class CloudFrontStreamingDistribution (line 39) | class CloudFrontStreamingDistribution(_Network):
  class CloudFront (line 43) | class CloudFront(_Network):
  class DirectConnect (line 47) | class DirectConnect(_Network):
  class ElasticLoadBalancing (line 51) | class ElasticLoadBalancing(_Network):
  class ElbApplicationLoadBalancer (line 55) | class ElbApplicationLoadBalancer(_Network):
  class ElbClassicLoadBalancer (line 59) | class ElbClassicLoadBalancer(_Network):
  class ElbNetworkLoadBalancer (line 63) | class ElbNetworkLoadBalancer(_Network):
  class Endpoint (line 67) | class Endpoint(_Network):
  class GlobalAccelerator (line 71) | class GlobalAccelerator(_Network):
  class InternetGateway (line 75) | class InternetGateway(_Network):
  class Nacl (line 79) | class Nacl(_Network):
  class NATGateway (line 83) | class NATGateway(_Network):
  class NetworkFirewall (line 87) | class NetworkFirewall(_Network):
  class NetworkingAndContentDelivery (line 91) | class NetworkingAndContentDelivery(_Network):
  class PrivateSubnet (line 95) | class PrivateSubnet(_Network):
  class Privatelink (line 99) | class Privatelink(_Network):
  class PublicSubnet (line 103) | class PublicSubnet(_Network):
  class Route53HostedZone (line 107) | class Route53HostedZone(_Network):
  class Route53 (line 111) | class Route53(_Network):
  class RouteTable (line 115) | class RouteTable(_Network):
  class SiteToSiteVpn (line 119) | class SiteToSiteVpn(_Network):
  class TransitGatewayAttachment (line 123) | class TransitGatewayAttachment(_Network):
  class TransitGateway (line 127) | class TransitGateway(_Network):
  class VPCCustomerGateway (line 131) | class VPCCustomerGateway(_Network):
  class VPCElasticNetworkAdapter (line 135) | class VPCElasticNetworkAdapter(_Network):
  class VPCElasticNetworkInterface (line 139) | class VPCElasticNetworkInterface(_Network):
  class VPCFlowLogs (line 143) | class VPCFlowLogs(_Network):
  class VPCPeering (line 147) | class VPCPeering(_Network):
  class VPCRouter (line 151) | class VPCRouter(_Network):
  class VPCTrafficMirroring (line 155) | class VPCTrafficMirroring(_Network):
  class VPC (line 159) | class VPC(_Network):
  class VpnConnection (line 163) | class VpnConnection(_Network):
  class VpnGateway (line 167) | class VpnGateway(_Network):

FILE: diagrams/aws/quantum.py
  class _Quantum (line 6) | class _Quantum(_AWS):
  class Braket (line 11) | class Braket(_Quantum):
  class QuantumTechnologies (line 15) | class QuantumTechnologies(_Quantum):

FILE: diagrams/aws/robotics.py
  class _Robotics (line 6) | class _Robotics(_AWS):
  class RobomakerCloudExtensionRos (line 11) | class RobomakerCloudExtensionRos(_Robotics):
  class RobomakerDevelopmentEnvironment (line 15) | class RobomakerDevelopmentEnvironment(_Robotics):
  class RobomakerFleetManagement (line 19) | class RobomakerFleetManagement(_Robotics):
  class RobomakerSimulator (line 23) | class RobomakerSimulator(_Robotics):
  class Robomaker (line 27) | class Robomaker(_Robotics):
  class Robotics (line 31) | class Robotics(_Robotics):

FILE: diagrams/aws/satellite.py
  class _Satellite (line 6) | class _Satellite(_AWS):
  class GroundStation (line 11) | class GroundStation(_Satellite):
  class Satellite (line 15) | class Satellite(_Satellite):

FILE: diagrams/aws/security.py
  class _Security (line 6) | class _Security(_AWS):
  class AdConnector (line 11) | class AdConnector(_Security):
  class Artifact (line 15) | class Artifact(_Security):
  class CertificateAuthority (line 19) | class CertificateAuthority(_Security):
  class CertificateManager (line 23) | class CertificateManager(_Security):
  class CloudDirectory (line 27) | class CloudDirectory(_Security):
  class Cloudhsm (line 31) | class Cloudhsm(_Security):
  class Cognito (line 35) | class Cognito(_Security):
  class Detective (line 39) | class Detective(_Security):
  class DirectoryService (line 43) | class DirectoryService(_Security):
  class FirewallManager (line 47) | class FirewallManager(_Security):
  class Guardduty (line 51) | class Guardduty(_Security):
  class IdentityAndAccessManagementIamAccessAnalyzer (line 55) | class IdentityAndAccessManagementIamAccessAnalyzer(_Security):
  class IdentityAndAccessManagementIamAddOn (line 59) | class IdentityAndAccessManagementIamAddOn(_Security):
  class IdentityAndAccessManagementIamAWSStsAlternate (line 63) | class IdentityAndAccessManagementIamAWSStsAlternate(_Security):
  class IdentityAndAccessManagementIamAWSSts (line 67) | class IdentityAndAccessManagementIamAWSSts(_Security):
  class IdentityAndAccessManagementIamDataEncryptionKey (line 71) | class IdentityAndAccessManagementIamDataEncryptionKey(_Security):
  class IdentityAndAccessManagementIamEncryptedData (line 75) | class IdentityAndAccessManagementIamEncryptedData(_Security):
  class IdentityAndAccessManagementIamLongTermSecurityCredential (line 79) | class IdentityAndAccessManagementIamLongTermSecurityCredential(_Security):
  class IdentityAndAccessManagementIamMfaToken (line 83) | class IdentityAndAccessManagementIamMfaToken(_Security):
  class IdentityAndAccessManagementIamPermissions (line 87) | class IdentityAndAccessManagementIamPermissions(_Security):
  class IdentityAndAccessManagementIamRole (line 91) | class IdentityAndAccessManagementIamRole(_Security):
  class IdentityAndAccessManagementIamTemporarySecurityCredential (line 95) | class IdentityAndAccessManagementIamTemporarySecurityCredential(_Security):
  class IdentityAndAccessManagementIam (line 99) | class IdentityAndAccessManagementIam(_Security):
  class InspectorAgent (line 103) | class InspectorAgent(_Security):
  class Inspector (line 107) | class Inspector(_Security):
  class KeyManagementService (line 111) | class KeyManagementService(_Security):
  class Macie (line 115) | class Macie(_Security):
  class ManagedMicrosoftAd (line 119) | class ManagedMicrosoftAd(_Security):
  class ResourceAccessManager (line 123) | class ResourceAccessManager(_Security):
  class SecretsManager (line 127) | class SecretsManager(_Security):
  class SecurityHubFinding (line 131) | class SecurityHubFinding(_Security):
  class SecurityHub (line 135) | class SecurityHub(_Security):
  class SecurityIdentityAndCompliance (line 139) | class SecurityIdentityAndCompliance(_Security):
  class SecurityLake (line 143) | class SecurityLake(_Security):
  class ShieldAdvanced (line 147) | class ShieldAdvanced(_Security):
  class Shield (line 151) | class Shield(_Security):
  class SimpleAd (line 155) | class SimpleAd(_Security):
  class SingleSignOn (line 159) | class SingleSignOn(_Security):
  class WAFFilteringRule (line 163) | class WAFFilteringRule(_Security):
  class WAF (line 167) | class WAF(_Security):

FILE: diagrams/aws/storage.py
  class _Storage (line 6) | class _Storage(_AWS):
  class Backup (line 11) | class Backup(_Storage):
  class CloudendureDisasterRecovery (line 15) | class CloudendureDisasterRecovery(_Storage):
  class EFSInfrequentaccessPrimaryBg (line 19) | class EFSInfrequentaccessPrimaryBg(_Storage):
  class EFSStandardPrimaryBg (line 23) | class EFSStandardPrimaryBg(_Storage):
  class ElasticBlockStoreEBSSnapshot (line 27) | class ElasticBlockStoreEBSSnapshot(_Storage):
  class ElasticBlockStoreEBSVolume (line 31) | class ElasticBlockStoreEBSVolume(_Storage):
  class ElasticBlockStoreEBS (line 35) | class ElasticBlockStoreEBS(_Storage):
  class ElasticFileSystemEFSFileSystem (line 39) | class ElasticFileSystemEFSFileSystem(_Storage):
  class ElasticFileSystemEFS (line 43) | class ElasticFileSystemEFS(_Storage):
  class FsxForLustre (line 47) | class FsxForLustre(_Storage):
  class FsxForWindowsFileServer (line 51) | class FsxForWindowsFileServer(_Storage):
  class Fsx (line 55) | class Fsx(_Storage):
  class MultipleVolumesResource (line 59) | class MultipleVolumesResource(_Storage):
  class S3AccessPoints (line 63) | class S3AccessPoints(_Storage):
  class S3GlacierArchive (line 67) | class S3GlacierArchive(_Storage):
  class S3GlacierVault (line 71) | class S3GlacierVault(_Storage):
  class S3Glacier (line 75) | class S3Glacier(_Storage):
  class S3ObjectLambdaAccessPoints (line 79) | class S3ObjectLambdaAccessPoints(_Storage):
  class SimpleStorageServiceS3BucketWithObjects (line 83) | class SimpleStorageServiceS3BucketWithObjects(_Storage):
  class SimpleStorageServiceS3Bucket (line 87) | class SimpleStorageServiceS3Bucket(_Storage):
  class SimpleStorageServiceS3Object (line 91) | class SimpleStorageServiceS3Object(_Storage):
  class SimpleStorageServiceS3 (line 95) | class SimpleStorageServiceS3(_Storage):
  class SnowFamilySnowballImportExport (line 99) | class SnowFamilySnowballImportExport(_Storage):
  class SnowballEdge (line 103) | class SnowballEdge(_Storage):
  class Snowball (line 107) | class Snowball(_Storage):
  class Snowmobile (line 111) | class Snowmobile(_Storage):
  class StorageGatewayCachedVolume (line 115) | class StorageGatewayCachedVolume(_Storage):
  class StorageGatewayNonCachedVolume (line 119) | class StorageGatewayNonCachedVolume(_Storage):
  class StorageGatewayVirtualTapeLibrary (line 123) | class StorageGatewayVirtualTapeLibrary(_Storage):
  class StorageGateway (line 127) | class StorageGateway(_Storage):
  class Storage (line 131) | class Storage(_Storage):

FILE: diagrams/azure/__init__.py
  class _Azure (line 8) | class _Azure(Node):
  class Azure (line 15) | class Azure(_Azure):

FILE: diagrams/azure/aimachinelearning.py
  class _Aimachinelearning (line 6) | class _Aimachinelearning(_Azure):
  class AIStudio (line 11) | class AIStudio(_Aimachinelearning):
  class AnomalyDetector (line 15) | class AnomalyDetector(_Aimachinelearning):
  class AzureAppliedAIServices (line 19) | class AzureAppliedAIServices(_Aimachinelearning):
  class AzureExperimentationStudio (line 23) | class AzureExperimentationStudio(_Aimachinelearning):
  class AzureObjectUnderstanding (line 27) | class AzureObjectUnderstanding(_Aimachinelearning):
  class AzureOpenai (line 31) | class AzureOpenai(_Aimachinelearning):
  class BatchAI (line 35) | class BatchAI(_Aimachinelearning):
  class Bonsai (line 39) | class Bonsai(_Aimachinelearning):
  class BotServices (line 43) | class BotServices(_Aimachinelearning):
  class CognitiveSearch (line 47) | class CognitiveSearch(_Aimachinelearning):
  class CognitiveServicesDecisions (line 51) | class CognitiveServicesDecisions(_Aimachinelearning):
  class CognitiveServices (line 55) | class CognitiveServices(_Aimachinelearning):
  class ComputerVision (line 59) | class ComputerVision(_Aimachinelearning):
  class ContentModerators (line 63) | class ContentModerators(_Aimachinelearning):
  class CustomVision (line 67) | class CustomVision(_Aimachinelearning):
  class FaceApis (line 71) | class FaceApis(_Aimachinelearning):
  class FormRecognizers (line 75) | class FormRecognizers(_Aimachinelearning):
  class GenomicsAccounts (line 79) | class GenomicsAccounts(_Aimachinelearning):
  class Genomics (line 83) | class Genomics(_Aimachinelearning):
  class ImmersiveReaders (line 87) | class ImmersiveReaders(_Aimachinelearning):
  class LanguageUnderstanding (line 91) | class LanguageUnderstanding(_Aimachinelearning):
  class Language (line 95) | class Language(_Aimachinelearning):
  class MachineLearningStudioClassicWebServices (line 99) | class MachineLearningStudioClassicWebServices(_Aimachinelearning):
  class MachineLearningStudioWebServicePlans (line 103) | class MachineLearningStudioWebServicePlans(_Aimachinelearning):
  class MachineLearningStudioWorkspaces (line 107) | class MachineLearningStudioWorkspaces(_Aimachinelearning):
  class MachineLearning (line 111) | class MachineLearning(_Aimachinelearning):
  class MetricsAdvisor (line 115) | class MetricsAdvisor(_Aimachinelearning):
  class Personalizers (line 119) | class Personalizers(_Aimachinelearning):
  class QnaMakers (line 123) | class QnaMakers(_Aimachinelearning):
  class ServerlessSearch (line 127) | class ServerlessSearch(_Aimachinelearning):
  class SpeechServices (line 131) | class SpeechServices(_Aimachinelearning):
  class TranslatorText (line 135) | class TranslatorText(_Aimachinelearning):

FILE: diagrams/azure/analytics.py
  class _Analytics (line 6) | class _Analytics(_Azure):
  class AnalysisServices (line 11) | class AnalysisServices(_Analytics):
  class AzureDataExplorerClusters (line 15) | class AzureDataExplorerClusters(_Analytics):
  class AzureDatabricks (line 19) | class AzureDatabricks(_Analytics):
  class AzureSynapseAnalytics (line 23) | class AzureSynapseAnalytics(_Analytics):
  class AzureWorkbooks (line 27) | class AzureWorkbooks(_Analytics):
  class DataExplorerClusters (line 31) | class DataExplorerClusters(_Analytics):
  class DataFactories (line 35) | class DataFactories(_Analytics):
  class DataLakeAnalytics (line 39) | class DataLakeAnalytics(_Analytics):
  class DataLakeStoreGen1 (line 43) | class DataLakeStoreGen1(_Analytics):
  class Databricks (line 47) | class Databricks(_Analytics):
  class EndpointAnalytics (line 51) | class EndpointAnalytics(_Analytics):
  class EventHubClusters (line 55) | class EventHubClusters(_Analytics):
  class EventHubs (line 59) | class EventHubs(_Analytics):
  class HDInsightClusters (line 63) | class HDInsightClusters(_Analytics):
  class LogAnalyticsWorkspaces (line 67) | class LogAnalyticsWorkspaces(_Analytics):
  class PowerBiEmbedded (line 71) | class PowerBiEmbedded(_Analytics):
  class PowerPlatform (line 75) | class PowerPlatform(_Analytics):
  class PrivateLinkServices (line 79) | class PrivateLinkServices(_Analytics):
  class StreamAnalyticsJobs (line 83) | class StreamAnalyticsJobs(_Analytics):
  class SynapseAnalytics (line 87) | class SynapseAnalytics(_Analytics):

FILE: diagrams/azure/appservices.py
  class _Appservices (line 6) | class _Appservices(_Azure):
  class AppServiceCertificates (line 11) | class AppServiceCertificates(_Appservices):
  class AppServiceDomains (line 15) | class AppServiceDomains(_Appservices):
  class AppServiceEnvironments (line 19) | class AppServiceEnvironments(_Appservices):
  class AppServicePlans (line 23) | class AppServicePlans(_Appservices):
  class AppServices (line 27) | class AppServices(_Appservices):
  class CDNProfiles (line 31) | class CDNProfiles(_Appservices):
  class CognitiveSearch (line 35) | class CognitiveSearch(_Appservices):
  class NotificationHubs (line 39) | class NotificationHubs(_Appservices):

FILE: diagrams/azure/azureecosystem.py
  class _Azureecosystem (line 6) | class _Azureecosystem(_Azure):
  class Applens (line 11) | class Applens(_Azureecosystem):
  class AzureHybridCenter (line 15) | class AzureHybridCenter(_Azureecosystem):
  class CollaborativeService (line 19) | class CollaborativeService(_Azureecosystem):

FILE: diagrams/azure/azurestack.py
  class _Azurestack (line 6) | class _Azurestack(_Azure):
  class Capacity (line 11) | class Capacity(_Azurestack):
  class InfrastructureBackup (line 15) | class InfrastructureBackup(_Azurestack):
  class MultiTenancy (line 19) | class MultiTenancy(_Azurestack):
  class Offers (line 23) | class Offers(_Azurestack):
  class Plans (line 27) | class Plans(_Azurestack):
  class Updates (line 31) | class Updates(_Azurestack):
  class UserSubscriptions (line 35) | class UserSubscriptions(_Azurestack):

FILE: diagrams/azure/blockchain.py
  class _Blockchain (line 6) | class _Blockchain(_Azure):
  class AbsMember (line 11) | class AbsMember(_Blockchain):
  class AzureBlockchainService (line 15) | class AzureBlockchainService(_Blockchain):
  class AzureTokenService (line 19) | class AzureTokenService(_Blockchain):
  class BlockchainApplications (line 23) | class BlockchainApplications(_Blockchain):
  class Consortium (line 27) | class Consortium(_Blockchain):
  class OutboundConnection (line 31) | class OutboundConnection(_Blockchain):

FILE: diagrams/azure/compute.py
  class _Compute (line 6) | class _Compute(_Azure):
  class AppServices (line 11) | class AppServices(_Compute):
  class ApplicationGroup (line 15) | class ApplicationGroup(_Compute):
  class AutomanagedVM (line 19) | class AutomanagedVM(_Compute):
  class AvailabilitySets (line 23) | class AvailabilitySets(_Compute):
  class AzureComputeGalleries (line 27) | class AzureComputeGalleries(_Compute):
  class AzureSpringApps (line 31) | class AzureSpringApps(_Compute):
  class BatchAccounts (line 35) | class BatchAccounts(_Compute):
  class CitrixVirtualDesktopsEssentials (line 39) | class CitrixVirtualDesktopsEssentials(_Compute):
  class CloudServicesClassic (line 43) | class CloudServicesClassic(_Compute):
  class CloudServices (line 47) | class CloudServices(_Compute):
  class CloudsimpleVirtualMachines (line 51) | class CloudsimpleVirtualMachines(_Compute):
  class ContainerApps (line 55) | class ContainerApps(_Compute):
  class ContainerInstances (line 59) | class ContainerInstances(_Compute):
  class ContainerRegistries (line 63) | class ContainerRegistries(_Compute):
  class ContainerServicesDeprecated (line 67) | class ContainerServicesDeprecated(_Compute):
  class DiskEncryptionSets (line 71) | class DiskEncryptionSets(_Compute):
  class DiskSnapshots (line 75) | class DiskSnapshots(_Compute):
  class DisksClassic (line 79) | class DisksClassic(_Compute):
  class DisksSnapshots (line 83) | class DisksSnapshots(_Compute):
  class Disks (line 87) | class Disks(_Compute):
  class FunctionApps (line 91) | class FunctionApps(_Compute):
  class HostGroups (line 95) | class HostGroups(_Compute):
  class HostPools (line 99) | class HostPools(_Compute):
  class Hosts (line 103) | class Hosts(_Compute):
  class ImageDefinitions (line 107) | class ImageDefinitions(_Compute):
  class ImageTemplates (line 111) | class ImageTemplates(_Compute):
  class ImageVersions (line 115) | class ImageVersions(_Compute):
  class Images (line 119) | class Images(_Compute):
  class KubernetesServices (line 123) | class KubernetesServices(_Compute):
  class MaintenanceConfiguration (line 127) | class MaintenanceConfiguration(_Compute):
  class ManagedServiceFabric (line 131) | class ManagedServiceFabric(_Compute):
  class MeshApplications (line 135) | class MeshApplications(_Compute):
  class MetricsAdvisor (line 139) | class MetricsAdvisor(_Compute):
  class OsImagesClassic (line 143) | class OsImagesClassic(_Compute):
  class OsImages (line 147) | class OsImages(_Compute):
  class RestorePointsCollections (line 151) | class RestorePointsCollections(_Compute):
  class RestorePoints (line 155) | class RestorePoints(_Compute):
  class SAPHANAOnAzure (line 159) | class SAPHANAOnAzure(_Compute):
  class ServiceFabricClusters (line 163) | class ServiceFabricClusters(_Compute):
  class SharedImageGalleries (line 167) | class SharedImageGalleries(_Compute):
  class SpringCloud (line 171) | class SpringCloud(_Compute):
  class VirtualMachine (line 175) | class VirtualMachine(_Compute):
  class VirtualMachinesClassic (line 179) | class VirtualMachinesClassic(_Compute):
  class VMClassic (line 183) | class VMClassic(_Compute):
  class VMImagesClassic (line 187) | class VMImagesClassic(_Compute):
  class VMImages (line 191) | class VMImages(_Compute):
  class VMLinux (line 195) | class VMLinux(_Compute):
  class VMScaleSet (line 199) | class VMScaleSet(_Compute):
  class VMScaleSets (line 203) | class VMScaleSets(_Compute):
  class VMWindows (line 207) | class VMWindows(_Compute):
  class VM (line 211) | class VM(_Compute):
  class Workspaces2 (line 215) | class Workspaces2(_Compute):
  class Workspaces (line 219) | class Workspaces(_Compute):

FILE: diagrams/azure/containers.py
  class _Containers (line 6) | class _Containers(_Azure):
  class AppServices (line 11) | class AppServices(_Containers):
  class AzureRedHatOpenshift (line 15) | class AzureRedHatOpenshift(_Containers):
  class BatchAccounts (line 19) | class BatchAccounts(_Containers):
  class ContainerInstances (line 23) | class ContainerInstances(_Containers):
  class ContainerRegistries (line 27) | class ContainerRegistries(_Containers):
  class KubernetesServices (line 31) | class KubernetesServices(_Containers):
  class ServiceFabricClusters (line 35) | class ServiceFabricClusters(_Containers):

FILE: diagrams/azure/database.py
  class _Database (line 6) | class _Database(_Azure):
  class BlobStorage (line 11) | class BlobStorage(_Database):
  class CacheForRedis (line 15) | class CacheForRedis(_Database):
  class CosmosDb (line 19) | class CosmosDb(_Database):
  class DataExplorerClusters (line 23) | class DataExplorerClusters(_Database):
  class DataFactory (line 27) | class DataFactory(_Database):
  class DataLake (line 31) | class DataLake(_Database):
  class DatabaseForMariadbServers (line 35) | class DatabaseForMariadbServers(_Database):
  class DatabaseForMysqlServers (line 39) | class DatabaseForMysqlServers(_Database):
  class DatabaseForPostgresqlServers (line 43) | class DatabaseForPostgresqlServers(_Database):
  class ElasticDatabasePools (line 47) | class ElasticDatabasePools(_Database):
  class ElasticJobAgents (line 51) | class ElasticJobAgents(_Database):
  class InstancePools (line 55) | class InstancePools(_Database):
  class ManagedDatabases (line 59) | class ManagedDatabases(_Database):
  class SQLDatabases (line 63) | class SQLDatabases(_Database):
  class SQLDatawarehouse (line 67) | class SQLDatawarehouse(_Database):
  class SQLManagedInstances (line 71) | class SQLManagedInstances(_Database):
  class SQLServerStretchDatabases (line 75) | class SQLServerStretchDatabases(_Database):
  class SQLServers (line 79) | class SQLServers(_Database):
  class SQLVM (line 83) | class SQLVM(_Database):
  class SQL (line 87) | class SQL(_Database):
  class SsisLiftAndShiftIr (line 91) | class SsisLiftAndShiftIr(_Database):
  class SynapseAnalytics (line 95) | class SynapseAnalytics(_Database):
  class VirtualClusters (line 99) | class VirtualClusters(_Database):
  class VirtualDatacenter (line 103) | class VirtualDatacenter(_Database):

FILE: diagrams/azure/databases.py
  class _Databases (line 6) | class _Databases(_Azure):
  class AzureCosmosDb (line 11) | class AzureCosmosDb(_Databases):
  class AzureDataExplorerClusters (line 15) | class AzureDataExplorerClusters(_Databases):
  class AzureDatabaseMariadbServer (line 19) | class AzureDatabaseMariadbServer(_Databases):
  class AzureDatabaseMigrationServices (line 23) | class AzureDatabaseMigrationServices(_Databases):
  class AzureDatabaseMysqlServer (line 27) | class AzureDatabaseMysqlServer(_Databases):
  class AzureDatabasePostgresqlServerGroup (line 31) | class AzureDatabasePostgresqlServerGroup(_Databases):
  class AzureDatabasePostgresqlServer (line 35) | class AzureDatabasePostgresqlServer(_Databases):
  class AzurePurviewAccounts (line 39) | class AzurePurviewAccounts(_Databases):
  class AzureSQLEdge (line 43) | class AzureSQLEdge(_Databases):
  class AzureSQLServerStretchDatabases (line 47) | class AzureSQLServerStretchDatabases(_Databases):
  class AzureSQLVM (line 51) | class AzureSQLVM(_Databases):
  class AzureSQL (line 55) | class AzureSQL(_Databases):
  class AzureSynapseAnalytics (line 59) | class AzureSynapseAnalytics(_Databases):
  class CacheRedis (line 63) | class CacheRedis(_Databases):
  class DataFactories (line 67) | class DataFactories(_Databases):
  class ElasticJobAgents (line 71) | class ElasticJobAgents(_Databases):
  class InstancePools (line 75) | class InstancePools(_Databases):
  class ManagedDatabase (line 79) | class ManagedDatabase(_Databases):
  class OracleDatabase (line 83) | class OracleDatabase(_Databases):
  class SQLDataWarehouses (line 87) | class SQLDataWarehouses(_Databases):
  class SQLDatabase (line 91) | class SQLDatabase(_Databases):
  class SQLElasticPools (line 95) | class SQLElasticPools(_Databases):
  class SQLManagedInstance (line 99) | class SQLManagedInstance(_Databases):
  class SQLServerRegistries (line 103) | class SQLServerRegistries(_Databases):
  class SQLServer (line 107) | class SQLServer(_Databases):
  class SsisLiftAndShiftIr (line 111) | class SsisLiftAndShiftIr(_Databases):
  class VirtualClusters (line 115) | class VirtualClusters(_Databases):

FILE: diagrams/azure/devops.py
  class _Devops (line 6) | class _Devops(_Azure):
  class APIConnections (line 11) | class APIConnections(_Devops):
  class APIManagementServices (line 15) | class APIManagementServices(_Devops):
  class ApplicationInsights (line 19) | class ApplicationInsights(_Devops):
  class Artifacts (line 23) | class Artifacts(_Devops):
  class AzureDevops (line 27) | class AzureDevops(_Devops):
  class Boards (line 31) | class Boards(_Devops):
  class ChangeAnalysis (line 35) | class ChangeAnalysis(_Devops):
  class Cloudtest (line 39) | class Cloudtest(_Devops):
  class CodeOptimization (line 43) | class CodeOptimization(_Devops):
  class DevopsStarter (line 47) | class DevopsStarter(_Devops):
  class Devops (line 51) | class Devops(_Devops):
  class DevtestLabs (line 55) | class DevtestLabs(_Devops):
  class LabAccounts (line 59) | class LabAccounts(_Devops):
  class LabServices (line 63) | class LabServices(_Devops):
  class LoadTesting (line 67) | class LoadTesting(_Devops):
  class Pipelines (line 71) | class Pipelines(_Devops):
  class Repos (line 75) | class Repos(_Devops):
  class TestPlans (line 79) | class TestPlans(_Devops):

FILE: diagrams/azure/general.py
  class _General (line 6) | class _General(_Azure):
  class AllResources (line 11) | class AllResources(_General):
  class Allresources (line 15) | class Allresources(_General):
  class Azurehome (line 19) | class Azurehome(_General):
  class Backlog (line 23) | class Backlog(_General):
  class BizTalk (line 27) | class BizTalk(_General):
  class BlobBlock (line 31) | class BlobBlock(_General):
  class BlobPage (line 35) | class BlobPage(_General):
  class Branch (line 39) | class Branch(_General):
  class Browser (line 43) | class Browser(_General):
  class Bug (line 47) | class Bug(_General):
  class Builds (line 51) | class Builds(_General):
  class Cache (line 55) | class Cache(_General):
  class Code (line 59) | class Code(_General):
  class Commit (line 63) | class Commit(_General):
  class ControlsHorizontal (line 67) | class ControlsHorizontal(_General):
  class Controls (line 71) | class Controls(_General):
  class CostAlerts (line 75) | class CostAlerts(_General):
  class CostAnalysis (line 79) | class CostAnalysis(_General):
  class CostBudgets (line 83) | class CostBudgets(_General):
  class CostManagementAndBilling (line 87) | class CostManagementAndBilling(_General):
  class CostManagement (line 91) | class CostManagement(_General):
  class Counter (line 95) | class Counter(_General):
  class Cubes (line 99) | class Cubes(_General):
  class Dashboard (line 103) | class Dashboard(_General):
  class DevConsole (line 107) | class DevConsole(_General):
  class Developertools (line 111) | class Developertools(_General):
  class Download (line 115) | class Download(_General):
  class Error (line 119) | class Error(_General):
  class Extensions (line 123) | class Extensions(_General):
  class FeaturePreviews (line 127) | class FeaturePreviews(_General):
  class File (line 131) | class File(_General):
  class Files (line 135) | class Files(_General):
  class FolderBlank (line 139) | class FolderBlank(_General):
  class FolderWebsite (line 143) | class FolderWebsite(_General):
  class FreeServices (line 147) | class FreeServices(_General):
  class Ftp (line 151) | class Ftp(_General):
  class Gear (line 155) | class Gear(_General):
  class GlobeError (line 159) | class GlobeError(_General):
  class GlobeSuccess (line 163) | class GlobeSuccess(_General):
  class GlobeWarning (line 167) | class GlobeWarning(_General):
  class Guide (line 171) | class Guide(_General):
  class Heart (line 175) | class Heart(_General):
  class HelpAndSupport (line 179) | class HelpAndSupport(_General):
  class Helpsupport (line 183) | class Helpsupport(_General):
  class Image (line 187) | class Image(_General):
  class Information (line 191) | class Information(_General):
  class InputOutput (line 195) | class InputOutput(_General):
  class JourneyHub (line 199) | class JourneyHub(_General):
  class LaunchPortal (line 203) | class LaunchPortal(_General):
  class Learn (line 207) | class Learn(_General):
  class LoadTest (line 211) | class LoadTest(_General):
  class Location (line 215) | class Location(_General):
  class LogStreaming (line 219) | class LogStreaming(_General):
  class ManagementGroups (line 223) | class ManagementGroups(_General):
  class ManagementPortal (line 227) | class ManagementPortal(_General):
  class Managementgroups (line 231) | class Managementgroups(_General):
  class MarketplaceManagement (line 235) | class MarketplaceManagement(_General):
  class Marketplace (line 239) | class Marketplace(_General):
  class MediaFile (line 243) | class MediaFile(_General):
  class Media (line 247) | class Media(_General):
  class MobileEngagement (line 251) | class MobileEngagement(_General):
  class Mobile (line 255) | class Mobile(_General):
  class Module (line 259) | class Module(_General):
  class PowerUp (line 263) | class PowerUp(_General):
  class Power (line 267) | class Power(_General):
  class Powershell (line 271) | class Powershell(_General):
  class PreviewFeatures (line 275) | class PreviewFeatures(_General):
  class ProcessExplorer (line 279) | class ProcessExplorer(_General):
  class ProductionReadyDatabase (line 283) | class ProductionReadyDatabase(_General):
  class QuickstartCenter (line 287) | class QuickstartCenter(_General):
  class Quickstartcenter (line 291) | class Quickstartcenter(_General):
  class Recent (line 295) | class Recent(_General):
  class RegionManagement (line 299) | class RegionManagement(_General):
  class Reservations (line 303) | class Reservations(_General):
  class ResourceExplorer (line 307) | class ResourceExplorer(_General):
  class ResourceGroupList (line 311) | class ResourceGroupList(_General):
  class ResourceGroups (line 315) | class ResourceGroups(_General):
  class ResourceLinked (line 319) | class ResourceLinked(_General):
  class Resource (line 323) | class Resource(_General):
  class Resourcegroups (line 327) | class Resourcegroups(_General):
  class Scheduler (line 331) | class Scheduler(_General):
  class SearchGrid (line 335) | class SearchGrid(_General):
  class Search (line 339) | class Search(_General):
  class ServerFarm (line 343) | class ServerFarm(_General):
  class ServiceHealth (line 347) | class ServiceHealth(_General):
  class Servicehealth (line 351) | class Servicehealth(_General):
  class Shareddashboard (line 355) | class Shareddashboard(_General):
  class Ssd (line 359) | class Ssd(_General):
  class StorageAzureFiles (line 363) | class StorageAzureFiles(_General):
  class StorageContainer (line 367) | class StorageContainer(_General):
  class StorageQueue (line 371) | class StorageQueue(_General):
  class Subscriptions (line 375) | class Subscriptions(_General):
  class Support (line 379) | class Support(_General):
  class Supportrequests (line 383) | class Supportrequests(_General):
  class Table (line 387) | class Table(_General):
  class Tag (line 391) | class Tag(_General):
  class Tags (line 395) | class Tags(_General):
  class Templates (line 399) | class Templates(_General):
  class TfsVcRepository (line 403) | class TfsVcRepository(_General):
  class Toolbox (line 407) | class Toolbox(_General):
  class Troubleshoot (line 411) | class Troubleshoot(_General):
  class Twousericon (line 415) | class Twousericon(_General):
  class Userhealthicon (line 419) | class Userhealthicon(_General):
  class Usericon (line 423) | class Usericon(_General):
  class Userprivacy (line 427) | class Userprivacy(_General):
  class Userresource (line 431) | class Userresource(_General):
  class Versions (line 435) | class Versions(_General):
  class WebSlots (line 439) | class WebSlots(_General):
  class WebTest (line 443) | class WebTest(_General):
  class WebsitePower (line 447) | class WebsitePower(_General):
  class WebsiteStaging (line 451) | class WebsiteStaging(_General):
  class Whatsnew (line 455) | class Whatsnew(_General):
  class Workbooks (line 459) | class Workbooks(_General):
  class Workflow (line 463) | class Workflow(_General):

FILE: diagrams/azure/hybridmulticloud.py
  class _Hybridmulticloud (line 6) | class _Hybridmulticloud(_Azure):
  class AzureOperator5GCore (line 11) | class AzureOperator5GCore(_Hybridmulticloud):
  class AzureOperatorInsights (line 15) | class AzureOperatorInsights(_Hybridmulticloud):
  class AzureOperatorNexus (line 19) | class AzureOperatorNexus(_Hybridmulticloud):
  class AzureOperatorServiceManager (line 23) | class AzureOperatorServiceManager(_Hybridmulticloud):
  class AzureProgrammableConnectivity (line 27) | class AzureProgrammableConnectivity(_Hybridmulticloud):

FILE: diagrams/azure/identity.py
  class _Identity (line 6) | class _Identity(_Azure):
  class AadLicenses (line 11) | class AadLicenses(_Identity):
  class AccessReview (line 15) | class AccessReview(_Identity):
  class ActiveDirectoryConnectHealth (line 19) | class ActiveDirectoryConnectHealth(_Identity):
  class ActiveDirectory (line 23) | class ActiveDirectory(_Identity):
  class ADB2C (line 27) | class ADB2C(_Identity):
  class ADDomainServices (line 31) | class ADDomainServices(_Identity):
  class ADIdentityProtection (line 35) | class ADIdentityProtection(_Identity):
  class ADPrivilegedIdentityManagement (line 39) | class ADPrivilegedIdentityManagement(_Identity):
  class AdministrativeUnits (line 43) | class AdministrativeUnits(_Identity):
  class APIProxy (line 47) | class APIProxy(_Identity):
  class AppRegistrations (line 51) | class AppRegistrations(_Identity):
  class AzureActiveDirectory (line 55) | class AzureActiveDirectory(_Identity):
  class AzureADB2C (line 59) | class AzureADB2C(_Identity):
  class AzureADDomainServices (line 63) | class AzureADDomainServices(_Identity):
  class AzureADIdentityProtection (line 67) | class AzureADIdentityProtection(_Identity):
  class AzureADPrivilegeIdentityManagement (line 71) | class AzureADPrivilegeIdentityManagement(_Identity):
  class AzureADPrivlegedIdentityManagement (line 75) | class AzureADPrivlegedIdentityManagement(_Identity):
  class AzureADRolesAndAdministrators (line 79) | class AzureADRolesAndAdministrators(_Identity):
  class AzureInformationProtection (line 83) | class AzureInformationProtection(_Identity):
  class ConditionalAccess (line 87) | class ConditionalAccess(_Identity):
  class CustomAzureADRoles (line 91) | class CustomAzureADRoles(_Identity):
  class EnterpriseApplications (line 95) | class EnterpriseApplications(_Identity):
  class EntraConnect (line 99) | class EntraConnect(_Identity):
  class EntraDomainServices (line 103) | class EntraDomainServices(_Identity):
  class EntraIDProtection (line 107) | class EntraIDProtection(_Identity):
  class EntraManagedIdentities (line 111) | class EntraManagedIdentities(_Identity):
  class EntraPrivlegedIdentityManagement (line 115) | class EntraPrivlegedIdentityManagement(_Identity):
  class EntraVerifiedID (line 119) | class EntraVerifiedID(_Identity):
  class ExternalIdentities (line 123) | class ExternalIdentities(_Identity):
  class GlobalSecureAccess (line 127) | class GlobalSecureAccess(_Identity):
  class Groups (line 131) | class Groups(_Identity):
  class IdentityGovernance (line 135) | class IdentityGovernance(_Identity):
  class InformationProtection (line 139) | class InformationProtection(_Identity):
  class InternetAccess (line 143) | class InternetAccess(_Identity):
  class ManagedIdentities (line 147) | class ManagedIdentities(_Identity):
  class PrivateAccess (line 151) | class PrivateAccess(_Identity):
  class Security (line 155) | class Security(_Identity):
  class TenantProperties (line 159) | class TenantProperties(_Identity):
  class UserSettings (line 163) | class UserSettings(_Identity):
  class Users (line 167) | class Users(_Identity):
  class VerifiableCredentials (line 171) | class VerifiableCredentials(_Identity):

FILE: diagrams/azure/integration.py
  class _Integration (line 6) | class _Integration(_Azure):
  class APIConnections (line 11) | class APIConnections(_Integration):
  class APIForFhir (line 15) | class APIForFhir(_Integration):
  class APIManagementServices (line 19) | class APIManagementServices(_Integration):
  class APIManagement (line 23) | class APIManagement(_Integration):
  class AppConfiguration (line 27) | class AppConfiguration(_Integration):
  class AzureAPIForFhir (line 31) | class AzureAPIForFhir(_Integration):
  class AzureDataCatalog (line 35) | class AzureDataCatalog(_Integration):
  class AzureDataboxGateway (line 39) | class AzureDataboxGateway(_Integration):
  class AzureServiceBus (line 43) | class AzureServiceBus(_Integration):
  class AzureSQLServerStretchDatabases (line 47) | class AzureSQLServerStretchDatabases(_Integration):
  class AzureStackEdge (line 51) | class AzureStackEdge(_Integration):
  class DataCatalog (line 55) | class DataCatalog(_Integration):
  class DataFactories (line 59) | class DataFactories(_Integration):
  class EventGridDomains (line 63) | class EventGridDomains(_Integration):
  class EventGridSubscriptions (line 67) | class EventGridSubscriptions(_Integration):
  class EventGridTopics (line 71) | class EventGridTopics(_Integration):
  class IntegrationAccounts (line 75) | class IntegrationAccounts(_Integration):
  class IntegrationEnvironments (line 79) | class IntegrationEnvironments(_Integration):
  class IntegrationServiceEnvironments (line 83) | class IntegrationServiceEnvironments(_Integration):
  class LogicAppsCustomConnector (line 87) | class LogicAppsCustomConnector(_Integration):
  class LogicApps (line 91) | class LogicApps(_Integration):
  class PartnerNamespace (line 95) | class PartnerNamespace(_Integration):
  class PartnerRegistration (line 99) | class PartnerRegistration(_Integration):
  class PartnerTopic (line 103) | class PartnerTopic(_Integration):
  class PowerPlatform (line 107) | class PowerPlatform(_Integration):
  class Relays (line 111) | class Relays(_Integration):
  class SendgridAccounts (line 115) | class SendgridAccounts(_Integration):
  class ServiceBusRelays (line 119) | class ServiceBusRelays(_Integration):
  class ServiceBus (line 123) | class ServiceBus(_Integration):
  class ServiceCatalogManagedApplicationDefinitions (line 127) | class ServiceCatalogManagedApplicationDefinitions(_Integration):
  class SoftwareAsAService (line 131) | class SoftwareAsAService(_Integration):
  class SQLDataWarehouses (line 135) | class SQLDataWarehouses(_Integration):
  class StorsimpleDeviceManagers (line 139) | class StorsimpleDeviceManagers(_Integration):
  class SystemTopic (line 143) | class SystemTopic(_Integration):

FILE: diagrams/azure/intune.py
  class _Intune (line 6) | class _Intune(_Azure):
  class AzureADRolesAndAdministrators (line 11) | class AzureADRolesAndAdministrators(_Intune):
  class ClientApps (line 15) | class ClientApps(_Intune):
  class DeviceCompliance (line 19) | class DeviceCompliance(_Intune):
  class DeviceConfiguration (line 23) | class DeviceConfiguration(_Intune):
  class DeviceEnrollment (line 27) | class DeviceEnrollment(_Intune):
  class DeviceSecurityApple (line 31) | class DeviceSecurityApple(_Intune):
  class DeviceSecurityGoogle (line 35) | class DeviceSecurityGoogle(_Intune):
  class DeviceSecurityWindows (line 39) | class DeviceSecurityWindows(_Intune):
  class Devices (line 43) | class Devices(_Intune):
  class Ebooks (line 47) | class Ebooks(_Intune):
  class ExchangeAccess (line 51) | class ExchangeAccess(_Intune):
  class IntuneAppProtection (line 55) | class IntuneAppProtection(_Intune):
  class IntuneForEducation (line 59) | class IntuneForEducation(_Intune):
  class Intune (line 63) | class Intune(_Intune):
  class Mindaro (line 67) | class Mindaro(_Intune):
  class SecurityBaselines (line 71) | class SecurityBaselines(_Intune):
  class SoftwareUpdates (line 75) | class SoftwareUpdates(_Intune):
  class TenantStatus (line 79) | class TenantStatus(_Intune):

FILE: diagrams/azure/iot.py
  class _Iot (line 6) | class _Iot(_Azure):
  class AzureCosmosDb (line 11) | class AzureCosmosDb(_Iot):
  class AzureDataboxGateway (line 15) | class AzureDataboxGateway(_Iot):
  class AzureIotOperations (line 19) | class AzureIotOperations(_Iot):
  class AzureMapsAccounts (line 23) | class AzureMapsAccounts(_Iot):
  class AzureStack (line 27) | class AzureStack(_Iot):
  class DeviceProvisioningServices (line 31) | class DeviceProvisioningServices(_Iot):
  class DigitalTwins (line 35) | class DigitalTwins(_Iot):
  class EventGridSubscriptions (line 39) | class EventGridSubscriptions(_Iot):
  class EventHubClusters (line 43) | class EventHubClusters(_Iot):
  class EventHubs (line 47) | class EventHubs(_Iot):
  class FunctionApps (line 51) | class FunctionApps(_Iot):
  class IndustrialIot (line 55) | class IndustrialIot(_Iot):
  class IotCentralApplications (line 59) | class IotCentralApplications(_Iot):
  class IotEdge (line 63) | class IotEdge(_Iot):
  class IotHubSecurity (line 67) | class IotHubSecurity(_Iot):
  class IotHub (line 71) | class IotHub(_Iot):
  class LogicApps (line 75) | class LogicApps(_Iot):
  class MachineLearningStudioClassicWebServices (line 79) | class MachineLearningStudioClassicWebServices(_Iot):
  class MachineLearningStudioWebServicePlans (line 83) | class MachineLearningStudioWebServicePlans(_Iot):
  class MachineLearningStudioWorkspaces (line 87) | class MachineLearningStudioWorkspaces(_Iot):
  class Maps (line 91) | class Maps(_Iot):
  class NotificationHubNamespaces (line 95) | class NotificationHubNamespaces(_Iot):
  class NotificationHubs (line 99) | class NotificationHubs(_Iot):
  class Sphere (line 103) | class Sphere(_Iot):
  class StackHciPremium (line 107) | class StackHciPremium(_Iot):
  class StreamAnalyticsJobs (line 111) | class StreamAnalyticsJobs(_Iot):
  class TimeSeriesDataSets (line 115) | class TimeSeriesDataSets(_Iot):
  class TimeSeriesInsightsAccessPolicies (line 119) | class TimeSeriesInsightsAccessPolicies(_Iot):
  class TimeSeriesInsightsEnvironments (line 123) | class TimeSeriesInsightsEnvironments(_Iot):
  class TimeSeriesInsightsEventSources (line 127) | class TimeSeriesInsightsEventSources(_Iot):
  class TimeSeriesInsightsEventsSources (line 131) | class TimeSeriesInsightsEventsSources(_Iot):
  class Windows10IotCoreServices (line 135) | class Windows10IotCoreServices(_Iot):
  class Windows10CoreServices (line 139) | class Windows10CoreServices(_Iot):

FILE: diagrams/azure/managementgovernance.py
  class _Managementgovernance (line 6) | class _Managementgovernance(_Azure):
  class ActivityLog (line 11) | class ActivityLog(_Managementgovernance):
  class Advisor (line 15) | class Advisor(_Managementgovernance):
  class Alerts (line 19) | class Alerts(_Managementgovernance):
  class ApplicationInsights (line 23) | class ApplicationInsights(_Managementgovernance):
  class ArcMachines (line 27) | class ArcMachines(_Managementgovernance):
  class AutomationAccounts (line 31) | class AutomationAccounts(_Managementgovernance):
  class AzureArc (line 35) | class AzureArc(_Managementgovernance):
  class AzureLighthouse (line 39) | class AzureLighthouse(_Managementgovernance):
  class Blueprints (line 43) | class Blueprints(_Managementgovernance):
  class Compliance (line 47) | class Compliance(_Managementgovernance):
  class CostManagementAndBilling (line 51) | class CostManagementAndBilling(_Managementgovernance):
  class CustomerLockboxForMicrosoftAzure (line 55) | class CustomerLockboxForMicrosoftAzure(_Managementgovernance):
  class DiagnosticsSettings (line 59) | class DiagnosticsSettings(_Managementgovernance):
  class Education (line 63) | class Education(_Managementgovernance):
  class IntuneTrends (line 67) | class IntuneTrends(_Managementgovernance):
  class LogAnalyticsWorkspaces (line 71) | class LogAnalyticsWorkspaces(_Managementgovernance):
  class Machinesazurearc (line 75) | class Machinesazurearc(_Managementgovernance):
  class ManagedApplicationsCenter (line 79) | class ManagedApplicationsCenter(_Managementgovernance):
  class ManagedDesktop (line 83) | class ManagedDesktop(_Managementgovernance):
  class Metrics (line 87) | class Metrics(_Managementgovernance):
  class Monitor (line 91) | class Monitor(_Managementgovernance):
  class MyCustomers (line 95) | class MyCustomers(_Managementgovernance):
  class OperationLogClassic (line 99) | class OperationLogClassic(_Managementgovernance):
  class Policy (line 103) | class Policy(_Managementgovernance):
  class RecoveryServicesVaults (line 107) | class RecoveryServicesVaults(_Managementgovernance):
  class ResourceGraphExplorer (line 111) | class ResourceGraphExplorer(_Managementgovernance):
  class ResourcesProvider (line 115) | class ResourcesProvider(_Managementgovernance):
  class SchedulerJobCollections (line 119) | class SchedulerJobCollections(_Managementgovernance):
  class ServiceCatalogMad (line 123) | class ServiceCatalogMad(_Managementgovernance):
  class ServiceProviders (line 127) | class ServiceProviders(_Managementgovernance):
  class Solutions (line 131) | class Solutions(_Managementgovernance):
  class UniversalPrint (line 135) | class UniversalPrint(_Managementgovernance):
  class UserPrivacy (line 139) | class UserPrivacy(_Managementgovernance):

FILE: diagrams/azure/menu.py
  class _Menu (line 6) | class _Menu(_Azure):
  class Keys (line 11) | class Keys(_Menu):

FILE: diagrams/azure/migrate.py
  class _Migrate (line 6) | class _Migrate(_Azure):
  class AzureDataboxGateway (line 11) | class AzureDataboxGateway(_Migrate):
  class AzureMigrate (line 15) | class AzureMigrate(_Migrate):
  class AzureStackEdge (line 19) | class AzureStackEdge(_Migrate):
  class CostManagementAndBilling (line 23) | class CostManagementAndBilling(_Migrate):
  class DataBox (line 27) | class DataBox(_Migrate):
  class RecoveryServicesVaults (line 31) | class RecoveryServicesVaults(_Migrate):

FILE: diagrams/azure/migration.py
  class _Migration (line 6) | class _Migration(_Azure):
  class AzureDatabaseMigrationServices (line 11) | class AzureDatabaseMigrationServices(_Migration):
  class DataBoxEdge (line 15) | class DataBoxEdge(_Migration):
  class DataBox (line 19) | class DataBox(_Migration):
  class DatabaseMigrationServices (line 23) | class DatabaseMigrationServices(_Migration):
  class MigrationProjects (line 27) | class MigrationProjects(_Migration):
  class RecoveryServicesVaults (line 31) | class RecoveryServicesVaults(_Migration):

FILE: diagrams/azure/mixedreality.py
  class _Mixedreality (line 6) | class _Mixedreality(_Azure):
  class RemoteRendering (line 11) | class RemoteRendering(_Mixedreality):
  class SpatialAnchorAccounts (line 15) | class SpatialAnchorAccounts(_Mixedreality):

FILE: diagrams/azure/ml.py
  class _Ml (line 6) | class _Ml(_Azure):
  class AzureOpenAI (line 11) | class AzureOpenAI(_Ml):
  class AzureSpeechService (line 15) | class AzureSpeechService(_Ml):
  class BatchAI (line 19) | class BatchAI(_Ml):
  class BotServices (line 23) | class BotServices(_Ml):
  class CognitiveServices (line 27) | class CognitiveServices(_Ml):
  class GenomicsAccounts (line 31) | class GenomicsAccounts(_Ml):
  class MachineLearningServiceWorkspaces (line 35) | class MachineLearningServiceWorkspaces(_Ml):
  class MachineLearningStudioWebServicePlans (line 39) | class MachineLearningStudioWebServicePlans(_Ml):
  class MachineLearningStudioWebServices (line 43) | class MachineLearningStudioWebServices(_Ml):
  class MachineLearningStudioWorkspaces (line 47) | class MachineLearningStudioWorkspaces(_Ml):

FILE: diagrams/azure/mobile.py
  class _Mobile (line 6) | class _Mobile(_Azure):
  class AppServiceMobile (line 11) | class AppServiceMobile(_Mobile):
  class AppServices (line 15) | class AppServices(_Mobile):
  class MobileEngagement (line 19) | class MobileEngagement(_Mobile):
  class NotificationHubs (line 23) | class NotificationHubs(_Mobile):
  class PowerPlatform (line 27) | class PowerPlatform(_Mobile):

FILE: diagrams/azure/monitor.py
  class _Monitor (line 6) | class _Monitor(_Azure):
  class ActivityLog (line 11) | class ActivityLog(_Monitor):
  class ApplicationInsights (line 15) | class ApplicationInsights(_Monitor):
  class AutoScale (line 19) | class AutoScale(_Monitor):
  class AzureMonitorsForSAPSolutions (line 23) | class AzureMonitorsForSAPSolutions(_Monitor):
  class AzureWorkbooks (line 27) | class AzureWorkbooks(_Monitor):
  class ChangeAnalysis (line 31) | class ChangeAnalysis(_Monitor):
  class DiagnosticsSettings (line 35) | class DiagnosticsSettings(_Monitor):
  class LogAnalyticsWorkspaces (line 39) | class LogAnalyticsWorkspaces(_Monitor):
  class Logs (line 43) | class Logs(_Monitor):
  class Metrics (line 47) | class Metrics(_Monitor):
  class Monitor (line 51) | class Monitor(_Monitor):
  class NetworkWatcher (line 55) | class NetworkWatcher(_Monitor):

FILE: diagrams/azure/network.py
  class _Network (line 6) | class _Network(_Azure):
  class ApplicationGateway (line 11) | class ApplicationGateway(_Network):
  class ApplicationSecurityGroups (line 15) | class ApplicationSecurityGroups(_Network):
  class CDNProfiles (line 19) | class CDNProfiles(_Network):
  class Connections (line 23) | class Connections(_Network):
  class DDOSProtectionPlans (line 27) | class DDOSProtectionPlans(_Network):
  class DNSPrivateZones (line 31) | class DNSPrivateZones(_Network):
  class DNSZones (line 35) | class DNSZones(_Network):
  class ExpressrouteCircuits (line 39) | class ExpressrouteCircuits(_Network):
  class Firewall (line 43) | class Firewall(_Network):
  class FrontDoors (line 47) | class FrontDoors(_Network):
  class LoadBalancers (line 51) | class LoadBalancers(_Network):
  class LocalNetworkGateways (line 55) | class LocalNetworkGateways(_Network):
  class NetworkInterfaces (line 59) | class NetworkInterfaces(_Network):
  class NetworkSecurityGroupsClassic (line 63) | class NetworkSecurityGroupsClassic(_Network):
  class NetworkWatcher (line 67) | class NetworkWatcher(_Network):
  class OnPremisesDataGateways (line 71) | class OnPremisesDataGateways(_Network):
  class PrivateEndpoint (line 75) | class PrivateEndpoint(_Network):
  class PublicIpAddresses (line 79) | class PublicIpAddresses(_Network):
  class ReservedIpAddressesClassic (line 83) | class ReservedIpAddressesClassic(_Network):
  class RouteFilters (line 87) | class RouteFilters(_Network):
  class RouteTables (line 91) | class RouteTables(_Network):
  class ServiceEndpointPolicies (line 95) | class ServiceEndpointPolicies(_Network):
  class Subnets (line 99) | class Subnets(_Network):
  class TrafficManagerProfiles (line 103) | class TrafficManagerProfiles(_Network):
  class VirtualNetworkClassic (line 107) | class VirtualNetworkClassic(_Network):
  class VirtualNetworkGateways (line 111) | class VirtualNetworkGateways(_Network):
  class VirtualNetworks (line 115) | class VirtualNetworks(_Network):
  class VirtualWans (line 119) | class VirtualWans(_Network):

FILE: diagrams/azure/networking.py
  class _Networking (line 6) | class _Networking(_Azure):
  class ApplicationGateways (line 11) | class ApplicationGateways(_Networking):
  class AtmMultistack (line 15) | class AtmMultistack(_Networking):
  class AzureCommunicationsGateway (line 19) | class AzureCommunicationsGateway(_Networking):
  class AzureFirewallManager (line 23) | class AzureFirewallManager(_Networking):
  class AzureFirewallPolicy (line 27) | class AzureFirewallPolicy(_Networking):
  class Bastions (line 31) | class Bastions(_Networking):
  class CDNProfiles (line 35) | class CDNProfiles(_Networking):
  class ConnectedCache (line 39) | class ConnectedCache(_Networking):
  class Connections (line 43) | class Connections(_Networking):
  class DDOSProtectionPlans (line 47) | class DDOSProtectionPlans(_Networking):
  class DNSMultistack (line 51) | class DNSMultistack(_Networking):
  class DNSPrivateResolver (line 55) | class DNSPrivateResolver(_Networking):
  class DNSSecurityPolicy (line 59) | class DNSSecurityPolicy(_Networking):
  class DNSZones (line 63) | class DNSZones(_Networking):
  class ExpressrouteCircuits (line 67) | class ExpressrouteCircuits(_Networking):
  class Firewalls (line 71) | class Firewalls(_Networking):
  class FrontDoorAndCDNProfiles (line 75) | class FrontDoorAndCDNProfiles(_Networking):
  class IpAddressManager (line 79) | class IpAddressManager(_Networking):
  class IpGroups (line 83) | class IpGroups(_Networking):
  class LoadBalancerHub (line 87) | class LoadBalancerHub(_Networking):
  class LoadBalancers (line 91) | class LoadBalancers(_Networking):
  class LocalNetworkGateways (line 95) | class LocalNetworkGateways(_Networking):
  class Nat (line 99) | class Nat(_Networking):
  class NetworkInterfaces (line 103) | class NetworkInterfaces(_Networking):
  class NetworkSecurityGroups (line 107) | class NetworkSecurityGroups(_Networking):
  class NetworkWatcher (line 111) | class NetworkWatcher(_Networking):
  class OnPremisesDataGateways (line 115) | class OnPremisesDataGateways(_Networking):
  class PrivateLinkService (line 119) | class PrivateLinkService(_Networking):
  class PrivateLinkServices (line 123) | class PrivateLinkServices(_Networking):
  class PrivateLink (line 127) | class PrivateLink(_Networking):
  class ProximityPlacementGroups (line 131) | class ProximityPlacementGroups(_Networking):
  class PublicIpAddressesClassic (line 135) | class PublicIpAddressesClassic(_Networking):
  class PublicIpAddresses (line 139) | class PublicIpAddresses(_Networking):
  class PublicIpPrefixes (line 143) | class PublicIpPrefixes(_Networking):
  class ReservedIpAddressesClassic (line 147) | class ReservedIpAddressesClassic(_Networking):
  class ResourceManagementPrivateLink (line 151) | class ResourceManagementPrivateLink(_Networking):
  class RouteFilters (line 155) | class RouteFilters(_Networking):
  class RouteTables (line 159) | class RouteTables(_Networking):
  class ServiceEndpointPolicies (line 163) | class ServiceEndpointPolicies(_Networking):
  class SpotVM (line 167) | class SpotVM(_Networking):
  class SpotVmss (line 171) | class SpotVmss(_Networking):
  class Subnet (line 175) | class Subnet(_Networking):
  class TrafficController (line 179) | class TrafficController(_Networking):
  class TrafficManagerProfiles (line 183) | class TrafficManagerProfiles(_Networking):
  class VirtualNetworkGateways (line 187) | class VirtualNetworkGateways(_Networking):
  class VirtualNetworksClassic (line 191) | class VirtualNetworksClassic(_Networking):
  class VirtualNetworks (line 195) | class VirtualNetworks(_Networking):
  class VirtualRouter (line 199) | class VirtualRouter(_Networking):
  class VirtualWanHub (line 203) | class VirtualWanHub(_Networking):
  class VirtualWans (line 207) | class VirtualWans(_Networking):
  class WebApplicationFirewallPolicieswaf (line 211) | class WebApplicationFirewallPolicieswaf(_Networking):

FILE: diagrams/azure/newicons.py
  class _Newicons (line 6) | class _Newicons(_Azure):
  class AzureSustainability (line 11) | class AzureSustainability(_Newicons):
  class ConnectedVehiclePlatform (line 15) | class ConnectedVehiclePlatform(_Newicons):
  class EntraConnectHealth (line 19) | class EntraConnectHealth(_Newicons):
  class EntraConnectSync (line 23) | class EntraConnectSync(_Newicons):
  class IcmTroubleshooting (line 27) | class IcmTroubleshooting(_Newicons):
  class Osconfig (line 31) | class Osconfig(_Newicons):
  class StorageActions (line 35) | class StorageActions(_Newicons):

FILE: diagrams/azure/other.py
  class _Other (line 6) | class _Other(_Azure):
  class AadLicenses (line 11) | class AadLicenses(_Other):
  class AksIstio (line 15) | class AksIstio(_Other):
  class AppComplianceAutomation (line 19) | class AppComplianceAutomation(_Other):
  class AppRegistrations (line 23) | class AppRegistrations(_Other):
  class Aquila (line 27) | class Aquila(_Other):
  class ArcDataServices (line 31) | class ArcDataServices(_Other):
  class ArcKubernetes (line 35) | class ArcKubernetes(_Other):
  class ArcPostgresql (line 39) | class ArcPostgresql(_Other):
  class ArcSQLManagedInstance (line 43) | class ArcSQLManagedInstance(_Other):
  class ArcSQLServer (line 47) | class ArcSQLServer(_Other):
  class AvsVM (line 51) | class AvsVM(_Other):
  class AzureA (line 55) | class AzureA(_Other):
  class AzureBackupCenter (line 59) | class AzureBackupCenter(_Other):
  class AzureCenterForSAP (line 63) | class AzureCenterForSAP(_Other):
  class AzureChaosStudio (line 67) | class AzureChaosStudio(_Other):
  class AzureCloudShell (line 71) | class AzureCloudShell(_Other):
  class AzureCommunicationServices (line 75) | class AzureCommunicationServices(_Other):
  class AzureComputeGalleries (line 79) | class AzureComputeGalleries(_Other):
  class AzureDeploymentEnvironments (line 83) | class AzureDeploymentEnvironments(_Other):
  class AzureDevTunnels (line 87) | class AzureDevTunnels(_Other):
  class AzureEdgeHardwareCenter (line 91) | class AzureEdgeHardwareCenter(_Other):
  class AzureHpcWorkbenches (line 95) | class AzureHpcWorkbenches(_Other):
  class AzureLoadTesting (line 99) | class AzureLoadTesting(_Other):
  class AzureManagedGrafana (line 103) | class AzureManagedGrafana(_Other):
  class AzureMonitorDashboard (line 107) | class AzureMonitorDashboard(_Other):
  class AzureNetworkFunctionManagerFunctions (line 111) | class AzureNetworkFunctionManagerFunctions(_Other):
  class AzureNetworkFunctionManager (line 115) | class AzureNetworkFunctionManager(_Other):
  class AzureOrbital (line 119) | class AzureOrbital(_Other):
  class AzureQuotas (line 123) | class AzureQuotas(_Other):
  class AzureSphere (line 127) | class AzureSphere(_Other):
  class AzureStorageMover (line 131) | class AzureStorageMover(_Other):
  class AzureSupportCenterBlue (line 135) | class AzureSupportCenterBlue(_Other):
  class AzureVideoIndexer (line 139) | class AzureVideoIndexer(_Other):
  class AzureVirtualDesktop (line 143) | class AzureVirtualDesktop(_Other):
  class AzureVmwareSolution (line 147) | class AzureVmwareSolution(_Other):
  class Azureattestation (line 151) | class Azureattestation(_Other):
  class Azurite (line 155) | class Azurite(_Other):
  class BackupVault (line 159) | class BackupVault(_Other):
  class BareMetalInfrastructure (line 163) | class BareMetalInfrastructure(_Other):
  class CapacityReservationGroups (line 167) | class CapacityReservationGroups(_Other):
  class CentralServiceInstanceForSAP (line 171) | class CentralServiceInstanceForSAP(_Other):
  class Ceres (line 175) | class Ceres(_Other):
  class CloudServicesExtendedSupport (line 179) | class CloudServicesExtendedSupport(_Other):
  class CommunityImages (line 183) | class CommunityImages(_Other):
  class ComplianceCenter (line 187) | class ComplianceCenter(_Other):
  class ConfidentialLedgers (line 191) | class ConfidentialLedgers(_Other):
  class ContainerAppsEnvironments (line 195) | class ContainerAppsEnvironments(_Other):
  class CostExport (line 199) | class CostExport(_Other):
  class CustomIpPrefix (line 203) | class CustomIpPrefix(_Other):
  class DashboardHub (line 207) | class DashboardHub(_Other):
  class DataCollectionRules (line 211) | class DataCollectionRules(_Other):
  class DatabaseInstanceForSAP (line 215) | class DatabaseInstanceForSAP(_Other):
  class DedicatedHsm (line 219) | class DedicatedHsm(_Other):
  class DefenderCmLocalManager (line 223) | class DefenderCmLocalManager(_Other):
  class DefenderDcsController (line 227) | class DefenderDcsController(_Other):
  class DefenderDistributerControlSystem (line 231) | class DefenderDistributerControlSystem(_Other):
  class DefenderEngineeringStation (line 235) | class DefenderEngineeringStation(_Other):
  class DefenderExternalManagement (line 239) | class DefenderExternalManagement(_Other):
  class DefenderFreezerMonitor (line 243) | class DefenderFreezerMonitor(_Other):
  class DefenderHistorian (line 247) | class DefenderHistorian(_Other):
  class DefenderHmi (line 251) | class DefenderHmi(_Other):
  class DefenderIndustrialPackagingSystem (line 255) | class DefenderIndustrialPackagingSystem(_Other):
  class DefenderIndustrialPrinter (line 259) | class DefenderIndustrialPrinter(_Other):
  class DefenderIndustrialRobot (line 263) | class DefenderIndustrialRobot(_Other):
  class DefenderIndustrialScaleSystem (line 267) | class DefenderIndustrialScaleSystem(_Other):
  class DefenderMarquee (line 271) | class DefenderMarquee(_Other):
  class DefenderMeter (line 275) | class DefenderMeter(_Other):
  class DefenderPlc (line 279) | class DefenderPlc(_Other):
  class DefenderPneumaticDevice (line 283) | class DefenderPneumaticDevice(_Other):
  class DefenderProgramableBoard (line 287) | class DefenderProgramableBoard(_Other):
  class DefenderRelay (line 291) | class DefenderRelay(_Other):
  class DefenderRobotController (line 295) | class DefenderRobotController(_Other):
  class DefenderRtu (line 299) | class DefenderRtu(_Other):
  class DefenderSensor (line 303) | class DefenderSensor(_Other):
  class DefenderSlot (line 307) | class DefenderSlot(_Other):
  class DefenderWebGuidingSystem (line 311) | class DefenderWebGuidingSystem(_Other):
  class DeviceUpdateIotHub (line 315) | class DeviceUpdateIotHub(_Other):
  class DiskPool (line 319) | class DiskPool(_Other):
  class EdgeManagement (line 323) | class EdgeManagement(_Other):
  class ElasticSan (line 327) | class ElasticSan(_Other):
  class ExchangeOnPremisesAccess (line 331) | class ExchangeOnPremisesAccess(_Other):
  class ExpressRouteTrafficCollector (line 335) | class ExpressRouteTrafficCollector(_Other):
  class ExpressrouteDirect (line 339) | class ExpressrouteDirect(_Other):
  class FhirService (line 343) | class FhirService(_Other):
  class Fiji (line 347) | class Fiji(_Other):
  class HdiAksCluster (line 351) | class HdiAksCluster(_Other):
  class InstancePools (line 355) | class InstancePools(_Other):
  class InternetAnalyzerProfiles (line 359) | class InternetAnalyzerProfiles(_Other):
  class KubernetesFleetManager (line 363) | class KubernetesFleetManager(_Other):
  class LocalNetworkGateways (line 367) | class LocalNetworkGateways(_Other):
  class LogAnalyticsQueryPack (line 371) | class LogAnalyticsQueryPack(_Other):
  class ManagedInstanceApacheCassandra (line 375) | class ManagedInstanceApacheCassandra(_Other):
  class MedtechService (line 379) | class MedtechService(_Other):
  class MicrosoftDevBox (line 383) | class MicrosoftDevBox(_Other):
  class MissionLandingZone (line 387) | class MissionLandingZone(_Other):
  class MobileNetworks (line 391) | class MobileNetworks(_Other):
  class ModularDataCenter (line 395) | class ModularDataCenter(_Other):
  class NetworkManagers (line 399) | class NetworkManagers(_Other):
  class NetworkSecurityPerimeters (line 403) | class NetworkSecurityPerimeters(_Other):
  class OpenSupplyChainPlatform (line 407) | class OpenSupplyChainPlatform(_Other):
  class PeeringService (line 411) | class PeeringService(_Other):
  class Peerings (line 415) | class Peerings(_Other):
  class PrivateEndpoints (line 419) | class PrivateEndpoints(_Other):
  class ReservedCapacity (line 423) | class ReservedCapacity(_Other):
  class ResourceGuard (line 427) | class ResourceGuard(_Other):
  class ResourceMover (line 431) | class ResourceMover(_Other):
  class Rtos (line 435) | class Rtos(_Other):
  class SavingsPlans (line 439) | class SavingsPlans(_Other):
  class ScvmmManagementServers (line 443) | class ScvmmManagementServers(_Other):
  class SonicDash (line 447) | class SonicDash(_Other):
  class SshKeys (line 451) | class SshKeys(_Other):
  class StorageFunctions (line 455) | class StorageFunctions(_Other):
  class TargetsManagement (line 459) | class TargetsManagement(_Other):
  class TemplateSpecs (line 463) | class TemplateSpecs(_Other):
  class TestBase (line 467) | class TestBase(_Other):
  class UpdateManagementCenter (line 471) | class UpdateManagementCenter(_Other):
  class VideoAnalyzers (line 475) | class VideoAnalyzers(_Other):
  class VirtualEnclaves (line 479) | class VirtualEnclaves(_Other):
  class VirtualInstanceForSAP (line 483) | class VirtualInstanceForSAP(_Other):
  class VirtualVisitsBuilder (line 487) | class VirtualVisitsBuilder(_Other):
  class VMAppDefinitions (line 491) | class VMAppDefinitions(_Other):
  class VMAppVersions (line 495) | class VMAppVersions(_Other):
  class VMImageVersion (line 499) | class VMImageVersion(_Other):
  class Wac (line 503) | class Wac(_Other):
  class WebAppDatabase (line 507) | class WebAppDatabase(_Other):
  class WebJobs (line 511) | class WebJobs(_Other):
  class WindowsNotificationServices (line 515) | class WindowsNotificationServices(_Other):
  class WorkerContainerApp (line 519) | class WorkerContainerApp(_Other):

FILE: diagrams/azure/security.py
  class _Security (line 6) | class _Security(_Azure):
  class ApplicationSecurityGroups (line 11) | class ApplicationSecurityGroups(_Security):
  class AzureADAuthenticationMethods (line 15) | class AzureADAuthenticationMethods(_Security):
  class AzureADIdentityProtection (line 19) | class AzureADIdentityProtection(_Security):
  class AzureADPrivlegedIdentityManagement (line 23) | class AzureADPrivlegedIdentityManagement(_Security):
  class AzureADRiskySignins (line 27) | class AzureADRiskySignins(_Security):
  class AzureADRiskyUsers (line 31) | class AzureADRiskyUsers(_Security):
  class AzureInformationProtection (line 35) | class AzureInformationProtection(_Security):
  class AzureSentinel (line 39) | class AzureSentinel(_Security):
  class ConditionalAccess (line 43) | class ConditionalAccess(_Security):
  class Defender (line 47) | class Defender(_Security):
  class Detonation (line 51) | class Detonation(_Security):
  class ExtendedSecurityUpdates (line 55) | class ExtendedSecurityUpdates(_Security):
  class Extendedsecurityupdates (line 59) | class Extendedsecurityupdates(_Security):
  class IdentitySecureScore (line 63) | class IdentitySecureScore(_Security):
  class KeyVaults (line 67) | class KeyVaults(_Security):
  class MicrosoftDefenderEasm (line 71) | class MicrosoftDefenderEasm(_Security):
  class MicrosoftDefenderForCloud (line 75) | class MicrosoftDefenderForCloud(_Security):
  class MicrosoftDefenderForIot (line 79) | class MicrosoftDefenderForIot(_Security):
  class MultifactorAuthentication (line 83) | class MultifactorAuthentication(_Security):
  class SecurityCenter (line 87) | class SecurityCenter(_Security):
  class Sentinel (line 91) | class Sentinel(_Security):
  class UserSettings (line 95) | class UserSettings(_Security):

FILE: diagrams/azure/storage.py
  class _Storage (line 6) | class _Storage(_Azure):
  class ArchiveStorage (line 11) | class ArchiveStorage(_Storage):
  class AzureDataboxGateway (line 15) | class AzureDataboxGateway(_Storage):
  class AzureFileshares (line 19) | class AzureFileshares(_Storage):
  class AzureHcpCache (line 23) | class AzureHcpCache(_Storage):
  class AzureNetappFiles (line 27) | class AzureNetappFiles(_Storage):
  class AzureStackEdge (line 31) | class AzureStackEdge(_Storage):
  class Azurefxtedgefiler (line 35) | class Azurefxtedgefiler(_Storage):
  class BlobStorage (line 39) | class BlobStorage(_Storage):
  class DataBoxEdgeDataBoxGateway (line 43) | class DataBoxEdgeDataBoxGateway(_Storage):
  class DataBox (line 47) | class DataBox(_Storage):
  class DataLakeStorageGen1 (line 51) | class DataLakeStorageGen1(_Storage):
  class DataLakeStorage (line 55) | class DataLakeStorage(_Storage):
  class DataShareInvitations (line 59) | class DataShareInvitations(_Storage):
  class DataShares (line 63) | class DataShares(_Storage):
  class GeneralStorage (line 67) | class GeneralStorage(_Storage):
  class ImportExportJobs (line 71) | class ImportExportJobs(_Storage):
  class NetappFiles (line 75) | class NetappFiles(_Storage):
  class QueuesStorage (line 79) | class QueuesStorage(_Storage):
  class RecoveryServicesVaults (line 83) | class RecoveryServicesVaults(_Storage):
  class StorageAccountsClassic (line 87) | class StorageAccountsClassic(_Storage):
  class StorageAccounts (line 91) | class StorageAccounts(_Storage):
  class StorageExplorer (line 95) | class StorageExplorer(_Storage):
  class StorageSyncServices (line 99) | class StorageSyncServices(_Storage):
  class StorsimpleDataManagers (line 103) | class StorsimpleDataManagers(_Storage):
  class StorsimpleDeviceManagers (line 107) | class StorsimpleDeviceManagers(_Storage):
  class TableStorage (line 111) | class TableStorage(_Storage):

FILE: diagrams/azure/web.py
  class _Web (line 6) | class _Web(_Azure):
  class APICenter (line 11) | class APICenter(_Web):
  class APIConnections (line 15) | class APIConnections(_Web):
  class APIManagementServices (line 19) | class APIManagementServices(_Web):
  class AppServiceCertificates (line 23) | class AppServiceCertificates(_Web):
  class AppServiceDomains (line 27) | class AppServiceDomains(_Web):
  class AppServiceEnvironments (line 31) | class AppServiceEnvironments(_Web):
  class AppServicePlans (line 35) | class AppServicePlans(_Web):
  class AppServices (line 39) | class AppServices(_Web):
  class AppSpace (line 43) | class AppSpace(_Web):
  class AzureMediaService (line 47) | class AzureMediaService(_Web):
  class AzureSpringApps (line 51) | class AzureSpringApps(_Web):
  class CognitiveSearch (line 55) | class CognitiveSearch(_Web):
  class CognitiveServices (line 59) | class CognitiveServices(_Web):
  class FrontDoorAndCDNProfiles (line 63) | class FrontDoorAndCDNProfiles(_Web):
  class MediaServices (line 67) | class MediaServices(_Web):
  class NotificationHubNamespaces (line 71) | class NotificationHubNamespaces(_Web):
  class PowerPlatform (line 75) | class PowerPlatform(_Web):
  class Search (line 79) | class Search(_Web):
  class Signalr (line 83) | class Signalr(_Web):
  class StaticApps (line 87) | class StaticApps(_Web):

FILE: diagrams/base/__init__.py
  class _Base (line 8) | class _Base(Node):

FILE: diagrams/c4/__init__.py
  function _format_node_label (line 11) | def _format_node_label(name, key, description):
  function _format_description (line 19) | def _format_description(description):
  function _format_edge_label (line 35) | def _format_edge_label(description):
  function C4Node (line 43) | def C4Node(name, technology="", description="", type="Container", **kwar...
  function Container (line 63) | def Container(name, technology="", description="", **kwargs):
  function Database (line 74) | def Database(name, technology="", description="", **kwargs):
  function System (line 87) | def System(name, description="", external=False, **kwargs):
  function Person (line 98) | def Person(name, description="", external=False, **kwargs):
  function SystemBoundary (line 110) | def SystemBoundary(name, **kwargs):
  function Relationship (line 121) | def Relationship(label="", **kwargs):

FILE: diagrams/cli.py
  function run (line 5) | def run() -> int:
  function main (line 33) | def main():

FILE: diagrams/custom/__init__.py
  class Custom (line 8) | class Custom(Node):
    method _load_icon (line 15) | def _load_icon(self):
    method __init__ (line 18) | def __init__(self, label, icon_path, *args, **kwargs):

FILE: diagrams/digitalocean/__init__.py
  class _DigitalOcean (line 8) | class _DigitalOcean(Node):
  class DigitalOcean (line 15) | class DigitalOcean(_DigitalOcean):

FILE: diagrams/digitalocean/compute.py
  class _Compute (line 6) | class _Compute(_DigitalOcean):
  class Containers (line 11) | class Containers(_Compute):
  class Docker (line 15) | class Docker(_Compute):
  class DropletConnect (line 19) | class DropletConnect(_Compute):
  class DropletSnapshot (line 23) | class DropletSnapshot(_Compute):
  class Droplet (line 27) | class Droplet(_Compute):
  class K8SCluster (line 31) | class K8SCluster(_Compute):
  class K8SNodePool (line 35) | class K8SNodePool(_Compute):
  class K8SNode (line 39) | class K8SNode(_Compute):

FILE: diagrams/digitalocean/database.py
  class _Database (line 6) | class _Database(_DigitalOcean):
  class DbaasPrimaryStandbyMore (line 11) | class DbaasPrimaryStandbyMore(_Database):
  class DbaasPrimary (line 15) | class DbaasPrimary(_Database):
  class DbaasReadOnly (line 19) | class DbaasReadOnly(_Database):
  class DbaasStandby (line 23) | class DbaasStandby(_Database):

FILE: diagrams/digitalocean/network.py
  class _Network (line 6) | class _Network(_DigitalOcean):
  class Certificate (line 11) | class Certificate(_Network):
  class DomainRegistration (line 15) | class DomainRegistration(_Network):
  class Domain (line 19) | class Domain(_Network):
  class Firewall (line 23) | class Firewall(_Network):
  class FloatingIp (line 27) | class FloatingIp(_Network):
  class InternetGateway (line 31) | class InternetGateway(_Network):
  class LoadBalancer (line 35) | class LoadBalancer(_Network):
  class ManagedVpn (line 39) | class ManagedVpn(_Network):
  class Vpc (line 43) | class Vpc(_Network):

FILE: diagrams/digitalocean/storage.py
  class _Storage (line 6) | class _Storage(_DigitalOcean):
  class Folder (line 11) | class Folder(_Storage):
  class Space (line 15) | class Space(_Storage):
  class VolumeSnapshot (line 19) | class VolumeSnapshot(_Storage):
  class Volume (line 23) | class Volume(_Storage):

FILE: diagrams/elastic/__init__.py
  class _Elastic (line 8) | class _Elastic(Node):
  class Elastic (line 15) | class Elastic(_Elastic):

FILE: diagrams/elastic/agent.py
  class _Agent (line 6) | class _Agent(_Elastic):
  class Agent (line 11) | class Agent(_Agent):
  class Endpoint (line 15) | class Endpoint(_Agent):
  class Fleet (line 19) | class Fleet(_Agent):
  class Integrations (line 23) | class Integrations(_Agent):

FILE: diagrams/elastic/beats.py
  class _Beats (line 6) | class _Beats(_Elastic):
  class APM (line 11) | class APM(_Beats):
  class Auditbeat (line 15) | class Auditbeat(_Beats):
  class Filebeat (line 19) | class Filebeat(_Beats):
  class Functionbeat (line 23) | class Functionbeat(_Beats):
  class Heartbeat (line 27) | class Heartbeat(_Beats):
  class Metricbeat (line 31) | class Metricbeat(_Beats):
  class Packetbeat (line 35) | class Packetbeat(_Beats):
  class Winlogbeat (line 39) | class Winlogbeat(_Beats):

FILE: diagrams/elastic/elasticsearch.py
  class _Elasticsearch (line 6) | class _Elasticsearch(_Elastic):
  class Alerting (line 11) | class Alerting(_Elasticsearch):
  class Beats (line 15) | class Beats(_Elasticsearch):
  class Elasticsearch (line 19) | class Elasticsearch(_Elasticsearch):
  class Kibana (line 23) | class Kibana(_Elasticsearch):
  class LogstashPipeline (line 27) | class LogstashPipeline(_Elasticsearch):
  class Logstash (line 31) | class Logstash(_Elasticsearch):
  class MachineLearning (line 35) | class MachineLearning(_Elasticsearch):
  class MapServices (line 39) | class MapServices(_Elasticsearch):
  class Maps (line 43) | class Maps(_Elasticsearch):
  class Monitoring (line 47) | class Monitoring(_Elasticsearch):
  class SearchableSnapshots (line 51) | class SearchableSnapshots(_Elasticsearch):
  class SecuritySettings (line 55) | class SecuritySettings(_Elasticsearch):
  class SQL (line 59) | class SQL(_Elasticsearch):
  class Stack (line 63) | class Stack(_Elasticsearch):

FILE: diagrams/elastic/enterprisesearch.py
  class _Enterprisesearch (line 6) | class _Enterprisesearch(_Elastic):
  class AppSearch (line 11) | class AppSearch(_Enterprisesearch):
  class Crawler (line 15) | class Crawler(_Enterprisesearch):
  class EnterpriseSearch (line 19) | class EnterpriseSearch(_Enterprisesearch):
  class SiteSearch (line 23) | class SiteSearch(_Enterprisesearch):
  class WorkplaceSearch (line 27) | class WorkplaceSearch(_Enterprisesearch):

FILE: diagrams/elastic/observability.py
  class _Observability (line 6) | class _Observability(_Elastic):
  class APM (line 11) | class APM(_Observability):
  class Logs (line 15) | class Logs(_Observability):
  class Metrics (line 19) | class Metrics(_Observability):
  class Observability (line 23) | class Observability(_Observability):
  class Uptime (line 27) | class Uptime(_Observability):

FILE: diagrams/elastic/orchestration.py
  class _Orchestration (line 6) | class _Orchestration(_Elastic):
  class ECE (line 11) | class ECE(_Orchestration):
  class ECK (line 15) | class ECK(_Orchestration):

FILE: diagrams/elastic/saas.py
  class _Saas (line 6) | class _Saas(_Elastic):
  class Cloud (line 11) | class Cloud(_Saas):
  class Elastic (line 15) | class Elastic(_Saas):

FILE: diagrams/elastic/security.py
  class _Security (line 6) | class _Security(_Elastic):
  class Endpoint (line 11) | class Endpoint(_Security):
  class Security (line 15) | class Security(_Security):
  class SIEM (line 19) | class SIEM(_Security):
  class Xdr (line 23) | class Xdr(_Security):

FILE: diagrams/firebase/__init__.py
  class _Firebase (line 8) | class _Firebase(Node):
  class Firebase (line 15) | class Firebase(_Firebase):

FILE: diagrams/firebase/base.py
  class _Base (line 6) | class _Base(_Firebase):
  class Firebase (line 11) | class Firebase(_Base):

FILE: diagrams/firebase/develop.py
  class _Develop (line 6) | class _Develop(_Firebase):
  class Authentication (line 11) | class Authentication(_Develop):
  class Firestore (line 15) | class Firestore(_Develop):
  class Functions (line 19) | class Functions(_Develop):
  class Hosting (line 23) | class Hosting(_Develop):
  class MLKit (line 27) | class MLKit(_Develop):
  class RealtimeDatabase (line 31) | class RealtimeDatabase(_Develop):
  class Storage (line 35) | class Storage(_Develop):

FILE: diagrams/firebase/extentions.py
  class _Extentions (line 6) | class _Extentions(_Firebase):
  class Extensions (line 11) | class Extensions(_Extentions):

FILE: diagrams/firebase/grow.py
  class _Grow (line 6) | class _Grow(_Firebase):
  class ABTesting (line 11) | class ABTesting(_Grow):
  class AppIndexing (line 15) | class AppIndexing(_Grow):
  class DynamicLinks (line 19) | class DynamicLinks(_Grow):
  class InAppMessaging (line 23) | class InAppMessaging(_Grow):
  class Invites (line 27) | class Invites(_Grow):
  class Messaging (line 31) | class Messaging(_Grow):
  class Predictions (line 35) | class Predictions(_Grow):
  class RemoteConfig (line 39) | class RemoteConfig(_Grow):

FILE: diagrams/firebase/quality.py
  class _Quality (line 6) | class _Quality(_Firebase):
  class AppDistribution (line 11) | class AppDistribution(_Quality):
  class CrashReporting (line 15) | class CrashReporting(_Quality):
  class Crashlytics (line 19) | class Crashlytics(_Quality):
  class PerformanceMonitoring (line 23) | class PerformanceMonitoring(_Quality):
  class TestLab (line 27) | class TestLab(_Quality):

FILE: diagrams/gcp/__init__.py
  class _GCP (line 8) | class _GCP(Node):
  class GCP (line 15) | class GCP(_GCP):

FILE: diagrams/gcp/analytics.py
  class _Analytics (line 6) | class _Analytics(_GCP):
  class Bigquery (line 11) | class Bigquery(_Analytics):
  class Composer (line 15) | class Composer(_Analytics):
  class DataCatalog (line 19) | class DataCatalog(_Analytics):
  class DataFusion (line 23) | class DataFusion(_Analytics):
  class Dataflow (line 27) | class Dataflow(_Analytics):
  class Datalab (line 31) | class Datalab(_Analytics):
  class Dataprep (line 35) | class Dataprep(_Analytics):
  class Dataproc (line 39) | class Dataproc(_Analytics):
  class Genomics (line 43) | class Genomics(_Analytics):
  class Looker (line 47) | class Looker(_Analytics):
  class Pubsub (line 51) | class Pubsub(_Analytics):

FILE: diagrams/gcp/api.py
  class _API (line 6) | class _API(_GCP):
  class APIGateway (line 11) | class APIGateway(_API):
  class Apigee (line 15) | class Apigee(_API):
  class Endpoints (line 19) | class Endpoints(_API):

FILE: diagrams/gcp/compute.py
  class _Compute (line 6) | class _Compute(_GCP):
  class AppEngine (line 11) | class AppEngine(_Compute):
  class BinaryAuthorization (line 15) | class BinaryAuthorization(_Compute):
  class ComputeEngine (line 19) | class ComputeEngine(_Compute):
  class ContainerOptimizedOS (line 23) | class ContainerOptimizedOS(_Compute):
  class Functions (line 27) | class Functions(_Compute):
  class GKEOnPrem (line 31) | class GKEOnPrem(_Compute):
  class GPU (line 35) | class GPU(_Compute):
  class KubernetesEngine (line 39) | class KubernetesEngine(_Compute):
  class OSConfigurationManagement (line 43) | class OSConfigurationManagement(_Compute):
  class OSInventoryManagement (line 47) | class OSInventoryManagement(_Compute):
  class OSPatchManagement (line 51) | class OSPatchManagement(_Compute):
  class Run (line 55) | class Run(_Compute):

FILE: diagrams/gcp/database.py
  class _Database (line 6) | class _Database(_GCP):
  class Bigtable (line 11) | class Bigtable(_Database):
  class Datastore (line 15) | class Datastore(_Database):
  class Firestore (line 19) | class Firestore(_Database):
  class Memorystore (line 23) | class Memorystore(_Database):
  class Spanner (line 27) | class Spanner(_Database):
  class SQL (line 31) | class SQL(_Database):

FILE: diagrams/gcp/devtools.py
  class _Devtools (line 6) | class _Devtools(_GCP):
  class Build (line 11) | class Build(_Devtools):
  class CloudShell (line 15) | class CloudShell(_Devtools):
  class CodeForIntellij (line 19) | class CodeForIntellij(_Devtools):
  class Code (line 23) | class Code(_Devtools):
  class ContainerRegistry (line 27) | class ContainerRegistry(_Devtools):
  class GradleAppEnginePlugin (line 31) | class GradleAppEnginePlugin(_Devtools):
  class IdePlugins (line 35) | class IdePlugins(_Devtools):
  class MavenAppEnginePlugin (line 39) | class MavenAppEnginePlugin(_Devtools):
  class Scheduler (line 43) | class Scheduler(_Devtools):
  class SDK (line 47) | class SDK(_Devtools):
  class ServiceCatalog (line 51) | class ServiceCatalog(_Devtools):
  class SourceRepositories (line 55) | class SourceRepositories(_Devtools):
  class Tasks (line 59) | class Tasks(_Devtools):
  class TestLab (line 63) | class TestLab(_Devtools):
  class ToolsForEclipse (line 67) | class ToolsForEclipse(_Devtools):
  class ToolsForPowershell (line 71) | class ToolsForPowershell(_Devtools):
  class ToolsForVisualStudio (line 75) | class ToolsForVisualStudio(_Devtools):

FILE: diagrams/gcp/iot.py
  class _Iot (line 6) | class _Iot(_GCP):
  class IotCore (line 11) | class IotCore(_Iot):

FILE: diagrams/gcp/management.py
  class _Management (line 6) | class _Management(_GCP):
  class Billing (line 11) | class Billing(_Management):
  class Project (line 15) | class Project(_Management):
  class Quotas (line 19) | class Quotas(_Management):
  class Support (line 23) | class Support(_Management):

FILE: diagrams/gcp/migration.py
  class _Migration (line 6) | class _Migration(_GCP):
  class MigrateComputeEngine (line 11) | class MigrateComputeEngine(_Migration):
  class TransferAppliance (line 15) | class TransferAppliance(_Migration):

FILE: diagrams/gcp/ml.py
  class _ML (line 6) | class _ML(_GCP):
  class AdvancedSolutionsLab (line 11) | class AdvancedSolutionsLab(_ML):
  class AIHub (line 15) | class AIHub(_ML):
  class AIPlatformDataLabelingService (line 19) | class AIPlatformDataLabelingService(_ML):
  class AIPlatform (line 23) | class AIPlatform(_ML):
  class AutomlNaturalLanguage (line 27) | class AutomlNaturalLanguage(_ML):
  class AutomlTables (line 31) | class AutomlTables(_ML):
  class AutomlTranslation (line 35) | class AutomlTranslation(_ML):
  class AutomlVideoIntelligence (line 39) | class AutomlVideoIntelligence(_ML):
  class AutomlVision (line 43) | class AutomlVision(_ML):
  class Automl (line 47) | class Automl(_ML):
  class DialogFlowEnterpriseEdition (line 51) | class DialogFlowEnterpriseEdition(_ML):
  class InferenceAPI (line 55) | class InferenceAPI(_ML):
  class JobsAPI (line 59) | class JobsAPI(_ML):
  class NaturalLanguageAPI (line 63) | class NaturalLanguageAPI(_ML):
  class RecommendationsAI (line 67) | class RecommendationsAI(_ML):
  class SpeechToText (line 71) | class SpeechToText(_ML):
  class TextToSpeech (line 75) | class TextToSpeech(_ML):
  class TPU (line 79) | class TPU(_ML):
  class TranslationAPI (line 83) | class TranslationAPI(_ML):
  class VertexAI (line 87) | class VertexAI(_ML):
  class VideoIntelligenceAPI (line 91) | class VideoIntelligenceAPI(_ML):
  class VisionAPI (line 95) | class VisionAPI(_ML):

FILE: diagrams/gcp/network.py
  class _Network (line 6) | class _Network(_GCP):
  class Armor (line 11) | class Armor(_Network):
  class CDN (line 15) | class CDN(_Network):
  class CloudIDS (line 19) | class CloudIDS(_Network):
  class DedicatedInterconnect (line 23) | class DedicatedInterconnect(_Network):
  class DNS (line 27) | class DNS(_Network):
  class ExternalIpAddresses (line 31) | class ExternalIpAddresses(_Network):
  class FirewallRules (line 35) | class FirewallRules(_Network):
  class LoadBalancing (line 39) | class LoadBalancing(_Network):
  class NAT (line 43) | class NAT(_Network):
  class NetworkConnectivityCenter (line 47) | class NetworkConnectivityCenter(_Network):
  class NetworkIntelligenceCenter (line 51) | class NetworkIntelligenceCenter(_Network):
  class NetworkSecurity (line 55) | class NetworkSecurity(_Network):
  class NetworkTiers (line 59) | class NetworkTiers(_Network):
  class NetworkTopology (line 63) | class NetworkTopology(_Network):
  class Network (line 67) | class Network(_Network):
  class PartnerInterconnect (line 71) | class PartnerInterconnect(_Network):
  class PremiumNetworkTier (line 75) | class PremiumNetworkTier(_Network):
  class PrivateServiceConnect (line 79) | class PrivateServiceConnect(_Network):
  class Router (line 83) | class Router(_Network):
  class Routes (line 87) | class Routes(_Network):
  class ServiceMesh (line 91) | class ServiceMesh(_Network):
  class StandardNetworkTier (line 95) | class StandardNetworkTier(_Network):
  class TrafficDirector (line 99) | class TrafficDirector(_Network):
  class VirtualPrivateCloud (line 103) | class VirtualPrivateCloud(_Network):
  class VPN (line 107) | class VPN(_Network):

FILE: diagrams/gcp/operations.py
  class _Operations (line 6) | class _Operations(_GCP):
  class Logging (line 11) | class Logging(_Operations):
  class Monitoring (line 15) | class Monitoring(_Operations):

FILE: diagrams/gcp/security.py
  class _Security (line 6) | class _Security(_GCP):
  class AccessContextManager (line 11) | class AccessContextManager(_Security):
  class AssuredWorkloads (line 15) | class AssuredWorkloads(_Security):
  class CertificateAuthorityService (line 19) | class CertificateAuthorityService(_Security):
  class CertificateManager (line 23) | class CertificateManager(_Security):
  class CloudAssetInventory (line 27) | class CloudAssetInventory(_Security):
  class Iam (line 31) | class Iam(_Security):
  class IAP (line 35) | class IAP(_Security):
  class KeyManagementService (line 39) | class KeyManagementService(_Security):
  class ResourceManager (line 43) | class ResourceManager(_Security):
  class SecretManager (line 47) | class SecretManager(_Security):
  class SecurityCommandCenter (line 51) | class SecurityCommandCenter(_Security):
  class SecurityHealthAdvisor (line 55) | class SecurityHealthAdvisor(_Security):
  class SecurityScanner (line 59) | class SecurityScanner(_Security):

FILE: diagrams/gcp/storage.py
  class _Storage (line 6) | class _Storage(_GCP):
  class Filestore (line 11) | class Filestore(_Storage):
  class LocalSSD (line 15) | class LocalSSD(_Storage):
  class PersistentDisk (line 19) | class PersistentDisk(_Storage):
  class Storage (line 23) | class Storage(_Storage):

FILE: diagrams/generic/__init__.py
  class _Generic (line 8) | class _Generic(Node):
  class Generic (line 15) | class Generic(_Generic):

FILE: diagrams/generic/blank.py
  class _Blank (line 6) | class _Blank(_Generic):
  class Blank (line 11) | class Blank(_Blank):

FILE: diagrams/generic/compute.py
  class _Compute (line 6) | class _Compute(_Generic):
  class Rack (line 11) | class Rack(_Compute):

FILE: diagrams/generic/database.py
  class _Database (line 6) | class _Database(_Generic):
  class SQL (line 11) | class SQL(_Database):

FILE: diagrams/generic/device.py
  class _Device (line 6) | class _Device(_Generic):
  class Mobile (line 11) | class Mobile(_Device):
  class Tablet (line 15) | class Tablet(_Device):

FILE: diagrams/generic/network.py
  class _Network (line 6) | class _Network(_Generic):
  class Firewall (line 11) | class Firewall(_Network):
  class Router (line 15) | class Router(_Network):
  class Subnet (line 19) | class Subnet(_Network):
  class Switch (line 23) | class Switch(_Network):
  class VPN (line 27) | class VPN(_Network):

FILE: diagrams/generic/os.py
  class _Os (line 6) | class _Os(_Generic):
  class Android (line 11) | class Android(_Os):
  class Centos (line 15) | class Centos(_Os):
  class Debian (line 19) | class Debian(_Os):
  class IOS (line 23) | class IOS(_Os):
  class LinuxGeneral (line 27) | class LinuxGeneral(_Os):
  class Raspbian (line 31) | class Raspbian(_Os):
  class RedHat (line 35) | class RedHat(_Os):
  class Suse (line 39) | class Suse(_Os):
  class Ubuntu (line 43) | class Ubuntu(_Os):
  class Windows (line 47) | class Windows(_Os):

FILE: diagrams/generic/place.py
  class _Place (line 6) | class _Place(_Generic):
  class Datacenter (line 11) | class Datacenter(_Place):

FILE: diagrams/generic/storage.py
  class _Storage (line 6) | class _Storage(_Generic):
  class Storage (line 11) | class Storage(_Storage):

FILE: diagrams/generic/virtualization.py
  class _Virtualization (line 6) | class _Virtualization(_Generic):
  class Qemu (line 11) | class Qemu(_Virtualization):
  class Virtualbox (line 15) | class Virtualbox(_Virtualization):
  class Vmware (line 19) | class Vmware(_Virtualization):
  class XEN (line 23) | class XEN(_Virtualization):

FILE: diagrams/gis/__init__.py
  class _GIS (line 8) | class _GIS(Node):

FILE: diagrams/gis/cli.py
  class _Cli (line 6) | class _Cli(_GIS):
  class Gdal (line 11) | class Gdal(_Cli):
  class Imposm (line 15) | class Imposm(_Cli):
  class Lastools (line 19) | class Lastools(_Cli):
  class Mapnik (line 23) | class Mapnik(_Cli):
  class Mdal (line 27) | class Mdal(_Cli):
  class Pdal (line 31) | class Pdal(_Cli):

FILE: diagrams/gis/cplusplus.py
  class _Cplusplus (line 6) | class _Cplusplus(_GIS):
  class Mapnik (line 11) | class Mapnik(_Cplusplus):

FILE: diagrams/gis/data.py
  class _Data (line 6) | class _Data(_GIS):
  class BAN (line 11) | class BAN(_Data):
  class Here (line 15) | class Here(_Data):
  class IGN (line 19) | class IGN(_Data):
  class Openstreetmap (line 23) | class Openstreetmap(_Data):
  class Overturemaps (line 27) | class Overturemaps(_Data):

FILE: diagrams/gis/database.py
  class _Database (line 6) | class _Database(_GIS):
  class Postgis (line 11) | class Postgis(_Database):

FILE: diagrams/gis/desktop.py
  class _Desktop (line 6) | class _Desktop(_GIS):
  class Maptunik (line 11) | class Maptunik(_Desktop):
  class QGIS (line 15) | class QGIS(_Desktop):

FILE: diagrams/gis/format.py
  class _Format (line 6) | class _Format(_GIS):
  class Geopackage (line 11) | class Geopackage(_Format):
  class Geoparquet (line 15) | class Geoparquet(_Format):

FILE: diagrams/gis/geocoding.py
  class _Geocoding (line 6) | class _Geocoding(_GIS):
  class Addok (line 11) | class Addok(_Geocoding):
  class Gisgraphy (line 15) | class Gisgraphy(_Geocoding):
  class Nominatim (line 19) | class Nominatim(_Geocoding):
  class Pelias (line 23) | class Pelias(_Geocoding):

FILE: diagrams/gis/georchestra.py
  class _Georchestra (line 6) | class _Georchestra(_GIS):

FILE: diagrams/gis/java.py
  class _Java (line 6) | class _Java(_GIS):
  class Geotools (line 11) | class Geotools(_Java):

FILE: diagrams/gis/javascript.py
  class _Javascript (line 6) | class _Javascript(_GIS):
  class Cesium (line 11) | class Cesium(_Javascript):
  class Geostyler (line 15) | class Geostyler(_Javascript):
  class Keplerjs (line 19) | class Keplerjs(_Javascript):
  class Leaflet (line 23) | class Leaflet(_Javascript):
  class Maplibre (line 27) | class Maplibre(_Javascript):
  class OlExt (line 31) | class OlExt(_Javascript):
  class Openlayers (line 35) | class Openlayers(_Javascript):
  class Turfjs (line 39) | class Turfjs(_Javascript):

FILE: diagrams/gis/mobile.py
  class _Mobile (line 6) | class _Mobile(_GIS):
  class Mergin (line 11) | class Mergin(_Mobile):
  class Qfield (line 15) | class Qfield(_Mobile):
  class Smash (line 19) | class Smash(_Mobile):

FILE: diagrams/gis/ogc.py
  class _OGC (line 6) | class _OGC(_GIS):
  class OGC (line 11) | class OGC(_OGC):
  class WFS (line 15) | class WFS(_OGC):
  class WMS (line 19) | class WMS(_OGC):

FILE: diagrams/gis/organization.py
  class _Organization (line 6) | class _Organization(_GIS):
  class Osgeo (line 11) | class Osgeo(_Organization):

FILE: diagrams/gis/python.py
  class _Python (line 6) | class _Python(_GIS):
  class Geopandas (line 11) | class Geopandas(_Python):
  class Pysal (line 15) | class Pysal(_Python):

FILE: diagrams/gis/routing.py
  class _Routing (line 6) | class _Routing(_GIS):
  class Graphhopper (line 11) | class Graphhopper(_Routing):
  class Osrm (line 15) | class Osrm(_Routing):
  class Pgrouting (line 19) | class Pgrouting(_Routing):
  class Valhalla (line 23) | class Valhalla(_Routing):

FILE: diagrams/gis/server.py
  class _Server (line 6) | class _Server(_GIS):
  class Actinia (line 11) | class Actinia(_Server):
  class Baremaps (line 15) | class Baremaps(_Server):
  class Deegree (line 19) | class Deegree(_Server):
  class G3WSuite (line 23) | class G3WSuite(_Server):
  class Geohealthcheck (line 27) | class Geohealthcheck(_Server):
  class Geomapfish (line 31) | class Geomapfish(_Server):
  class Geomesa (line 35) | class Geomesa(_Server):
  class Geonetwork (line 39) | class Geonetwork(_Server):
  class Geonode (line 43) | class Geonode(_Server):
  class Georchestra (line 47) | class Georchestra(_Server):
  class Geoserver (line 51) | class Geoserver(_Server):
  class Geowebcache (line 55) | class Geowebcache(_Server):
  class Kepler (line 59) | class Kepler(_Server):
  class Mapproxy (line 63) | class Mapproxy(_Server):
  class Mapserver (line 67) | class Mapserver(_Server):
  class Mapstore (line 71) | class Mapstore(_Server):
  class Mviewer (line 75) | class Mviewer(_Server):
  class Pg_Tileserv (line 79) | class Pg_Tileserv(_Server):
  class Pycsw (line 83) | class Pycsw(_Server):
  class Pygeoapi (line 87) | class Pygeoapi(_Server):
  class QGISServer (line 91) | class QGISServer(_Server):
  class Zooproject (line 95) | class Zooproject(_Server):

FILE: diagrams/gis/toolkit.py
  class _Toolkit (line 6) | class _Toolkit(_GIS):

FILE: diagrams/ibm/__init__.py
  class _IBM (line 8) | class _IBM(Node):
  class IBM (line 15) | class IBM(_IBM):

FILE: diagrams/ibm/analytics.py
  class _Analytics (line 6) | class _Analytics(_IBM):
  class Analytics (line 11) | class Analytics(_Analytics):
  class DataIntegration (line 15) | class DataIntegration(_Analytics):
  class DataRepositories (line 19) | class DataRepositories(_Analytics):
  class DeviceAnalytics (line 23) | class DeviceAnalytics(_Analytics):
  class StreamingComputing (line 27) | class StreamingComputing(_Analytics):

FILE: diagrams/ibm/applications.py
  class _Applications (line 6) | class _Applications(_IBM):
  class ActionableInsight (line 11) | class ActionableInsight(_Applications):
  class Annotate (line 15) | class Annotate(_Applications):
  class ApiDeveloperPortal (line 19) | class ApiDeveloperPortal(_Applications):
  class ApiPolyglotRuntimes (line 23) | class ApiPolyglotRuntimes(_Applications):
  class AppServer (line 27) | class AppServer(_Applications):
  class ApplicationLogic (line 31) | class ApplicationLogic(_Applications):
  class EnterpriseApplications (line 35) | class EnterpriseApplications(_Applications):
  class Index (line 39) | class Index(_Applications):
  class IotApplication (line 43) | class IotApplication(_Applications):
  class Microservice (line 47) | class Microservice(_Applications):
  class MobileApp (line 51) | class MobileApp(_Applications):
  class Ontology (line 55) | class Ontology(_Applications):
  class OpenSourceTools (line 59) | class OpenSourceTools(_Applications):
  class RuntimeServices (line 63) | class RuntimeServices(_Applications):
  class SaasApplications (line 67) | class SaasApplications(_Applications):
  class ServiceBroker (line 71) | class ServiceBroker(_Applications):
  class SpeechToText (line 75) | class SpeechToText(_Applications):
  class VisualRecognition (line 79) | class VisualRecognition(_Applications):
  class Visualization (line 83) | class Visualization(_Applications):

FILE: diagrams/ibm/blockchain.py
  class _Blockchain (line 6) | class _Blockchain(_IBM):
  class BlockchainDeveloper (line 11) | class BlockchainDeveloper(_Blockchain):
  class Blockchain (line 15) | class Blockchain(_Blockchain):
  class CertificateAuthority (line 19) | class CertificateAuthority(_Blockchain):
  class ClientApplication (line 23) | class ClientApplication(_Blockchain):
  class Communication (line 27) | class Communication(_Blockchain):
  class Consensus (line 31) | class Consensus(_Blockchain):
  class EventListener (line 35) | class EventListener(_Blockchain):
  class Event (line 39) | class Event(_Blockchain):
  class ExistingEnterpriseSystems (line 43) | class ExistingEnterpriseSystems(_Blockchain):
  class HyperledgerFabric (line 47) | class HyperledgerFabric(_Blockchain):
  class KeyManagement (line 51) | class KeyManagement(_Blockchain):
  class Ledger (line 55) | class Ledger(_Blockchain):
  class MembershipServicesProviderApi (line 59) | class MembershipServicesProviderApi(_Blockchain):
  class Membership (line 63) | class Membership(_Blockchain):
  class MessageBus (line 67) | class MessageBus(_Blockchain):
  class Node (line 71) | class Node(_Blockchain):
  class Services (line 75) | class Services(_Blockchain):
  class SmartContract (line 79) | class SmartContract(_Blockchain):
  class TransactionManager (line 83) | class TransactionManager(_Blockchain):
  class Wallet (line 87) | class Wallet(_Blockchain):

FILE: diagrams/ibm/compute.py
  class _Compute (line 6) | class _Compute(_IBM):
  class BareMetalServer (line 11) | class BareMetalServer(_Compute):
  class ImageService (line 15) | class ImageService(_Compute):
  class Instance (line 19) | class Instance(_Compute):
  class Key (line 23) | class Key(_Compute):
  class PowerInstance (line 27) | class PowerInstance(_Compute):

FILE: diagrams/ibm/data.py
  class _Data (line 6) | class _Data(_IBM):
  class Caches (line 11) | class Caches(_Data):
  class Cloud (line 15) | class Cloud(_Data):
  class ConversationTrainedDeployed (line 19) | class ConversationTrainedDeployed(_Data):
  class DataServices (line 23) | class DataServices(_Data):
  class DataSources (line 27) | class DataSources(_Data):
  class DeviceIdentityService (line 31) | class DeviceIdentityService(_Data):
  class DeviceRegistry (line 35) | class DeviceRegistry(_Data):
  class EnterpriseData (line 39) | class EnterpriseData(_Data):
  class EnterpriseUserDirectory (line 43) | class EnterpriseUserDirectory(_Data):
  class FileRepository (line 47) | class FileRepository(_Data):
  class GroundTruth (line 51) | class GroundTruth(_Data):
  class Model (line 55) | class Model(_Data):
  class TmsDataInterface (line 59) | class TmsDataInterface(_Data):

FILE: diagrams/ibm/devops.py
  class _Devops (line 6) | class _Devops(_IBM):
  class ArtifactManagement (line 11) | class ArtifactManagement(_Devops):
  class BuildTest (line 15) | class BuildTest(_Devops):
  class CodeEditor (line 19) | class CodeEditor(_Devops):
  class CollaborativeDevelopment (line 23) | class CollaborativeDevelopment(_Devops):
  class ConfigurationManagement (line 27) | class ConfigurationManagement(_Devops):
  class ContinuousDeploy (line 31) | class ContinuousDeploy(_Devops):
  class ContinuousTesting (line 35) | class ContinuousTesting(_Devops):
  class Devops (line 39) | class Devops(_Devops):
  class Provision (line 43) | class Provision(_Devops):
  class ReleaseManagement (line 47) | class ReleaseManagement(_Devops):

FILE: diagrams/ibm/general.py
  class _General (line 6) | class _General(_IBM):
  class CloudMessaging (line 11) | class CloudMessaging(_General):
  class CloudServices (line 15) | class CloudServices(_General):
  class Cloudant (line 19) | class Cloudant(_General):
  class CognitiveServices (line 23) | class CognitiveServices(_General):
  class DataSecurity (line 27) | class DataSecurity(_General):
  class Enterprise (line 31) | class Enterprise(_General):
  class GovernanceRiskCompliance (line 35) | class GovernanceRiskCompliance(_General):
  class IBMContainers (line 39) | class IBMContainers(_General):
  class IBMPublicCloud (line 43) | class IBMPublicCloud(_General):
  class IdentityAccessManagement (line 47) | class IdentityAccessManagement(_General):
  class IdentityProvider (line 51) | class IdentityProvider(_General):
  class InfrastructureSecurity (line 55) | class InfrastructureSecurity(_General):
  class Internet (line 59) | class Internet(_General):
  class IotCloud (line 63) | class IotCloud(_General):
  class MicroservicesApplication (line 67) | class MicroservicesApplication(_General):
  class MicroservicesMesh (line 71) | class MicroservicesMesh(_General):
  class MonitoringLogging (line 75) | class MonitoringLogging(_General):
  class Monitoring (line 79) | class Monitoring(_General):
  class ObjectStorage (line 83) | class ObjectStorage(_General):
  class OfflineCapabilities (line 87) | class OfflineCapabilities(_General):
  class Openwhisk (line 91) | class Openwhisk(_General):
  class PeerCloud (line 95) | class PeerCloud(_General):
  class RetrieveRank (line 99) | class RetrieveRank(_General):
  class Scalable (line 103) | class Scalable(_General):
  class ServiceDiscoveryConfiguration (line 107) | class ServiceDiscoveryConfiguration(_General):
  class TextToSpeech (line 111) | class TextToSpeech(_General):
  class TransformationConnectivity (line 115) | class TransformationConnectivity(_General):

FILE: diagrams/ibm/infrastructure.py
  class _Infrastructure (line 6) | class _Infrastructure(_IBM):
  class Channels (line 11) | class Channels(_Infrastructure):
  class CloudMessaging (line 15) | class CloudMessaging(_Infrastructure):
  class Dashboard (line 19) | class Dashboard(_Infrastructure):
  class Diagnostics (line 23) | class Diagnostics(_Infrastructure):
  class EdgeServices (line 27) | class EdgeServices(_Infrastructure):
  class EnterpriseMessaging (line 31) | class EnterpriseMessaging(_Infrastructure):
  class EventFeed (line 35) | class EventFeed(_Infrastructure):
  class InfrastructureServices (line 39) | class InfrastructureServices(_Infrastructure):
  class InterserviceCommunication (line 43) | class InterserviceCommunication(_Infrastructure):
  class LoadBalancingRouting (line 47) | class LoadBalancingRouting(_Infrastructure):
  class MicroservicesMesh (line 51) | class MicroservicesMesh(_Infrastructure):
  class MobileBackend (line 55) | class MobileBackend(_Infrastructure):
  class MobileProviderNetwork (line 59) | class MobileProviderNetwork(_Infrastructure):
  class MonitoringLogging (line 63) | class MonitoringLogging(_Infrastructure):
  class Monitoring (line 67) | class Monitoring(_Infrastructure):
  class PeerServices (line 71) | class PeerServices(_Infrastructure):
  class ServiceDiscoveryConfiguration (line 75) | class ServiceDiscoveryConfiguration(_Infrastructure):
  class TransformationConnectivity (line 79) | class TransformationConnectivity(_Infrastructure):

FILE: diagrams/ibm/management.py
  class _Management (line 6) | class _Management(_IBM):
  class AlertNotification (line 11) | class AlertNotification(_Management):
  class ApiManagement (line 15) | class ApiManagement(_Management):
  class CloudManagement (line 19) | class CloudManagement(_Management):
  class ClusterManagement (line 23) | class ClusterManagement(_Management):
  class ContentManagement (line 27) | class ContentManagement(_Management):
  class DataServices (line 31) | class DataServices(_Management):
  class DeviceManagement (line 35) | class DeviceManagement(_Management):
  class InformationGovernance (line 39) | class InformationGovernance(_Management):
  class ItServiceManagement (line 43) | class ItServiceManagement(_Management):
  class Management (line 47) | class Management(_Management):
  class MonitoringMetrics (line 51) | class MonitoringMetrics(_Management):
  class ProcessManagement (line 55) | class ProcessManagement(_Management):
  class ProviderCloudPortalService (line 59) | class ProviderCloudPortalService(_Management):
  class PushNotifications (line 63) | class PushNotifications(_Management):
  class ServiceManagementTools (line 67) | class ServiceManagementTools(_Management):

FILE: diagrams/ibm/network.py
  class _Network (line 6) | class _Network(_IBM):
  class Bridge (line 11) | class Bridge(_Network):
  class DirectLink (line 15) | class DirectLink(_Network):
  class Enterprise (line 19) | class Enterprise(_Network):
  class Firewall (line 23) | class Firewall(_Network):
  class FloatingIp (line 27) | class FloatingIp(_Network):
  class Gateway (line 31) | class Gateway(_Network):
  class InternetServices (line 35) | class InternetServices(_Network):
  class LoadBalancerListener (line 39) | class LoadBalancerListener(_Network):
  class LoadBalancerPool (line 43) | class LoadBalancerPool(_Network):
  class LoadBalancer (line 47) | class LoadBalancer(_Network):
  class LoadBalancingRouting (line 51) | class LoadBalancingRouting(_Network):
  class PublicGateway (line 55) | class PublicGateway(_Network):
  class Region (line 59) | class Region(_Network):
  class Router (line 63) | class Router(_Network):
  class Rules (line 67) | class Rules(_Network):
  class Subnet (line 71) | class Subnet(_Network):
  class TransitGateway (line 75) | class TransitGateway(_Network):
  class Vpc (line 79) | class Vpc(_Network):
  class VpnConnection (line 83) | class VpnConnection(_Network):
  class VpnGateway (line 87) | class VpnGateway(_Network):
  class VpnPolicy (line 91) | class VpnPolicy(_Network):

FILE: diagrams/ibm/security.py
  class _Security (line 6) | class _Security(_IBM):
  class ApiSecurity (line 11) | class ApiSecurity(_Security):
  class BlockchainSecurityService (line 15) | class BlockchainSecurityService(_Security):
  class DataSecurity (line 19) | class DataSecurity(_Security):
  class Firewall (line 23) | class Firewall(_Security):
  class Gateway (line 27) | class Gateway(_Security):
  class GovernanceRiskCompliance (line 31) | class GovernanceRiskCompliance(_Security):
  class IdentityAccessManagement (line 35) | class IdentityAccessManagement(_Security):
  class IdentityProvider (line 39) | class IdentityProvider(_Security):
  class InfrastructureSecurity (line 43) | class InfrastructureSecurity(_Security):
  class PhysicalSecurity (line 47) | class PhysicalSecurity(_Security):
  class SecurityMonitoringIntelligence (line 51) | class SecurityMonitoringIntelligence(_Security):
  class SecurityServices (line 55) | class SecurityServices(_Security):
  class TrustendComputing (line 59) | class TrustendComputing(_Security):
  class Vpn (line 63) | class Vpn(_Security):

FILE: diagrams/ibm/social.py
  class _Social (line 6) | class _Social(_IBM):
  class Communities (line 11) | class Communities(_Social):
  class FileSync (line 15) | class FileSync(_Social):
  class LiveCollaboration (line 19) | class LiveCollaboration(_Social):
  class Messaging (line 23) | class Messaging(_Social):
  class Networking (line 27) | class Networking(_Social):

FILE: diagrams/ibm/storage.py
  class _Storage (line 6) | class _Storage(_IBM):
  class BlockStorage (line 11) | class BlockStorage(_Storage):
  class ObjectStorage (line 15) | class ObjectStorage(_Storage):

FILE: diagrams/ibm/user.py
  class _User (line 6) | class _User(_IBM):
  class Browser (line 11) | class Browser(_User):
  class Device (line 15) | class Device(_User):
  class IntegratedDigitalExperiences (line 19) | class IntegratedDigitalExperiences(_User):
  class PhysicalEntity (line 23) | class PhysicalEntity(_User):
  class Sensor (line 27) | class Sensor(_User):
  class User (line 31) | class User(_User):

FILE: diagrams/k8s/__init__.py
  class _K8S (line 8) | class _K8S(Node):
  class K8S (line 15) | class K8S(_K8S):

FILE: diagrams/k8s/chaos.py
  class _Chaos (line 6) | class _Chaos(_K8S):
  class ChaosMesh (line 11) | class ChaosMesh(_Chaos):
  class LitmusChaos (line 15) | class LitmusChaos(_Chaos):

FILE: diagrams/k8s/clusterconfig.py
  class _Clusterconfig (line 6) | class _Clusterconfig(_K8S):
  class HPA (line 11) | class HPA(_Clusterconfig):
  class Limits (line 15) | class Limits(_Clusterconfig):
  class Quota (line 19) | class Quota(_Clusterconfig):

FILE: diagrams/k8s/compute.py
  class _Compute (line 6) | class _Compute(_K8S):
  class Cronjob (line 11) | class Cronjob(_Compute):
  class Deploy (line 15) | class Deploy(_Compute):
  class DS (line 19) | class DS(_Compute):
  class Job (line 23) | class Job(_Compute):
  class Pod (line 27) | class Pod(_Compute):
  class RS (line 31) | class RS(_Compute):
  class STS (line 35) | class STS(_Compute):

FILE: diagrams/k8s/controlplane.py
  class _Controlplane (line 6) | class _Controlplane(_K8S):
  class API (line 11) | class API(_Controlplane):
  class CCM (line 15) | class CCM(_Controlplane):
  class CM (line 19) | class CM(_Controlplane):
  class KProxy (line 23) | class KProxy(_Controlplane):
  class Kubelet (line 27) | class Kubelet(_Controlplane):
  class Sched (line 31) | class Sched(_Controlplane):

FILE: diagrams/k8s/ecosystem.py
  class _Ecosystem (line 6) | class _Ecosystem(_K8S):
  class ExternalDns (line 11) | class ExternalDns(_Ecosystem):
  class Helm (line 15) | class Helm(_Ecosystem):
  class Krew (line 19) | class Krew(_Ecosystem):
  class Kustomize (line 23) | class Kustomize(_Ecosystem):

FILE: diagrams/k8s/group.py
  class _Group (line 6) | class _Group(_K8S):
  class NS (line 11) | class NS(_Group):

FILE: diagrams/k8s/infra.py
  class _Infra (line 6) | class _Infra(_K8S):
  class ETCD (line 11) | class ETCD(_Infra):
  class Master (line 15) | class Master(_Infra):
  class Node (line 19) | class Node(_Infra):

FILE: diagrams/k8s/network.py
  class _Network (line 6) | class _Network(_K8S):
  class Ep (line 11) | class Ep(_Network):
  class Ing (line 15) | class Ing(_Network):
  class Netpol (line 19) | class Netpol(_Network):
  class SVC (line 23) | class SVC(_Network):

FILE: diagrams/k8s/others.py
  class _Others (line 6) | class _Others(_K8S):
  class CRD (line 11) | class CRD(_Others):
  class PSP (line 15) | class PSP(_Others):

FILE: diagrams/k8s/podconfig.py
  class _Podconfig (line 6) | class _Podconfig(_K8S):
  class CM (line 11) | class CM(_Podconfig):
  class Secret (line 15) | class Secret(_Podconfig):

FILE: diagrams/k8s/rbac.py
  class _Rbac (line 6) | class _Rbac(_K8S):
  class CRole (line 11) | class CRole(_Rbac):
  class CRB (line 15) | class CRB(_Rbac):
  class Group (line 19) | class Group(_Rbac):
  class RB (line 23) | class RB(_Rbac):
  class Role (line 27) | class Role(_Rbac):
  class SA (line 31) | class SA(_Rbac):
  class User (line 35) | class User(_Rbac):

FILE: diagrams/k8s/storage.py
  class _Storage (line 6) | class _Storage(_K8S):
  class PV (line 11) | class PV(_Storage):
  class PVC (line 15) | class PVC(_Storage):
  class SC (line 19) | class SC(_Storage):
  class Vol (line 23) | class Vol(_Storage):

FILE: diagrams/oci/__init__.py
  class _OCI (line 8) | class _OCI(Node):
  class OCI (line 15) | class OCI(_OCI):

FILE: diagrams/oci/compute.py
  class _Compute (line 6) | class _Compute(_OCI):
  class AutoscaleWhite (line 11) | class AutoscaleWhite(_Compute):
  class Autoscale (line 15) | class Autoscale(_Compute):
  class BMWhite (line 19) | class BMWhite(_Compute):
  class BM (line 23) | class BM(_Compute):
  class ContainerWhite (line 27) | class ContainerWhite(_Compute):
  class Container (line 31) | class Container(_Compute):
  class FunctionsWhite (line 35) | class FunctionsWhite(_Compute):
  class Functions (line 39) | class Functions(_Compute):
  class InstancePoolsWhite (line 43) | class InstancePoolsWhite(_Compute):
  class InstancePools (line 47) | class InstancePools(_Compute):
  class OCIRWhite (line 51) | class OCIRWhite(_Compute):
  class OCIR (line 55) | class OCIR(_Compute):
  class OKEWhite (line 59) | class OKEWhite(_Compute):
  class OKE (line 63) | class OKE(_Compute):
  class VMWhite (line 67) | class VMWhite(_Compute):
  class VM (line 71) | class VM(_Compute):

FILE: diagrams/oci/connectivity.py
  class _Connectivity (line 6) | class _Connectivity(_OCI):
  class BackboneWhite (line 11) | class BackboneWhite(_Connectivity):
  class Backbone (line 15) | class Backbone(_Connectivity):
  class CDNWhite (line 19) | class CDNWhite(_Connectivity):
  class CDN (line 23) | class CDN(_Connectivity):
  class CustomerDatacenter (line 27) | class CustomerDatacenter(_Connectivity):
  class CustomerDatacntrWhite (line 31) | class CustomerDatacntrWhite(_Connectivity):
  class CustomerPremisesWhite (line 35) | class CustomerPremisesWhite(_Connectivity):
  class CustomerPremises (line 39) | class CustomerPremises(_Connectivity):
  class DisconnectedRegionsWhite (line 43) | class DisconnectedRegionsWhite(_Connectivity):
  class DisconnectedRegions (line 47) | class DisconnectedRegions(_Connectivity):
  class DNSWhite (line 51) | class DNSWhite(_Connectivity):
  class DNS (line 55) | class DNS(_Connectivity):
  class FastConnectWhite (line 59) | class FastConnectWhite(_Connectivity):
  class FastConnect (line 63) | class FastConnect(_Connectivity):
  class NATGatewayWhite (line 67) | class NATGatewayWhite(_Connectivity):
  class NATGateway (line 71) | class NATGateway(_Connectivity):
  class VPNWhite (line 75) | class VPNWhite(_Connectivity):
  class VPN (line 79) | class VPN(_Connectivity):

FILE: diagrams/oci/database.py
  class _Database (line 6) | class _Database(_OCI):
  class AutonomousWhite (line 11) | class AutonomousWhite(_Database):
  class Autonomous (line 15) | class Autonomous(_Database):
  class BigdataServiceWhite (line 19) | class BigdataServiceWhite(_Database):
  class BigdataService (line 23) | class BigdataService(_Database):
  class DatabaseServiceWhite (line 27) | class DatabaseServiceWhite(_Database):
  class DatabaseService (line 31) | class DatabaseService(_Database):
  class DataflowApacheWhite (line 35) | class DataflowApacheWhite(_Database):
  class DataflowApache (line 39) | class DataflowApache(_Database):
  class DcatWhite (line 43) | class DcatWhite(_Database):
  class Dcat (line 47) | class Dcat(_Database):
  class DisWhite (line 51) | class DisWhite(_Database):
  class Dis (line 55) | class Dis(_Database):
  class DMSWhite (line 59) | class DMSWhite(_Database):
  class DMS (line 63) | class DMS(_Database):
  class ScienceWhite (line 67) | class ScienceWhite(_Database):
  class Science (line 71) | class Science(_Database):
  class StreamWhite (line 75) | class StreamWhite(_Database):
  class Stream (line 79) | class Stream(_Database):

FILE: diagrams/oci/devops.py
  class _Devops (line 6) | class _Devops(_OCI):
  class APIGatewayWhite (line 11) | class APIGatewayWhite(_Devops):
  class APIGateway (line 15) | class APIGateway(_Devops):
  class APIServiceWhite (line 19) | class APIServiceWhite(_Devops):
  class APIService (line 23) | class APIService(_Devops):
  class ResourceMgmtWhite (line 27) | class ResourceMgmtWhite(_Devops):
  class ResourceMgmt (line 31) | class ResourceMgmt(_Devops):

FILE: diagrams/oci/governance.py
  class _Governance (line 6) | class _Governance(_OCI):
  class AuditWhite (line 11) | class AuditWhite(_Governance):
  class Audit (line 15) | class Audit(_Governance):
  class CompartmentsWhite (line 19) | class CompartmentsWhite(_Governance):
  class Compartments (line 23) | class Compartments(_Governance):
  class GroupsWhite (line 27) | class GroupsWhite(_Governance):
  class Groups (line 31) | class Groups(_Governance):
  class LoggingWhite (line 35) | class LoggingWhite(_Governance):
  class Logging (line 39) | class Logging(_Governance):
  class OCIDWhite (line 43) | class OCIDWhite(_Governance):
  class OCID (line 47) | class OCID(_Governance):
  class PoliciesWhite (line 51) | class PoliciesWhite(_Governance):
  class Policies (line 55) | class Policies(_Governance):
  class TaggingWhite (line 59) | class TaggingWhite(_Governance):
  class Tagging (line 63) | class Tagging(_Governance):

FILE: diagrams/oci/monitoring.py
  class _Monitoring (line 6) | class _Monitoring(_OCI):
  class AlarmWhite (line 11) | class AlarmWhite(_Monitoring):
  class Alarm (line 15) | class Alarm(_Monitoring):
  class EmailWhite (line 19) | class EmailWhite(_Monitoring):
  class Email (line 23) | class Email(_Monitoring):
  class EventsWhite (line 27) | class EventsWhite(_Monitoring):
  class Events (line 31) | class Events(_Monitoring):
  class HealthCheckWhite (line 35) | class HealthCheckWhite(_Monitoring):
  class HealthCheck (line 39) | class HealthCheck(_Monitoring):
  class NotificationsWhite (line 43) | class NotificationsWhite(_Monitoring):
  class Notifications (line 47) | class Notifications(_Monitoring):
  class QueueWhite (line 51) | class QueueWhite(_Monitoring):
  class Queue (line 55) | class Queue(_Monitoring):
  class SearchWhite (line 59) | class SearchWhite(_Monitoring):
  class Search (line 63) | class Search(_Monitoring):
  class TelemetryWhite (line 67) | class TelemetryWhite(_Monitoring):
  class Telemetry (line 71) | class Telemetry(_Monitoring):
  class WorkflowWhite (line 75) | class WorkflowWhite(_Monitoring):
  class Workflow (line 79) | class Workflow(_Monitoring):

FILE: diagrams/oci/network.py
  class _Network (line 6) | class _Network(_OCI):
  class DrgWhite (line 11) | class DrgWhite(_Network):
  class Drg (line 15) | class Drg(_Network):
  class FirewallWhite (line 19) | class FirewallWhite(_Network):
  class Firewall (line 23) | class Firewall(_Network):
  class InternetGatewayWhite (line 27) | class InternetGatewayWhite(_Network):
  class InternetGateway (line 31) | class InternetGateway(_Network):
  class LoadBalancerWhite (line 35) | class LoadBalancerWhite(_Network):
  class LoadBalancer (line 39) | class LoadBalancer(_Network):
  class RouteTableWhite (line 43) | class RouteTableWhite(_Network):
  class RouteTable (line 47) | class RouteTable(_Network):
  class SecurityListsWhite (line 51) | class SecurityListsWhite(_Network):
  class SecurityLists (line 55) | class SecurityLists(_Network):
  class ServiceGatewayWhite (line 59) | class ServiceGatewayWhite(_Network):
  class ServiceGateway (line 63) | class ServiceGateway(_Network):
  class VcnWhite (line 67) | class VcnWhite(_Network):
  class Vcn (line 71) | class Vcn(_Network):

FILE: diagrams/oci/security.py
  class _Security (line 6) | class _Security(_OCI):
  class CloudGuardWhite (line 11) | class CloudGuardWhite(_Security):
  class CloudGuard (line 15) | class CloudGuard(_Security):
  class DDOSWhite (line 19) | class DDOSWhite(_Security):
  class DDOS (line 23) | class DDOS(_Security):
  class EncryptionWhite (line 27) | class EncryptionWhite(_Security):
  class Encryption (line 31) | class Encryption(_Security):
  class IDAccessWhite (line 35) | class IDAccessWhite(_Security):
  class IDAccess (line 39) | class IDAccess(_Security):
  class KeyManagementWhite (line 43) | class KeyManagementWhite(_Security):
  class KeyManagement (line 47) | class KeyManagement(_Security):
  class MaxSecurityZoneWhite (line 51) | class MaxSecurityZoneWhite(_Security):
  class MaxSecurityZone (line 55) | class MaxSecurityZone(_Security):
  class VaultWhite (line 59) | class VaultWhite(_Security):
  class Vault (line 63) | class Vault(_Security):
  class WAFWhite (line 67) | class WAFWhite(_Security):
  class WAF (line 71) | class WAF(_Security):

FILE: diagrams/oci/storage.py
  class _Storage (line 6) | class _Storage(_OCI):
  class BackupRestoreWhite (line 11) | class BackupRestoreWhite(_Storage):
  class BackupRestore (line 15) | class BackupRestore(_Storage):
  class BlockStorageCloneWhite (line 19) | class BlockStorageCloneWhite(_Storage):
  class BlockStorageClone (line 23) | class BlockStorageClone(_Storage):
  class BlockStorageWhite (line 27) | class BlockStorageWhite(_Storage):
  class BlockStorage (line 31) | class BlockStorage(_Storage):
  class BucketsWhite (line 35) | class BucketsWhite(_Storage):
  class Buckets (line 39) | class Buckets(_Storage):
  class DataTransferWhite (line 43) | class DataTransferWhite(_Storage):
  class DataTransfer (line 47) | class DataTransfer(_Storage):
  class ElasticPerformanceWhite (line 51) | class ElasticPerformanceWhite(_Storage):
  class ElasticPerformance (line 55) | class ElasticPerformance(_Storage):
  class FileStorageWhite (line 59) | class FileStorageWhite(_Storage):
  class FileStorage (line 63) | class FileStorage(_Storage):
  class ObjectStorageWhite (line 67) | class ObjectStorageWhite(_Storage):
  class ObjectStorage (line 71) | class ObjectStorage(_Storage):
  class StorageGatewayWhite (line 75) | class StorageGatewayWhite(_Storage):
  class StorageGateway (line 79) | class StorageGateway(_Storage):

FILE: diagrams/onprem/__init__.py
  class _OnPrem (line 8) | class _OnPrem(Node):
  class OnPrem (line 15) | class OnPrem(_OnPrem):

FILE: diagrams/onprem/aggregator.py
  class _Aggregator (line 6) | class _Aggregator(_OnPrem):
  class Fluentd (line 11) | class Fluentd(_Aggregator):
  class Vector (line 15) | class Vector(_Aggregator):

FILE: diagrams/onprem/analytics.py
  class _Analytics (line 6) | class _Analytics(_OnPrem):
  class Beam (line 11) | class Beam(_Analytics):
  class Databricks (line 15) | class Databricks(_Analytics):
  class Dbt (line 19) | class Dbt(_Analytics):
  class Dremio (line 23) | class Dremio(_Analytics):
  class Flink (line 27) | class Flink(_Analytics):
  class Hadoop (line 31) | class Hadoop(_Analytics):
  class Hive (line 35) | class Hive(_Analytics):
  class Metabase (line 39) | class Metabase(_Analytics):
  class Norikra (line 43) | class Norikra(_Analytics):
  class Powerbi (line 47) | class Powerbi(_Analytics):
  class Presto (line 51) | class Presto(_Analytics):
  class Singer (line 55) | class Singer(_Analytics):
  class Spark (line 59) | class Spark(_Analytics):
  class Storm (line 63) | class Storm(_Analytics):
  class Superset (line 67) | class Superset(_Analytics):
  class Tableau (line 71) | class Tableau(_Analytics):
  class Trino (line 75) | class Trino(_Analytics):

FILE: diagrams/onprem/auth.py
  class _Auth (line 6) | class _Auth(_OnPrem):
  class Boundary (line 11) | class Boundary(_Auth):
  class BuzzfeedSso (line 15) | class BuzzfeedSso(_Auth):
  class Oauth2Proxy (line 19) | class Oauth2Proxy(_Auth):

FILE: diagrams/onprem/cd.py
  class _Cd (line 6) | class _Cd(_OnPrem):
  class Spinnaker (line 11) | class Spinnaker(_Cd):
  class TektonCli (line 15) | class TektonCli(_Cd):
  class Tekton (line 19) | class Tekton(_Cd):

FILE: diagrams/onprem/certificates.py
  class _Certificates (line 6) | class _Certificates(_OnPrem):
  class CertManager (line 11) | class CertManager(_Certificates):
  class LetsEncrypt (line 15) | class LetsEncrypt(_Certificates):

FILE: diagrams/onprem/ci.py
  class _Ci (line 6) | class _Ci(_OnPrem):
  class Circleci (line 11) | class Circleci(_Ci):
  class Concourseci (line 15) | class Concourseci(_Ci):
  class Droneci (line 19) | class Droneci(_Ci):
  class GithubActions (line 23) | class GithubActions(_Ci):
  class Gitlabci (line 27) | class Gitlabci(_Ci):
  class Jenkins (line 31) | class Jenkins(_Ci):
  class Teamcity (line 35) | class Teamcity(_Ci):
  class Travisci (line 39) | class Travisci(_Ci):
  class Zuulci (line 43) | class Zuulci(_Ci):

FILE: diagrams/onprem/client.py
  class _Client (line 6) | class _Client(_OnPrem):
  class Client (line 11) | class Client(_Client):
  class User (line 15) | class User(_Client):
  class Users (line 19) | class Users(_Client):

FILE: diagrams/onprem/compute.py
  class _Compute (line 6) | class _Compute(_OnPrem):
  class Nomad (line 11) | class Nomad(_Compute):
  class Server (line 15) | class Server(_Compute):

FILE: diagrams/onprem/container.py
  class _Container (line 6) | class _Container(_OnPrem):
  class Containerd (line 11) | class Containerd(_Container):
  class Crio (line 15) | class Crio(_Container):
  class Docker (line 19) | class Docker(_Container):
  class Firecracker (line 23) | class Firecracker(_Container):
  class Gvisor (line 27) | class Gvisor(_Container):
  class K3S (line 31) | class K3S(_Container):
  class Lxc (line 35) | class Lxc(_Container):
  class Rkt (line 39) | class Rkt(_Container):

FILE: diagrams/onprem/database.py
  class _Database (line 6) | class _Database(_OnPrem):
  class Cassandra (line 11) | class Cassandra(_Database):
  class Clickhouse (line 15) | class Clickhouse(_Database):
  class Cockroachdb (line 19) | class Cockroachdb(_Database):
  class Couchbase (line 23) | class Couchbase(_Database):
  class Couchdb (line 27) | class Couchdb(_Database):
  class Dgraph (line 31) | class Dgraph(_Database):
  class Druid (line 35) | class Druid(_Database):
  class Duckdb (line 39) | class Duckdb(_Database):
  class Hbase (line 43) | class Hbase(_Database):
  class Influxdb (line 47) | class Influxdb(_Database):
  class Janusgraph (line 51) | class Janusgraph(_Database):
  class Mariadb (line 55) | class Mariadb(_Database):
  class Mongodb (line 59) | class Mongodb(_Database):
  class Mssql (line 63) | class Mssql(_Database):
  class Mysql (line 67) | class Mysql(_Database):
  class Neo4J (line 71) | class Neo4J(_Database):
  class Oracle (line 75) | class Oracle(_Database):
  class Postgresql (line 79) | class Postgresql(_Database):
  class Qdrant (line 83) | class Qdrant(_Database):
  class Scylla (line 87) | class Scylla(_Database):

FILE: diagrams/onprem/dns.py
  class _Dns (line 6) | class _Dns(_OnPrem):
  class Coredns (line 11) | class Coredns(_Dns):
  class Powerdns (line 15) | class Powerdns(_Dns):

FILE: diagrams/onprem/etl.py
  class _Etl (line 6) | class _Etl(_OnPrem):
  class Embulk (line 11) | class Embulk(_Etl):

FILE: diagrams/onprem/gitops.py
  class _Gitops (line 6) | class _Gitops(_OnPrem):
  class Argocd (line 11) | class Argocd(_Gitops):
  class Flagger (line 15) | class Flagger(_Gitops):
  class Flux (line 19) | class Flux(_Gitops):

FILE: diagrams/onprem/groupware.py
  class _Groupware (line 6) | class _Groupware(_OnPrem):
  class Nextcloud (line 11) | class Nextcloud(_Groupware):

FILE: diagrams/onprem/iac.py
  class _Iac (line 6) | class _Iac(_OnPrem):
  class Ansible (line 11) | class Ansible(_Iac):
  class Atlantis (line 15) | class Atlantis(_Iac):
  class Awx (line 19) | class Awx(_Iac):
  class Pulumi (line 23) | class Pulumi(_Iac):
  class Puppet (line 27) | class Puppet(_Iac):
  class Terraform (line 31) | class Terraform(_Iac):

FILE: diagrams/onprem/identity.py
  class _Identity (line 6) | class _Identity(_OnPrem):
  class Dex (line 11) | class Dex(_Identity):

FILE: diagrams/onprem/inmemory.py
  class _Inmemory (line 6) | class _Inmemory(_OnPrem):
  class Aerospike (line 11) | class Aerospike(_Inmemory):
  class Hazelcast (line 15) | class Hazelcast(_Inmemory):
  class Memcached (line 19) | class Memcached(_Inmemory):
  class Redis (line 23) | class Redis(_Inmemory):

FILE: diagrams/onprem/logging.py
  class _Logging (line 6) | class _Logging(_OnPrem):
  class Fluentbit (line 11) | class Fluentbit(_Logging):
  class Graylog (line 15) | class Graylog(_Logging):
  class Loki (line 19) | class Loki(_Logging):
  class Rsyslog (line 23) | class Rsyslog(_Logging):
  class SyslogNg (line 27) | class SyslogNg(_Logging):

FILE: diagrams/onprem/messaging.py
  class _Messaging (line 6) | class _Messaging(_OnPrem):
  class Centrifugo (line 11) | class Centrifugo(_Messaging):

FILE: diagrams/onprem/mlops.py
  class _Mlops (line 6) | class _Mlops(_OnPrem):
  class Mlflow (line 11) | class Mlflow(_Mlops):
  class Polyaxon (line 15) | class Polyaxon(_Mlops):

FILE: diagrams/onprem/monitoring.py
  class _Monitoring (line 6) | class _Monitoring(_OnPrem):
  class Cortex (line 11) | class Cortex(_Monitoring):
  class Datadog (line 15) | class Datadog(_Monitoring):
  class Dynatrace (line 19) | class Dynatrace(_Monitoring):
  class Grafana (line 23) | class Grafana(_Monitoring):
  class Humio (line 27) | class Humio(_Monitoring):
  class Mimir (line 31) | class Mimir(_Monitoring):
  class Nagios (line 35) | class Nagios(_Monitoring):
  class Newrelic (line 39) | class Newrelic(_Monitoring):
  class PrometheusOperator (line 43) | class PrometheusOperator(_Monitoring):
  class Prometheus (line 47) | class Prometheus(_Monitoring):
  class Sentry (line 51) | class Sentry(_Monitoring):
  class Splunk (line 55) | class Splunk(_Monitoring):
  class Thanos (line 59) | class Thanos(_Monitoring):
  class Zabbix (line 63) | class Zabbix(_Monitoring):

FILE: diagrams/onprem/network.py
  class _Network (line 6) | class _Network(_OnPrem):
  class Ambassador (line 11) | class Ambassador(_Network):
  class Apache (line 15) | class Apache(_Network):
  class Bind9 (line 19) | class Bind9(_Network):
  class Caddy (line 23) | class Caddy(_Network):
  class CiscoRouter (line 27) | class CiscoRouter(_Network):
  class CiscoSwitchL2 (line 31) | class CiscoSwitchL2(_Network):
  class CiscoSwitchL3 (line 35) | class CiscoSwitchL3(_Network):
  class Consul (line 39) | class Consul(_Network):
  class Envoy (line 43) | class Envoy(_Network):
  class Etcd (line 47) | class Etcd(_Network):
  class Glassfish (line 51) | class Glassfish(_Network):
  class Gunicorn (line 55) | class Gunicorn(_Network):
  class Haproxy (line 59) | class Haproxy(_Network):
  class Internet (line 63) | class Internet(_Network):
  class Istio (line 67) | class Istio(_Network):
  class Jbossas (line 71) | class Jbossas(_Network):
  class Jetty (line 75) | class Jetty(_Network):
  class Kong (line 79) | class Kong(_Network):
  class Linkerd (line 83) | class Linkerd(_Network):
  class Mikrotik (line 87) | class Mikrotik(_Network):
  class Nginx (line 91) | class Nginx(_Network):
  class Ocelot (line 95) | class Ocelot(_Network):
  class OpenServiceMesh (line 99) | class OpenServiceMesh(_Network):
  class Opnsense (line 103) | class Opnsense(_Network):
  class Pfsense (line 107) | class Pfsense(_Network):
  class Pomerium (line 111) | class Pomerium(_Network):
  class Powerdns (line 115) | class Powerdns(_Network):
  class Tomcat (line 119) | class Tomcat(_Network):
  class Traefik (line 123) | class Traefik(_Network):
  class Tyk (line 127) | class Tyk(_Network):
  class Vyos (line 131) | class Vyos(_Network):
  class Wildfly (line 135) | class Wildfly(_Network):
  class Yarp (line 139) | class Yarp(_Network):
  class Zookeeper (line 143) | class Zookeeper(_Network):

FILE: diagrams/onprem/proxmox.py
  class _Proxmox (line 6) | class _Proxmox(_OnPrem):
  class Pve (line 11) | class Pve(_Proxmox):

FILE: diagrams/onprem/queue.py
  class _Queue (line 6) | class _Queue(_OnPrem):
  class Activemq (line 11) | class Activemq(_Queue):
  class Celery (line 15) | class Celery(_Queue):
  class Emqx (line 19) | class Emqx(_Queue):
  class Kafka (line 23) | class Kafka(_Queue):
  class Nats (line 27) | class Nats(_Queue):
  class Rabbitmq (line 31) | class Rabbitmq(_Queue):
  class Zeromq (line 35) | class Zeromq(_Queue):

FILE: diagrams/onprem/registry.py
  class _Registry (line 6) | class _Registry(_OnPrem):
  class Harbor (line 11) | class Harbor(_Registry):
  class Jfrog (line 15) | class Jfrog(_Registry):

FILE: diagrams/onprem/search.py
  class _Search (line 6) | class _Search(_OnPrem):
  class Solr (line 11) | class Solr(_Search):

FILE: diagrams/onprem/security.py
  class _Security (line 6) | class _Security(_OnPrem):
  class Bitwarden (line 11) | class Bitwarden(_Security):
  class Trivy (line 15) | class Trivy(_Security):
  class Vault (line 19) | class Vault(_Security):

FILE: diagrams/onprem/storage.py
  class _Storage (line 6) | class _Storage(_OnPrem):
  class CephOsd (line 11) | class CephOsd(_Storage):
  class Ceph (line 15) | class Ceph(_Storage):
  class Glusterfs (line 19) | class Glusterfs(_Storage):
  class Portworx (line 23) | class Portworx(_Storage):

FILE: diagrams/onprem/tracing.py
  class _Tracing (line 6) | class _Tracing(_OnPrem):
  class Jaeger (line 11) | class Jaeger(_Tracing):
  class Tempo (line 15) | class Tempo(_Tracing):

FILE: diagrams/onprem/vcs.py
  class _Vcs (line 6) | class _Vcs(_OnPrem):
  class Git (line 11) | class Git(_Vcs):
  class Gitea (line 15) | class Gitea(_Vcs):
  class Github (line 19) | class Github(_Vcs):
  class Gitlab (line 23) | class Gitlab(_Vcs):
  class Svn (line 27) | class Svn(_Vcs):

FILE: diagrams/onprem/workflow.py
  class _Workflow (line 6) | class _Workflow(_OnPrem):
  class Airflow (line 11) | class Airflow(_Workflow):
  class Digdag (line 15) | class Digdag(_Workflow):
  class Kubeflow (line 19) | class Kubeflow(_Workflow):
  class Nifi (line 23) | class Nifi(_Workflow):

FILE: diagrams/openstack/__init__.py
  class _OpenStack (line 8) | class _OpenStack(Node):
  class OpenStack (line 15) | class OpenStack(_OpenStack):

FILE: diagrams/openstack/adjacentenablers.py
  class _Adjacentenablers (line 6) | class _Adjacentenablers(_OpenStack):

FILE: diagrams/openstack/apiproxies.py
  class _Apiproxies (line 6) | class _Apiproxies(_OpenStack):
  class EC2API (line 11) | class EC2API(_Apiproxies):

FILE: diagrams/openstack/applicationlifecycle.py
  class _Applicationlifecycle (line 6) | class _Applicationlifecycle(_OpenStack):
  class Freezer (line 11) | class Freezer(_Applicationlifecycle):
  class Masakari (line 15) | class Masakari(_Applicationlifecycle):
  class Murano (line 19) | class Murano(_Applicationlifecycle):
  class Solum (line 23) | class Solum(_Applicationlifecycle):

FILE: diagrams/openstack/baremetal.py
  class _Baremetal (line 6) | class _Baremetal(_OpenStack):
  class Cyborg (line 11) | class Cyborg(_Baremetal):
  class Ironic (line 15) | class Ironic(_Baremetal):

FILE: diagrams/openstack/billing.py
  class _Billing (line 6) | class _Billing(_OpenStack):
  class Cloudkitty (line 11) | class Cloudkitty(_Billing):

FILE: diagrams/openstack/compute.py
  class _Compute (line 6) | class _Compute(_OpenStack):
  class Nova (line 11) | class Nova(_Compute):
  class Qinling (line 15) | class Qinling(_Compute):
  class Zun (line 19) | class Zun(_Compute):

FILE: diagrams/openstack/containerservices.py
  class _Containerservices (line 6) | class _Containerservices(_OpenStack):
  class Kuryr (line 11) | class Kuryr(_Containerservices):

FILE: diagrams/openstack/deployment.py
  class _Deployment (line 6) | class _Deployment(_OpenStack):
  class Ansible (line 11) | class Ansible(_Deployment):
  class Charms (line 15) | class Charms(_Deployment):
  class Chef (line 19) | class Chef(_Deployment):
  class Helm (line 23) | class Helm(_Deployment):
  class Kolla (line 27) | class Kolla(_Deployment):
  class Tripleo (line 31) | class Tripleo(_Deployment):

FILE: diagrams/openstack/frontend.py
  class _Frontend (line 6) | class _Frontend(_OpenStack):
  class Horizon (line 11) | class Horizon(_Frontend):

FILE: diagrams/openstack/lifecyclemanagement.py
  class _Lifecyclemanagement (line 6) | class _Lifecyclemanagement(_OpenStack):

FILE: diagrams/openstack/monitoring.py
  class _Monitoring (line 6) | class _Monitoring(_OpenStack):
  class Monasca (line 11) | class Monasca(_Monitoring):
  class Telemetry (line 15) | class Telemetry(_Monitoring):

FILE: diagrams/openstack/multiregion.py
  class _Multiregion (line 6) | class _Multiregion(_OpenStack):
  class Tricircle (line 11) | class Tricircle(_Multiregion):

FILE: diagrams/openstack/networking.py
  class _Networking (line 6) | class _Networking(_OpenStack):
  class Designate (line 11) | class Designate(_Networking):
  class Neutron (line 15) | class Neutron(_Networking):
  class Octavia (line 19) | class Octavia(_Networking):

FILE: diagrams/openstack/nfv.py
  class _NFV (line 6) | class _NFV(_OpenStack):
  class Tacker (line 11) | class Tacker(_NFV):

FILE: diagrams/openstack/operations.py
  class _Operations (line 6) | class _Operations(_OpenStack):

FILE: diagrams/openstack/optimization.py
  class _Optimization (line 6) | class _Optimization(_OpenStack):
  class Congress (line 11) | class Congress(_Optimization):
  class Rally (line 15) | class Rally(_Optimization):
  class Vitrage (line 19) | class Vitrage(_Optimization):
  class Watcher (line 23) | class Watcher(_Optimization):

FILE: diagrams/openstack/orchestration.py
  class _Orchestration (line 6) | class _Orchestration(_OpenStack):
  class Blazar (line 11) | class Blazar(_Orchestration):
  class Heat (line 15) | class Heat(_Orchestration):
  class Mistral (line 19) | class Mistral(_Orchestration):
  class Senlin (line 23) | class Senlin(_Orchestration):
  class Zaqar (line 27) | class Zaqar(_Orchestration):

FILE: diagrams/openstack/packaging.py
  class _Packaging (line 6) | class _Packaging(_OpenStack):
  class LOCI (line 11) | class LOCI(_Packaging):
  class Puppet (line 15) | class Puppet(_Packaging):
  class RPM (line 19) | class RPM(_Packaging):

FILE: diagrams/openstack/sharedservices.py
  class _Sharedservices (line 6) | class _Sharedservices(_OpenStack):
  class Barbican (line 11) | class Barbican(_Sharedservices):
  class Glance (line 15) | class Glance(_Sharedservices):
  class Karbor (line 19) | class Karbor(_Sharedservices):
  class Keystone (line 23) | class Keystone(_Sharedservices):
  class Searchlight (line 27) | class Searchlight(_Sharedservices):

FILE: diagrams/openstack/storage.py
  class _Storage (line 6) | class _Storage(_OpenStack):
  class Cinder (line 11) | class Cinder(_Storage):
  class Manila (line 15) | class Manila(_Storage):
  class Swift (line 19) | class Swift(_Storage):

FILE: diagrams/openstack/user.py
  class _User (line 6) | class _User(_OpenStack):
  class Openstackclient (line 11) | class Openstackclient(_User):

FILE: diagrams/openstack/workloadprovisioning.py
  class _Workloadprovisioning (line 6) | class _Workloadprovisioning(_OpenStack):
  class Magnum (line 11) | class Magnum(_Workloadprovisioning):
  class Sahara (line 15) | class Sahara(_Workloadprovisioning):
  class Trove (line 19) | class Trove(_Workloadprovisioning):

FILE: diagrams/outscale/__init__.py
  class _Outscale (line 4) | class _Outscale(Node):
  class Outscale (line 11) | class Outscale(_Outscale):

FILE: diagrams/outscale/compute.py
  class _Compute (line 6) | class _Compute(_Outscale):
  class Compute (line 11) | class Compute(_Compute):
  class DirectConnect (line 15) | class DirectConnect(_Compute):

FILE: diagrams/outscale/network.py
  class _Network (line 6) | class _Network(_Outscale):
  class ClientVpn (line 11) | class ClientVpn(_Network):
  class InternetService (line 15) | class InternetService(_Network):
  class LoadBalancer (line 19) | class LoadBalancer(_Network):
  class NatService (line 23) | class NatService(_Network):
  class Net (line 27) | class Net(_Network):
  class SiteToSiteVpng (line 31) | class SiteToSiteVpng(_Network):

FILE: diagrams/outscale/security.py
  class _Security (line 6) | class _Security(_Outscale):
  class Firewall (line 11) | class Firewall(_Security):
  class IdentityAndAccessManagement (line 15) | class IdentityAndAccessManagement(_Security):

FILE: diagrams/outscale/storage.py
  class _Storage (line 6) | class _Storage(_Outscale):
  class SimpleStorageService (line 11) | class SimpleStorageService(_Storage):
  class Storage (line 15) | class Storage(_Storage):

FILE: diagrams/programming/__init__.py
  class _Programming (line 8) | class _Programming(Node):
  class Programming (line 15) | class Programming(_Programming):

FILE: diagrams/programming/flowchart.py
  class _Flowchart (line 6) | class _Flowchart(_Programming):
  class Action (line 11) | class Action(_Flowchart):
  class Collate (line 15) | class Collate(_Flowchart):
  class Database (line 19) | class Database(_Flowchart):
  class Decision (line 23) | class Decision(_Flowchart):
  class Delay (line 27) | class Delay(_Flowchart):
  class Display (line 31) | class Display(_Flowchart):
  class Document (line 35) | class Document(_Flowchart):
  class InputOutput (line 39) | class InputOutput(_Flowchart):
  class Inspection (line 43) | class Inspection(_Flowchart):
  class InternalStorage (line 47) | class InternalStorage(_Flowchart):
  class LoopLimit (line 51) | class LoopLimit(_Flowchart):
  class ManualInput (line 55) | class ManualInput(_Flowchart):
  class ManualLoop (line 59) | class ManualLoop(_Flowchart):
  class Merge (line 63) | class Merge(_Flowchart):
  class MultipleDocuments (line 67) | class MultipleDocuments(_Flowchart):
  class OffPageConnectorLeft (line 71) | class OffPageConnectorLeft(_Flowchart):
  class OffPageConnectorRight (line 75) | class OffPageConnectorRight(_Flowchart):
  class Or (line 79) | class Or(_Flowchart):
  class PredefinedProcess (line 83) | class PredefinedProcess(_Flowchart):
  class Preparation (line 87) | class Preparation(_Flowchart):
  class Sort (line 91) | class Sort(_Flowchart):
  class StartEnd (line 95) | class StartEnd(_Flowchart):
  class StoredData (line 99) | class StoredData(_Flowchart):
  class SummingJunction (line 103) | class SummingJunction(_Flowchart):

FILE: diagrams/programming/framework.py
  class _Framework (line 6) | class _Framework(_Programming):
  class Angular (line 11) | class Angular(_Framework):
  class Backbone (line 15) | class Backbone(_Framework):
  class Camel (line 19) | class Camel(_Framework):
  class Django (line 23) | class Django(_Framework):
  class Dotnet (line 27) | class Dotnet(_Framework):
  class Ember (line 31) | class Ember(_Framework):
  class Fastapi (line 35) | class Fastapi(_Framework):
  class Flask (line 39) | class Flask(_Framework):
  class Flutter (line 43) | class Flutter(_Framework):
  class Graphql (line 47) | class Graphql(_Framework):
  class Hibernate (line 51) | class Hibernate(_Framework):
  class Jhipster (line 55) | class Jhipster(_Framework):
  class Laravel (line 59) | class Laravel(_Framework):
  class Micronaut (line 63) | class Micronaut(_Framework):
  class Nextjs (line 67) | class Nextjs(_Framework):
  class Phoenix (line 71) | class Phoenix(_Framework):
  class Quarkus (line 75) | class Quarkus(_Framework):
  class Rails (line 79) | class Rails(_Framework):
  class React (line 83) | class React(_Framework):
  class Spring (line 87) | class Spring(_Framework):
  class Sqlpage (line 91) | class Sqlpage(_Framework):
  class Starlette (line 95) | class Starlette(_Framework):
  class Svelte (line 99) | class Svelte(_Framework):
  class Vercel (line 103) | class Vercel(_Framework):
  class Vue (line 107) | class Vue(_Framework):

FILE: diagrams/programming/language.py
  class _Language (line 6) | class _Language(_Programming):
  class Bash (line 11) | class Bash(_Language):
  class C (line 15) | class C(_Language):
  class Cpp (line 19) | class Cpp(_Language):
  class Csharp (line 23) | class Csharp(_Language):
  class Dart (line 27) | class Dart(_Language):
  class Elixir (line 31) | class Elixir(_Language):
  class Erlang (line 35) | class Erlang(_Language):
  class Go (line 39) | class Go(_Language):
  class Java (line 43) | class Java(_Language):
  class Javascript (line 47) | class Javascript(_Language):
  class Kotlin (line 51) | class Kotlin(_Language):
  class Latex (line 55) | class Latex(_Language):
  class Matlab (line 59) | class Matlab(_Language):
  class Nodejs (line 63) | class Nodejs(_Language):
  class Php (line 67) | class Php(_Language):
  class Python (line 71) | class Python(_Language):
  class R (line 75) | class R(_Language):
  class Ruby (line 79) | class Ruby(_Language):
  class Rust (line 83) | class Rust(_Language):
  class Scala (line 87) | class Scala(_Language):
  class Sql (line 91) | class Sql(_Language):
  class Swift (line 95) | class Swift(_Language):
  class Typescript (line 99) | class Typescript(_Language):

FILE: diagrams/programming/runtime.py
  class _Runtime (line 6) | class _Runtime(_Programming):
  class Dapr (line 11) | class Dapr(_Runtime):

FILE: diagrams/saas/__init__.py
  class _Saas (line 8) | class _Saas(Node):
  class Saas (line 15) | class Saas(_Saas):

FILE: diagrams/saas/alerting.py
  class _Alerting (line 6) | class _Alerting(_Saas):
  class Newrelic (line 11) | class Newrelic(_Alerting):
  class Opsgenie (line 15) | class Opsgenie(_Alerting):
  class Pagerduty (line 19) | class Pagerduty(_Alerting):
  class Pushover (line 23) | class Pushover(_Alerting):
  class Xmatters (line 27) | class Xmatters(_Alerting):

FILE: diagrams/saas/analytics.py
  class _Analytics (line 6) | class _Analytics(_Saas):
  class Dataform (line 11) | class Dataform(_Analytics):
  class Snowflake (line 15) | class Snowflake(_Analytics):
  class Stitch (line 19) | class Stitch(_Analytics):

FILE: diagrams/saas/automation.py
  class _Automation (line 6) | class _Automation(_Saas):
  class N8N (line 11) | class N8N(_Automation):

FILE: diagrams/saas/cdn.py
  class _Cdn (line 6) | class _Cdn(_Saas):
  class Akamai (line 11) | class Akamai(_Cdn):
  class Cloudflare (line 15) | class Cloudflare(_Cdn):
  class Fastly (line 19) | class Fastly(_Cdn):
  class Imperva (line 23) | class Imperva(_Cdn):

FILE: diagrams/saas/chat.py
  class _Chat (line 6) | class _Chat(_Saas):
  class Discord (line 11) | class Discord(_Chat):
  class Line (line 15) | class Line(_Chat):
  class Mattermost (line 19) | class Mattermost(_Chat):
  class Messenger (line 23) | class Messenger(_Chat):
  class RocketChat (line 27) | class RocketChat(_Chat):
  class Slack (line 31) | class Slack(_Chat):
  class Teams (line 35) | class Teams(_Chat):
  class Telegram (line 39) | class Telegram(_Chat):

FILE: diagrams/saas/communication.py
  class _Communication (line 6) | class _Communication(_Saas):
  class Twilio (line 11) | class Twilio(_Communication):

FILE: diagrams/saas/crm.py
  class _Crm (line 6) | class _Crm(_Saas):
  class Intercom (line 11) | class Intercom(_Crm):
  class Zendesk (line 15) | class Zendesk(_Crm):

FILE: diagrams/saas/filesharing.py
  class _Filesharing (line 6) | class _Filesharing(_Saas):
  class Nextcloud (line 11) | class Nextcloud(_Filesharing):

FILE: diagrams/saas/identity.py
  class _Identity (line 6) | class _Identity(_Saas):
  class Auth0 (line 11) | class Auth0(_Identity):
  class Okta (line 15) | class Okta(_Identity):

FILE: diagrams/saas/logging.py
  class _Logging (line 6) | class _Logging(_Saas):
  class Datadog (line 11) | class Datadog(_Logging):
  class Newrelic (line 15) | class Newrelic(_Logging):
  class Papertrail (line 19) | class Papertrail(_Logging):

FILE: diagrams/saas/media.py
  class _Media (line 6) | class _Media(_Saas):
  class Cloudinary (line 11) | class Cloudinary(_Media):

FILE: diagrams/saas/payment.py
  class _Payment (line 6) | class _Payment(_Saas):
  class Adyen (line 11) | class Adyen(_Payment):
  class AmazonPay (line 15) | class AmazonPay(_Payment):
  class Paypal (line 19) | class Paypal(_Payment):
  class Stripe (line 23) | class Stripe(_Payment):

FILE: diagrams/saas/recommendation.py
  class _Recommendation (line 6) | class _Recommendation(_Saas):
  class Recombee (line 11) | class Recombee(_Recommendation):

FILE: diagrams/saas/security.py
  class _Security (line 6) | class _Security(_Saas):
  class Crowdstrike (line 11) | class Crowdstrike(_Security):
  class Sonarqube (line 15) | class Sonarqube(_Security):

FILE: diagrams/saas/social.py
  class _Social (line 6) | class _Social(_Saas):
  class Facebook (line 11) | class Facebook(_Social):
  class Twitter (line 15) | class Twitter(_Social):

FILE: scripts/__init__.py
  function base_dir (line 7) | def base_dir() -> Path:
  function app_root_dir (line 11) | def app_root_dir(pvd: str) -> str:
  function doc_root_dir (line 15) | def doc_root_dir() -> str:
  function resource_dir (line 19) | def resource_dir(pvd: str) -> str:
  function template_dir (line 23) | def template_dir() -> str:

FILE: scripts/generate.py
  function load_tmpl (line 14) | def load_tmpl(tmpl: str) -> Template:
  function up_or_title (line 20) | def up_or_title(pvd: str, s: str) -> str:
  function gen_classes (line 28) | def gen_classes(pvd: str, typ: str, paths: Iterable[str]) -> str:
  function gen_apidoc (line 44) | def gen_apidoc(pvd: str, typ_paths: dict) -> str:
  function make_module (line 70) | def make_module(pvd: str, typ: str, classes: str) -> None:
  function make_apidoc (line 77) | def make_apidoc(pvd: str, content: str) -> None:
  function generate (line 84) | def generate(pvd: str) -> None:

FILE: scripts/resource.py
  function cleaner_onprem (line 20) | def cleaner_onprem(f):
  function cleaner_aws (line 25) | def cleaner_aws(f):
  function cleaner_azure (line 39) | def cleaner_azure(f):
  function cleaner_gcp (line 50) | def cleaner_gcp(f):
  function cleaner_ibm (line 60) | def cleaner_ibm(f):
  function cleaner_firebase (line 70) | def cleaner_firebase(f):
  function cleaner_k8s (line 80) | def cleaner_k8s(f):
  function cleaner_digitalocean (line 89) | def cleaner_digitalocean(f):
  function cleaner_alibabacloud (line 98) | def cleaner_alibabacloud(f):
  function cleaner_oci (line 106) | def cleaner_oci(f):
  function cleaner_programming (line 116) | def cleaner_programming(f):
  function cleaner_generic (line 120) | def cleaner_generic(f):
  function cleaner_saas (line 124) | def cleaner_saas(f):
  function cleaner_elastic (line 128) | def cleaner_elastic(f):
  function cleaner_outscale (line 132) | def cleaner_outscale(f):
  function cleaner_openstack (line 136) | def cleaner_openstack(f):
  function cleaner_gis (line 140) | def cleaner_gis(f):
  function clean_png (line 165) | def clean_png(pvd: str) -> None:
  function round_png (line 179) | def round_png(pvd: str) -> None:
  function svg2png (line 192) | def svg2png(pvd: str) -> None:
  function svg2png2 (line 205) | def svg2png2(pvd: str) -> None:

FILE: tests/test_c4.py
  class C4Test (line 10) | class C4Test(unittest.TestCase):
    method setUp (line 11) | def setUp(self):
    method tearDown (line 15) | def tearDown(self):
    method test_nodes (line 23) | def test_nodes(self):
    method test_external_nodes (line 35) | def test_external_nodes(self):
    method test_systems (line 40) | def test_systems(self):
    method test_edges (line 45) | def test_edges(self):
    method test_edges_with_labels (line 52) | def test_edges_with_labels(self):
    method test_edge_without_constraint (line 60) | def test_edge_without_constraint(self):
    method test_cluster (line 67) | def test_cluster(self):

FILE: tests/test_cli.py
  class CliTest (line 9) | class CliTest(unittest.TestCase):
    method setUp (line 10) | def setUp(self):
    method tearDown (line 34) | def tearDown(self):
    method test_run_with_valid_file (line 40) | def test_run_with_valid_file(self):
    method test_run_with_multiple_files (line 52) | def test_run_with_multiple_files(self):
    method test_run_with_no_arguments (line 78) | def test_run_with_no_arguments(self):
    method test_run_with_nonexistent_file (line 85) | def test_run_with_nonexistent_file(self):
    method test_run_with_invalid_python_code (line 90) | def test_run_with_invalid_python_code(self):

FILE: tests/test_diagram.py
  class DiagramTest (line 9) | class DiagramTest(unittest.TestCase):
    method setUp (line 10) | def setUp(self):
    method tearDown (line 13) | def tearDown(self):
    method test_validate_direction (line 26) | def test_validate_direction(self):
    method test_validate_curvestyle (line 36) | def test_validate_curvestyle(self):
    method test_validate_theme (line 46) | def test_validate_theme(self):
    method test_validate_outformat (line 56) | def test_validate_outformat(self):
    method test_with_global_context (line 66) | def test_with_global_context(self):
    method test_node_not_in_diagram (line 72) | def test_node_not_in_diagram(self):
    method test_node_to_node (line 77) | def test_node_to_node(self):
    method test_node_to_nodes (line 85) | def test_node_to_nodes(self):
    method test_nodes_to_node (line 93) | def test_nodes_to_node(self):
    method test_default_filename (line 101) | def test_default_filename(self):
    method test_custom_filename (line 107) | def test_custom_filename(self):
    method test_empty_name (line 113) | def test_empty_name(self):
    method test_autolabel (line 120) | def test_autolabel(self):
    method test_outformat_list (line 125) | def test_outformat_list(self):
  class ClusterTest (line 138) | class ClusterTest(unittest.TestCase):
    method setUp (line 139) | def setUp(self):
    method tearDown (line 142) | def tearDown(self):
    method test_validate_direction (line 151) | def test_validate_direction(self):
    method test_with_global_context (line 163) | def test_with_global_context(self):
    method test_with_nested_cluster (line 170) | def test_with_nested_cluster(self):
    method test_node_not_in_diagram (line 180) | def test_node_not_in_diagram(self):
    method test_node_to_node (line 185) | def test_node_to_node(self):
    method test_node_to_nodes (line 194) | def test_node_to_nodes(self):
    method test_nodes_to_node (line 203) | def test_nodes_to_node(self):
  class EdgeTest (line 213) | class EdgeTest(unittest.TestCase):
    method setUp (line 214) | def setUp(self):
    method tearDown (line 217) | def tearDown(self):
    method test_node_to_node (line 226) | def test_node_to_node(self):
    method test_node_to_nodes (line 232) | def test_node_to_nodes(self):
    method test_nodes_to_node (line 239) | def test_nodes_to_node(self):
    method test_nodes_to_node_with_additional_attributes (line 246) | def test_nodes_to_node_with_additional_attributes(self):
    method test_node_to_node_with_attributes (line 260) | def test_node_to_node_with_attributes(self):
    method test_node_to_node_with_additional_attributes (line 281) | def test_node_to_node_with_additional_attributes(self):
    method test_nodes_to_node_with_attributes_loop (line 305) | def test_nodes_to_node_with_attributes_loop(self):
    method test_nodes_to_node_with_attributes_bothdirectional (line 330) | def test_nodes_to_node_with_attributes_bothdirectional(self):
    method test_nodes_to_node_with_attributes_bidirectional (line 341) | def test_nodes_to_node_with_attributes_bidirectional(self):
    method test_nodes_to_node_with_attributes_onedirectional (line 352) | def test_nodes_to_node_with_attributes_onedirectional(self):
    method test_nodes_to_node_with_additional_attributes_directional (line 368) | def test_nodes_to_node_with_additional_attributes_directional(self):
  class ResourcesTest (line 389) | class ResourcesTest(unittest.TestCase):
    method test_folder_depth (line 390) | def test_folder_depth(self):
    method test_resources_exist_and_render (line 407) | def test_resources_exist_and_render(self):

FILE: website/core/Footer.js
  class Footer (line 10) | class Footer extends React.Component {
    method docUrl (line 11) | docUrl(doc, language) {
    method pageUrl (line 19) | pageUrl(doc, language) {
    method render (line 24) | render() {

FILE: website/pages/en/index.js
  class HomeSplash (line 16) | class HomeSplash extends React.Component {
    method render (line 17) | render() {
  class Index (line 76) | class Index extends React.Component {
    method render (line 77) | render() {
Condensed preview — 318 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (891K chars).
[
  {
    "path": ".devcontainer/Dockerfile",
    "chars": 852,
    "preview": "# use latest python 3 alpine image.\nFROM python:3-alpine\n\n# install system dependencies.\nRUN apk update && apk add --no-"
  },
  {
    "path": ".devcontainer/devcontainer.json",
    "chars": 1346,
    "preview": "// For format details, see https://aka.ms/devcontainer.json. For config options, see the\n// README at: https://github.co"
  },
  {
    "path": ".github/dependabot.yml",
    "chars": 409,
    "preview": "version: 2\nupdates:\n- package-ecosystem: pip\n  directory: \"/\"\n  schedule:\n    interval: daily\n    time: \"08:00\"\n  open-p"
  },
  {
    "path": ".github/workflows/codeql-analysis.yml",
    "chars": 1041,
    "preview": "name: \"CodeQL\"\n\non:\n  push:\n    branches: [master]\n  pull_request:\n    # The branches below must be a subset of the bran"
  },
  {
    "path": ".github/workflows/pre-commit.yml",
    "chars": 231,
    "preview": "name: pre-commit\n\non:\n  pull_request:\n  push:\n    branches: [main]\n\njobs:\n  pre-commit:\n    runs-on: ubuntu-latest\n    s"
  },
  {
    "path": ".github/workflows/test.yml",
    "chars": 888,
    "preview": "name: Run tests\n\non:\n  push:\n    branches:\n      - master\n    paths:\n      - \".github/workflows/test.yml\"\n      - \"pypro"
  },
  {
    "path": ".gitignore",
    "chars": 321,
    "preview": "# ide & editor\n.idea/\n.vscode/\n\n# compiled & binary\n*.egg-info/\n__pycache__/\n*.pyc\n*.egg-info\n\n# graphviz\n*.gv*\n\n# dist\n"
  },
  {
    "path": ".isort.cfg",
    "chars": 117,
    "preview": "[settings]\nline_length = 120\nmulti_line_output = 3\ninclude_trailing_comma = True\nknown_third_party = graphviz,jinja2\n"
  },
  {
    "path": ".pre-commit-config.yaml",
    "chars": 563,
    "preview": "repos:\n-   repo: https://github.com/pre-commit/pre-commit-hooks\n    rev: v3.2.0\n    hooks:\n    -   id: check-yaml\n    - "
  },
  {
    "path": "CHANGELOG.md",
    "chars": 22170,
    "preview": "# Changelogs\n\n## 0.17.0\n\n### Added\n\n- Support GCP Endpoints: [#259](https://github.com/mingrammer/diagrams/pull/259)\n- S"
  },
  {
    "path": "CONTRIBUTING.md",
    "chars": 4656,
    "preview": "# Contribution Guide\n\nYou shouldn't edit the node class files (all files under `diagrams/` directory) by\nyourself.\n\n## S"
  },
  {
    "path": "DEVELOPMENT.md",
    "chars": 1959,
    "preview": "# Development Guide\n\n## Docker local development setup\n\nYou should have docker installed in your system, if not click [h"
  },
  {
    "path": "LICENSE",
    "chars": 1068,
    "preview": "MIT License\n\nCopyright (c) 2020 MinJae Kwon\n\nPermission is hereby granted, free of charge, to any person obtaining a cop"
  },
  {
    "path": "README.md",
    "chars": 6615,
    "preview": "![diagrams logo](assets/img/diagrams.png)\n\n# Diagrams\n\n[![license](https://img.shields.io/badge/license-MIT-blue.svg)](/"
  },
  {
    "path": "autogen.sh",
    "chars": 1891,
    "preview": "#!/bin/bash\necho \"starting\"\napp_root_dir=\"diagrams\"\n\n# NOTE: azure icon set is not latest version\nproviders=(\n  \"onprem\""
  },
  {
    "path": "config.py",
    "chars": 13748,
    "preview": "# fmt: off\n\n#########################\n#      Application      #\n#########################\n\nAPP_NAME = \"diagrams\"\n\nDIR_DO"
  },
  {
    "path": "diagrams/__init__.py",
    "chars": 20522,
    "preview": "import contextvars\nimport os\nimport uuid\nfrom pathlib import Path\nfrom typing import Dict, List, Optional, Union\n\nfrom g"
  },
  {
    "path": "diagrams/alibabacloud/__init__.py",
    "chars": 299,
    "preview": "\"\"\"\nAlibabaCloud provides a set of services for Alibaba Cloud provider.\n\"\"\"\n\nfrom diagrams import Node\n\n\nclass _AlibabaC"
  },
  {
    "path": "diagrams/alibabacloud/analytics.py",
    "chars": 556,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _AlibabaCloud\n\n\nclass _Analytics(_Al"
  },
  {
    "path": "diagrams/alibabacloud/application.py",
    "chars": 1374,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _AlibabaCloud\n\n\nclass _Application(_"
  },
  {
    "path": "diagrams/alibabacloud/communication.py",
    "chars": 364,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _AlibabaCloud\n\n\nclass _Communication"
  },
  {
    "path": "diagrams/alibabacloud/compute.py",
    "chars": 1714,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _AlibabaCloud\n\n\nclass _Compute(_Alib"
  },
  {
    "path": "diagrams/alibabacloud/database.py",
    "chars": 1736,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _AlibabaCloud\n\n\nclass _Database(_Ali"
  },
  {
    "path": "diagrams/alibabacloud/iot.py",
    "chars": 483,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _AlibabaCloud\n\n\nclass _Iot(_AlibabaC"
  },
  {
    "path": "diagrams/alibabacloud/network.py",
    "chars": 942,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _AlibabaCloud\n\n\nclass _Network(_Alib"
  },
  {
    "path": "diagrams/alibabacloud/security.py",
    "chars": 1663,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _AlibabaCloud\n\n\nclass _Security(_Ali"
  },
  {
    "path": "diagrams/alibabacloud/storage.py",
    "chars": 965,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _AlibabaCloud\n\n\nclass _Storage(_Alib"
  },
  {
    "path": "diagrams/alibabacloud/web.py",
    "chars": 290,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _AlibabaCloud\n\n\nclass _Web(_AlibabaC"
  },
  {
    "path": "diagrams/aws/__init__.py",
    "chars": 241,
    "preview": "\"\"\"\nAWS provides a set of services for Amazon Web Service provider.\n\"\"\"\n\nfrom diagrams import Node\n\n\nclass _AWS(Node):\n "
  },
  {
    "path": "diagrams/aws/analytics.py",
    "chars": 2293,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _AWS\n\n\nclass _Analytics(_AWS):\n    _"
  },
  {
    "path": "diagrams/aws/ar.py",
    "chars": 265,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _AWS\n\n\nclass _Ar(_AWS):\n    _type = "
  },
  {
    "path": "diagrams/aws/blockchain.py",
    "chars": 543,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _AWS\n\n\nclass _Blockchain(_AWS):\n    "
  },
  {
    "path": "diagrams/aws/business.py",
    "chars": 475,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _AWS\n\n\nclass _Business(_AWS):\n    _t"
  },
  {
    "path": "diagrams/aws/compute.py",
    "chars": 3461,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _AWS\n\n\nclass _Compute(_AWS):\n    _ty"
  },
  {
    "path": "diagrams/aws/cost.py",
    "chars": 578,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _AWS\n\n\nclass _Cost(_AWS):\n    _type "
  },
  {
    "path": "diagrams/aws/database.py",
    "chars": 3012,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _AWS\n\n\nclass _Database(_AWS):\n    _t"
  },
  {
    "path": "diagrams/aws/devtools.py",
    "chars": 1133,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _AWS\n\n\nclass _Devtools(_AWS):\n    _t"
  },
  {
    "path": "diagrams/aws/enablement.py",
    "chars": 533,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _AWS\n\n\nclass _Enablement(_AWS):\n    "
  },
  {
    "path": "diagrams/aws/enduser.py",
    "chars": 505,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _AWS\n\n\nclass _Enduser(_AWS):\n    _ty"
  },
  {
    "path": "diagrams/aws/engagement.py",
    "chars": 603,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _AWS\n\n\nclass _Engagement(_AWS):\n    "
  },
  {
    "path": "diagrams/aws/game.py",
    "chars": 283,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _AWS\n\n\nclass _Game(_AWS):\n    _type "
  },
  {
    "path": "diagrams/aws/general.py",
    "chars": 1683,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _AWS\n\n\nclass _General(_AWS):\n    _ty"
  },
  {
    "path": "diagrams/aws/integration.py",
    "chars": 2367,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _AWS\n\n\nclass _Integration(_AWS):\n   "
  },
  {
    "path": "diagrams/aws/iot.py",
    "chars": 3956,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _AWS\n\n\nclass _Iot(_AWS):\n    _type ="
  },
  {
    "path": "diagrams/aws/management.py",
    "chars": 5090,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _AWS\n\n\nclass _Management(_AWS):\n    "
  },
  {
    "path": "diagrams/aws/media.py",
    "chars": 1134,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _AWS\n\n\nclass _Media(_AWS):\n    _type"
  },
  {
    "path": "diagrams/aws/migration.py",
    "chars": 1230,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _AWS\n\n\nclass _Migration(_AWS):\n    _"
  },
  {
    "path": "diagrams/aws/ml.py",
    "chars": 2003,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _AWS\n\n\nclass _ML(_AWS):\n    _type = "
  },
  {
    "path": "diagrams/aws/mobile.py",
    "chars": 586,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _AWS\n\n\nclass _Mobile(_AWS):\n    _typ"
  },
  {
    "path": "diagrams/aws/network.py",
    "chars": 3264,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _AWS\n\n\nclass _Network(_AWS):\n    _ty"
  },
  {
    "path": "diagrams/aws/quantum.py",
    "chars": 316,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _AWS\n\n\nclass _Quantum(_AWS):\n    _ty"
  },
  {
    "path": "diagrams/aws/robotics.py",
    "chars": 670,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _AWS\n\n\nclass _Robotics(_AWS):\n    _t"
  },
  {
    "path": "diagrams/aws/satellite.py",
    "chars": 320,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _AWS\n\n\nclass _Satellite(_AWS):\n    _"
  },
  {
    "path": "diagrams/aws/security.py",
    "chars": 4032,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _AWS\n\n\nclass _Security(_AWS):\n    _t"
  },
  {
    "path": "diagrams/aws/storage.py",
    "chars": 2863,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _AWS\n\n\nclass _Storage(_AWS):\n    _ty"
  },
  {
    "path": "diagrams/azure/__init__.py",
    "chars": 252,
    "preview": "\"\"\"\nAzure provides a set of services for Microsoft Azure provider.\n\"\"\"\n\nfrom diagrams import Node\n\n\nclass _Azure(Node):\n"
  },
  {
    "path": "diagrams/azure/aimachinelearning.py",
    "chars": 2882,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Azure\n\n\nclass _Aimachinelearning(_A"
  },
  {
    "path": "diagrams/azure/analytics.py",
    "chars": 1713,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Azure\n\n\nclass _Analytics(_Azure):\n "
  },
  {
    "path": "diagrams/azure/appservices.py",
    "chars": 819,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Azure\n\n\nclass _Appservices(_Azure):"
  },
  {
    "path": "diagrams/azure/azureecosystem.py",
    "chars": 443,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Azure\n\n\nclass _Azureecosystem(_Azur"
  },
  {
    "path": "diagrams/azure/azurestack.py",
    "chars": 649,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Azure\n\n\nclass _Azurestack(_Azure):\n"
  },
  {
    "path": "diagrams/azure/blockchain.py",
    "chars": 657,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Azure\n\n\nclass _Blockchain(_Azure):\n"
  },
  {
    "path": "diagrams/azure/compute.py",
    "chars": 3927,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Azure\n\n\nclass _Compute(_Azure):\n   "
  },
  {
    "path": "diagrams/azure/containers.py",
    "chars": 746,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Azure\n\n\nclass _Containers(_Azure):\n"
  },
  {
    "path": "diagrams/azure/database.py",
    "chars": 1931,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Azure\n\n\nclass _Database(_Azure):\n  "
  },
  {
    "path": "diagrams/azure/databases.py",
    "chars": 2332,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Azure\n\n\nclass _Databases(_Azure):\n "
  },
  {
    "path": "diagrams/azure/devops.py",
    "chars": 1297,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Azure\n\n\nclass _Devops(_Azure):\n    "
  },
  {
    "path": "diagrams/azure/general.py",
    "chars": 7044,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Azure\n\n\nclass _General(_Azure):\n   "
  },
  {
    "path": "diagrams/azure/hybridmulticloud.py",
    "chars": 700,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Azure\n\n\nclass _Hybridmulticloud(_Az"
  },
  {
    "path": "diagrams/azure/identity.py",
    "chars": 3385,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Azure\n\n\nclass _Identity(_Azure):\n  "
  },
  {
    "path": "diagrams/azure/integration.py",
    "chars": 2897,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Azure\n\n\nclass _Integration(_Azure):"
  },
  {
    "path": "diagrams/azure/intune.py",
    "chars": 1438,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Azure\n\n\nclass _Intune(_Azure):\n    "
  },
  {
    "path": "diagrams/azure/iot.py",
    "chars": 2650,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Azure\n\n\nclass _Iot(_Azure):\n    _ty"
  },
  {
    "path": "diagrams/azure/managementgovernance.py",
    "chars": 2959,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Azure\n\n\nclass _Managementgovernance"
  },
  {
    "path": "diagrams/azure/menu.py",
    "chars": 228,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Azure\n\n\nclass _Menu(_Azure):\n    _t"
  },
  {
    "path": "diagrams/azure/migrate.py",
    "chars": 634,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Azure\n\n\nclass _Migrate(_Azure):\n   "
  },
  {
    "path": "diagrams/azure/migration.py",
    "chars": 680,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Azure\n\n\nclass _Migration(_Azure):\n "
  },
  {
    "path": "diagrams/azure/mixedreality.py",
    "chars": 371,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Azure\n\n\nclass _Mixedreality(_Azure)"
  },
  {
    "path": "diagrams/azure/ml.py",
    "chars": 963,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Azure\n\n\nclass _Ml(_Azure):\n    _typ"
  },
  {
    "path": "diagrams/azure/mobile.py",
    "chars": 530,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Azure\n\n\nclass _Mobile(_Azure):\n    "
  },
  {
    "path": "diagrams/azure/monitor.py",
    "chars": 1010,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Azure\n\n\nclass _Monitor(_Azure):\n   "
  },
  {
    "path": "diagrams/azure/network.py",
    "chars": 2247,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Azure\n\n\nclass _Network(_Azure):\n   "
  },
  {
    "path": "diagrams/azure/networking.py",
    "chars": 4093,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Azure\n\n\nclass _Networking(_Azure):\n"
  },
  {
    "path": "diagrams/azure/newicons.py",
    "chars": 719,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Azure\n\n\nclass _Newicons(_Azure):\n  "
  },
  {
    "path": "diagrams/azure/other.py",
    "chars": 9497,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Azure\n\n\nclass _Other(_Azure):\n    _"
  },
  {
    "path": "diagrams/azure/security.py",
    "chars": 1962,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Azure\n\n\nclass _Security(_Azure):\n  "
  },
  {
    "path": "diagrams/azure/storage.py",
    "chars": 2090,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Azure\n\n\nclass _Storage(_Azure):\n   "
  },
  {
    "path": "diagrams/azure/web.py",
    "chars": 1510,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Azure\n\n\nclass _Web(_Azure):\n    _ty"
  },
  {
    "path": "diagrams/base/__init__.py",
    "chars": 207,
    "preview": "\"\"\"\nBase provides a set of general services for backend infrastructure.\n\"\"\"\n\nfrom diagrams import Node\n\n\nclass _Base(Nod"
  },
  {
    "path": "diagrams/c4/__init__.py",
    "chars": 4157,
    "preview": "\"\"\"\nA set of nodes and edges to visualize software architecture using the C4 model.\n\"\"\"\n\nimport html\nimport textwrap\n\nfr"
  },
  {
    "path": "diagrams/cli.py",
    "chars": 743,
    "preview": "import argparse\nimport sys\n\n\ndef run() -> int:\n    \"\"\"\n    Run diagrams code files in a diagrams environment.\n    Args:\n"
  },
  {
    "path": "diagrams/custom/__init__.py",
    "chars": 420,
    "preview": "\"\"\"\nCustom provides the possibility of load an image to be presented as a node.\n\"\"\"\n\nfrom diagrams import Node\n\n\nclass C"
  },
  {
    "path": "diagrams/digitalocean/__init__.py",
    "chars": 298,
    "preview": "\"\"\"\nDigitalOcean provides a set of services for DigitalOcean provider.\n\"\"\"\n\nfrom diagrams import Node\n\n\nclass _DigitalOc"
  },
  {
    "path": "diagrams/digitalocean/compute.py",
    "chars": 692,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _DigitalOcean\n\n\nclass _Compute(_Digi"
  },
  {
    "path": "diagrams/digitalocean/database.py",
    "chars": 504,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _DigitalOcean\n\n\nclass _Database(_Dig"
  },
  {
    "path": "diagrams/digitalocean/network.py",
    "chars": 756,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _DigitalOcean\n\n\nclass _Network(_Digi"
  },
  {
    "path": "diagrams/digitalocean/storage.py",
    "chars": 433,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _DigitalOcean\n\n\nclass _Storage(_Digi"
  },
  {
    "path": "diagrams/elastic/__init__.py",
    "chars": 253,
    "preview": "\"\"\"\nElastic provides a set of general elastic services.\n\"\"\"\n\nfrom diagrams import Node\n\n\nclass _Elastic(Node):\n    _prov"
  },
  {
    "path": "diagrams/elastic/agent.py",
    "chars": 401,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Elastic\n\n\nclass _Agent(_Elastic):\n "
  },
  {
    "path": "diagrams/elastic/beats.py",
    "chars": 631,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Elastic\n\n\nclass _Beats(_Elastic):\n "
  },
  {
    "path": "diagrams/elastic/elasticsearch.py",
    "chars": 1202,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Elastic\n\n\nclass _Elasticsearch(_Ela"
  },
  {
    "path": "diagrams/elastic/enterprisesearch.py",
    "chars": 584,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Elastic\n\n\nclass _Enterprisesearch(_"
  },
  {
    "path": "diagrams/elastic/observability.py",
    "chars": 508,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Elastic\n\n\nclass _Observability(_Ela"
  },
  {
    "path": "diagrams/elastic/orchestration.py",
    "chars": 319,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Elastic\n\n\nclass _Orchestration(_Ela"
  },
  {
    "path": "diagrams/elastic/saas.py",
    "chars": 286,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Elastic\n\n\nclass _Saas(_Elastic):\n  "
  },
  {
    "path": "diagrams/elastic/security.py",
    "chars": 408,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Elastic\n\n\nclass _Security(_Elastic)"
  },
  {
    "path": "diagrams/firebase/__init__.py",
    "chars": 266,
    "preview": "\"\"\"\nFirebase provides a set of services for Firebase provider.\n\"\"\"\n\nfrom diagrams import Node\n\n\nclass _Firebase(Node):\n "
  },
  {
    "path": "diagrams/firebase/base.py",
    "chars": 245,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Firebase\n\n\nclass _Base(_Firebase):\n"
  },
  {
    "path": "diagrams/firebase/develop.py",
    "chars": 611,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Firebase\n\n\nclass _Develop(_Firebase"
  },
  {
    "path": "diagrams/firebase/extentions.py",
    "chars": 273,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Firebase\n\n\nclass _Extentions(_Fireb"
  },
  {
    "path": "diagrams/firebase/grow.py",
    "chars": 674,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Firebase\n\n\nclass _Grow(_Firebase):\n"
  },
  {
    "path": "diagrams/firebase/quality.py",
    "chars": 537,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Firebase\n\n\nclass _Quality(_Firebase"
  },
  {
    "path": "diagrams/gcp/__init__.py",
    "chars": 244,
    "preview": "\"\"\"\nGCP provides a set of services for Google Cloud Platform provider.\n\"\"\"\n\nfrom diagrams import Node\n\n\nclass _GCP(Node)"
  },
  {
    "path": "diagrams/gcp/analytics.py",
    "chars": 859,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _GCP\n\n\nclass _Analytics(_GCP):\n    _"
  },
  {
    "path": "diagrams/gcp/api.py",
    "chars": 331,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _GCP\n\n\nclass _API(_GCP):\n    _type ="
  },
  {
    "path": "diagrams/gcp/compute.py",
    "chars": 1088,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _GCP\n\n\nclass _Compute(_GCP):\n    _ty"
  },
  {
    "path": "diagrams/gcp/database.py",
    "chars": 545,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _GCP\n\n\nclass _Database(_GCP):\n    _t"
  },
  {
    "path": "diagrams/gcp/devtools.py",
    "chars": 1338,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _GCP\n\n\nclass _Devtools(_GCP):\n    _t"
  },
  {
    "path": "diagrams/gcp/iot.py",
    "chars": 225,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _GCP\n\n\nclass _Iot(_GCP):\n    _type ="
  },
  {
    "path": "diagrams/gcp/management.py",
    "chars": 418,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _GCP\n\n\nclass _Management(_GCP):\n    "
  },
  {
    "path": "diagrams/gcp/migration.py",
    "chars": 379,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _GCP\n\n\nclass _Migration(_GCP):\n    _"
  },
  {
    "path": "diagrams/gcp/ml.py",
    "chars": 1662,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _GCP\n\n\nclass _ML(_GCP):\n    _type = "
  },
  {
    "path": "diagrams/gcp/network.py",
    "chars": 1904,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _GCP\n\n\nclass _Network(_GCP):\n    _ty"
  },
  {
    "path": "diagrams/gcp/operations.py",
    "chars": 314,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _GCP\n\n\nclass _Operations(_GCP):\n    "
  },
  {
    "path": "diagrams/gcp/security.py",
    "chars": 1232,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _GCP\n\n\nclass _Security(_GCP):\n    _t"
  },
  {
    "path": "diagrams/gcp/storage.py",
    "chars": 451,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _GCP\n\n\nclass _Storage(_GCP):\n    _ty"
  },
  {
    "path": "diagrams/generic/__init__.py",
    "chars": 277,
    "preview": "\"\"\"\nGeneric provides the possibility of load an image to be presented as a node.\n\"\"\"\n\nfrom diagrams import Node\n\n\nclass "
  },
  {
    "path": "diagrams/generic/blank.py",
    "chars": 240,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Generic\n\n\nclass _Blank(_Generic):\n "
  },
  {
    "path": "diagrams/generic/compute.py",
    "chars": 246,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Generic\n\n\nclass _Compute(_Generic):"
  },
  {
    "path": "diagrams/generic/database.py",
    "chars": 248,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Generic\n\n\nclass _Database(_Generic)"
  },
  {
    "path": "diagrams/generic/device.py",
    "chars": 296,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Generic\n\n\nclass _Device(_Generic):\n"
  },
  {
    "path": "diagrams/generic/network.py",
    "chars": 452,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Generic\n\n\nclass _Network(_Generic):"
  },
  {
    "path": "diagrams/generic/os.py",
    "chars": 656,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Generic\n\n\nclass _Os(_Generic):\n    "
  },
  {
    "path": "diagrams/generic/place.py",
    "chars": 250,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Generic\n\n\nclass _Place(_Generic):\n "
  },
  {
    "path": "diagrams/generic/storage.py",
    "chars": 252,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Generic\n\n\nclass _Storage(_Generic):"
  },
  {
    "path": "diagrams/generic/virtualization.py",
    "chars": 450,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _Generic\n\n\nclass _Virtualization(_Ge"
  },
  {
    "path": "diagrams/gis/__init__.py",
    "chars": 212,
    "preview": "\"\"\"\nGIS provides a set of services for Geographic Information Systems provider.\n\"\"\"\n\nfrom diagrams import Node\n\n\nclass _"
  },
  {
    "path": "diagrams/gis/cli.py",
    "chars": 449,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _GIS\n\n\nclass _Cli(_GIS):\n    _type ="
  },
  {
    "path": "diagrams/gis/cplusplus.py",
    "chars": 246,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _GIS\n\n\nclass _Cplusplus(_GIS):\n    _"
  },
  {
    "path": "diagrams/gis/data.py",
    "chars": 428,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _GIS\n\n\nclass _Data(_GIS):\n    _type "
  },
  {
    "path": "diagrams/gis/database.py",
    "chars": 244,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _GIS\n\n\nclass _Database(_GIS):\n    _t"
  },
  {
    "path": "diagrams/gis/desktop.py",
    "chars": 289,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _GIS\n\n\nclass _Desktop(_GIS):\n    _ty"
  },
  {
    "path": "diagrams/gis/format.py",
    "chars": 300,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _GIS\n\n\nclass _Format(_GIS):\n    _typ"
  },
  {
    "path": "diagrams/gis/geocoding.py",
    "chars": 415,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _GIS\n\n\nclass _Geocoding(_GIS):\n    _"
  },
  {
    "path": "diagrams/gis/georchestra.py",
    "chars": 199,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _GIS\n\n\nclass _Georchestra(_GIS):\n   "
  },
  {
    "path": "diagrams/gis/java.py",
    "chars": 230,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _GIS\n\n\nclass _Java(_GIS):\n    _type "
  },
  {
    "path": "diagrams/gis/javascript.py",
    "chars": 651,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _GIS\n\n\nclass _Javascript(_GIS):\n    "
  },
  {
    "path": "diagrams/gis/mobile.py",
    "chars": 332,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _GIS\n\n\nclass _Mobile(_GIS):\n    _typ"
  },
  {
    "path": "diagrams/gis/ogc.py",
    "chars": 298,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _GIS\n\n\nclass _OGC(_GIS):\n    _type ="
  },
  {
    "path": "diagrams/gis/organization.py",
    "chars": 256,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _GIS\n\n\nclass _Organization(_GIS):\n  "
  },
  {
    "path": "diagrams/gis/python.py",
    "chars": 288,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _GIS\n\n\nclass _Python(_GIS):\n    _typ"
  },
  {
    "path": "diagrams/gis/routing.py",
    "chars": 407,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _GIS\n\n\nclass _Routing(_GIS):\n    _ty"
  },
  {
    "path": "diagrams/gis/server.py",
    "chars": 1404,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _GIS\n\n\nclass _Server(_GIS):\n    _typ"
  },
  {
    "path": "diagrams/gis/toolkit.py",
    "chars": 187,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _GIS\n\n\nclass _Toolkit(_GIS):\n    _ty"
  },
  {
    "path": "diagrams/ibm/__init__.py",
    "chars": 232,
    "preview": "\"\"\"\nIBM provides a set of services for IBM Cloud provider.\n\"\"\"\n\nfrom diagrams import Node\n\n\nclass _IBM(Node):\n    _provi"
  },
  {
    "path": "diagrams/ibm/analytics.py",
    "chars": 548,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _IBM\n\n\nclass _Analytics(_IBM):\n    _"
  },
  {
    "path": "diagrams/ibm/applications.py",
    "chars": 1572,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _IBM\n\n\nclass _Applications(_IBM):\n  "
  },
  {
    "path": "diagrams/ibm/blockchain.py",
    "chars": 1580,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _IBM\n\n\nclass _Blockchain(_IBM):\n    "
  },
  {
    "path": "diagrams/ibm/compute.py",
    "chars": 488,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _IBM\n\n\nclass _Compute(_IBM):\n    _ty"
  },
  {
    "path": "diagrams/ibm/data.py",
    "chars": 1018,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _IBM\n\n\nclass _Data(_IBM):\n    _type "
  },
  {
    "path": "diagrams/ibm/devops.py",
    "chars": 870,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _IBM\n\n\nclass _Devops(_IBM):\n    _typ"
  },
  {
    "path": "diagrams/ibm/general.py",
    "chars": 2082,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _IBM\n\n\nclass _General(_IBM):\n    _ty"
  },
  {
    "path": "diagrams/ibm/infrastructure.py",
    "chars": 1641,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _IBM\n\n\nclass _Infrastructure(_IBM):\n"
  },
  {
    "path": "diagrams/ibm/management.py",
    "chars": 1356,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _IBM\n\n\nclass _Management(_IBM):\n    "
  },
  {
    "path": "diagrams/ibm/network.py",
    "chars": 1461,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _IBM\n\n\nclass _Network(_IBM):\n    _ty"
  },
  {
    "path": "diagrams/ibm/security.py",
    "chars": 1227,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _IBM\n\n\nclass _Security(_IBM):\n    _t"
  },
  {
    "path": "diagrams/ibm/social.py",
    "chars": 486,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _IBM\n\n\nclass _Social(_IBM):\n    _typ"
  },
  {
    "path": "diagrams/ibm/storage.py",
    "chars": 317,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _IBM\n\n\nclass _Storage(_IBM):\n    _ty"
  },
  {
    "path": "diagrams/ibm/user.py",
    "chars": 527,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _IBM\n\n\nclass _User(_IBM):\n    _type "
  },
  {
    "path": "diagrams/k8s/__init__.py",
    "chars": 224,
    "preview": "\"\"\"\nK8S provides a set of services for Kubernetes.\n\"\"\"\n\nfrom diagrams import Node\n\n\nclass _K8S(Node):\n    _provider = \"k"
  },
  {
    "path": "diagrams/k8s/chaos.py",
    "chars": 297,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _K8S\n\n\nclass _Chaos(_K8S):\n    _type"
  },
  {
    "path": "diagrams/k8s/clusterconfig.py",
    "chars": 419,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _K8S\n\n\nclass _Clusterconfig(_K8S):\n "
  },
  {
    "path": "diagrams/k8s/compute.py",
    "chars": 582,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _K8S\n\n\nclass _Compute(_K8S):\n    _ty"
  },
  {
    "path": "diagrams/k8s/controlplane.py",
    "chars": 599,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _K8S\n\n\nclass _Controlplane(_K8S):\n  "
  },
  {
    "path": "diagrams/k8s/ecosystem.py",
    "chars": 414,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _K8S\n\n\nclass _Ecosystem(_K8S):\n    _"
  },
  {
    "path": "diagrams/k8s/group.py",
    "chars": 238,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _K8S\n\n\nclass _Group(_K8S):\n    _type"
  },
  {
    "path": "diagrams/k8s/infra.py",
    "chars": 320,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _K8S\n\n\nclass _Infra(_K8S):\n    _type"
  },
  {
    "path": "diagrams/k8s/network.py",
    "chars": 437,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _K8S\n\n\nclass _Network(_K8S):\n    _ty"
  },
  {
    "path": "diagrams/k8s/others.py",
    "chars": 272,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _K8S\n\n\nclass _Others(_K8S):\n    _typ"
  },
  {
    "path": "diagrams/k8s/podconfig.py",
    "chars": 307,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _K8S\n\n\nclass _Podconfig(_K8S):\n    _"
  },
  {
    "path": "diagrams/k8s/rbac.py",
    "chars": 564,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _K8S\n\n\nclass _Rbac(_K8S):\n    _type "
  },
  {
    "path": "diagrams/k8s/storage.py",
    "chars": 445,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _K8S\n\n\nclass _Storage(_K8S):\n    _ty"
  },
  {
    "path": "diagrams/oci/__init__.py",
    "chars": 250,
    "preview": "\"\"\"\nOCI provides a set of services for Oracle Cloud Infrastructure provider.\n\"\"\"\n\nfrom diagrams import Node\n\n\nclass _OCI"
  },
  {
    "path": "diagrams/oci/compute.py",
    "chars": 1298,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _OCI\n\n\nclass _Compute(_OCI):\n    _ty"
  },
  {
    "path": "diagrams/oci/connectivity.py",
    "chars": 1463,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _OCI\n\n\nclass _Connectivity(_OCI):\n  "
  },
  {
    "path": "diagrams/oci/database.py",
    "chars": 1430,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _OCI\n\n\nclass _Database(_OCI):\n    _t"
  },
  {
    "path": "diagrams/oci/devops.py",
    "chars": 579,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _OCI\n\n\nclass _Devops(_OCI):\n    _typ"
  },
  {
    "path": "diagrams/oci/governance.py",
    "chars": 1057,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _OCI\n\n\nclass _Governance(_OCI):\n    "
  },
  {
    "path": "diagrams/oci/monitoring.py",
    "chars": 1325,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _OCI\n\n\nclass _Monitoring(_OCI):\n    "
  },
  {
    "path": "diagrams/oci/network.py",
    "chars": 1221,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _OCI\n\n\nclass _Network(_OCI):\n    _ty"
  },
  {
    "path": "diagrams/oci/security.py",
    "chars": 1200,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _OCI\n\n\nclass _Security(_OCI):\n    _t"
  },
  {
    "path": "diagrams/oci/storage.py",
    "chars": 1474,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _OCI\n\n\nclass _Storage(_OCI):\n    _ty"
  },
  {
    "path": "diagrams/onprem/__init__.py",
    "chars": 250,
    "preview": "\"\"\"\nOnPrem provides a set of general on-premises services.\n\"\"\"\n\nfrom diagrams import Node\n\n\nclass _OnPrem(Node):\n    _pr"
  },
  {
    "path": "diagrams/onprem/aggregator.py",
    "chars": 315,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _OnPrem\n\n\nclass _Aggregator(_OnPrem)"
  },
  {
    "path": "diagrams/onprem/analytics.py",
    "chars": 1122,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _OnPrem\n\n\nclass _Analytics(_OnPrem):"
  },
  {
    "path": "diagrams/onprem/auth.py",
    "chars": 357,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _OnPrem\n\n\nclass _Auth(_OnPrem):\n    "
  },
  {
    "path": "diagrams/onprem/cd.py",
    "chars": 332,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _OnPrem\n\n\nclass _Cd(_OnPrem):\n    _t"
  },
  {
    "path": "diagrams/onprem/certificates.py",
    "chars": 345,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _OnPrem\n\n\nclass _Certificates(_OnPre"
  },
  {
    "path": "diagrams/onprem/ci.py",
    "chars": 775,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _OnPrem\n\n\nclass _Ci(_OnPrem):\n    _t"
  },
  {
    "path": "diagrams/onprem/client.py",
    "chars": 337,
    "preview": "# This module is automatically generated by autogen.sh. DO NOT EDIT.\n\nfrom . import _OnPrem\n\n\nclass _Client(_OnPrem):\n  "
  }
]

// ... and 118 more files (download for full content)

About this extraction

This page contains the full source code of the mingrammer/diagrams GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 318 files (799.1 KB), approximately 221.8k tokens, and a symbol index with 2855 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!