ソースを参照

Merge remote-tracking branch 'upstream/master'

pull/428/head
Mohammed Almusaddar 1年前
コミット
ac251dbd81
100個のファイルの変更5766行の追加2086行の削除
  1. +2
    -2
      .github/workflows/codeql-analysis.yml
  2. +6
    -6
      .github/workflows/test.yml
  3. +1
    -1
      CONTRIBUTING.md
  4. +1
    -1
      README.md
  5. +23
    -2
      autogen.sh
  6. +23
    -3
      config.py
  7. +41
    -24
      diagrams/__init__.py
  8. +4
    -0
      diagrams/aws/compute.py
  9. +42
    -14
      diagrams/c4/__init__.py
  10. +2
    -2
      diagrams/custom/__init__.py
  11. +27
    -0
      diagrams/elastic/agent.py
  12. +43
    -0
      diagrams/elastic/beats.py
  13. +19
    -1
      diagrams/elastic/elasticsearch.py
  14. +4
    -0
      diagrams/elastic/enterprisesearch.py
  15. +4
    -0
      diagrams/elastic/security.py
  16. +12
    -0
      diagrams/generic/os.py
  17. +15
    -0
      diagrams/onprem/messaging.py
  18. +4
    -0
      diagrams/onprem/mlops.py
  19. +4
    -0
      diagrams/onprem/monitoring.py
  20. +4
    -0
      diagrams/onprem/network.py
  21. +5
    -0
      diagrams/onprem/queue.py
  22. +19
    -0
      diagrams/onprem/registry.py
  23. +4
    -0
      diagrams/onprem/storage.py
  24. +4
    -0
      diagrams/onprem/tracing.py
  25. +4
    -0
      diagrams/programming/framework.py
  26. +7
    -0
      diagrams/saas/alerting.py
  27. +4
    -0
      diagrams/saas/analytics.py
  28. +4
    -0
      diagrams/saas/cdn.py
  29. +8
    -0
      diagrams/saas/chat.py
  30. +15
    -0
      diagrams/saas/communication.py
  31. +282
    -94
      docs/nodes/alibabacloud.md
  32. +1428
    -475
      docs/nodes/aws.md
  33. +663
    -221
      docs/nodes/azure.md
  34. +75
    -25
      docs/nodes/digitalocean.md
  35. +138
    -26
      docs/nodes/elastic.md
  36. +66
    -22
      docs/nodes/firebase.md
  37. +273
    -91
      docs/nodes/gcp.md
  38. +75
    -22
      docs/nodes/generic.md
  39. +540
    -180
      docs/nodes/ibm.md
  40. +135
    -45
      docs/nodes/k8s.md
  41. +420
    -140
      docs/nodes/oci.md
  42. +498
    -159
      docs/nodes/onprem.md
  43. +150
    -50
      docs/nodes/openstack.md
  44. +36
    -12
      docs/nodes/outscale.md
  45. +189
    -62
      docs/nodes/programming.md
  46. +92
    -23
      docs/nodes/saas.md
  47. +345
    -378
      poetry.lock
  48. +6
    -5
      pyproject.toml
  49. バイナリ
      resources/aws/compute/app-runner.png
  50. バイナリ
      resources/elastic/agent/agent.png
  51. バイナリ
      resources/elastic/agent/endpoint.png
  52. バイナリ
      resources/elastic/agent/fleet.png
  53. バイナリ
      resources/elastic/agent/integrations.png
  54. バイナリ
      resources/elastic/beats/apm.png
  55. バイナリ
      resources/elastic/beats/auditbeat.png
  56. バイナリ
      resources/elastic/beats/filebeat.png
  57. バイナリ
      resources/elastic/beats/functionbeat.png
  58. バイナリ
      resources/elastic/beats/heartbeat.png
  59. バイナリ
      resources/elastic/beats/metricbeat.png
  60. バイナリ
      resources/elastic/beats/packetbeat.png
  61. バイナリ
      resources/elastic/beats/winlogbeat.png
  62. バイナリ
      resources/elastic/elasticsearch/logstash-pipeline.png
  63. バイナリ
      resources/elastic/elasticsearch/map-services.png
  64. バイナリ
      resources/elastic/elasticsearch/searchable-snapshots.png
  65. バイナリ
      resources/elastic/elasticsearch/stack.png
  66. バイナリ
      resources/elastic/enterprisesearch/crawler.png
  67. バイナリ
      resources/elastic/observability/observability.png
  68. バイナリ
      resources/elastic/security/xdr.png
  69. バイナリ
      resources/gcp/analytics/bigquery.png
  70. バイナリ
      resources/gcp/analytics/composer.png
  71. バイナリ
      resources/gcp/analytics/data-catalog.png
  72. バイナリ
      resources/gcp/analytics/data-fusion.png
  73. バイナリ
      resources/gcp/analytics/dataflow.png
  74. バイナリ
      resources/gcp/analytics/datalab.png
  75. バイナリ
      resources/gcp/analytics/dataprep.png
  76. バイナリ
      resources/gcp/analytics/dataproc.png
  77. バイナリ
      resources/gcp/analytics/genomics.png
  78. バイナリ
      resources/gcp/analytics/pubsub.png
  79. バイナリ
      resources/gcp/api/api-gateway.png
  80. バイナリ
      resources/gcp/api/endpoints.png
  81. バイナリ
      resources/gcp/compute/app-engine.png
  82. バイナリ
      resources/gcp/compute/compute-engine.png
  83. バイナリ
      resources/gcp/compute/container-optimized-os.png
  84. バイナリ
      resources/gcp/compute/functions.png
  85. バイナリ
      resources/gcp/compute/gke-on-prem.png
  86. バイナリ
      resources/gcp/compute/gpu.png
  87. バイナリ
      resources/gcp/compute/kubernetes-engine.png
  88. バイナリ
      resources/gcp/compute/run.png
  89. バイナリ
      resources/gcp/database/bigtable.png
  90. バイナリ
      resources/gcp/database/datastore.png
  91. バイナリ
      resources/gcp/database/firestore.png
  92. バイナリ
      resources/gcp/database/memorystore.png
  93. バイナリ
      resources/gcp/database/spanner.png
  94. バイナリ
      resources/gcp/database/sql.png
  95. バイナリ
      resources/gcp/devtools/build.png
  96. バイナリ
      resources/gcp/devtools/code-for-intellij.png
  97. バイナリ
      resources/gcp/devtools/code.png
  98. バイナリ
      resources/gcp/devtools/container-registry.png
  99. バイナリ
      resources/gcp/devtools/gradle-app-engine-plugin.png
  100. バイナリ
      resources/gcp/devtools/ide-plugins.png

+ 2
- 2
.github/workflows/codeql-analysis.yml ファイルの表示

@@ -2,7 +2,7 @@ name: "CodeQL"

on:
push:
branches: [master, ]
branches: [master]
pull_request:
# The branches below must be a subset of the branches above
branches: [master]
@@ -19,7 +19,7 @@ jobs:
uses: actions/checkout@v2
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.
# 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


+ 6
- 6
.github/workflows/test.yml ファイルの表示

@@ -5,24 +5,24 @@ on:
branches:
- master
paths:
- '.github/workflows/test.yml'
- '**.py'
- ".github/workflows/test.yml"
- "**.py"
pull_request:
branches:
- master
paths:
- '.github/workflows/test.yml'
- '**.py'
- ".github/workflows/test.yml"
- "**.py"

jobs:
test:
strategy:
matrix:
python: ['3.6', '3.7', '3.8', '3.9']
python: ["3.7", "3.8", "3.9", "3.10", "3.11"]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
- uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python }}
- name: Setup Graphviz


+ 1
- 1
CONTRIBUTING.md ファイルの表示

@@ -55,7 +55,7 @@ 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 [round][round] and
> [inkscape][inkscape] command lines that are used for clearning the image
> [inkscape][inkscape] command lines that are used for cleaning the image
> resource filenames.
>
> Or you should use the docker image.


+ 1
- 1
README.md ファイルの表示

@@ -84,7 +84,7 @@ To contribute to diagram, check out [contribution guidelines](CONTRIBUTING.md).

## Other languages

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

## License



+ 23
- 2
autogen.sh ファイルの表示

@@ -1,10 +1,27 @@
#!/bin/bash
set -e

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" "hashicorp")
providers=(
"onprem"
"aws"
"azure"
"digitalocean"
"gcp"
"ibm"
"firebase"
"k8s"
"alibabacloud"
"oci"
"programming"
"saas"
"elastic"
"generic"
"openstack"
"outscale"
"hashicorp"
)

if ! [ -x "$(command -v round)" ]; then
echo 'round is not installed'
@@ -56,6 +73,10 @@ done
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

+ 23
- 3
config.py ファイルの表示

@@ -12,8 +12,25 @@ DIR_RESOURCE = "resources"
DIR_TEMPLATE = "templates"

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

#########################
# Resource Processing #
@@ -68,7 +85,7 @@ UPPER_WORDS = {
"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"),
"elastic": ("apm", "siem", "ece", "eck", "sql"),
"generic": ("vpn", "ios", "xen", "sql", "lxc"),
"outscale": ("osc",),
"openstack": ("rpm", "loci", "nfv", "ec2api"),
@@ -152,6 +169,7 @@ ALIASES = {
},
"queue": {
"Activemq": "ActiveMQ",
"Emqx": "EMQX",
"Rabbitmq": "RabbitMQ",
"Zeromq": "ZeroMQ",
},
@@ -434,7 +452,9 @@ ALIASES = {
},
"elastic": {
"elasticsearch": {
"Elasticsearch": "ElasticSearch",
"Logstash": "LogStash",
"MachineLearning": "ML",
}
},
"outscale": {


+ 41
- 24
diagrams/__init__.py ファイルの表示

@@ -2,7 +2,7 @@ import contextvars
import os
import uuid
from pathlib import Path
from typing import List, Union, Dict
from typing import Dict, List, Optional, Union

from graphviz import Digraph

@@ -15,25 +15,25 @@ __diagram = contextvars.ContextVar("diagrams")
__cluster = contextvars.ContextVar("cluster")


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


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


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


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


@@ -83,10 +83,12 @@ class Diagram:
direction: str = "LR",
curvestyle: str = "ortho",
outformat: str = "png",
autolabel: bool = False,
show: bool = True,
graph_attr: dict = {},
node_attr: dict = {},
edge_attr: dict = {},
strict: bool = False,
graph_attr: Optional[dict] = None,
node_attr: Optional[dict] = None,
edge_attr: Optional[dict] = None,
):
"""Diagram represents a global diagrams context.

@@ -101,14 +103,21 @@ class Diagram:
: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 = {}
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)
self.dot = Digraph(self.name, filename=self.filename, strict=strict)

# Set attributes.
for k, v in self._default_graph_attrs.items():
@@ -142,6 +151,7 @@ class Diagram:
self.dot.edge_attr.update(edge_attr)

self.show = show
self.autolabel = autolabel

def __str__(self) -> str:
return str(self.dot)
@@ -211,7 +221,7 @@ class Cluster:
self,
label: str = "cluster",
direction: str = "LR",
graph_attr: dict = {},
graph_attr: Optional[dict] = None,
):
"""Cluster represents a cluster context.

@@ -219,6 +229,8 @@ class Cluster:
: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

@@ -258,11 +270,8 @@ class Cluster:
self._diagram.subgraph(self.dot)
setcluster(self._parent)

def _validate_direction(self, direction: str):
direction = direction.upper()
if direction in self.__directions:
return True
return False
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."""
@@ -283,20 +292,32 @@ class Node:

_height = 1.9

def __init__(self, label: str = "", **attrs: Dict):
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.
self._id = self._rand_id()
# Generates an ID for identifying a node, unless specified
self._id = nodeid or self._rand_id()
self.label = label

# Node must be belong to a diagrams.
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 * (label.count('\n'))
padding = 0.4 * (self.label.count('\n'))
self._attrs = {
"shape": "none",
"height": str(self._height + padding),
@@ -306,10 +327,6 @@ class Node:
# fmt: on
self._attrs.update(attrs)

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

# If a node is in the cluster context, add it to cluster.
@@ -335,7 +352,7 @@ class Node:
return other

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


+ 4
- 0
diagrams/aws/compute.py ファイルの表示

@@ -8,6 +8,10 @@ class _Compute(_AWS):
_icon_dir = "resources/aws/compute"


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


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



+ 42
- 14
diagrams/c4/__init__.py ファイルの表示

@@ -58,24 +58,50 @@ def C4Node(name, technology="", description="", type="Container", **kwargs):


def Container(name, technology="", description="", **kwargs):
return C4Node(name, technology=technology, description=description, type="Container")
container_attributes = {
"name": name,
"technology": technology,
"description": description,
"type": "Container",
}
container_attributes.update(kwargs)
return C4Node(**container_attributes)


def Database(name, technology="", description="", **kwargs):
return C4Node(name, technology=technology, description=description, type="Database", shape="cylinder", labelloc="b")
database_attributes = {
"name": name,
"technology": technology,
"description": description,
"type": "Database",
"shape": "cylinder",
"labelloc": "b",
}
database_attributes.update(kwargs)
return C4Node(**database_attributes)


def System(name, description="", external=False, **kwargs):
type = "External System" if external else "System"
fillcolor = "gray60" if external else "dodgerblue4"
return C4Node(name, description=description, type=type, fillcolor=fillcolor)
system_attributes = {
"name": name,
"description": description,
"type": "External System" if external else "System",
"fillcolor": "gray60" if external else "dodgerblue4",
}
system_attributes.update(kwargs)
return C4Node(**system_attributes)


def Person(name, description="", external=False, **kwargs):
type = "External Person" if external else "Person"
fillcolor = "gray60" if external else "dodgerblue4"
style = "rounded,filled"
return C4Node(name, description=description, type=type, fillcolor=fillcolor, style=style)
person_attributes = {
"name": name,
"description": description,
"type": "External Person" if external else "Person",
"fillcolor": "gray60" if external else "dodgerblue4",
"style": "rounded,filled",
}
person_attributes.update(kwargs)
return C4Node(**person_attributes)


def SystemBoundary(name, **kwargs):
@@ -90,8 +116,10 @@ def SystemBoundary(name, **kwargs):


def Relationship(label="", **kwargs):
edge_attribtues = {"style": "dashed", "color": "gray60"}
if label:
edge_attribtues.update({"label": _format_edge_label(label)})
edge_attribtues.update(kwargs)
return Edge(**edge_attribtues)
edge_attributes = {
"style": "dashed",
"color": "gray60",
"label": _format_edge_label(label) if label else "",
}
edge_attributes.update(kwargs)
return Edge(**edge_attributes)

+ 2
- 2
diagrams/custom/__init__.py ファイルの表示

@@ -15,6 +15,6 @@ class Custom(Node):
def _load_icon(self):
return self._icon

def __init__(self, label, icon_path):
def __init__(self, label, icon_path, *args, **kwargs):
self._icon = icon_path
super().__init__(label)
super().__init__(label, *args, **kwargs)

+ 27
- 0
diagrams/elastic/agent.py ファイルの表示

@@ -0,0 +1,27 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _Elastic


class _Agent(_Elastic):
_type = "agent"
_icon_dir = "resources/elastic/agent"


class Agent(_Agent):
_icon = "agent.png"


class Endpoint(_Agent):
_icon = "endpoint.png"


class Fleet(_Agent):
_icon = "fleet.png"


class Integrations(_Agent):
_icon = "integrations.png"


# Aliases

+ 43
- 0
diagrams/elastic/beats.py ファイルの表示

@@ -0,0 +1,43 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _Elastic


class _Beats(_Elastic):
_type = "beats"
_icon_dir = "resources/elastic/beats"


class APM(_Beats):
_icon = "apm.png"


class Auditbeat(_Beats):
_icon = "auditbeat.png"


class Filebeat(_Beats):
_icon = "filebeat.png"


class Functionbeat(_Beats):
_icon = "functionbeat.png"


class Heartbeat(_Beats):
_icon = "heartbeat.png"


class Metricbeat(_Beats):
_icon = "metricbeat.png"


class Packetbeat(_Beats):
_icon = "packetbeat.png"


class Winlogbeat(_Beats):
_icon = "winlogbeat.png"


# Aliases

+ 19
- 1
diagrams/elastic/elasticsearch.py ファイルの表示

@@ -24,6 +24,10 @@ class Kibana(_Elasticsearch):
_icon = "kibana.png"


class LogstashPipeline(_Elasticsearch):
_icon = "logstash-pipeline.png"


class Logstash(_Elasticsearch):
_icon = "logstash.png"

@@ -32,6 +36,10 @@ class MachineLearning(_Elasticsearch):
_icon = "machine-learning.png"


class MapServices(_Elasticsearch):
_icon = "map-services.png"


class Maps(_Elasticsearch):
_icon = "maps.png"

@@ -40,14 +48,24 @@ class Monitoring(_Elasticsearch):
_icon = "monitoring.png"


class SearchableSnapshots(_Elasticsearch):
_icon = "searchable-snapshots.png"


class SecuritySettings(_Elasticsearch):
_icon = "security-settings.png"


class Sql(_Elasticsearch):
class SQL(_Elasticsearch):
_icon = "sql.png"


class Stack(_Elasticsearch):
_icon = "stack.png"


# Aliases

ElasticSearch = Elasticsearch
LogStash = Logstash
ML = MachineLearning

+ 4
- 0
diagrams/elastic/enterprisesearch.py ファイルの表示

@@ -12,6 +12,10 @@ class AppSearch(_Enterprisesearch):
_icon = "app-search.png"


class Crawler(_Enterprisesearch):
_icon = "crawler.png"


class EnterpriseSearch(_Enterprisesearch):
_icon = "enterprise-search.png"



+ 4
- 0
diagrams/elastic/security.py ファイルの表示

@@ -20,4 +20,8 @@ class SIEM(_Security):
_icon = "siem.png"


class Xdr(_Security):
_icon = "xdr.png"


# Aliases

+ 12
- 0
diagrams/generic/os.py ファイルの表示

@@ -16,6 +16,10 @@ class Centos(_Os):
_icon = "centos.png"


class Debian(_Os):
_icon = "debian.png"


class IOS(_Os):
_icon = "ios.png"

@@ -24,6 +28,14 @@ class LinuxGeneral(_Os):
_icon = "linux-general.png"


class Raspbian(_Os):
_icon = "raspbian.png"


class RedHat(_Os):
_icon = "red-hat.png"


class Suse(_Os):
_icon = "suse.png"



+ 15
- 0
diagrams/onprem/messaging.py ファイルの表示

@@ -0,0 +1,15 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _OnPrem


class _Messaging(_OnPrem):
_type = "messaging"
_icon_dir = "resources/onprem/messaging"


class Centrifugo(_Messaging):
_icon = "centrifugo.png"


# Aliases

+ 4
- 0
diagrams/onprem/mlops.py ファイルの表示

@@ -8,6 +8,10 @@ class _Mlops(_OnPrem):
_icon_dir = "resources/onprem/mlops"


class Mlflow(_Mlops):
_icon = "mlflow.png"


class Polyaxon(_Mlops):
_icon = "polyaxon.png"



+ 4
- 0
diagrams/onprem/monitoring.py ファイルの表示

@@ -28,6 +28,10 @@ class Humio(_Monitoring):
_icon = "humio.png"


class Mimir(_Monitoring):
_icon = "mimir.png"


class Nagios(_Monitoring):
_icon = "nagios.png"



+ 4
- 0
diagrams/onprem/network.py ファイルの表示

@@ -120,6 +120,10 @@ class Wildfly(_Network):
_icon = "wildfly.png"


class Yarp(_Network):
_icon = "yarp.png"


class Zookeeper(_Network):
_icon = "zookeeper.png"



+ 5
- 0
diagrams/onprem/queue.py ファイルの表示

@@ -16,6 +16,10 @@ class Celery(_Queue):
_icon = "celery.png"


class Emqx(_Queue):
_icon = "emqx.png"


class Kafka(_Queue):
_icon = "kafka.png"

@@ -35,5 +39,6 @@ class Zeromq(_Queue):
# Aliases

ActiveMQ = Activemq
EMQX = Emqx
RabbitMQ = Rabbitmq
ZeroMQ = Zeromq

+ 19
- 0
diagrams/onprem/registry.py ファイルの表示

@@ -0,0 +1,19 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _OnPrem


class _Registry(_OnPrem):
_type = "registry"
_icon_dir = "resources/onprem/registry"


class Harbor(_Registry):
_icon = "harbor.png"


class Jfrog(_Registry):
_icon = "jfrog.png"


# Aliases

+ 4
- 0
diagrams/onprem/storage.py ファイルの表示

@@ -20,6 +20,10 @@ class Glusterfs(_Storage):
_icon = "glusterfs.png"


class Portworx(_Storage):
_icon = "portworx.png"


# Aliases

CEPH = Ceph


+ 4
- 0
diagrams/onprem/tracing.py ファイルの表示

@@ -12,4 +12,8 @@ class Jaeger(_Tracing):
_icon = "jaeger.png"


class Tempo(_Tracing):
_icon = "tempo.png"


# Aliases

+ 4
- 0
diagrams/programming/framework.py ファイルの表示

@@ -64,6 +64,10 @@ class Starlette(_Framework):
_icon = "starlette.png"


class Svelte(_Framework):
_icon = "svelte.png"


class Vue(_Framework):
_icon = "vue.png"



+ 7
- 0
diagrams/saas/alerting.py ファイルの表示

@@ -20,4 +20,11 @@ class Pushover(_Alerting):
_icon = "pushover.png"


class Xmatters(_Alerting):
_icon = "xmatters.png"


class Pagerduty(_Alerting):
_icon = "pagerduty.png"
# Aliases

+ 4
- 0
diagrams/saas/analytics.py ファイルの表示

@@ -8,6 +8,10 @@ class _Analytics(_Saas):
_icon_dir = "resources/saas/analytics"


class Dataform(_Analytics):
_icon = "dataform.png"


class Snowflake(_Analytics):
_icon = "snowflake.png"



+ 4
- 0
diagrams/saas/cdn.py ファイルの表示

@@ -16,4 +16,8 @@ class Cloudflare(_Cdn):
_icon = "cloudflare.png"


class Fastly(_Cdn):
_icon = "fastly.png"


# Aliases

+ 8
- 0
diagrams/saas/chat.py ファイルの表示

@@ -12,10 +12,18 @@ class Discord(_Chat):
_icon = "discord.png"


class Line(_Chat):
_icon = "line.png"


class Mattermost(_Chat):
_icon = "mattermost.png"


class Messenger(_Chat):
_icon = "messenger.png"


class RocketChat(_Chat):
_icon = "rocket-chat.png"



+ 15
- 0
diagrams/saas/communication.py ファイルの表示

@@ -0,0 +1,15 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.

from . import _Saas


class _Communication(_Saas):
_type = "communication"
_icon_dir = "resources/saas/communication"


class Twilio(_Communication):
_icon = "twilio.png"


# Aliases

+ 282
- 94
docs/nodes/alibabacloud.md ファイルの表示

@@ -7,124 +7,312 @@ Node classes list of alibabacloud provider.

## alibabacloud.analytics

- **diagrams.alibabacloud.analytics.AnalyticDb**
- **diagrams.alibabacloud.analytics.ClickHouse**
- **diagrams.alibabacloud.analytics.DataLakeAnalytics**
- **diagrams.alibabacloud.analytics.ElaticMapReduce**
- **diagrams.alibabacloud.analytics.OpenSearch**

<img width="30" src="/img/resources/alibabacloud/analytics/analytic-db.png" alt="AnalyticDb" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.analytics.AnalyticDb**

<img width="30" src="/img/resources/alibabacloud/analytics/click-house.png" alt="ClickHouse" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.analytics.ClickHouse**

<img width="30" src="/img/resources/alibabacloud/analytics/data-lake-analytics.png" alt="DataLakeAnalytics" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.analytics.DataLakeAnalytics**

<img width="30" src="/img/resources/alibabacloud/analytics/elatic-map-reduce.png" alt="ElaticMapReduce" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.analytics.ElaticMapReduce**

<img width="30" src="/img/resources/alibabacloud/analytics/open-search.png" alt="OpenSearch" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.analytics.OpenSearch**

## alibabacloud.application

- **diagrams.alibabacloud.application.ApiGateway**
- **diagrams.alibabacloud.application.BeeBot**
- **diagrams.alibabacloud.application.BlockchainAsAService**
- **diagrams.alibabacloud.application.CloudCallCenter**
- **diagrams.alibabacloud.application.CodePipeline**
- **diagrams.alibabacloud.application.DirectMail**
- **diagrams.alibabacloud.application.LogService**, **SLS** (alias)
- **diagrams.alibabacloud.application.MessageNotificationService**, **MNS** (alias)
- **diagrams.alibabacloud.application.NodeJsPerformancePlatform**
- **diagrams.alibabacloud.application.OpenSearch**
- **diagrams.alibabacloud.application.PerformanceTestingService**, **PTS** (alias)
- **diagrams.alibabacloud.application.RdCloud**
- **diagrams.alibabacloud.application.SmartConversationAnalysis**, **SCA** (alias)
- **diagrams.alibabacloud.application.Yida**

<img width="30" src="/img/resources/alibabacloud/application/api-gateway.png" alt="ApiGateway" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.application.ApiGateway**

<img width="30" src="/img/resources/alibabacloud/application/bee-bot.png" alt="BeeBot" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.application.BeeBot**

<img width="30" src="/img/resources/alibabacloud/application/blockchain-as-a-service.png" alt="BlockchainAsAService" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.application.BlockchainAsAService**

<img width="30" src="/img/resources/alibabacloud/application/cloud-call-center.png" alt="CloudCallCenter" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.application.CloudCallCenter**

<img width="30" src="/img/resources/alibabacloud/application/code-pipeline.png" alt="CodePipeline" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.application.CodePipeline**

<img width="30" src="/img/resources/alibabacloud/application/direct-mail.png" alt="DirectMail" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.application.DirectMail**

<img width="30" src="/img/resources/alibabacloud/application/log-service.png" alt="LogService" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.application.LogService**, **SLS** (alias)

<img width="30" src="/img/resources/alibabacloud/application/message-notification-service.png" alt="MessageNotificationService" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.application.MessageNotificationService**, **MNS** (alias)

<img width="30" src="/img/resources/alibabacloud/application/node-js-performance-platform.png" alt="NodeJsPerformancePlatform" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.application.NodeJsPerformancePlatform**

<img width="30" src="/img/resources/alibabacloud/application/open-search.png" alt="OpenSearch" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.application.OpenSearch**

<img width="30" src="/img/resources/alibabacloud/application/performance-testing-service.png" alt="PerformanceTestingService" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.application.PerformanceTestingService**, **PTS** (alias)

<img width="30" src="/img/resources/alibabacloud/application/rd-cloud.png" alt="RdCloud" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.application.RdCloud**

<img width="30" src="/img/resources/alibabacloud/application/smart-conversation-analysis.png" alt="SmartConversationAnalysis" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.application.SmartConversationAnalysis**, **SCA** (alias)

<img width="30" src="/img/resources/alibabacloud/application/yida.png" alt="Yida" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.application.Yida**

## alibabacloud.communication

- **diagrams.alibabacloud.communication.DirectMail**
- **diagrams.alibabacloud.communication.MobilePush**

<img width="30" src="/img/resources/alibabacloud/communication/direct-mail.png" alt="DirectMail" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.communication.DirectMail**

<img width="30" src="/img/resources/alibabacloud/communication/mobile-push.png" alt="MobilePush" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.communication.MobilePush**

## alibabacloud.compute

- **diagrams.alibabacloud.compute.AutoScaling**, **ESS** (alias)
- **diagrams.alibabacloud.compute.BatchCompute**
- **diagrams.alibabacloud.compute.ContainerRegistry**
- **diagrams.alibabacloud.compute.ContainerService**
- **diagrams.alibabacloud.compute.ElasticComputeService**, **ECS** (alias)
- **diagrams.alibabacloud.compute.ElasticContainerInstance**, **ECI** (alias)
- **diagrams.alibabacloud.compute.ElasticHighPerformanceComputing**, **EHPC** (alias)
- **diagrams.alibabacloud.compute.ElasticSearch**
- **diagrams.alibabacloud.compute.FunctionCompute**, **FC** (alias)
- **diagrams.alibabacloud.compute.OperationOrchestrationService**, **OOS** (alias)
- **diagrams.alibabacloud.compute.ResourceOrchestrationService**, **ROS** (alias)
- **diagrams.alibabacloud.compute.ServerLoadBalancer**, **SLB** (alias)
- **diagrams.alibabacloud.compute.ServerlessAppEngine**, **SAE** (alias)
- **diagrams.alibabacloud.compute.SimpleApplicationServer**, **SAS** (alias)
- **diagrams.alibabacloud.compute.WebAppService**, **WAS** (alias)

<img width="30" src="/img/resources/alibabacloud/compute/auto-scaling.png" alt="AutoScaling" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.compute.AutoScaling**, **ESS** (alias)

<img width="30" src="/img/resources/alibabacloud/compute/batch-compute.png" alt="BatchCompute" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.compute.BatchCompute**

<img width="30" src="/img/resources/alibabacloud/compute/container-registry.png" alt="ContainerRegistry" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.compute.ContainerRegistry**

<img width="30" src="/img/resources/alibabacloud/compute/container-service.png" alt="ContainerService" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.compute.ContainerService**

<img width="30" src="/img/resources/alibabacloud/compute/elastic-compute-service.png" alt="ElasticComputeService" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.compute.ElasticComputeService**, **ECS** (alias)

<img width="30" src="/img/resources/alibabacloud/compute/elastic-container-instance.png" alt="ElasticContainerInstance" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.compute.ElasticContainerInstance**, **ECI** (alias)

<img width="30" src="/img/resources/alibabacloud/compute/elastic-high-performance-computing.png" alt="ElasticHighPerformanceComputing" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.compute.ElasticHighPerformanceComputing**, **EHPC** (alias)

<img width="30" src="/img/resources/alibabacloud/compute/elastic-search.png" alt="ElasticSearch" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.compute.ElasticSearch**

<img width="30" src="/img/resources/alibabacloud/compute/function-compute.png" alt="FunctionCompute" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.compute.FunctionCompute**, **FC** (alias)

<img width="30" src="/img/resources/alibabacloud/compute/operation-orchestration-service.png" alt="OperationOrchestrationService" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.compute.OperationOrchestrationService**, **OOS** (alias)

<img width="30" src="/img/resources/alibabacloud/compute/resource-orchestration-service.png" alt="ResourceOrchestrationService" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.compute.ResourceOrchestrationService**, **ROS** (alias)

<img width="30" src="/img/resources/alibabacloud/compute/server-load-balancer.png" alt="ServerLoadBalancer" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.compute.ServerLoadBalancer**, **SLB** (alias)

<img width="30" src="/img/resources/alibabacloud/compute/serverless-app-engine.png" alt="ServerlessAppEngine" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.compute.ServerlessAppEngine**, **SAE** (alias)

<img width="30" src="/img/resources/alibabacloud/compute/simple-application-server.png" alt="SimpleApplicationServer" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.compute.SimpleApplicationServer**, **SAS** (alias)

<img width="30" src="/img/resources/alibabacloud/compute/web-app-service.png" alt="WebAppService" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.compute.WebAppService**, **WAS** (alias)

## alibabacloud.database

- **diagrams.alibabacloud.database.ApsaradbCassandra**
- **diagrams.alibabacloud.database.ApsaradbHbase**
- **diagrams.alibabacloud.database.ApsaradbMemcache**
- **diagrams.alibabacloud.database.ApsaradbMongodb**
- **diagrams.alibabacloud.database.ApsaradbOceanbase**
- **diagrams.alibabacloud.database.ApsaradbPolardb**
- **diagrams.alibabacloud.database.ApsaradbPostgresql**
- **diagrams.alibabacloud.database.ApsaradbPpas**
- **diagrams.alibabacloud.database.ApsaradbRedis**
- **diagrams.alibabacloud.database.ApsaradbSqlserver**
- **diagrams.alibabacloud.database.DataManagementService**, **DMS** (alias)
- **diagrams.alibabacloud.database.DataTransmissionService**, **DTS** (alias)
- **diagrams.alibabacloud.database.DatabaseBackupService**, **DBS** (alias)
- **diagrams.alibabacloud.database.DisributeRelationalDatabaseService**, **DRDS** (alias)
- **diagrams.alibabacloud.database.GraphDatabaseService**, **GDS** (alias)
- **diagrams.alibabacloud.database.HybriddbForMysql**
- **diagrams.alibabacloud.database.RelationalDatabaseService**, **RDS** (alias)

<img width="30" src="/img/resources/alibabacloud/database/apsaradb-cassandra.png" alt="ApsaradbCassandra" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.database.ApsaradbCassandra**

<img width="30" src="/img/resources/alibabacloud/database/apsaradb-hbase.png" alt="ApsaradbHbase" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.database.ApsaradbHbase**

<img width="30" src="/img/resources/alibabacloud/database/apsaradb-memcache.png" alt="ApsaradbMemcache" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.database.ApsaradbMemcache**

<img width="30" src="/img/resources/alibabacloud/database/apsaradb-mongodb.png" alt="ApsaradbMongodb" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.database.ApsaradbMongodb**

<img width="30" src="/img/resources/alibabacloud/database/apsaradb-oceanbase.png" alt="ApsaradbOceanbase" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.database.ApsaradbOceanbase**

<img width="30" src="/img/resources/alibabacloud/database/apsaradb-polardb.png" alt="ApsaradbPolardb" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.database.ApsaradbPolardb**

<img width="30" src="/img/resources/alibabacloud/database/apsaradb-postgresql.png" alt="ApsaradbPostgresql" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.database.ApsaradbPostgresql**

<img width="30" src="/img/resources/alibabacloud/database/apsaradb-ppas.png" alt="ApsaradbPpas" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.database.ApsaradbPpas**

<img width="30" src="/img/resources/alibabacloud/database/apsaradb-redis.png" alt="ApsaradbRedis" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.database.ApsaradbRedis**

<img width="30" src="/img/resources/alibabacloud/database/apsaradb-sqlserver.png" alt="ApsaradbSqlserver" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.database.ApsaradbSqlserver**

<img width="30" src="/img/resources/alibabacloud/database/data-management-service.png" alt="DataManagementService" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.database.DataManagementService**, **DMS** (alias)

<img width="30" src="/img/resources/alibabacloud/database/data-transmission-service.png" alt="DataTransmissionService" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.database.DataTransmissionService**, **DTS** (alias)

<img width="30" src="/img/resources/alibabacloud/database/database-backup-service.png" alt="DatabaseBackupService" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.database.DatabaseBackupService**, **DBS** (alias)

<img width="30" src="/img/resources/alibabacloud/database/disribute-relational-database-service.png" alt="DisributeRelationalDatabaseService" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.database.DisributeRelationalDatabaseService**, **DRDS** (alias)

<img width="30" src="/img/resources/alibabacloud/database/graph-database-service.png" alt="GraphDatabaseService" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.database.GraphDatabaseService**, **GDS** (alias)

<img width="30" src="/img/resources/alibabacloud/database/hybriddb-for-mysql.png" alt="HybriddbForMysql" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.database.HybriddbForMysql**

<img width="30" src="/img/resources/alibabacloud/database/relational-database-service.png" alt="RelationalDatabaseService" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.database.RelationalDatabaseService**, **RDS** (alias)

## alibabacloud.iot

- **diagrams.alibabacloud.iot.IotInternetDeviceId**
- **diagrams.alibabacloud.iot.IotLinkWan**
- **diagrams.alibabacloud.iot.IotMobileConnectionPackage**
- **diagrams.alibabacloud.iot.IotPlatform**

<img width="30" src="/img/resources/alibabacloud/iot/iot-internet-device-id.png" alt="IotInternetDeviceId" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.iot.IotInternetDeviceId**

<img width="30" src="/img/resources/alibabacloud/iot/iot-link-wan.png" alt="IotLinkWan" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.iot.IotLinkWan**

<img width="30" src="/img/resources/alibabacloud/iot/iot-mobile-connection-package.png" alt="IotMobileConnectionPackage" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.iot.IotMobileConnectionPackage**

<img width="30" src="/img/resources/alibabacloud/iot/iot-platform.png" alt="IotPlatform" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.iot.IotPlatform**

## alibabacloud.network

- **diagrams.alibabacloud.network.Cdn**
- **diagrams.alibabacloud.network.CloudEnterpriseNetwork**, **CEN** (alias)
- **diagrams.alibabacloud.network.ElasticIpAddress**, **EIP** (alias)
- **diagrams.alibabacloud.network.ExpressConnect**
- **diagrams.alibabacloud.network.NatGateway**
- **diagrams.alibabacloud.network.ServerLoadBalancer**, **SLB** (alias)
- **diagrams.alibabacloud.network.SmartAccessGateway**
- **diagrams.alibabacloud.network.VirtualPrivateCloud**, **VPC** (alias)
- **diagrams.alibabacloud.network.VpnGateway**

<img width="30" src="/img/resources/alibabacloud/network/cdn.png" alt="Cdn" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.network.Cdn**

<img width="30" src="/img/resources/alibabacloud/network/cloud-enterprise-network.png" alt="CloudEnterpriseNetwork" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.network.CloudEnterpriseNetwork**, **CEN** (alias)

<img width="30" src="/img/resources/alibabacloud/network/elastic-ip-address.png" alt="ElasticIpAddress" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.network.ElasticIpAddress**, **EIP** (alias)

<img width="30" src="/img/resources/alibabacloud/network/express-connect.png" alt="ExpressConnect" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.network.ExpressConnect**

<img width="30" src="/img/resources/alibabacloud/network/nat-gateway.png" alt="NatGateway" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.network.NatGateway**

<img width="30" src="/img/resources/alibabacloud/network/server-load-balancer.png" alt="ServerLoadBalancer" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.network.ServerLoadBalancer**, **SLB** (alias)

<img width="30" src="/img/resources/alibabacloud/network/smart-access-gateway.png" alt="SmartAccessGateway" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.network.SmartAccessGateway**

<img width="30" src="/img/resources/alibabacloud/network/virtual-private-cloud.png" alt="VirtualPrivateCloud" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.network.VirtualPrivateCloud**, **VPC** (alias)

<img width="30" src="/img/resources/alibabacloud/network/vpn-gateway.png" alt="VpnGateway" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.network.VpnGateway**

## alibabacloud.security

- **diagrams.alibabacloud.security.AntiBotService**, **ABS** (alias)
- **diagrams.alibabacloud.security.AntiDdosBasic**
- **diagrams.alibabacloud.security.AntiDdosPro**
- **diagrams.alibabacloud.security.AntifraudService**, **AS** (alias)
- **diagrams.alibabacloud.security.BastionHost**
- **diagrams.alibabacloud.security.CloudFirewall**, **CFW** (alias)
- **diagrams.alibabacloud.security.CloudSecurityScanner**
- **diagrams.alibabacloud.security.ContentModeration**, **CM** (alias)
- **diagrams.alibabacloud.security.CrowdsourcedSecurityTesting**
- **diagrams.alibabacloud.security.DataEncryptionService**, **DES** (alias)
- **diagrams.alibabacloud.security.DbAudit**
- **diagrams.alibabacloud.security.GameShield**
- **diagrams.alibabacloud.security.IdVerification**
- **diagrams.alibabacloud.security.ManagedSecurityService**
- **diagrams.alibabacloud.security.SecurityCenter**
- **diagrams.alibabacloud.security.ServerGuard**
- **diagrams.alibabacloud.security.SslCertificates**
- **diagrams.alibabacloud.security.WebApplicationFirewall**, **WAF** (alias)

<img width="30" src="/img/resources/alibabacloud/security/anti-bot-service.png" alt="AntiBotService" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.security.AntiBotService**, **ABS** (alias)

<img width="30" src="/img/resources/alibabacloud/security/anti-ddos-basic.png" alt="AntiDdosBasic" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.security.AntiDdosBasic**

<img width="30" src="/img/resources/alibabacloud/security/anti-ddos-pro.png" alt="AntiDdosPro" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.security.AntiDdosPro**

<img width="30" src="/img/resources/alibabacloud/security/antifraud-service.png" alt="AntifraudService" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.security.AntifraudService**, **AS** (alias)

<img width="30" src="/img/resources/alibabacloud/security/bastion-host.png" alt="BastionHost" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.security.BastionHost**

<img width="30" src="/img/resources/alibabacloud/security/cloud-firewall.png" alt="CloudFirewall" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.security.CloudFirewall**, **CFW** (alias)

<img width="30" src="/img/resources/alibabacloud/security/cloud-security-scanner.png" alt="CloudSecurityScanner" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.security.CloudSecurityScanner**

<img width="30" src="/img/resources/alibabacloud/security/content-moderation.png" alt="ContentModeration" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.security.ContentModeration**, **CM** (alias)

<img width="30" src="/img/resources/alibabacloud/security/crowdsourced-security-testing.png" alt="CrowdsourcedSecurityTesting" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.security.CrowdsourcedSecurityTesting**

<img width="30" src="/img/resources/alibabacloud/security/data-encryption-service.png" alt="DataEncryptionService" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.security.DataEncryptionService**, **DES** (alias)

<img width="30" src="/img/resources/alibabacloud/security/db-audit.png" alt="DbAudit" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.security.DbAudit**

<img width="30" src="/img/resources/alibabacloud/security/game-shield.png" alt="GameShield" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.security.GameShield**

<img width="30" src="/img/resources/alibabacloud/security/id-verification.png" alt="IdVerification" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.security.IdVerification**

<img width="30" src="/img/resources/alibabacloud/security/managed-security-service.png" alt="ManagedSecurityService" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.security.ManagedSecurityService**

<img width="30" src="/img/resources/alibabacloud/security/security-center.png" alt="SecurityCenter" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.security.SecurityCenter**

<img width="30" src="/img/resources/alibabacloud/security/server-guard.png" alt="ServerGuard" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.security.ServerGuard**

<img width="30" src="/img/resources/alibabacloud/security/ssl-certificates.png" alt="SslCertificates" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.security.SslCertificates**

<img width="30" src="/img/resources/alibabacloud/security/web-application-firewall.png" alt="WebApplicationFirewall" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.security.WebApplicationFirewall**, **WAF** (alias)

## alibabacloud.storage

- **diagrams.alibabacloud.storage.CloudStorageGateway**
- **diagrams.alibabacloud.storage.FileStorageHdfs**, **HDFS** (alias)
- **diagrams.alibabacloud.storage.FileStorageNas**, **NAS** (alias)
- **diagrams.alibabacloud.storage.HybridBackupRecovery**, **HBR** (alias)
- **diagrams.alibabacloud.storage.HybridCloudDisasterRecovery**, **HDR** (alias)
- **diagrams.alibabacloud.storage.Imm**
- **diagrams.alibabacloud.storage.ObjectStorageService**, **OSS** (alias)
- **diagrams.alibabacloud.storage.ObjectTableStore**, **OTS** (alias)

<img width="30" src="/img/resources/alibabacloud/storage/cloud-storage-gateway.png" alt="CloudStorageGateway" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.storage.CloudStorageGateway**

<img width="30" src="/img/resources/alibabacloud/storage/file-storage-hdfs.png" alt="FileStorageHdfs" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.storage.FileStorageHdfs**, **HDFS** (alias)

<img width="30" src="/img/resources/alibabacloud/storage/file-storage-nas.png" alt="FileStorageNas" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.storage.FileStorageNas**, **NAS** (alias)

<img width="30" src="/img/resources/alibabacloud/storage/hybrid-backup-recovery.png" alt="HybridBackupRecovery" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.storage.HybridBackupRecovery**, **HBR** (alias)

<img width="30" src="/img/resources/alibabacloud/storage/hybrid-cloud-disaster-recovery.png" alt="HybridCloudDisasterRecovery" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.storage.HybridCloudDisasterRecovery**, **HDR** (alias)

<img width="30" src="/img/resources/alibabacloud/storage/imm.png" alt="Imm" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.storage.Imm**

<img width="30" src="/img/resources/alibabacloud/storage/object-storage-service.png" alt="ObjectStorageService" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.storage.ObjectStorageService**, **OSS** (alias)

<img width="30" src="/img/resources/alibabacloud/storage/object-table-store.png" alt="ObjectTableStore" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.storage.ObjectTableStore**, **OTS** (alias)

## alibabacloud.web

- **diagrams.alibabacloud.web.Dns**
- **diagrams.alibabacloud.web.Domain**

<img width="30" src="/img/resources/alibabacloud/web/dns.png" alt="Dns" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.web.Dns**

<img width="30" src="/img/resources/alibabacloud/web/domain.png" alt="Domain" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.web.Domain**

+ 1428
- 475
docs/nodes/aws.md
ファイル差分が大きすぎるため省略します
ファイルの表示


+ 663
- 221
docs/nodes/azure.md ファイルの表示

@@ -7,266 +7,708 @@ Node classes list of azure provider.

## azure.analytics

- **diagrams.azure.analytics.AnalysisServices**
- **diagrams.azure.analytics.DataExplorerClusters**
- **diagrams.azure.analytics.DataFactories**
- **diagrams.azure.analytics.DataLakeAnalytics**
- **diagrams.azure.analytics.DataLakeStoreGen1**
- **diagrams.azure.analytics.Databricks**
- **diagrams.azure.analytics.EventHubClusters**
- **diagrams.azure.analytics.EventHubs**
- **diagrams.azure.analytics.Hdinsightclusters**
- **diagrams.azure.analytics.LogAnalyticsWorkspaces**
- **diagrams.azure.analytics.StreamAnalyticsJobs**
- **diagrams.azure.analytics.SynapseAnalytics**

<img width="30" src="/img/resources/azure/analytics/analysis-services.png" alt="AnalysisServices" style="float: left; padding-right: 5px;" >
**diagrams.azure.analytics.AnalysisServices**

<img width="30" src="/img/resources/azure/analytics/data-explorer-clusters.png" alt="DataExplorerClusters" style="float: left; padding-right: 5px;" >
**diagrams.azure.analytics.DataExplorerClusters**

<img width="30" src="/img/resources/azure/analytics/data-factories.png" alt="DataFactories" style="float: left; padding-right: 5px;" >
**diagrams.azure.analytics.DataFactories**

<img width="30" src="/img/resources/azure/analytics/data-lake-analytics.png" alt="DataLakeAnalytics" style="float: left; padding-right: 5px;" >
**diagrams.azure.analytics.DataLakeAnalytics**

<img width="30" src="/img/resources/azure/analytics/data-lake-store-gen1.png" alt="DataLakeStoreGen1" style="float: left; padding-right: 5px;" >
**diagrams.azure.analytics.DataLakeStoreGen1**

<img width="30" src="/img/resources/azure/analytics/databricks.png" alt="Databricks" style="float: left; padding-right: 5px;" >
**diagrams.azure.analytics.Databricks**

<img width="30" src="/img/resources/azure/analytics/event-hub-clusters.png" alt="EventHubClusters" style="float: left; padding-right: 5px;" >
**diagrams.azure.analytics.EventHubClusters**

<img width="30" src="/img/resources/azure/analytics/event-hubs.png" alt="EventHubs" style="float: left; padding-right: 5px;" >
**diagrams.azure.analytics.EventHubs**

<img width="30" src="/img/resources/azure/analytics/hdinsightclusters.png" alt="Hdinsightclusters" style="float: left; padding-right: 5px;" >
**diagrams.azure.analytics.Hdinsightclusters**

<img width="30" src="/img/resources/azure/analytics/log-analytics-workspaces.png" alt="LogAnalyticsWorkspaces" style="float: left; padding-right: 5px;" >
**diagrams.azure.analytics.LogAnalyticsWorkspaces**

<img width="30" src="/img/resources/azure/analytics/stream-analytics-jobs.png" alt="StreamAnalyticsJobs" style="float: left; padding-right: 5px;" >
**diagrams.azure.analytics.StreamAnalyticsJobs**

<img width="30" src="/img/resources/azure/analytics/synapse-analytics.png" alt="SynapseAnalytics" style="float: left; padding-right: 5px;" >
**diagrams.azure.analytics.SynapseAnalytics**

## azure.compute

- **diagrams.azure.compute.AppServices**
- **diagrams.azure.compute.AutomanagedVM**
- **diagrams.azure.compute.AvailabilitySets**
- **diagrams.azure.compute.BatchAccounts**
- **diagrams.azure.compute.CitrixVirtualDesktopsEssentials**
- **diagrams.azure.compute.CloudServicesClassic**
- **diagrams.azure.compute.CloudServices**
- **diagrams.azure.compute.CloudsimpleVirtualMachines**
- **diagrams.azure.compute.ContainerInstances**
- **diagrams.azure.compute.ContainerRegistries**, **ACR** (alias)
- **diagrams.azure.compute.DiskEncryptionSets**
- **diagrams.azure.compute.DiskSnapshots**
- **diagrams.azure.compute.Disks**
- **diagrams.azure.compute.FunctionApps**
- **diagrams.azure.compute.ImageDefinitions**
- **diagrams.azure.compute.ImageVersions**
- **diagrams.azure.compute.KubernetesServices**, **AKS** (alias)
- **diagrams.azure.compute.MeshApplications**
- **diagrams.azure.compute.OsImages**
- **diagrams.azure.compute.SAPHANAOnAzure**
- **diagrams.azure.compute.ServiceFabricClusters**
- **diagrams.azure.compute.SharedImageGalleries**
- **diagrams.azure.compute.SpringCloud**
- **diagrams.azure.compute.VMClassic**
- **diagrams.azure.compute.VMImages**
- **diagrams.azure.compute.VMLinux**
- **diagrams.azure.compute.VMScaleSet**, **VMSS** (alias)
- **diagrams.azure.compute.VMWindows**
- **diagrams.azure.compute.VM**
- **diagrams.azure.compute.Workspaces**

<img width="30" src="/img/resources/azure/compute/app-services.png" alt="AppServices" style="float: left; padding-right: 5px;" >
**diagrams.azure.compute.AppServices**

<img width="30" src="/img/resources/azure/compute/automanaged-vm.png" alt="AutomanagedVM" style="float: left; padding-right: 5px;" >
**diagrams.azure.compute.AutomanagedVM**

<img width="30" src="/img/resources/azure/compute/availability-sets.png" alt="AvailabilitySets" style="float: left; padding-right: 5px;" >
**diagrams.azure.compute.AvailabilitySets**

<img width="30" src="/img/resources/azure/compute/batch-accounts.png" alt="BatchAccounts" style="float: left; padding-right: 5px;" >
**diagrams.azure.compute.BatchAccounts**

<img width="30" src="/img/resources/azure/compute/citrix-virtual-desktops-essentials.png" alt="CitrixVirtualDesktopsEssentials" style="float: left; padding-right: 5px;" >
**diagrams.azure.compute.CitrixVirtualDesktopsEssentials**

<img width="30" src="/img/resources/azure/compute/cloud-services-classic.png" alt="CloudServicesClassic" style="float: left; padding-right: 5px;" >
**diagrams.azure.compute.CloudServicesClassic**

<img width="30" src="/img/resources/azure/compute/cloud-services.png" alt="CloudServices" style="float: left; padding-right: 5px;" >
**diagrams.azure.compute.CloudServices**

<img width="30" src="/img/resources/azure/compute/cloudsimple-virtual-machines.png" alt="CloudsimpleVirtualMachines" style="float: left; padding-right: 5px;" >
**diagrams.azure.compute.CloudsimpleVirtualMachines**

<img width="30" src="/img/resources/azure/compute/container-instances.png" alt="ContainerInstances" style="float: left; padding-right: 5px;" >
**diagrams.azure.compute.ContainerInstances**

<img width="30" src="/img/resources/azure/compute/container-registries.png" alt="ContainerRegistries" style="float: left; padding-right: 5px;" >
**diagrams.azure.compute.ContainerRegistries**, **ACR** (alias)

<img width="30" src="/img/resources/azure/compute/disk-encryption-sets.png" alt="DiskEncryptionSets" style="float: left; padding-right: 5px;" >
**diagrams.azure.compute.DiskEncryptionSets**

<img width="30" src="/img/resources/azure/compute/disk-snapshots.png" alt="DiskSnapshots" style="float: left; padding-right: 5px;" >
**diagrams.azure.compute.DiskSnapshots**

<img width="30" src="/img/resources/azure/compute/disks.png" alt="Disks" style="float: left; padding-right: 5px;" >
**diagrams.azure.compute.Disks**

<img width="30" src="/img/resources/azure/compute/function-apps.png" alt="FunctionApps" style="float: left; padding-right: 5px;" >
**diagrams.azure.compute.FunctionApps**

<img width="30" src="/img/resources/azure/compute/image-definitions.png" alt="ImageDefinitions" style="float: left; padding-right: 5px;" >
**diagrams.azure.compute.ImageDefinitions**

<img width="30" src="/img/resources/azure/compute/image-versions.png" alt="ImageVersions" style="float: left; padding-right: 5px;" >
**diagrams.azure.compute.ImageVersions**

<img width="30" src="/img/resources/azure/compute/kubernetes-services.png" alt="KubernetesServices" style="float: left; padding-right: 5px;" >
**diagrams.azure.compute.KubernetesServices**, **AKS** (alias)

<img width="30" src="/img/resources/azure/compute/mesh-applications.png" alt="MeshApplications" style="float: left; padding-right: 5px;" >
**diagrams.azure.compute.MeshApplications**

<img width="30" src="/img/resources/azure/compute/os-images.png" alt="OsImages" style="float: left; padding-right: 5px;" >
**diagrams.azure.compute.OsImages**

<img width="30" src="/img/resources/azure/compute/sap-hana-on-azure.png" alt="SAPHANAOnAzure" style="float: left; padding-right: 5px;" >
**diagrams.azure.compute.SAPHANAOnAzure**

<img width="30" src="/img/resources/azure/compute/service-fabric-clusters.png" alt="ServiceFabricClusters" style="float: left; padding-right: 5px;" >
**diagrams.azure.compute.ServiceFabricClusters**

<img width="30" src="/img/resources/azure/compute/shared-image-galleries.png" alt="SharedImageGalleries" style="float: left; padding-right: 5px;" >
**diagrams.azure.compute.SharedImageGalleries**

<img width="30" src="/img/resources/azure/compute/spring-cloud.png" alt="SpringCloud" style="float: left; padding-right: 5px;" >
**diagrams.azure.compute.SpringCloud**

<img width="30" src="/img/resources/azure/compute/vm-classic.png" alt="VMClassic" style="float: left; padding-right: 5px;" >
**diagrams.azure.compute.VMClassic**

<img width="30" src="/img/resources/azure/compute/vm-images.png" alt="VMImages" style="float: left; padding-right: 5px;" >
**diagrams.azure.compute.VMImages**

<img width="30" src="/img/resources/azure/compute/vm-linux.png" alt="VMLinux" style="float: left; padding-right: 5px;" >
**diagrams.azure.compute.VMLinux**

<img width="30" src="/img/resources/azure/compute/vm-scale-set.png" alt="VMScaleSet" style="float: left; padding-right: 5px;" >
**diagrams.azure.compute.VMScaleSet**, **VMSS** (alias)

<img width="30" src="/img/resources/azure/compute/vm-windows.png" alt="VMWindows" style="float: left; padding-right: 5px;" >
**diagrams.azure.compute.VMWindows**

<img width="30" src="/img/resources/azure/compute/vm.png" alt="VM" style="float: left; padding-right: 5px;" >
**diagrams.azure.compute.VM**

<img width="30" src="/img/resources/azure/compute/workspaces.png" alt="Workspaces" style="float: left; padding-right: 5px;" >
**diagrams.azure.compute.Workspaces**

## azure.database

- **diagrams.azure.database.BlobStorage**
- **diagrams.azure.database.CacheForRedis**
- **diagrams.azure.database.CosmosDb**
- **diagrams.azure.database.DataExplorerClusters**
- **diagrams.azure.database.DataFactory**
- **diagrams.azure.database.DataLake**
- **diagrams.azure.database.DatabaseForMariadbServers**
- **diagrams.azure.database.DatabaseForMysqlServers**
- **diagrams.azure.database.DatabaseForPostgresqlServers**
- **diagrams.azure.database.ElasticDatabasePools**
- **diagrams.azure.database.ElasticJobAgents**
- **diagrams.azure.database.InstancePools**
- **diagrams.azure.database.ManagedDatabases**
- **diagrams.azure.database.SQLDatabases**
- **diagrams.azure.database.SQLDatawarehouse**
- **diagrams.azure.database.SQLManagedInstances**
- **diagrams.azure.database.SQLServerStretchDatabases**
- **diagrams.azure.database.SQLServers**
- **diagrams.azure.database.SQLVM**
- **diagrams.azure.database.SQL**
- **diagrams.azure.database.SsisLiftAndShiftIr**
- **diagrams.azure.database.SynapseAnalytics**
- **diagrams.azure.database.VirtualClusters**
- **diagrams.azure.database.VirtualDatacenter**

<img width="30" src="/img/resources/azure/database/blob-storage.png" alt="BlobStorage" style="float: left; padding-right: 5px;" >
**diagrams.azure.database.BlobStorage**

<img width="30" src="/img/resources/azure/database/cache-for-redis.png" alt="CacheForRedis" style="float: left; padding-right: 5px;" >
**diagrams.azure.database.CacheForRedis**

<img width="30" src="/img/resources/azure/database/cosmos-db.png" alt="CosmosDb" style="float: left; padding-right: 5px;" >
**diagrams.azure.database.CosmosDb**

<img width="30" src="/img/resources/azure/database/data-explorer-clusters.png" alt="DataExplorerClusters" style="float: left; padding-right: 5px;" >
**diagrams.azure.database.DataExplorerClusters**

<img width="30" src="/img/resources/azure/database/data-factory.png" alt="DataFactory" style="float: left; padding-right: 5px;" >
**diagrams.azure.database.DataFactory**

<img width="30" src="/img/resources/azure/database/data-lake.png" alt="DataLake" style="float: left; padding-right: 5px;" >
**diagrams.azure.database.DataLake**

<img width="30" src="/img/resources/azure/database/database-for-mariadb-servers.png" alt="DatabaseForMariadbServers" style="float: left; padding-right: 5px;" >
**diagrams.azure.database.DatabaseForMariadbServers**

<img width="30" src="/img/resources/azure/database/database-for-mysql-servers.png" alt="DatabaseForMysqlServers" style="float: left; padding-right: 5px;" >
**diagrams.azure.database.DatabaseForMysqlServers**

<img width="30" src="/img/resources/azure/database/database-for-postgresql-servers.png" alt="DatabaseForPostgresqlServers" style="float: left; padding-right: 5px;" >
**diagrams.azure.database.DatabaseForPostgresqlServers**

<img width="30" src="/img/resources/azure/database/elastic-database-pools.png" alt="ElasticDatabasePools" style="float: left; padding-right: 5px;" >
**diagrams.azure.database.ElasticDatabasePools**

<img width="30" src="/img/resources/azure/database/elastic-job-agents.png" alt="ElasticJobAgents" style="float: left; padding-right: 5px;" >
**diagrams.azure.database.ElasticJobAgents**

<img width="30" src="/img/resources/azure/database/instance-pools.png" alt="InstancePools" style="float: left; padding-right: 5px;" >
**diagrams.azure.database.InstancePools**

<img width="30" src="/img/resources/azure/database/managed-databases.png" alt="ManagedDatabases" style="float: left; padding-right: 5px;" >
**diagrams.azure.database.ManagedDatabases**

<img width="30" src="/img/resources/azure/database/sql-databases.png" alt="SQLDatabases" style="float: left; padding-right: 5px;" >
**diagrams.azure.database.SQLDatabases**

<img width="30" src="/img/resources/azure/database/sql-datawarehouse.png" alt="SQLDatawarehouse" style="float: left; padding-right: 5px;" >
**diagrams.azure.database.SQLDatawarehouse**

<img width="30" src="/img/resources/azure/database/sql-managed-instances.png" alt="SQLManagedInstances" style="float: left; padding-right: 5px;" >
**diagrams.azure.database.SQLManagedInstances**

<img width="30" src="/img/resources/azure/database/sql-server-stretch-databases.png" alt="SQLServerStretchDatabases" style="float: left; padding-right: 5px;" >
**diagrams.azure.database.SQLServerStretchDatabases**

<img width="30" src="/img/resources/azure/database/sql-servers.png" alt="SQLServers" style="float: left; padding-right: 5px;" >
**diagrams.azure.database.SQLServers**

<img width="30" src="/img/resources/azure/database/sql-vm.png" alt="SQLVM" style="float: left; padding-right: 5px;" >
**diagrams.azure.database.SQLVM**

<img width="30" src="/img/resources/azure/database/sql.png" alt="SQL" style="float: left; padding-right: 5px;" >
**diagrams.azure.database.SQL**

<img width="30" src="/img/resources/azure/database/ssis-lift-and-shift-ir.png" alt="SsisLiftAndShiftIr" style="float: left; padding-right: 5px;" >
**diagrams.azure.database.SsisLiftAndShiftIr**

<img width="30" src="/img/resources/azure/database/synapse-analytics.png" alt="SynapseAnalytics" style="float: left; padding-right: 5px;" >
**diagrams.azure.database.SynapseAnalytics**

<img width="30" src="/img/resources/azure/database/virtual-clusters.png" alt="VirtualClusters" style="float: left; padding-right: 5px;" >
**diagrams.azure.database.VirtualClusters**

<img width="30" src="/img/resources/azure/database/virtual-datacenter.png" alt="VirtualDatacenter" style="float: left; padding-right: 5px;" >
**diagrams.azure.database.VirtualDatacenter**

## azure.devops

- **diagrams.azure.devops.ApplicationInsights**
- **diagrams.azure.devops.Artifacts**
- **diagrams.azure.devops.Boards**
- **diagrams.azure.devops.Devops**
- **diagrams.azure.devops.DevtestLabs**
- **diagrams.azure.devops.LabServices**
- **diagrams.azure.devops.Pipelines**
- **diagrams.azure.devops.Repos**
- **diagrams.azure.devops.TestPlans**

<img width="30" src="/img/resources/azure/devops/application-insights.png" alt="ApplicationInsights" style="float: left; padding-right: 5px;" >
**diagrams.azure.devops.ApplicationInsights**

<img width="30" src="/img/resources/azure/devops/artifacts.png" alt="Artifacts" style="float: left; padding-right: 5px;" >
**diagrams.azure.devops.Artifacts**

<img width="30" src="/img/resources/azure/devops/boards.png" alt="Boards" style="float: left; padding-right: 5px;" >
**diagrams.azure.devops.Boards**

<img width="30" src="/img/resources/azure/devops/devops.png" alt="Devops" style="float: left; padding-right: 5px;" >
**diagrams.azure.devops.Devops**

<img width="30" src="/img/resources/azure/devops/devtest-labs.png" alt="DevtestLabs" style="float: left; padding-right: 5px;" >
**diagrams.azure.devops.DevtestLabs**

<img width="30" src="/img/resources/azure/devops/lab-services.png" alt="LabServices" style="float: left; padding-right: 5px;" >
**diagrams.azure.devops.LabServices**

<img width="30" src="/img/resources/azure/devops/pipelines.png" alt="Pipelines" style="float: left; padding-right: 5px;" >
**diagrams.azure.devops.Pipelines**

<img width="30" src="/img/resources/azure/devops/repos.png" alt="Repos" style="float: left; padding-right: 5px;" >
**diagrams.azure.devops.Repos**

<img width="30" src="/img/resources/azure/devops/test-plans.png" alt="TestPlans" style="float: left; padding-right: 5px;" >
**diagrams.azure.devops.TestPlans**

## azure.general

- **diagrams.azure.general.Allresources**
- **diagrams.azure.general.Azurehome**
- **diagrams.azure.general.Developertools**
- **diagrams.azure.general.Helpsupport**
- **diagrams.azure.general.Information**
- **diagrams.azure.general.Managementgroups**
- **diagrams.azure.general.Marketplace**
- **diagrams.azure.general.Quickstartcenter**
- **diagrams.azure.general.Recent**
- **diagrams.azure.general.Reservations**
- **diagrams.azure.general.Resource**
- **diagrams.azure.general.Resourcegroups**
- **diagrams.azure.general.Servicehealth**
- **diagrams.azure.general.Shareddashboard**
- **diagrams.azure.general.Subscriptions**
- **diagrams.azure.general.Support**
- **diagrams.azure.general.Supportrequests**
- **diagrams.azure.general.Tag**
- **diagrams.azure.general.Tags**
- **diagrams.azure.general.Templates**
- **diagrams.azure.general.Twousericon**
- **diagrams.azure.general.Userhealthicon**
- **diagrams.azure.general.Usericon**
- **diagrams.azure.general.Userprivacy**
- **diagrams.azure.general.Userresource**
- **diagrams.azure.general.Whatsnew**

<img width="30" src="/img/resources/azure/general/allresources.png" alt="Allresources" style="float: left; padding-right: 5px;" >
**diagrams.azure.general.Allresources**

<img width="30" src="/img/resources/azure/general/azurehome.png" alt="Azurehome" style="float: left; padding-right: 5px;" >
**diagrams.azure.general.Azurehome**

<img width="30" src="/img/resources/azure/general/developertools.png" alt="Developertools" style="float: left; padding-right: 5px;" >
**diagrams.azure.general.Developertools**

<img width="30" src="/img/resources/azure/general/helpsupport.png" alt="Helpsupport" style="float: left; padding-right: 5px;" >
**diagrams.azure.general.Helpsupport**

<img width="30" src="/img/resources/azure/general/information.png" alt="Information" style="float: left; padding-right: 5px;" >
**diagrams.azure.general.Information**

<img width="30" src="/img/resources/azure/general/managementgroups.png" alt="Managementgroups" style="float: left; padding-right: 5px;" >
**diagrams.azure.general.Managementgroups**

<img width="30" src="/img/resources/azure/general/marketplace.png" alt="Marketplace" style="float: left; padding-right: 5px;" >
**diagrams.azure.general.Marketplace**

<img width="30" src="/img/resources/azure/general/quickstartcenter.png" alt="Quickstartcenter" style="float: left; padding-right: 5px;" >
**diagrams.azure.general.Quickstartcenter**

<img width="30" src="/img/resources/azure/general/recent.png" alt="Recent" style="float: left; padding-right: 5px;" >
**diagrams.azure.general.Recent**

<img width="30" src="/img/resources/azure/general/reservations.png" alt="Reservations" style="float: left; padding-right: 5px;" >
**diagrams.azure.general.Reservations**

<img width="30" src="/img/resources/azure/general/resource.png" alt="Resource" style="float: left; padding-right: 5px;" >
**diagrams.azure.general.Resource**

<img width="30" src="/img/resources/azure/general/resourcegroups.png" alt="Resourcegroups" style="float: left; padding-right: 5px;" >
**diagrams.azure.general.Resourcegroups**

<img width="30" src="/img/resources/azure/general/servicehealth.png" alt="Servicehealth" style="float: left; padding-right: 5px;" >
**diagrams.azure.general.Servicehealth**

<img width="30" src="/img/resources/azure/general/shareddashboard.png" alt="Shareddashboard" style="float: left; padding-right: 5px;" >
**diagrams.azure.general.Shareddashboard**

<img width="30" src="/img/resources/azure/general/subscriptions.png" alt="Subscriptions" style="float: left; padding-right: 5px;" >
**diagrams.azure.general.Subscriptions**

<img width="30" src="/img/resources/azure/general/support.png" alt="Support" style="float: left; padding-right: 5px;" >
**diagrams.azure.general.Support**

<img width="30" src="/img/resources/azure/general/supportrequests.png" alt="Supportrequests" style="float: left; padding-right: 5px;" >
**diagrams.azure.general.Supportrequests**

<img width="30" src="/img/resources/azure/general/tag.png" alt="Tag" style="float: left; padding-right: 5px;" >
**diagrams.azure.general.Tag**

<img width="30" src="/img/resources/azure/general/tags.png" alt="Tags" style="float: left; padding-right: 5px;" >
**diagrams.azure.general.Tags**

<img width="30" src="/img/resources/azure/general/templates.png" alt="Templates" style="float: left; padding-right: 5px;" >
**diagrams.azure.general.Templates**

<img width="30" src="/img/resources/azure/general/twousericon.png" alt="Twousericon" style="float: left; padding-right: 5px;" >
**diagrams.azure.general.Twousericon**

<img width="30" src="/img/resources/azure/general/userhealthicon.png" alt="Userhealthicon" style="float: left; padding-right: 5px;" >
**diagrams.azure.general.Userhealthicon**

<img width="30" src="/img/resources/azure/general/usericon.png" alt="Usericon" style="float: left; padding-right: 5px;" >
**diagrams.azure.general.Usericon**

<img width="30" src="/img/resources/azure/general/userprivacy.png" alt="Userprivacy" style="float: left; padding-right: 5px;" >
**diagrams.azure.general.Userprivacy**

<img width="30" src="/img/resources/azure/general/userresource.png" alt="Userresource" style="float: left; padding-right: 5px;" >
**diagrams.azure.general.Userresource**

<img width="30" src="/img/resources/azure/general/whatsnew.png" alt="Whatsnew" style="float: left; padding-right: 5px;" >
**diagrams.azure.general.Whatsnew**

## azure.identity

- **diagrams.azure.identity.AccessReview**
- **diagrams.azure.identity.ActiveDirectoryConnectHealth**
- **diagrams.azure.identity.ActiveDirectory**
- **diagrams.azure.identity.ADB2C**
- **diagrams.azure.identity.ADDomainServices**
- **diagrams.azure.identity.ADIdentityProtection**
- **diagrams.azure.identity.ADPrivilegedIdentityManagement**
- **diagrams.azure.identity.AppRegistrations**
- **diagrams.azure.identity.ConditionalAccess**
- **diagrams.azure.identity.EnterpriseApplications**
- **diagrams.azure.identity.Groups**
- **diagrams.azure.identity.IdentityGovernance**
- **diagrams.azure.identity.InformationProtection**
- **diagrams.azure.identity.ManagedIdentities**
- **diagrams.azure.identity.Users**

<img width="30" src="/img/resources/azure/identity/access-review.png" alt="AccessReview" style="float: left; padding-right: 5px;" >
**diagrams.azure.identity.AccessReview**

<img width="30" src="/img/resources/azure/identity/active-directory-connect-health.png" alt="ActiveDirectoryConnectHealth" style="float: left; padding-right: 5px;" >
**diagrams.azure.identity.ActiveDirectoryConnectHealth**

<img width="30" src="/img/resources/azure/identity/active-directory.png" alt="ActiveDirectory" style="float: left; padding-right: 5px;" >
**diagrams.azure.identity.ActiveDirectory**

<img width="30" src="/img/resources/azure/identity/ad-b2c.png" alt="ADB2C" style="float: left; padding-right: 5px;" >
**diagrams.azure.identity.ADB2C**

<img width="30" src="/img/resources/azure/identity/ad-domain-services.png" alt="ADDomainServices" style="float: left; padding-right: 5px;" >
**diagrams.azure.identity.ADDomainServices**

<img width="30" src="/img/resources/azure/identity/ad-identity-protection.png" alt="ADIdentityProtection" style="float: left; padding-right: 5px;" >
**diagrams.azure.identity.ADIdentityProtection**

<img width="30" src="/img/resources/azure/identity/ad-privileged-identity-management.png" alt="ADPrivilegedIdentityManagement" style="float: left; padding-right: 5px;" >
**diagrams.azure.identity.ADPrivilegedIdentityManagement**

<img width="30" src="/img/resources/azure/identity/app-registrations.png" alt="AppRegistrations" style="float: left; padding-right: 5px;" >
**diagrams.azure.identity.AppRegistrations**

<img width="30" src="/img/resources/azure/identity/conditional-access.png" alt="ConditionalAccess" style="float: left; padding-right: 5px;" >
**diagrams.azure.identity.ConditionalAccess**

<img width="30" src="/img/resources/azure/identity/enterprise-applications.png" alt="EnterpriseApplications" style="float: left; padding-right: 5px;" >
**diagrams.azure.identity.EnterpriseApplications**

<img width="30" src="/img/resources/azure/identity/groups.png" alt="Groups" style="float: left; padding-right: 5px;" >
**diagrams.azure.identity.Groups**

<img width="30" src="/img/resources/azure/identity/identity-governance.png" alt="IdentityGovernance" style="float: left; padding-right: 5px;" >
**diagrams.azure.identity.IdentityGovernance**

<img width="30" src="/img/resources/azure/identity/information-protection.png" alt="InformationProtection" style="float: left; padding-right: 5px;" >
**diagrams.azure.identity.InformationProtection**

<img width="30" src="/img/resources/azure/identity/managed-identities.png" alt="ManagedIdentities" style="float: left; padding-right: 5px;" >
**diagrams.azure.identity.ManagedIdentities**

<img width="30" src="/img/resources/azure/identity/users.png" alt="Users" style="float: left; padding-right: 5px;" >
**diagrams.azure.identity.Users**

## azure.integration

- **diagrams.azure.integration.APIForFhir**
- **diagrams.azure.integration.APIManagement**
- **diagrams.azure.integration.AppConfiguration**
- **diagrams.azure.integration.DataCatalog**
- **diagrams.azure.integration.EventGridDomains**
- **diagrams.azure.integration.EventGridSubscriptions**
- **diagrams.azure.integration.EventGridTopics**
- **diagrams.azure.integration.IntegrationAccounts**
- **diagrams.azure.integration.IntegrationServiceEnvironments**
- **diagrams.azure.integration.LogicAppsCustomConnector**
- **diagrams.azure.integration.LogicApps**
- **diagrams.azure.integration.PartnerTopic**
- **diagrams.azure.integration.SendgridAccounts**
- **diagrams.azure.integration.ServiceBusRelays**
- **diagrams.azure.integration.ServiceBus**
- **diagrams.azure.integration.ServiceCatalogManagedApplicationDefinitions**
- **diagrams.azure.integration.SoftwareAsAService**
- **diagrams.azure.integration.StorsimpleDeviceManagers**
- **diagrams.azure.integration.SystemTopic**

<img width="30" src="/img/resources/azure/integration/api-for-fhir.png" alt="APIForFhir" style="float: left; padding-right: 5px;" >
**diagrams.azure.integration.APIForFhir**

<img width="30" src="/img/resources/azure/integration/api-management.png" alt="APIManagement" style="float: left; padding-right: 5px;" >
**diagrams.azure.integration.APIManagement**

<img width="30" src="/img/resources/azure/integration/app-configuration.png" alt="AppConfiguration" style="float: left; padding-right: 5px;" >
**diagrams.azure.integration.AppConfiguration**

<img width="30" src="/img/resources/azure/integration/data-catalog.png" alt="DataCatalog" style="float: left; padding-right: 5px;" >
**diagrams.azure.integration.DataCatalog**

<img width="30" src="/img/resources/azure/integration/event-grid-domains.png" alt="EventGridDomains" style="float: left; padding-right: 5px;" >
**diagrams.azure.integration.EventGridDomains**

<img width="30" src="/img/resources/azure/integration/event-grid-subscriptions.png" alt="EventGridSubscriptions" style="float: left; padding-right: 5px;" >
**diagrams.azure.integration.EventGridSubscriptions**

<img width="30" src="/img/resources/azure/integration/event-grid-topics.png" alt="EventGridTopics" style="float: left; padding-right: 5px;" >
**diagrams.azure.integration.EventGridTopics**

<img width="30" src="/img/resources/azure/integration/integration-accounts.png" alt="IntegrationAccounts" style="float: left; padding-right: 5px;" >
**diagrams.azure.integration.IntegrationAccounts**

<img width="30" src="/img/resources/azure/integration/integration-service-environments.png" alt="IntegrationServiceEnvironments" style="float: left; padding-right: 5px;" >
**diagrams.azure.integration.IntegrationServiceEnvironments**

<img width="30" src="/img/resources/azure/integration/logic-apps-custom-connector.png" alt="LogicAppsCustomConnector" style="float: left; padding-right: 5px;" >
**diagrams.azure.integration.LogicAppsCustomConnector**

<img width="30" src="/img/resources/azure/integration/logic-apps.png" alt="LogicApps" style="float: left; padding-right: 5px;" >
**diagrams.azure.integration.LogicApps**

<img width="30" src="/img/resources/azure/integration/partner-topic.png" alt="PartnerTopic" style="float: left; padding-right: 5px;" >
**diagrams.azure.integration.PartnerTopic**

<img width="30" src="/img/resources/azure/integration/sendgrid-accounts.png" alt="SendgridAccounts" style="float: left; padding-right: 5px;" >
**diagrams.azure.integration.SendgridAccounts**

<img width="30" src="/img/resources/azure/integration/service-bus-relays.png" alt="ServiceBusRelays" style="float: left; padding-right: 5px;" >
**diagrams.azure.integration.ServiceBusRelays**

<img width="30" src="/img/resources/azure/integration/service-bus.png" alt="ServiceBus" style="float: left; padding-right: 5px;" >
**diagrams.azure.integration.ServiceBus**

<img width="30" src="/img/resources/azure/integration/service-catalog-managed-application-definitions.png" alt="ServiceCatalogManagedApplicationDefinitions" style="float: left; padding-right: 5px;" >
**diagrams.azure.integration.ServiceCatalogManagedApplicationDefinitions**

<img width="30" src="/img/resources/azure/integration/software-as-a-service.png" alt="SoftwareAsAService" style="float: left; padding-right: 5px;" >
**diagrams.azure.integration.SoftwareAsAService**

<img width="30" src="/img/resources/azure/integration/storsimple-device-managers.png" alt="StorsimpleDeviceManagers" style="float: left; padding-right: 5px;" >
**diagrams.azure.integration.StorsimpleDeviceManagers**

<img width="30" src="/img/resources/azure/integration/system-topic.png" alt="SystemTopic" style="float: left; padding-right: 5px;" >
**diagrams.azure.integration.SystemTopic**

## azure.iot

- **diagrams.azure.iot.DeviceProvisioningServices**
- **diagrams.azure.iot.DigitalTwins**
- **diagrams.azure.iot.IotCentralApplications**
- **diagrams.azure.iot.IotHubSecurity**
- **diagrams.azure.iot.IotHub**
- **diagrams.azure.iot.Maps**
- **diagrams.azure.iot.Sphere**
- **diagrams.azure.iot.TimeSeriesInsightsEnvironments**
- **diagrams.azure.iot.TimeSeriesInsightsEventsSources**
- **diagrams.azure.iot.Windows10IotCoreServices**

<img width="30" src="/img/resources/azure/iot/device-provisioning-services.png" alt="DeviceProvisioningServices" style="float: left; padding-right: 5px;" >
**diagrams.azure.iot.DeviceProvisioningServices**

<img width="30" src="/img/resources/azure/iot/digital-twins.png" alt="DigitalTwins" style="float: left; padding-right: 5px;" >
**diagrams.azure.iot.DigitalTwins**

<img width="30" src="/img/resources/azure/iot/iot-central-applications.png" alt="IotCentralApplications" style="float: left; padding-right: 5px;" >
**diagrams.azure.iot.IotCentralApplications**

<img width="30" src="/img/resources/azure/iot/iot-hub-security.png" alt="IotHubSecurity" style="float: left; padding-right: 5px;" >
**diagrams.azure.iot.IotHubSecurity**

<img width="30" src="/img/resources/azure/iot/iot-hub.png" alt="IotHub" style="float: left; padding-right: 5px;" >
**diagrams.azure.iot.IotHub**

<img width="30" src="/img/resources/azure/iot/maps.png" alt="Maps" style="float: left; padding-right: 5px;" >
**diagrams.azure.iot.Maps**

<img width="30" src="/img/resources/azure/iot/sphere.png" alt="Sphere" style="float: left; padding-right: 5px;" >
**diagrams.azure.iot.Sphere**

<img width="30" src="/img/resources/azure/iot/time-series-insights-environments.png" alt="TimeSeriesInsightsEnvironments" style="float: left; padding-right: 5px;" >
**diagrams.azure.iot.TimeSeriesInsightsEnvironments**

<img width="30" src="/img/resources/azure/iot/time-series-insights-events-sources.png" alt="TimeSeriesInsightsEventsSources" style="float: left; padding-right: 5px;" >
**diagrams.azure.iot.TimeSeriesInsightsEventsSources**

<img width="30" src="/img/resources/azure/iot/windows-10-iot-core-services.png" alt="Windows10IotCoreServices" style="float: left; padding-right: 5px;" >
**diagrams.azure.iot.Windows10IotCoreServices**

## azure.migration

- **diagrams.azure.migration.DataBoxEdge**
- **diagrams.azure.migration.DataBox**
- **diagrams.azure.migration.DatabaseMigrationServices**
- **diagrams.azure.migration.MigrationProjects**
- **diagrams.azure.migration.RecoveryServicesVaults**

<img width="30" src="/img/resources/azure/migration/data-box-edge.png" alt="DataBoxEdge" style="float: left; padding-right: 5px;" >
**diagrams.azure.migration.DataBoxEdge**

<img width="30" src="/img/resources/azure/migration/data-box.png" alt="DataBox" style="float: left; padding-right: 5px;" >
**diagrams.azure.migration.DataBox**

<img width="30" src="/img/resources/azure/migration/database-migration-services.png" alt="DatabaseMigrationServices" style="float: left; padding-right: 5px;" >
**diagrams.azure.migration.DatabaseMigrationServices**

<img width="30" src="/img/resources/azure/migration/migration-projects.png" alt="MigrationProjects" style="float: left; padding-right: 5px;" >
**diagrams.azure.migration.MigrationProjects**

<img width="30" src="/img/resources/azure/migration/recovery-services-vaults.png" alt="RecoveryServicesVaults" style="float: left; padding-right: 5px;" >
**diagrams.azure.migration.RecoveryServicesVaults**

## azure.ml

- **diagrams.azure.ml.BatchAI**
- **diagrams.azure.ml.BotServices**
- **diagrams.azure.ml.CognitiveServices**
- **diagrams.azure.ml.GenomicsAccounts**
- **diagrams.azure.ml.MachineLearningServiceWorkspaces**
- **diagrams.azure.ml.MachineLearningStudioWebServicePlans**
- **diagrams.azure.ml.MachineLearningStudioWebServices**
- **diagrams.azure.ml.MachineLearningStudioWorkspaces**

<img width="30" src="/img/resources/azure/ml/batch-ai.png" alt="BatchAI" style="float: left; padding-right: 5px;" >
**diagrams.azure.ml.BatchAI**

<img width="30" src="/img/resources/azure/ml/bot-services.png" alt="BotServices" style="float: left; padding-right: 5px;" >
**diagrams.azure.ml.BotServices**

<img width="30" src="/img/resources/azure/ml/cognitive-services.png" alt="CognitiveServices" style="float: left; padding-right: 5px;" >
**diagrams.azure.ml.CognitiveServices**

<img width="30" src="/img/resources/azure/ml/genomics-accounts.png" alt="GenomicsAccounts" style="float: left; padding-right: 5px;" >
**diagrams.azure.ml.GenomicsAccounts**

<img width="30" src="/img/resources/azure/ml/machine-learning-service-workspaces.png" alt="MachineLearningServiceWorkspaces" style="float: left; padding-right: 5px;" >
**diagrams.azure.ml.MachineLearningServiceWorkspaces**

<img width="30" src="/img/resources/azure/ml/machine-learning-studio-web-service-plans.png" alt="MachineLearningStudioWebServicePlans" style="float: left; padding-right: 5px;" >
**diagrams.azure.ml.MachineLearningStudioWebServicePlans**

<img width="30" src="/img/resources/azure/ml/machine-learning-studio-web-services.png" alt="MachineLearningStudioWebServices" style="float: left; padding-right: 5px;" >
**diagrams.azure.ml.MachineLearningStudioWebServices**

<img width="30" src="/img/resources/azure/ml/machine-learning-studio-workspaces.png" alt="MachineLearningStudioWorkspaces" style="float: left; padding-right: 5px;" >
**diagrams.azure.ml.MachineLearningStudioWorkspaces**

## azure.mobile

- **diagrams.azure.mobile.AppServiceMobile**
- **diagrams.azure.mobile.MobileEngagement**
- **diagrams.azure.mobile.NotificationHubs**

<img width="30" src="/img/resources/azure/mobile/app-service-mobile.png" alt="AppServiceMobile" style="float: left; padding-right: 5px;" >
**diagrams.azure.mobile.AppServiceMobile**

<img width="30" src="/img/resources/azure/mobile/mobile-engagement.png" alt="MobileEngagement" style="float: left; padding-right: 5px;" >
**diagrams.azure.mobile.MobileEngagement**

<img width="30" src="/img/resources/azure/mobile/notification-hubs.png" alt="NotificationHubs" style="float: left; padding-right: 5px;" >
**diagrams.azure.mobile.NotificationHubs**

## azure.network

- **diagrams.azure.network.ApplicationGateway**
- **diagrams.azure.network.ApplicationSecurityGroups**
- **diagrams.azure.network.CDNProfiles**
- **diagrams.azure.network.Connections**
- **diagrams.azure.network.DDOSProtectionPlans**
- **diagrams.azure.network.DNSPrivateZones**
- **diagrams.azure.network.DNSZones**
- **diagrams.azure.network.ExpressrouteCircuits**
- **diagrams.azure.network.Firewall**
- **diagrams.azure.network.FrontDoors**
- **diagrams.azure.network.LoadBalancers**
- **diagrams.azure.network.LocalNetworkGateways**
- **diagrams.azure.network.NetworkInterfaces**
- **diagrams.azure.network.NetworkSecurityGroupsClassic**
- **diagrams.azure.network.NetworkWatcher**
- **diagrams.azure.network.OnPremisesDataGateways**
- **diagrams.azure.network.PublicIpAddresses**
- **diagrams.azure.network.ReservedIpAddressesClassic**
- **diagrams.azure.network.RouteFilters**
- **diagrams.azure.network.RouteTables**
- **diagrams.azure.network.ServiceEndpointPolicies**
- **diagrams.azure.network.Subnets**
- **diagrams.azure.network.TrafficManagerProfiles**
- **diagrams.azure.network.VirtualNetworkClassic**
- **diagrams.azure.network.VirtualNetworkGateways**
- **diagrams.azure.network.VirtualNetworks**
- **diagrams.azure.network.VirtualWans**

<img width="30" src="/img/resources/azure/network/application-gateway.png" alt="ApplicationGateway" style="float: left; padding-right: 5px;" >
**diagrams.azure.network.ApplicationGateway**

<img width="30" src="/img/resources/azure/network/application-security-groups.png" alt="ApplicationSecurityGroups" style="float: left; padding-right: 5px;" >
**diagrams.azure.network.ApplicationSecurityGroups**

<img width="30" src="/img/resources/azure/network/cdn-profiles.png" alt="CDNProfiles" style="float: left; padding-right: 5px;" >
**diagrams.azure.network.CDNProfiles**

<img width="30" src="/img/resources/azure/network/connections.png" alt="Connections" style="float: left; padding-right: 5px;" >
**diagrams.azure.network.Connections**

<img width="30" src="/img/resources/azure/network/ddos-protection-plans.png" alt="DDOSProtectionPlans" style="float: left; padding-right: 5px;" >
**diagrams.azure.network.DDOSProtectionPlans**

<img width="30" src="/img/resources/azure/network/dns-private-zones.png" alt="DNSPrivateZones" style="float: left; padding-right: 5px;" >
**diagrams.azure.network.DNSPrivateZones**

<img width="30" src="/img/resources/azure/network/dns-zones.png" alt="DNSZones" style="float: left; padding-right: 5px;" >
**diagrams.azure.network.DNSZones**

<img width="30" src="/img/resources/azure/network/expressroute-circuits.png" alt="ExpressrouteCircuits" style="float: left; padding-right: 5px;" >
**diagrams.azure.network.ExpressrouteCircuits**

<img width="30" src="/img/resources/azure/network/firewall.png" alt="Firewall" style="float: left; padding-right: 5px;" >
**diagrams.azure.network.Firewall**

<img width="30" src="/img/resources/azure/network/front-doors.png" alt="FrontDoors" style="float: left; padding-right: 5px;" >
**diagrams.azure.network.FrontDoors**

<img width="30" src="/img/resources/azure/network/load-balancers.png" alt="LoadBalancers" style="float: left; padding-right: 5px;" >
**diagrams.azure.network.LoadBalancers**

<img width="30" src="/img/resources/azure/network/local-network-gateways.png" alt="LocalNetworkGateways" style="float: left; padding-right: 5px;" >
**diagrams.azure.network.LocalNetworkGateways**

<img width="30" src="/img/resources/azure/network/network-interfaces.png" alt="NetworkInterfaces" style="float: left; padding-right: 5px;" >
**diagrams.azure.network.NetworkInterfaces**

<img width="30" src="/img/resources/azure/network/network-security-groups-classic.png" alt="NetworkSecurityGroupsClassic" style="float: left; padding-right: 5px;" >
**diagrams.azure.network.NetworkSecurityGroupsClassic**

<img width="30" src="/img/resources/azure/network/network-watcher.png" alt="NetworkWatcher" style="float: left; padding-right: 5px;" >
**diagrams.azure.network.NetworkWatcher**

<img width="30" src="/img/resources/azure/network/on-premises-data-gateways.png" alt="OnPremisesDataGateways" style="float: left; padding-right: 5px;" >
**diagrams.azure.network.OnPremisesDataGateways**

<img width="30" src="/img/resources/azure/network/public-ip-addresses.png" alt="PublicIpAddresses" style="float: left; padding-right: 5px;" >
**diagrams.azure.network.PublicIpAddresses**

<img width="30" src="/img/resources/azure/network/reserved-ip-addresses-classic.png" alt="ReservedIpAddressesClassic" style="float: left; padding-right: 5px;" >
**diagrams.azure.network.ReservedIpAddressesClassic**

<img width="30" src="/img/resources/azure/network/route-filters.png" alt="RouteFilters" style="float: left; padding-right: 5px;" >
**diagrams.azure.network.RouteFilters**

<img width="30" src="/img/resources/azure/network/route-tables.png" alt="RouteTables" style="float: left; padding-right: 5px;" >
**diagrams.azure.network.RouteTables**

<img width="30" src="/img/resources/azure/network/service-endpoint-policies.png" alt="ServiceEndpointPolicies" style="float: left; padding-right: 5px;" >
**diagrams.azure.network.ServiceEndpointPolicies**

<img width="30" src="/img/resources/azure/network/subnets.png" alt="Subnets" style="float: left; padding-right: 5px;" >
**diagrams.azure.network.Subnets**

<img width="30" src="/img/resources/azure/network/traffic-manager-profiles.png" alt="TrafficManagerProfiles" style="float: left; padding-right: 5px;" >
**diagrams.azure.network.TrafficManagerProfiles**

<img width="30" src="/img/resources/azure/network/virtual-network-classic.png" alt="VirtualNetworkClassic" style="float: left; padding-right: 5px;" >
**diagrams.azure.network.VirtualNetworkClassic**

<img width="30" src="/img/resources/azure/network/virtual-network-gateways.png" alt="VirtualNetworkGateways" style="float: left; padding-right: 5px;" >
**diagrams.azure.network.VirtualNetworkGateways**

<img width="30" src="/img/resources/azure/network/virtual-networks.png" alt="VirtualNetworks" style="float: left; padding-right: 5px;" >
**diagrams.azure.network.VirtualNetworks**

<img width="30" src="/img/resources/azure/network/virtual-wans.png" alt="VirtualWans" style="float: left; padding-right: 5px;" >
**diagrams.azure.network.VirtualWans**

## azure.security

- **diagrams.azure.security.ApplicationSecurityGroups**
- **diagrams.azure.security.ConditionalAccess**
- **diagrams.azure.security.Defender**
- **diagrams.azure.security.ExtendedSecurityUpdates**
- **diagrams.azure.security.KeyVaults**
- **diagrams.azure.security.SecurityCenter**
- **diagrams.azure.security.Sentinel**

<img width="30" src="/img/resources/azure/security/application-security-groups.png" alt="ApplicationSecurityGroups" style="float: left; padding-right: 5px;" >
**diagrams.azure.security.ApplicationSecurityGroups**

<img width="30" src="/img/resources/azure/security/conditional-access.png" alt="ConditionalAccess" style="float: left; padding-right: 5px;" >
**diagrams.azure.security.ConditionalAccess**

<img width="30" src="/img/resources/azure/security/defender.png" alt="Defender" style="float: left; padding-right: 5px;" >
**diagrams.azure.security.Defender**

<img width="30" src="/img/resources/azure/security/extended-security-updates.png" alt="ExtendedSecurityUpdates" style="float: left; padding-right: 5px;" >
**diagrams.azure.security.ExtendedSecurityUpdates**

<img width="30" src="/img/resources/azure/security/key-vaults.png" alt="KeyVaults" style="float: left; padding-right: 5px;" >
**diagrams.azure.security.KeyVaults**

<img width="30" src="/img/resources/azure/security/security-center.png" alt="SecurityCenter" style="float: left; padding-right: 5px;" >
**diagrams.azure.security.SecurityCenter**

<img width="30" src="/img/resources/azure/security/sentinel.png" alt="Sentinel" style="float: left; padding-right: 5px;" >
**diagrams.azure.security.Sentinel**

## azure.storage

- **diagrams.azure.storage.ArchiveStorage**
- **diagrams.azure.storage.Azurefxtedgefiler**
- **diagrams.azure.storage.BlobStorage**
- **diagrams.azure.storage.DataBoxEdgeDataBoxGateway**
- **diagrams.azure.storage.DataBox**
- **diagrams.azure.storage.DataLakeStorage**
- **diagrams.azure.storage.GeneralStorage**
- **diagrams.azure.storage.NetappFiles**
- **diagrams.azure.storage.QueuesStorage**
- **diagrams.azure.storage.StorageAccountsClassic**
- **diagrams.azure.storage.StorageAccounts**
- **diagrams.azure.storage.StorageExplorer**
- **diagrams.azure.storage.StorageSyncServices**
- **diagrams.azure.storage.StorsimpleDataManagers**
- **diagrams.azure.storage.StorsimpleDeviceManagers**
- **diagrams.azure.storage.TableStorage**

<img width="30" src="/img/resources/azure/storage/archive-storage.png" alt="ArchiveStorage" style="float: left; padding-right: 5px;" >
**diagrams.azure.storage.ArchiveStorage**

<img width="30" src="/img/resources/azure/storage/azurefxtedgefiler.png" alt="Azurefxtedgefiler" style="float: left; padding-right: 5px;" >
**diagrams.azure.storage.Azurefxtedgefiler**

<img width="30" src="/img/resources/azure/storage/blob-storage.png" alt="BlobStorage" style="float: left; padding-right: 5px;" >
**diagrams.azure.storage.BlobStorage**

<img width="30" src="/img/resources/azure/storage/data-box-edge-data-box-gateway.png" alt="DataBoxEdgeDataBoxGateway" style="float: left; padding-right: 5px;" >
**diagrams.azure.storage.DataBoxEdgeDataBoxGateway**

<img width="30" src="/img/resources/azure/storage/data-box.png" alt="DataBox" style="float: left; padding-right: 5px;" >
**diagrams.azure.storage.DataBox**

<img width="30" src="/img/resources/azure/storage/data-lake-storage.png" alt="DataLakeStorage" style="float: left; padding-right: 5px;" >
**diagrams.azure.storage.DataLakeStorage**

<img width="30" src="/img/resources/azure/storage/general-storage.png" alt="GeneralStorage" style="float: left; padding-right: 5px;" >
**diagrams.azure.storage.GeneralStorage**

<img width="30" src="/img/resources/azure/storage/netapp-files.png" alt="NetappFiles" style="float: left; padding-right: 5px;" >
**diagrams.azure.storage.NetappFiles**

<img width="30" src="/img/resources/azure/storage/queues-storage.png" alt="QueuesStorage" style="float: left; padding-right: 5px;" >
**diagrams.azure.storage.QueuesStorage**

<img width="30" src="/img/resources/azure/storage/storage-accounts-classic.png" alt="StorageAccountsClassic" style="float: left; padding-right: 5px;" >
**diagrams.azure.storage.StorageAccountsClassic**

<img width="30" src="/img/resources/azure/storage/storage-accounts.png" alt="StorageAccounts" style="float: left; padding-right: 5px;" >
**diagrams.azure.storage.StorageAccounts**

<img width="30" src="/img/resources/azure/storage/storage-explorer.png" alt="StorageExplorer" style="float: left; padding-right: 5px;" >
**diagrams.azure.storage.StorageExplorer**

<img width="30" src="/img/resources/azure/storage/storage-sync-services.png" alt="StorageSyncServices" style="float: left; padding-right: 5px;" >
**diagrams.azure.storage.StorageSyncServices**

<img width="30" src="/img/resources/azure/storage/storsimple-data-managers.png" alt="StorsimpleDataManagers" style="float: left; padding-right: 5px;" >
**diagrams.azure.storage.StorsimpleDataManagers**

<img width="30" src="/img/resources/azure/storage/storsimple-device-managers.png" alt="StorsimpleDeviceManagers" style="float: left; padding-right: 5px;" >
**diagrams.azure.storage.StorsimpleDeviceManagers**

<img width="30" src="/img/resources/azure/storage/table-storage.png" alt="TableStorage" style="float: left; padding-right: 5px;" >
**diagrams.azure.storage.TableStorage**

## azure.web

- **diagrams.azure.web.APIConnections**
- **diagrams.azure.web.AppServiceCertificates**
- **diagrams.azure.web.AppServiceDomains**
- **diagrams.azure.web.AppServiceEnvironments**
- **diagrams.azure.web.AppServicePlans**
- **diagrams.azure.web.AppServices**
- **diagrams.azure.web.MediaServices**
- **diagrams.azure.web.NotificationHubNamespaces**
- **diagrams.azure.web.Search**
- **diagrams.azure.web.Signalr**

<img width="30" src="/img/resources/azure/web/api-connections.png" alt="APIConnections" style="float: left; padding-right: 5px;" >
**diagrams.azure.web.APIConnections**

<img width="30" src="/img/resources/azure/web/app-service-certificates.png" alt="AppServiceCertificates" style="float: left; padding-right: 5px;" >
**diagrams.azure.web.AppServiceCertificates**

<img width="30" src="/img/resources/azure/web/app-service-domains.png" alt="AppServiceDomains" style="float: left; padding-right: 5px;" >
**diagrams.azure.web.AppServiceDomains**

<img width="30" src="/img/resources/azure/web/app-service-environments.png" alt="AppServiceEnvironments" style="float: left; padding-right: 5px;" >
**diagrams.azure.web.AppServiceEnvironments**

<img width="30" src="/img/resources/azure/web/app-service-plans.png" alt="AppServicePlans" style="float: left; padding-right: 5px;" >
**diagrams.azure.web.AppServicePlans**

<img width="30" src="/img/resources/azure/web/app-services.png" alt="AppServices" style="float: left; padding-right: 5px;" >
**diagrams.azure.web.AppServices**

<img width="30" src="/img/resources/azure/web/media-services.png" alt="MediaServices" style="float: left; padding-right: 5px;" >
**diagrams.azure.web.MediaServices**

<img width="30" src="/img/resources/azure/web/notification-hub-namespaces.png" alt="NotificationHubNamespaces" style="float: left; padding-right: 5px;" >
**diagrams.azure.web.NotificationHubNamespaces**

<img width="30" src="/img/resources/azure/web/search.png" alt="Search" style="float: left; padding-right: 5px;" >
**diagrams.azure.web.Search**

<img width="30" src="/img/resources/azure/web/signalr.png" alt="Signalr" style="float: left; padding-right: 5px;" >
**diagrams.azure.web.Signalr**

+ 75
- 25
docs/nodes/digitalocean.md ファイルの表示

@@ -7,37 +7,87 @@ Node classes list of digitalocean provider.

## digitalocean.compute

- **diagrams.digitalocean.compute.Containers**
- **diagrams.digitalocean.compute.Docker**
- **diagrams.digitalocean.compute.DropletConnect**
- **diagrams.digitalocean.compute.DropletSnapshot**
- **diagrams.digitalocean.compute.Droplet**
- **diagrams.digitalocean.compute.K8SCluster**
- **diagrams.digitalocean.compute.K8SNodePool**
- **diagrams.digitalocean.compute.K8SNode**

<img width="30" src="/img/resources/digitalocean/compute/containers.png" alt="Containers" style="float: left; padding-right: 5px;" >
**diagrams.digitalocean.compute.Containers**

<img width="30" src="/img/resources/digitalocean/compute/docker.png" alt="Docker" style="float: left; padding-right: 5px;" >
**diagrams.digitalocean.compute.Docker**

<img width="30" src="/img/resources/digitalocean/compute/droplet-connect.png" alt="DropletConnect" style="float: left; padding-right: 5px;" >
**diagrams.digitalocean.compute.DropletConnect**

<img width="30" src="/img/resources/digitalocean/compute/droplet-snapshot.png" alt="DropletSnapshot" style="float: left; padding-right: 5px;" >
**diagrams.digitalocean.compute.DropletSnapshot**

<img width="30" src="/img/resources/digitalocean/compute/droplet.png" alt="Droplet" style="float: left; padding-right: 5px;" >
**diagrams.digitalocean.compute.Droplet**

<img width="30" src="/img/resources/digitalocean/compute/k8s-cluster.png" alt="K8SCluster" style="float: left; padding-right: 5px;" >
**diagrams.digitalocean.compute.K8SCluster**

<img width="30" src="/img/resources/digitalocean/compute/k8s-node-pool.png" alt="K8SNodePool" style="float: left; padding-right: 5px;" >
**diagrams.digitalocean.compute.K8SNodePool**

<img width="30" src="/img/resources/digitalocean/compute/k8s-node.png" alt="K8SNode" style="float: left; padding-right: 5px;" >
**diagrams.digitalocean.compute.K8SNode**

## digitalocean.database

- **diagrams.digitalocean.database.DbaasPrimaryStandbyMore**
- **diagrams.digitalocean.database.DbaasPrimary**
- **diagrams.digitalocean.database.DbaasReadOnly**
- **diagrams.digitalocean.database.DbaasStandby**

<img width="30" src="/img/resources/digitalocean/database/dbaas-primary-standby-more.png" alt="DbaasPrimaryStandbyMore" style="float: left; padding-right: 5px;" >
**diagrams.digitalocean.database.DbaasPrimaryStandbyMore**

<img width="30" src="/img/resources/digitalocean/database/dbaas-primary.png" alt="DbaasPrimary" style="float: left; padding-right: 5px;" >
**diagrams.digitalocean.database.DbaasPrimary**

<img width="30" src="/img/resources/digitalocean/database/dbaas-read-only.png" alt="DbaasReadOnly" style="float: left; padding-right: 5px;" >
**diagrams.digitalocean.database.DbaasReadOnly**

<img width="30" src="/img/resources/digitalocean/database/dbaas-standby.png" alt="DbaasStandby" style="float: left; padding-right: 5px;" >
**diagrams.digitalocean.database.DbaasStandby**

## digitalocean.network

- **diagrams.digitalocean.network.Certificate**
- **diagrams.digitalocean.network.DomainRegistration**
- **diagrams.digitalocean.network.Domain**
- **diagrams.digitalocean.network.Firewall**
- **diagrams.digitalocean.network.FloatingIp**
- **diagrams.digitalocean.network.InternetGateway**
- **diagrams.digitalocean.network.LoadBalancer**
- **diagrams.digitalocean.network.ManagedVpn**
- **diagrams.digitalocean.network.Vpc**

<img width="30" src="/img/resources/digitalocean/network/certificate.png" alt="Certificate" style="float: left; padding-right: 5px;" >
**diagrams.digitalocean.network.Certificate**

<img width="30" src="/img/resources/digitalocean/network/domain-registration.png" alt="DomainRegistration" style="float: left; padding-right: 5px;" >
**diagrams.digitalocean.network.DomainRegistration**

<img width="30" src="/img/resources/digitalocean/network/domain.png" alt="Domain" style="float: left; padding-right: 5px;" >
**diagrams.digitalocean.network.Domain**

<img width="30" src="/img/resources/digitalocean/network/firewall.png" alt="Firewall" style="float: left; padding-right: 5px;" >
**diagrams.digitalocean.network.Firewall**

<img width="30" src="/img/resources/digitalocean/network/floating-ip.png" alt="FloatingIp" style="float: left; padding-right: 5px;" >
**diagrams.digitalocean.network.FloatingIp**

<img width="30" src="/img/resources/digitalocean/network/internet-gateway.png" alt="InternetGateway" style="float: left; padding-right: 5px;" >
**diagrams.digitalocean.network.InternetGateway**

<img width="30" src="/img/resources/digitalocean/network/load-balancer.png" alt="LoadBalancer" style="float: left; padding-right: 5px;" >
**diagrams.digitalocean.network.LoadBalancer**

<img width="30" src="/img/resources/digitalocean/network/managed-vpn.png" alt="ManagedVpn" style="float: left; padding-right: 5px;" >
**diagrams.digitalocean.network.ManagedVpn**

<img width="30" src="/img/resources/digitalocean/network/vpc.png" alt="Vpc" style="float: left; padding-right: 5px;" >
**diagrams.digitalocean.network.Vpc**

## digitalocean.storage

- **diagrams.digitalocean.storage.Folder**
- **diagrams.digitalocean.storage.Space**
- **diagrams.digitalocean.storage.VolumeSnapshot**
- **diagrams.digitalocean.storage.Volume**

<img width="30" src="/img/resources/digitalocean/storage/folder.png" alt="Folder" style="float: left; padding-right: 5px;" >
**diagrams.digitalocean.storage.Folder**

<img width="30" src="/img/resources/digitalocean/storage/space.png" alt="Space" style="float: left; padding-right: 5px;" >
**diagrams.digitalocean.storage.Space**

<img width="30" src="/img/resources/digitalocean/storage/volume-snapshot.png" alt="VolumeSnapshot" style="float: left; padding-right: 5px;" >
**diagrams.digitalocean.storage.VolumeSnapshot**

<img width="30" src="/img/resources/digitalocean/storage/volume.png" alt="Volume" style="float: left; padding-right: 5px;" >
**diagrams.digitalocean.storage.Volume**

+ 138
- 26
docs/nodes/elastic.md ファイルの表示

@@ -5,46 +5,158 @@ title: Elastic

Node classes list of elastic provider.

## elastic.agent


<img width="30" src="/img/resources/elastic/agent/agent.png" alt="Agent" style="float: left; padding-right: 5px;" >
**diagrams.elastic.agent.Agent**

<img width="30" src="/img/resources/elastic/agent/endpoint.png" alt="Endpoint" style="float: left; padding-right: 5px;" >
**diagrams.elastic.agent.Endpoint**

<img width="30" src="/img/resources/elastic/agent/fleet.png" alt="Fleet" style="float: left; padding-right: 5px;" >
**diagrams.elastic.agent.Fleet**

<img width="30" src="/img/resources/elastic/agent/integrations.png" alt="Integrations" style="float: left; padding-right: 5px;" >
**diagrams.elastic.agent.Integrations**

## elastic.beats


<img width="30" src="/img/resources/elastic/beats/apm.png" alt="APM" style="float: left; padding-right: 5px;" >
**diagrams.elastic.beats.APM**

<img width="30" src="/img/resources/elastic/beats/auditbeat.png" alt="Auditbeat" style="float: left; padding-right: 5px;" >
**diagrams.elastic.beats.Auditbeat**

<img width="30" src="/img/resources/elastic/beats/filebeat.png" alt="Filebeat" style="float: left; padding-right: 5px;" >
**diagrams.elastic.beats.Filebeat**

<img width="30" src="/img/resources/elastic/beats/functionbeat.png" alt="Functionbeat" style="float: left; padding-right: 5px;" >
**diagrams.elastic.beats.Functionbeat**

<img width="30" src="/img/resources/elastic/beats/heartbeat.png" alt="Heartbeat" style="float: left; padding-right: 5px;" >
**diagrams.elastic.beats.Heartbeat**

<img width="30" src="/img/resources/elastic/beats/metricbeat.png" alt="Metricbeat" style="float: left; padding-right: 5px;" >
**diagrams.elastic.beats.Metricbeat**

<img width="30" src="/img/resources/elastic/beats/packetbeat.png" alt="Packetbeat" style="float: left; padding-right: 5px;" >
**diagrams.elastic.beats.Packetbeat**

<img width="30" src="/img/resources/elastic/beats/winlogbeat.png" alt="Winlogbeat" style="float: left; padding-right: 5px;" >
**diagrams.elastic.beats.Winlogbeat**

## elastic.elasticsearch

- **diagrams.elastic.elasticsearch.Alerting**
- **diagrams.elastic.elasticsearch.Beats**
- **diagrams.elastic.elasticsearch.Elasticsearch**
- **diagrams.elastic.elasticsearch.Kibana**
- **diagrams.elastic.elasticsearch.Logstash**, **LogStash** (alias)
- **diagrams.elastic.elasticsearch.MachineLearning**
- **diagrams.elastic.elasticsearch.Maps**
- **diagrams.elastic.elasticsearch.Monitoring**
- **diagrams.elastic.elasticsearch.SecuritySettings**
- **diagrams.elastic.elasticsearch.Sql**

<img width="30" src="/img/resources/elastic/elasticsearch/alerting.png" alt="Alerting" style="float: left; padding-right: 5px;" >
**diagrams.elastic.elasticsearch.Alerting**

<img width="30" src="/img/resources/elastic/elasticsearch/beats.png" alt="Beats" style="float: left; padding-right: 5px;" >
**diagrams.elastic.elasticsearch.Beats**

<img width="30" src="/img/resources/elastic/elasticsearch/elasticsearch.png" alt="Elasticsearch" style="float: left; padding-right: 5px;" >
**diagrams.elastic.elasticsearch.Elasticsearch**, **ElasticSearch** (alias)

<img width="30" src="/img/resources/elastic/elasticsearch/kibana.png" alt="Kibana" style="float: left; padding-right: 5px;" >
**diagrams.elastic.elasticsearch.Kibana**

<img width="30" src="/img/resources/elastic/elasticsearch/logstash-pipeline.png" alt="LogstashPipeline" style="float: left; padding-right: 5px;" >
**diagrams.elastic.elasticsearch.LogstashPipeline**

<img width="30" src="/img/resources/elastic/elasticsearch/logstash.png" alt="Logstash" style="float: left; padding-right: 5px;" >
**diagrams.elastic.elasticsearch.Logstash**, **LogStash** (alias)

<img width="30" src="/img/resources/elastic/elasticsearch/machine-learning.png" alt="MachineLearning" style="float: left; padding-right: 5px;" >
**diagrams.elastic.elasticsearch.MachineLearning**, **ML** (alias)

<img width="30" src="/img/resources/elastic/elasticsearch/map-services.png" alt="MapServices" style="float: left; padding-right: 5px;" >
**diagrams.elastic.elasticsearch.MapServices**

<img width="30" src="/img/resources/elastic/elasticsearch/maps.png" alt="Maps" style="float: left; padding-right: 5px;" >
**diagrams.elastic.elasticsearch.Maps**

<img width="30" src="/img/resources/elastic/elasticsearch/monitoring.png" alt="Monitoring" style="float: left; padding-right: 5px;" >
**diagrams.elastic.elasticsearch.Monitoring**

<img width="30" src="/img/resources/elastic/elasticsearch/searchable-snapshots.png" alt="SearchableSnapshots" style="float: left; padding-right: 5px;" >
**diagrams.elastic.elasticsearch.SearchableSnapshots**

<img width="30" src="/img/resources/elastic/elasticsearch/security-settings.png" alt="SecuritySettings" style="float: left; padding-right: 5px;" >
**diagrams.elastic.elasticsearch.SecuritySettings**

<img width="30" src="/img/resources/elastic/elasticsearch/sql.png" alt="SQL" style="float: left; padding-right: 5px;" >
**diagrams.elastic.elasticsearch.SQL**

<img width="30" src="/img/resources/elastic/elasticsearch/stack.png" alt="Stack" style="float: left; padding-right: 5px;" >
**diagrams.elastic.elasticsearch.Stack**

## elastic.enterprisesearch

- **diagrams.elastic.enterprisesearch.AppSearch**
- **diagrams.elastic.enterprisesearch.EnterpriseSearch**
- **diagrams.elastic.enterprisesearch.SiteSearch**
- **diagrams.elastic.enterprisesearch.WorkplaceSearch**

<img width="30" src="/img/resources/elastic/enterprisesearch/app-search.png" alt="AppSearch" style="float: left; padding-right: 5px;" >
**diagrams.elastic.enterprisesearch.AppSearch**

<img width="30" src="/img/resources/elastic/enterprisesearch/crawler.png" alt="Crawler" style="float: left; padding-right: 5px;" >
**diagrams.elastic.enterprisesearch.Crawler**

<img width="30" src="/img/resources/elastic/enterprisesearch/enterprise-search.png" alt="EnterpriseSearch" style="float: left; padding-right: 5px;" >
**diagrams.elastic.enterprisesearch.EnterpriseSearch**

<img width="30" src="/img/resources/elastic/enterprisesearch/site-search.png" alt="SiteSearch" style="float: left; padding-right: 5px;" >
**diagrams.elastic.enterprisesearch.SiteSearch**

<img width="30" src="/img/resources/elastic/enterprisesearch/workplace-search.png" alt="WorkplaceSearch" style="float: left; padding-right: 5px;" >
**diagrams.elastic.enterprisesearch.WorkplaceSearch**

## elastic.observability

- **diagrams.elastic.observability.APM**
- **diagrams.elastic.observability.Logs**
- **diagrams.elastic.observability.Metrics**
- **diagrams.elastic.observability.Observability**
- **diagrams.elastic.observability.Uptime**

<img width="30" src="/img/resources/elastic/observability/apm.png" alt="APM" style="float: left; padding-right: 5px;" >
**diagrams.elastic.observability.APM**

<img width="30" src="/img/resources/elastic/observability/logs.png" alt="Logs" style="float: left; padding-right: 5px;" >
**diagrams.elastic.observability.Logs**

<img width="30" src="/img/resources/elastic/observability/metrics.png" alt="Metrics" style="float: left; padding-right: 5px;" >
**diagrams.elastic.observability.Metrics**

<img width="30" src="/img/resources/elastic/observability/observability.png" alt="Observability" style="float: left; padding-right: 5px;" >
**diagrams.elastic.observability.Observability**

<img width="30" src="/img/resources/elastic/observability/uptime.png" alt="Uptime" style="float: left; padding-right: 5px;" >
**diagrams.elastic.observability.Uptime**

## elastic.orchestration

- **diagrams.elastic.orchestration.ECE**
- **diagrams.elastic.orchestration.ECK**

<img width="30" src="/img/resources/elastic/orchestration/ece.png" alt="ECE" style="float: left; padding-right: 5px;" >
**diagrams.elastic.orchestration.ECE**

<img width="30" src="/img/resources/elastic/orchestration/eck.png" alt="ECK" style="float: left; padding-right: 5px;" >
**diagrams.elastic.orchestration.ECK**

## elastic.saas

- **diagrams.elastic.saas.Cloud**
- **diagrams.elastic.saas.Elastic**

<img width="30" src="/img/resources/elastic/saas/cloud.png" alt="Cloud" style="float: left; padding-right: 5px;" >
**diagrams.elastic.saas.Cloud**

<img width="30" src="/img/resources/elastic/saas/elastic.png" alt="Elastic" style="float: left; padding-right: 5px;" >
**diagrams.elastic.saas.Elastic**

## elastic.security

- **diagrams.elastic.security.Endpoint**
- **diagrams.elastic.security.Security**
- **diagrams.elastic.security.SIEM**

<img width="30" src="/img/resources/elastic/security/endpoint.png" alt="Endpoint" style="float: left; padding-right: 5px;" >
**diagrams.elastic.security.Endpoint**

<img width="30" src="/img/resources/elastic/security/security.png" alt="Security" style="float: left; padding-right: 5px;" >
**diagrams.elastic.security.Security**

<img width="30" src="/img/resources/elastic/security/siem.png" alt="SIEM" style="float: left; padding-right: 5px;" >
**diagrams.elastic.security.SIEM**

<img width="30" src="/img/resources/elastic/security/xdr.png" alt="Xdr" style="float: left; padding-right: 5px;" >
**diagrams.elastic.security.Xdr**

+ 66
- 22
docs/nodes/firebase.md ファイルの表示

@@ -7,37 +7,81 @@ Node classes list of firebase provider.

## firebase.base

- **diagrams.firebase.base.Firebase**

<img width="30" src="/img/resources/firebase/base/firebase.png" alt="Firebase" style="float: left; padding-right: 5px;" >
**diagrams.firebase.base.Firebase**

## firebase.develop

- **diagrams.firebase.develop.Authentication**
- **diagrams.firebase.develop.Firestore**
- **diagrams.firebase.develop.Functions**
- **diagrams.firebase.develop.Hosting**
- **diagrams.firebase.develop.MLKit**
- **diagrams.firebase.develop.RealtimeDatabase**
- **diagrams.firebase.develop.Storage**

<img width="30" src="/img/resources/firebase/develop/authentication.png" alt="Authentication" style="float: left; padding-right: 5px;" >
**diagrams.firebase.develop.Authentication**

<img width="30" src="/img/resources/firebase/develop/firestore.png" alt="Firestore" style="float: left; padding-right: 5px;" >
**diagrams.firebase.develop.Firestore**

<img width="30" src="/img/resources/firebase/develop/functions.png" alt="Functions" style="float: left; padding-right: 5px;" >
**diagrams.firebase.develop.Functions**

<img width="30" src="/img/resources/firebase/develop/hosting.png" alt="Hosting" style="float: left; padding-right: 5px;" >
**diagrams.firebase.develop.Hosting**

<img width="30" src="/img/resources/firebase/develop/ml-kit.png" alt="MLKit" style="float: left; padding-right: 5px;" >
**diagrams.firebase.develop.MLKit**

<img width="30" src="/img/resources/firebase/develop/realtime-database.png" alt="RealtimeDatabase" style="float: left; padding-right: 5px;" >
**diagrams.firebase.develop.RealtimeDatabase**

<img width="30" src="/img/resources/firebase/develop/storage.png" alt="Storage" style="float: left; padding-right: 5px;" >
**diagrams.firebase.develop.Storage**

## firebase.extentions

- **diagrams.firebase.extentions.Extensions**

<img width="30" src="/img/resources/firebase/extentions/extensions.png" alt="Extensions" style="float: left; padding-right: 5px;" >
**diagrams.firebase.extentions.Extensions**

## firebase.grow

- **diagrams.firebase.grow.ABTesting**
- **diagrams.firebase.grow.AppIndexing**
- **diagrams.firebase.grow.DynamicLinks**
- **diagrams.firebase.grow.InAppMessaging**
- **diagrams.firebase.grow.Invites**
- **diagrams.firebase.grow.Messaging**, **FCM** (alias)
- **diagrams.firebase.grow.Predictions**
- **diagrams.firebase.grow.RemoteConfig**

<img width="30" src="/img/resources/firebase/grow/ab-testing.png" alt="ABTesting" style="float: left; padding-right: 5px;" >
**diagrams.firebase.grow.ABTesting**

<img width="30" src="/img/resources/firebase/grow/app-indexing.png" alt="AppIndexing" style="float: left; padding-right: 5px;" >
**diagrams.firebase.grow.AppIndexing**

<img width="30" src="/img/resources/firebase/grow/dynamic-links.png" alt="DynamicLinks" style="float: left; padding-right: 5px;" >
**diagrams.firebase.grow.DynamicLinks**

<img width="30" src="/img/resources/firebase/grow/in-app-messaging.png" alt="InAppMessaging" style="float: left; padding-right: 5px;" >
**diagrams.firebase.grow.InAppMessaging**

<img width="30" src="/img/resources/firebase/grow/invites.png" alt="Invites" style="float: left; padding-right: 5px;" >
**diagrams.firebase.grow.Invites**

<img width="30" src="/img/resources/firebase/grow/messaging.png" alt="Messaging" style="float: left; padding-right: 5px;" >
**diagrams.firebase.grow.Messaging**, **FCM** (alias)

<img width="30" src="/img/resources/firebase/grow/predictions.png" alt="Predictions" style="float: left; padding-right: 5px;" >
**diagrams.firebase.grow.Predictions**

<img width="30" src="/img/resources/firebase/grow/remote-config.png" alt="RemoteConfig" style="float: left; padding-right: 5px;" >
**diagrams.firebase.grow.RemoteConfig**

## firebase.quality

- **diagrams.firebase.quality.AppDistribution**
- **diagrams.firebase.quality.CrashReporting**
- **diagrams.firebase.quality.Crashlytics**
- **diagrams.firebase.quality.PerformanceMonitoring**
- **diagrams.firebase.quality.TestLab**

<img width="30" src="/img/resources/firebase/quality/app-distribution.png" alt="AppDistribution" style="float: left; padding-right: 5px;" >
**diagrams.firebase.quality.AppDistribution**

<img width="30" src="/img/resources/firebase/quality/crash-reporting.png" alt="CrashReporting" style="float: left; padding-right: 5px;" >
**diagrams.firebase.quality.CrashReporting**

<img width="30" src="/img/resources/firebase/quality/crashlytics.png" alt="Crashlytics" style="float: left; padding-right: 5px;" >
**diagrams.firebase.quality.Crashlytics**

<img width="30" src="/img/resources/firebase/quality/performance-monitoring.png" alt="PerformanceMonitoring" style="float: left; padding-right: 5px;" >
**diagrams.firebase.quality.PerformanceMonitoring**

<img width="30" src="/img/resources/firebase/quality/test-lab.png" alt="TestLab" style="float: left; padding-right: 5px;" >
**diagrams.firebase.quality.TestLab**

+ 273
- 91
docs/nodes/gcp.md ファイルの表示

@@ -7,127 +7,309 @@ Node classes list of gcp provider.

## gcp.analytics

- **diagrams.gcp.analytics.Bigquery**, **BigQuery** (alias)
- **diagrams.gcp.analytics.Composer**
- **diagrams.gcp.analytics.DataCatalog**
- **diagrams.gcp.analytics.DataFusion**
- **diagrams.gcp.analytics.Dataflow**
- **diagrams.gcp.analytics.Datalab**
- **diagrams.gcp.analytics.Dataprep**
- **diagrams.gcp.analytics.Dataproc**
- **diagrams.gcp.analytics.Genomics**
- **diagrams.gcp.analytics.Pubsub**, **PubSub** (alias)

<img width="30" src="/img/resources/gcp/analytics/bigquery.png" alt="Bigquery" style="float: left; padding-right: 5px;" >
**diagrams.gcp.analytics.Bigquery**, **BigQuery** (alias)

<img width="30" src="/img/resources/gcp/analytics/composer.png" alt="Composer" style="float: left; padding-right: 5px;" >
**diagrams.gcp.analytics.Composer**

<img width="30" src="/img/resources/gcp/analytics/data-catalog.png" alt="DataCatalog" style="float: left; padding-right: 5px;" >
**diagrams.gcp.analytics.DataCatalog**

<img width="30" src="/img/resources/gcp/analytics/data-fusion.png" alt="DataFusion" style="float: left; padding-right: 5px;" >
**diagrams.gcp.analytics.DataFusion**

<img width="30" src="/img/resources/gcp/analytics/dataflow.png" alt="Dataflow" style="float: left; padding-right: 5px;" >
**diagrams.gcp.analytics.Dataflow**

<img width="30" src="/img/resources/gcp/analytics/datalab.png" alt="Datalab" style="float: left; padding-right: 5px;" >
**diagrams.gcp.analytics.Datalab**

<img width="30" src="/img/resources/gcp/analytics/dataprep.png" alt="Dataprep" style="float: left; padding-right: 5px;" >
**diagrams.gcp.analytics.Dataprep**

<img width="30" src="/img/resources/gcp/analytics/dataproc.png" alt="Dataproc" style="float: left; padding-right: 5px;" >
**diagrams.gcp.analytics.Dataproc**

<img width="30" src="/img/resources/gcp/analytics/genomics.png" alt="Genomics" style="float: left; padding-right: 5px;" >
**diagrams.gcp.analytics.Genomics**

<img width="30" src="/img/resources/gcp/analytics/pubsub.png" alt="Pubsub" style="float: left; padding-right: 5px;" >
**diagrams.gcp.analytics.Pubsub**, **PubSub** (alias)

## gcp.api

- **diagrams.gcp.api.APIGateway**
- **diagrams.gcp.api.Endpoints**

<img width="30" src="/img/resources/gcp/api/api-gateway.png" alt="APIGateway" style="float: left; padding-right: 5px;" >
**diagrams.gcp.api.APIGateway**

<img width="30" src="/img/resources/gcp/api/endpoints.png" alt="Endpoints" style="float: left; padding-right: 5px;" >
**diagrams.gcp.api.Endpoints**

## gcp.compute

- **diagrams.gcp.compute.AppEngine**, **GAE** (alias)
- **diagrams.gcp.compute.ComputeEngine**, **GCE** (alias)
- **diagrams.gcp.compute.ContainerOptimizedOS**
- **diagrams.gcp.compute.Functions**, **GCF** (alias)
- **diagrams.gcp.compute.GKEOnPrem**
- **diagrams.gcp.compute.GPU**
- **diagrams.gcp.compute.KubernetesEngine**, **GKE** (alias)
- **diagrams.gcp.compute.Run**

<img width="30" src="/img/resources/gcp/compute/app-engine.png" alt="AppEngine" style="float: left; padding-right: 5px;" >
**diagrams.gcp.compute.AppEngine**, **GAE** (alias)

<img width="30" src="/img/resources/gcp/compute/compute-engine.png" alt="ComputeEngine" style="float: left; padding-right: 5px;" >
**diagrams.gcp.compute.ComputeEngine**, **GCE** (alias)

<img width="30" src="/img/resources/gcp/compute/container-optimized-os.png" alt="ContainerOptimizedOS" style="float: left; padding-right: 5px;" >
**diagrams.gcp.compute.ContainerOptimizedOS**

<img width="30" src="/img/resources/gcp/compute/functions.png" alt="Functions" style="float: left; padding-right: 5px;" >
**diagrams.gcp.compute.Functions**, **GCF** (alias)

<img width="30" src="/img/resources/gcp/compute/gke-on-prem.png" alt="GKEOnPrem" style="float: left; padding-right: 5px;" >
**diagrams.gcp.compute.GKEOnPrem**

<img width="30" src="/img/resources/gcp/compute/gpu.png" alt="GPU" style="float: left; padding-right: 5px;" >
**diagrams.gcp.compute.GPU**

<img width="30" src="/img/resources/gcp/compute/kubernetes-engine.png" alt="KubernetesEngine" style="float: left; padding-right: 5px;" >
**diagrams.gcp.compute.KubernetesEngine**, **GKE** (alias)

<img width="30" src="/img/resources/gcp/compute/run.png" alt="Run" style="float: left; padding-right: 5px;" >
**diagrams.gcp.compute.Run**

## gcp.database

- **diagrams.gcp.database.Bigtable**, **BigTable** (alias)
- **diagrams.gcp.database.Datastore**
- **diagrams.gcp.database.Firestore**
- **diagrams.gcp.database.Memorystore**
- **diagrams.gcp.database.Spanner**
- **diagrams.gcp.database.SQL**

<img width="30" src="/img/resources/gcp/database/bigtable.png" alt="Bigtable" style="float: left; padding-right: 5px;" >
**diagrams.gcp.database.Bigtable**, **BigTable** (alias)

<img width="30" src="/img/resources/gcp/database/datastore.png" alt="Datastore" style="float: left; padding-right: 5px;" >
**diagrams.gcp.database.Datastore**

<img width="30" src="/img/resources/gcp/database/firestore.png" alt="Firestore" style="float: left; padding-right: 5px;" >
**diagrams.gcp.database.Firestore**

<img width="30" src="/img/resources/gcp/database/memorystore.png" alt="Memorystore" style="float: left; padding-right: 5px;" >
**diagrams.gcp.database.Memorystore**

<img width="30" src="/img/resources/gcp/database/spanner.png" alt="Spanner" style="float: left; padding-right: 5px;" >
**diagrams.gcp.database.Spanner**

<img width="30" src="/img/resources/gcp/database/sql.png" alt="SQL" style="float: left; padding-right: 5px;" >
**diagrams.gcp.database.SQL**

## gcp.devtools

- **diagrams.gcp.devtools.Build**
- **diagrams.gcp.devtools.CodeForIntellij**
- **diagrams.gcp.devtools.Code**
- **diagrams.gcp.devtools.ContainerRegistry**, **GCR** (alias)
- **diagrams.gcp.devtools.GradleAppEnginePlugin**
- **diagrams.gcp.devtools.IdePlugins**
- **diagrams.gcp.devtools.MavenAppEnginePlugin**
- **diagrams.gcp.devtools.Scheduler**
- **diagrams.gcp.devtools.SDK**
- **diagrams.gcp.devtools.SourceRepositories**
- **diagrams.gcp.devtools.Tasks**
- **diagrams.gcp.devtools.TestLab**
- **diagrams.gcp.devtools.ToolsForEclipse**
- **diagrams.gcp.devtools.ToolsForPowershell**
- **diagrams.gcp.devtools.ToolsForVisualStudio**

<img width="30" src="/img/resources/gcp/devtools/build.png" alt="Build" style="float: left; padding-right: 5px;" >
**diagrams.gcp.devtools.Build**

<img width="30" src="/img/resources/gcp/devtools/code-for-intellij.png" alt="CodeForIntellij" style="float: left; padding-right: 5px;" >
**diagrams.gcp.devtools.CodeForIntellij**

<img width="30" src="/img/resources/gcp/devtools/code.png" alt="Code" style="float: left; padding-right: 5px;" >
**diagrams.gcp.devtools.Code**

<img width="30" src="/img/resources/gcp/devtools/container-registry.png" alt="ContainerRegistry" style="float: left; padding-right: 5px;" >
**diagrams.gcp.devtools.ContainerRegistry**, **GCR** (alias)

<img width="30" src="/img/resources/gcp/devtools/gradle-app-engine-plugin.png" alt="GradleAppEnginePlugin" style="float: left; padding-right: 5px;" >
**diagrams.gcp.devtools.GradleAppEnginePlugin**

<img width="30" src="/img/resources/gcp/devtools/ide-plugins.png" alt="IdePlugins" style="float: left; padding-right: 5px;" >
**diagrams.gcp.devtools.IdePlugins**

<img width="30" src="/img/resources/gcp/devtools/maven-app-engine-plugin.png" alt="MavenAppEnginePlugin" style="float: left; padding-right: 5px;" >
**diagrams.gcp.devtools.MavenAppEnginePlugin**

<img width="30" src="/img/resources/gcp/devtools/scheduler.png" alt="Scheduler" style="float: left; padding-right: 5px;" >
**diagrams.gcp.devtools.Scheduler**

<img width="30" src="/img/resources/gcp/devtools/sdk.png" alt="SDK" style="float: left; padding-right: 5px;" >
**diagrams.gcp.devtools.SDK**

<img width="30" src="/img/resources/gcp/devtools/source-repositories.png" alt="SourceRepositories" style="float: left; padding-right: 5px;" >
**diagrams.gcp.devtools.SourceRepositories**

<img width="30" src="/img/resources/gcp/devtools/tasks.png" alt="Tasks" style="float: left; padding-right: 5px;" >
**diagrams.gcp.devtools.Tasks**

<img width="30" src="/img/resources/gcp/devtools/test-lab.png" alt="TestLab" style="float: left; padding-right: 5px;" >
**diagrams.gcp.devtools.TestLab**

<img width="30" src="/img/resources/gcp/devtools/tools-for-eclipse.png" alt="ToolsForEclipse" style="float: left; padding-right: 5px;" >
**diagrams.gcp.devtools.ToolsForEclipse**

<img width="30" src="/img/resources/gcp/devtools/tools-for-powershell.png" alt="ToolsForPowershell" style="float: left; padding-right: 5px;" >
**diagrams.gcp.devtools.ToolsForPowershell**

<img width="30" src="/img/resources/gcp/devtools/tools-for-visual-studio.png" alt="ToolsForVisualStudio" style="float: left; padding-right: 5px;" >
**diagrams.gcp.devtools.ToolsForVisualStudio**

## gcp.iot

- **diagrams.gcp.iot.IotCore**

<img width="30" src="/img/resources/gcp/iot/iot-core.png" alt="IotCore" style="float: left; padding-right: 5px;" >
**diagrams.gcp.iot.IotCore**

## gcp.migration

- **diagrams.gcp.migration.TransferAppliance**

<img width="30" src="/img/resources/gcp/migration/transfer-appliance.png" alt="TransferAppliance" style="float: left; padding-right: 5px;" >
**diagrams.gcp.migration.TransferAppliance**

## gcp.ml

- **diagrams.gcp.ml.AdvancedSolutionsLab**
- **diagrams.gcp.ml.AIHub**
- **diagrams.gcp.ml.AIPlatformDataLabelingService**
- **diagrams.gcp.ml.AIPlatform**
- **diagrams.gcp.ml.AutomlNaturalLanguage**
- **diagrams.gcp.ml.AutomlTables**
- **diagrams.gcp.ml.AutomlTranslation**
- **diagrams.gcp.ml.AutomlVideoIntelligence**
- **diagrams.gcp.ml.AutomlVision**
- **diagrams.gcp.ml.Automl**, **AutoML** (alias)
- **diagrams.gcp.ml.DialogFlowEnterpriseEdition**
- **diagrams.gcp.ml.InferenceAPI**
- **diagrams.gcp.ml.JobsAPI**
- **diagrams.gcp.ml.NaturalLanguageAPI**, **NLAPI** (alias)
- **diagrams.gcp.ml.RecommendationsAI**
- **diagrams.gcp.ml.SpeechToText**, **STT** (alias)
- **diagrams.gcp.ml.TextToSpeech**, **TTS** (alias)
- **diagrams.gcp.ml.TPU**
- **diagrams.gcp.ml.TranslationAPI**
- **diagrams.gcp.ml.VideoIntelligenceAPI**
- **diagrams.gcp.ml.VisionAPI**

<img width="30" src="/img/resources/gcp/ml/advanced-solutions-lab.png" alt="AdvancedSolutionsLab" style="float: left; padding-right: 5px;" >
**diagrams.gcp.ml.AdvancedSolutionsLab**

<img width="30" src="/img/resources/gcp/ml/ai-hub.png" alt="AIHub" style="float: left; padding-right: 5px;" >
**diagrams.gcp.ml.AIHub**

<img width="30" src="/img/resources/gcp/ml/ai-platform-data-labeling-service.png" alt="AIPlatformDataLabelingService" style="float: left; padding-right: 5px;" >
**diagrams.gcp.ml.AIPlatformDataLabelingService**

<img width="30" src="/img/resources/gcp/ml/ai-platform.png" alt="AIPlatform" style="float: left; padding-right: 5px;" >
**diagrams.gcp.ml.AIPlatform**

<img width="30" src="/img/resources/gcp/ml/automl-natural-language.png" alt="AutomlNaturalLanguage" style="float: left; padding-right: 5px;" >
**diagrams.gcp.ml.AutomlNaturalLanguage**

<img width="30" src="/img/resources/gcp/ml/automl-tables.png" alt="AutomlTables" style="float: left; padding-right: 5px;" >
**diagrams.gcp.ml.AutomlTables**

<img width="30" src="/img/resources/gcp/ml/automl-translation.png" alt="AutomlTranslation" style="float: left; padding-right: 5px;" >
**diagrams.gcp.ml.AutomlTranslation**

<img width="30" src="/img/resources/gcp/ml/automl-video-intelligence.png" alt="AutomlVideoIntelligence" style="float: left; padding-right: 5px;" >
**diagrams.gcp.ml.AutomlVideoIntelligence**

<img width="30" src="/img/resources/gcp/ml/automl-vision.png" alt="AutomlVision" style="float: left; padding-right: 5px;" >
**diagrams.gcp.ml.AutomlVision**

<img width="30" src="/img/resources/gcp/ml/automl.png" alt="Automl" style="float: left; padding-right: 5px;" >
**diagrams.gcp.ml.Automl**, **AutoML** (alias)

<img width="30" src="/img/resources/gcp/ml/dialog-flow-enterprise-edition.png" alt="DialogFlowEnterpriseEdition" style="float: left; padding-right: 5px;" >
**diagrams.gcp.ml.DialogFlowEnterpriseEdition**

<img width="30" src="/img/resources/gcp/ml/inference-api.png" alt="InferenceAPI" style="float: left; padding-right: 5px;" >
**diagrams.gcp.ml.InferenceAPI**

<img width="30" src="/img/resources/gcp/ml/jobs-api.png" alt="JobsAPI" style="float: left; padding-right: 5px;" >
**diagrams.gcp.ml.JobsAPI**

<img width="30" src="/img/resources/gcp/ml/natural-language-api.png" alt="NaturalLanguageAPI" style="float: left; padding-right: 5px;" >
**diagrams.gcp.ml.NaturalLanguageAPI**, **NLAPI** (alias)

<img width="30" src="/img/resources/gcp/ml/recommendations-ai.png" alt="RecommendationsAI" style="float: left; padding-right: 5px;" >
**diagrams.gcp.ml.RecommendationsAI**

<img width="30" src="/img/resources/gcp/ml/speech-to-text.png" alt="SpeechToText" style="float: left; padding-right: 5px;" >
**diagrams.gcp.ml.SpeechToText**, **STT** (alias)

<img width="30" src="/img/resources/gcp/ml/text-to-speech.png" alt="TextToSpeech" style="float: left; padding-right: 5px;" >
**diagrams.gcp.ml.TextToSpeech**, **TTS** (alias)

<img width="30" src="/img/resources/gcp/ml/tpu.png" alt="TPU" style="float: left; padding-right: 5px;" >
**diagrams.gcp.ml.TPU**

<img width="30" src="/img/resources/gcp/ml/translation-api.png" alt="TranslationAPI" style="float: left; padding-right: 5px;" >
**diagrams.gcp.ml.TranslationAPI**

<img width="30" src="/img/resources/gcp/ml/video-intelligence-api.png" alt="VideoIntelligenceAPI" style="float: left; padding-right: 5px;" >
**diagrams.gcp.ml.VideoIntelligenceAPI**

<img width="30" src="/img/resources/gcp/ml/vision-api.png" alt="VisionAPI" style="float: left; padding-right: 5px;" >
**diagrams.gcp.ml.VisionAPI**

## gcp.network

- **diagrams.gcp.network.Armor**
- **diagrams.gcp.network.CDN**
- **diagrams.gcp.network.DedicatedInterconnect**
- **diagrams.gcp.network.DNS**
- **diagrams.gcp.network.ExternalIpAddresses**
- **diagrams.gcp.network.FirewallRules**
- **diagrams.gcp.network.LoadBalancing**
- **diagrams.gcp.network.NAT**
- **diagrams.gcp.network.Network**
- **diagrams.gcp.network.PartnerInterconnect**
- **diagrams.gcp.network.PremiumNetworkTier**
- **diagrams.gcp.network.Router**
- **diagrams.gcp.network.Routes**
- **diagrams.gcp.network.StandardNetworkTier**
- **diagrams.gcp.network.TrafficDirector**
- **diagrams.gcp.network.VirtualPrivateCloud**, **VPC** (alias)
- **diagrams.gcp.network.VPN**

<img width="30" src="/img/resources/gcp/network/armor.png" alt="Armor" style="float: left; padding-right: 5px;" >
**diagrams.gcp.network.Armor**

<img width="30" src="/img/resources/gcp/network/cdn.png" alt="CDN" style="float: left; padding-right: 5px;" >
**diagrams.gcp.network.CDN**

<img width="30" src="/img/resources/gcp/network/dedicated-interconnect.png" alt="DedicatedInterconnect" style="float: left; padding-right: 5px;" >
**diagrams.gcp.network.DedicatedInterconnect**

<img width="30" src="/img/resources/gcp/network/dns.png" alt="DNS" style="float: left; padding-right: 5px;" >
**diagrams.gcp.network.DNS**

<img width="30" src="/img/resources/gcp/network/external-ip-addresses.png" alt="ExternalIpAddresses" style="float: left; padding-right: 5px;" >
**diagrams.gcp.network.ExternalIpAddresses**

<img width="30" src="/img/resources/gcp/network/firewall-rules.png" alt="FirewallRules" style="float: left; padding-right: 5px;" >
**diagrams.gcp.network.FirewallRules**

<img width="30" src="/img/resources/gcp/network/load-balancing.png" alt="LoadBalancing" style="float: left; padding-right: 5px;" >
**diagrams.gcp.network.LoadBalancing**

<img width="30" src="/img/resources/gcp/network/nat.png" alt="NAT" style="float: left; padding-right: 5px;" >
**diagrams.gcp.network.NAT**

<img width="30" src="/img/resources/gcp/network/network.png" alt="Network" style="float: left; padding-right: 5px;" >
**diagrams.gcp.network.Network**

<img width="30" src="/img/resources/gcp/network/partner-interconnect.png" alt="PartnerInterconnect" style="float: left; padding-right: 5px;" >
**diagrams.gcp.network.PartnerInterconnect**

<img width="30" src="/img/resources/gcp/network/premium-network-tier.png" alt="PremiumNetworkTier" style="float: left; padding-right: 5px;" >
**diagrams.gcp.network.PremiumNetworkTier**

<img width="30" src="/img/resources/gcp/network/router.png" alt="Router" style="float: left; padding-right: 5px;" >
**diagrams.gcp.network.Router**

<img width="30" src="/img/resources/gcp/network/routes.png" alt="Routes" style="float: left; padding-right: 5px;" >
**diagrams.gcp.network.Routes**

<img width="30" src="/img/resources/gcp/network/standard-network-tier.png" alt="StandardNetworkTier" style="float: left; padding-right: 5px;" >
**diagrams.gcp.network.StandardNetworkTier**

<img width="30" src="/img/resources/gcp/network/traffic-director.png" alt="TrafficDirector" style="float: left; padding-right: 5px;" >
**diagrams.gcp.network.TrafficDirector**

<img width="30" src="/img/resources/gcp/network/virtual-private-cloud.png" alt="VirtualPrivateCloud" style="float: left; padding-right: 5px;" >
**diagrams.gcp.network.VirtualPrivateCloud**, **VPC** (alias)

<img width="30" src="/img/resources/gcp/network/vpn.png" alt="VPN" style="float: left; padding-right: 5px;" >
**diagrams.gcp.network.VPN**

## gcp.operations

- **diagrams.gcp.operations.Monitoring**

<img width="30" src="/img/resources/gcp/operations/monitoring.png" alt="Monitoring" style="float: left; padding-right: 5px;" >
**diagrams.gcp.operations.Monitoring**

## gcp.security

- **diagrams.gcp.security.Iam**
- **diagrams.gcp.security.IAP**
- **diagrams.gcp.security.KeyManagementService**, **KMS** (alias)
- **diagrams.gcp.security.ResourceManager**
- **diagrams.gcp.security.SecurityCommandCenter**, **SCC** (alias)
- **diagrams.gcp.security.SecurityScanner**

<img width="30" src="/img/resources/gcp/security/iam.png" alt="Iam" style="float: left; padding-right: 5px;" >
**diagrams.gcp.security.Iam**

<img width="30" src="/img/resources/gcp/security/iap.png" alt="IAP" style="float: left; padding-right: 5px;" >
**diagrams.gcp.security.IAP**

<img width="30" src="/img/resources/gcp/security/key-management-service.png" alt="KeyManagementService" style="float: left; padding-right: 5px;" >
**diagrams.gcp.security.KeyManagementService**, **KMS** (alias)

<img width="30" src="/img/resources/gcp/security/resource-manager.png" alt="ResourceManager" style="float: left; padding-right: 5px;" >
**diagrams.gcp.security.ResourceManager**

<img width="30" src="/img/resources/gcp/security/security-command-center.png" alt="SecurityCommandCenter" style="float: left; padding-right: 5px;" >
**diagrams.gcp.security.SecurityCommandCenter**, **SCC** (alias)

<img width="30" src="/img/resources/gcp/security/security-scanner.png" alt="SecurityScanner" style="float: left; padding-right: 5px;" >
**diagrams.gcp.security.SecurityScanner**

## gcp.storage

- **diagrams.gcp.storage.Filestore**
- **diagrams.gcp.storage.PersistentDisk**
- **diagrams.gcp.storage.Storage**, **GCS** (alias)

<img width="30" src="/img/resources/gcp/storage/filestore.png" alt="Filestore" style="float: left; padding-right: 5px;" >
**diagrams.gcp.storage.Filestore**

<img width="30" src="/img/resources/gcp/storage/persistent-disk.png" alt="PersistentDisk" style="float: left; padding-right: 5px;" >
**diagrams.gcp.storage.PersistentDisk**

<img width="30" src="/img/resources/gcp/storage/storage.png" alt="Storage" style="float: left; padding-right: 5px;" >
**diagrams.gcp.storage.Storage**, **GCS** (alias)

+ 75
- 22
docs/nodes/generic.md ファイルの表示

@@ -7,49 +7,102 @@ Node classes list of generic provider.

## generic.blank

- **diagrams.generic.blank.Blank**

<img width="30" src="/img/resources/generic/blank/blank.png" alt="Blank" style="float: left; padding-right: 5px;" >
**diagrams.generic.blank.Blank**

## generic.compute

- **diagrams.generic.compute.Rack**

<img width="30" src="/img/resources/generic/compute/rack.png" alt="Rack" style="float: left; padding-right: 5px;" >
**diagrams.generic.compute.Rack**

## generic.database

- **diagrams.generic.database.SQL**

<img width="30" src="/img/resources/generic/database/sql.png" alt="SQL" style="float: left; padding-right: 5px;" >
**diagrams.generic.database.SQL**

## generic.device

- **diagrams.generic.device.Mobile**
- **diagrams.generic.device.Tablet**

<img width="30" src="/img/resources/generic/device/mobile.png" alt="Mobile" style="float: left; padding-right: 5px;" >
**diagrams.generic.device.Mobile**

<img width="30" src="/img/resources/generic/device/tablet.png" alt="Tablet" style="float: left; padding-right: 5px;" >
**diagrams.generic.device.Tablet**

## generic.network

- **diagrams.generic.network.Firewall**
- **diagrams.generic.network.Router**
- **diagrams.generic.network.Subnet**
- **diagrams.generic.network.Switch**
- **diagrams.generic.network.VPN**

<img width="30" src="/img/resources/generic/network/firewall.png" alt="Firewall" style="float: left; padding-right: 5px;" >
**diagrams.generic.network.Firewall**

<img width="30" src="/img/resources/generic/network/router.png" alt="Router" style="float: left; padding-right: 5px;" >
**diagrams.generic.network.Router**

<img width="30" src="/img/resources/generic/network/subnet.png" alt="Subnet" style="float: left; padding-right: 5px;" >
**diagrams.generic.network.Subnet**

<img width="30" src="/img/resources/generic/network/switch.png" alt="Switch" style="float: left; padding-right: 5px;" >
**diagrams.generic.network.Switch**

<img width="30" src="/img/resources/generic/network/vpn.png" alt="VPN" style="float: left; padding-right: 5px;" >
**diagrams.generic.network.VPN**

## generic.os

- **diagrams.generic.os.Android**
- **diagrams.generic.os.Centos**
- **diagrams.generic.os.IOS**
- **diagrams.generic.os.LinuxGeneral**
- **diagrams.generic.os.Suse**
- **diagrams.generic.os.Ubuntu**
- **diagrams.generic.os.Windows**

<img width="30" src="/img/resources/generic/os/android.png" alt="Android" style="float: left; padding-right: 5px;" >
**diagrams.generic.os.Android**

<img width="30" src="/img/resources/generic/os/centos.png" alt="Centos" style="float: left; padding-right: 5px;" >
**diagrams.generic.os.Centos**

<img width="30" src="/img/resources/generic/os/debian.png" alt="Debian" style="float: left; padding-right: 5px;" >
**diagrams.generic.os.Debian**

<img width="30" src="/img/resources/generic/os/ios.png" alt="IOS" style="float: left; padding-right: 5px;" >
**diagrams.generic.os.IOS**

<img width="30" src="/img/resources/generic/os/linux-general.png" alt="LinuxGeneral" style="float: left; padding-right: 5px;" >
**diagrams.generic.os.LinuxGeneral**

<img width="30" src="/img/resources/generic/os/raspbian.png" alt="Raspbian" style="float: left; padding-right: 5px;" >
**diagrams.generic.os.Raspbian**

<img width="30" src="/img/resources/generic/os/red-hat.png" alt="RedHat" style="float: left; padding-right: 5px;" >
**diagrams.generic.os.RedHat**

<img width="30" src="/img/resources/generic/os/suse.png" alt="Suse" style="float: left; padding-right: 5px;" >
**diagrams.generic.os.Suse**

<img width="30" src="/img/resources/generic/os/ubuntu.png" alt="Ubuntu" style="float: left; padding-right: 5px;" >
**diagrams.generic.os.Ubuntu**

<img width="30" src="/img/resources/generic/os/windows.png" alt="Windows" style="float: left; padding-right: 5px;" >
**diagrams.generic.os.Windows**

## generic.place

- **diagrams.generic.place.Datacenter**

<img width="30" src="/img/resources/generic/place/datacenter.png" alt="Datacenter" style="float: left; padding-right: 5px;" >
**diagrams.generic.place.Datacenter**

## generic.storage

- **diagrams.generic.storage.Storage**

<img width="30" src="/img/resources/generic/storage/storage.png" alt="Storage" style="float: left; padding-right: 5px;" >
**diagrams.generic.storage.Storage**

## generic.virtualization

- **diagrams.generic.virtualization.Virtualbox**
- **diagrams.generic.virtualization.Vmware**
- **diagrams.generic.virtualization.XEN**

<img width="30" src="/img/resources/generic/virtualization/virtualbox.png" alt="Virtualbox" style="float: left; padding-right: 5px;" >
**diagrams.generic.virtualization.Virtualbox**

<img width="30" src="/img/resources/generic/virtualization/vmware.png" alt="Vmware" style="float: left; padding-right: 5px;" >
**diagrams.generic.virtualization.Vmware**

<img width="30" src="/img/resources/generic/virtualization/xen.png" alt="XEN" style="float: left; padding-right: 5px;" >
**diagrams.generic.virtualization.XEN**

+ 540
- 180
docs/nodes/ibm.md ファイルの表示

@@ -7,222 +7,582 @@ Node classes list of ibm provider.

## ibm.analytics

- **diagrams.ibm.analytics.Analytics**
- **diagrams.ibm.analytics.DataIntegration**
- **diagrams.ibm.analytics.DataRepositories**
- **diagrams.ibm.analytics.DeviceAnalytics**
- **diagrams.ibm.analytics.StreamingComputing**

<img width="30" src="/img/resources/ibm/analytics/analytics.png" alt="Analytics" style="float: left; padding-right: 5px;" >
**diagrams.ibm.analytics.Analytics**

<img width="30" src="/img/resources/ibm/analytics/data-integration.png" alt="DataIntegration" style="float: left; padding-right: 5px;" >
**diagrams.ibm.analytics.DataIntegration**

<img width="30" src="/img/resources/ibm/analytics/data-repositories.png" alt="DataRepositories" style="float: left; padding-right: 5px;" >
**diagrams.ibm.analytics.DataRepositories**

<img width="30" src="/img/resources/ibm/analytics/device-analytics.png" alt="DeviceAnalytics" style="float: left; padding-right: 5px;" >
**diagrams.ibm.analytics.DeviceAnalytics**

<img width="30" src="/img/resources/ibm/analytics/streaming-computing.png" alt="StreamingComputing" style="float: left; padding-right: 5px;" >
**diagrams.ibm.analytics.StreamingComputing**

## ibm.applications

- **diagrams.ibm.applications.ActionableInsight**
- **diagrams.ibm.applications.Annotate**
- **diagrams.ibm.applications.ApiDeveloperPortal**
- **diagrams.ibm.applications.ApiPolyglotRuntimes**
- **diagrams.ibm.applications.AppServer**
- **diagrams.ibm.applications.ApplicationLogic**
- **diagrams.ibm.applications.EnterpriseApplications**
- **diagrams.ibm.applications.Index**
- **diagrams.ibm.applications.IotApplication**
- **diagrams.ibm.applications.Microservice**
- **diagrams.ibm.applications.MobileApp**
- **diagrams.ibm.applications.Ontology**
- **diagrams.ibm.applications.OpenSourceTools**
- **diagrams.ibm.applications.RuntimeServices**
- **diagrams.ibm.applications.SaasApplications**
- **diagrams.ibm.applications.ServiceBroker**
- **diagrams.ibm.applications.SpeechToText**
- **diagrams.ibm.applications.VisualRecognition**
- **diagrams.ibm.applications.Visualization**

<img width="30" src="/img/resources/ibm/applications/actionable-insight.png" alt="ActionableInsight" style="float: left; padding-right: 5px;" >
**diagrams.ibm.applications.ActionableInsight**

<img width="30" src="/img/resources/ibm/applications/annotate.png" alt="Annotate" style="float: left; padding-right: 5px;" >
**diagrams.ibm.applications.Annotate**

<img width="30" src="/img/resources/ibm/applications/api-developer-portal.png" alt="ApiDeveloperPortal" style="float: left; padding-right: 5px;" >
**diagrams.ibm.applications.ApiDeveloperPortal**

<img width="30" src="/img/resources/ibm/applications/api-polyglot-runtimes.png" alt="ApiPolyglotRuntimes" style="float: left; padding-right: 5px;" >
**diagrams.ibm.applications.ApiPolyglotRuntimes**

<img width="30" src="/img/resources/ibm/applications/app-server.png" alt="AppServer" style="float: left; padding-right: 5px;" >
**diagrams.ibm.applications.AppServer**

<img width="30" src="/img/resources/ibm/applications/application-logic.png" alt="ApplicationLogic" style="float: left; padding-right: 5px;" >
**diagrams.ibm.applications.ApplicationLogic**

<img width="30" src="/img/resources/ibm/applications/enterprise-applications.png" alt="EnterpriseApplications" style="float: left; padding-right: 5px;" >
**diagrams.ibm.applications.EnterpriseApplications**

<img width="30" src="/img/resources/ibm/applications/index.png" alt="Index" style="float: left; padding-right: 5px;" >
**diagrams.ibm.applications.Index**

<img width="30" src="/img/resources/ibm/applications/iot-application.png" alt="IotApplication" style="float: left; padding-right: 5px;" >
**diagrams.ibm.applications.IotApplication**

<img width="30" src="/img/resources/ibm/applications/microservice.png" alt="Microservice" style="float: left; padding-right: 5px;" >
**diagrams.ibm.applications.Microservice**

<img width="30" src="/img/resources/ibm/applications/mobile-app.png" alt="MobileApp" style="float: left; padding-right: 5px;" >
**diagrams.ibm.applications.MobileApp**

<img width="30" src="/img/resources/ibm/applications/ontology.png" alt="Ontology" style="float: left; padding-right: 5px;" >
**diagrams.ibm.applications.Ontology**

<img width="30" src="/img/resources/ibm/applications/open-source-tools.png" alt="OpenSourceTools" style="float: left; padding-right: 5px;" >
**diagrams.ibm.applications.OpenSourceTools**

<img width="30" src="/img/resources/ibm/applications/runtime-services.png" alt="RuntimeServices" style="float: left; padding-right: 5px;" >
**diagrams.ibm.applications.RuntimeServices**

<img width="30" src="/img/resources/ibm/applications/saas-applications.png" alt="SaasApplications" style="float: left; padding-right: 5px;" >
**diagrams.ibm.applications.SaasApplications**

<img width="30" src="/img/resources/ibm/applications/service-broker.png" alt="ServiceBroker" style="float: left; padding-right: 5px;" >
**diagrams.ibm.applications.ServiceBroker**

<img width="30" src="/img/resources/ibm/applications/speech-to-text.png" alt="SpeechToText" style="float: left; padding-right: 5px;" >
**diagrams.ibm.applications.SpeechToText**

<img width="30" src="/img/resources/ibm/applications/visual-recognition.png" alt="VisualRecognition" style="float: left; padding-right: 5px;" >
**diagrams.ibm.applications.VisualRecognition**

<img width="30" src="/img/resources/ibm/applications/visualization.png" alt="Visualization" style="float: left; padding-right: 5px;" >
**diagrams.ibm.applications.Visualization**

## ibm.blockchain

- **diagrams.ibm.blockchain.BlockchainDeveloper**
- **diagrams.ibm.blockchain.Blockchain**
- **diagrams.ibm.blockchain.CertificateAuthority**
- **diagrams.ibm.blockchain.ClientApplication**
- **diagrams.ibm.blockchain.Communication**
- **diagrams.ibm.blockchain.Consensus**
- **diagrams.ibm.blockchain.EventListener**
- **diagrams.ibm.blockchain.Event**
- **diagrams.ibm.blockchain.ExistingEnterpriseSystems**
- **diagrams.ibm.blockchain.HyperledgerFabric**
- **diagrams.ibm.blockchain.KeyManagement**
- **diagrams.ibm.blockchain.Ledger**
- **diagrams.ibm.blockchain.MembershipServicesProviderApi**
- **diagrams.ibm.blockchain.Membership**
- **diagrams.ibm.blockchain.MessageBus**
- **diagrams.ibm.blockchain.Node**
- **diagrams.ibm.blockchain.Services**
- **diagrams.ibm.blockchain.SmartContract**
- **diagrams.ibm.blockchain.TransactionManager**
- **diagrams.ibm.blockchain.Wallet**

<img width="30" src="/img/resources/ibm/blockchain/blockchain-developer.png" alt="BlockchainDeveloper" style="float: left; padding-right: 5px;" >
**diagrams.ibm.blockchain.BlockchainDeveloper**

<img width="30" src="/img/resources/ibm/blockchain/blockchain.png" alt="Blockchain" style="float: left; padding-right: 5px;" >
**diagrams.ibm.blockchain.Blockchain**

<img width="30" src="/img/resources/ibm/blockchain/certificate-authority.png" alt="CertificateAuthority" style="float: left; padding-right: 5px;" >
**diagrams.ibm.blockchain.CertificateAuthority**

<img width="30" src="/img/resources/ibm/blockchain/client-application.png" alt="ClientApplication" style="float: left; padding-right: 5px;" >
**diagrams.ibm.blockchain.ClientApplication**

<img width="30" src="/img/resources/ibm/blockchain/communication.png" alt="Communication" style="float: left; padding-right: 5px;" >
**diagrams.ibm.blockchain.Communication**

<img width="30" src="/img/resources/ibm/blockchain/consensus.png" alt="Consensus" style="float: left; padding-right: 5px;" >
**diagrams.ibm.blockchain.Consensus**

<img width="30" src="/img/resources/ibm/blockchain/event-listener.png" alt="EventListener" style="float: left; padding-right: 5px;" >
**diagrams.ibm.blockchain.EventListener**

<img width="30" src="/img/resources/ibm/blockchain/event.png" alt="Event" style="float: left; padding-right: 5px;" >
**diagrams.ibm.blockchain.Event**

<img width="30" src="/img/resources/ibm/blockchain/existing-enterprise-systems.png" alt="ExistingEnterpriseSystems" style="float: left; padding-right: 5px;" >
**diagrams.ibm.blockchain.ExistingEnterpriseSystems**

<img width="30" src="/img/resources/ibm/blockchain/hyperledger-fabric.png" alt="HyperledgerFabric" style="float: left; padding-right: 5px;" >
**diagrams.ibm.blockchain.HyperledgerFabric**

<img width="30" src="/img/resources/ibm/blockchain/key-management.png" alt="KeyManagement" style="float: left; padding-right: 5px;" >
**diagrams.ibm.blockchain.KeyManagement**

<img width="30" src="/img/resources/ibm/blockchain/ledger.png" alt="Ledger" style="float: left; padding-right: 5px;" >
**diagrams.ibm.blockchain.Ledger**

<img width="30" src="/img/resources/ibm/blockchain/membership-services-provider-api.png" alt="MembershipServicesProviderApi" style="float: left; padding-right: 5px;" >
**diagrams.ibm.blockchain.MembershipServicesProviderApi**

<img width="30" src="/img/resources/ibm/blockchain/membership.png" alt="Membership" style="float: left; padding-right: 5px;" >
**diagrams.ibm.blockchain.Membership**

<img width="30" src="/img/resources/ibm/blockchain/message-bus.png" alt="MessageBus" style="float: left; padding-right: 5px;" >
**diagrams.ibm.blockchain.MessageBus**

<img width="30" src="/img/resources/ibm/blockchain/node.png" alt="Node" style="float: left; padding-right: 5px;" >
**diagrams.ibm.blockchain.Node**

<img width="30" src="/img/resources/ibm/blockchain/services.png" alt="Services" style="float: left; padding-right: 5px;" >
**diagrams.ibm.blockchain.Services**

<img width="30" src="/img/resources/ibm/blockchain/smart-contract.png" alt="SmartContract" style="float: left; padding-right: 5px;" >
**diagrams.ibm.blockchain.SmartContract**

<img width="30" src="/img/resources/ibm/blockchain/transaction-manager.png" alt="TransactionManager" style="float: left; padding-right: 5px;" >
**diagrams.ibm.blockchain.TransactionManager**

<img width="30" src="/img/resources/ibm/blockchain/wallet.png" alt="Wallet" style="float: left; padding-right: 5px;" >
**diagrams.ibm.blockchain.Wallet**

## ibm.compute

- **diagrams.ibm.compute.BareMetalServer**
- **diagrams.ibm.compute.ImageService**
- **diagrams.ibm.compute.Instance**
- **diagrams.ibm.compute.Key**
- **diagrams.ibm.compute.PowerInstance**

<img width="30" src="/img/resources/ibm/compute/bare-metal-server.png" alt="BareMetalServer" style="float: left; padding-right: 5px;" >
**diagrams.ibm.compute.BareMetalServer**

<img width="30" src="/img/resources/ibm/compute/image-service.png" alt="ImageService" style="float: left; padding-right: 5px;" >
**diagrams.ibm.compute.ImageService**

<img width="30" src="/img/resources/ibm/compute/instance.png" alt="Instance" style="float: left; padding-right: 5px;" >
**diagrams.ibm.compute.Instance**

<img width="30" src="/img/resources/ibm/compute/key.png" alt="Key" style="float: left; padding-right: 5px;" >
**diagrams.ibm.compute.Key**

<img width="30" src="/img/resources/ibm/compute/power-instance.png" alt="PowerInstance" style="float: left; padding-right: 5px;" >
**diagrams.ibm.compute.PowerInstance**

## ibm.data

- **diagrams.ibm.data.Caches**
- **diagrams.ibm.data.Cloud**
- **diagrams.ibm.data.ConversationTrainedDeployed**
- **diagrams.ibm.data.DataServices**
- **diagrams.ibm.data.DataSources**
- **diagrams.ibm.data.DeviceIdentityService**
- **diagrams.ibm.data.DeviceRegistry**
- **diagrams.ibm.data.EnterpriseData**
- **diagrams.ibm.data.EnterpriseUserDirectory**
- **diagrams.ibm.data.FileRepository**
- **diagrams.ibm.data.GroundTruth**
- **diagrams.ibm.data.Model**
- **diagrams.ibm.data.TmsDataInterface**

<img width="30" src="/img/resources/ibm/data/caches.png" alt="Caches" style="float: left; padding-right: 5px;" >
**diagrams.ibm.data.Caches**

<img width="30" src="/img/resources/ibm/data/cloud.png" alt="Cloud" style="float: left; padding-right: 5px;" >
**diagrams.ibm.data.Cloud**

<img width="30" src="/img/resources/ibm/data/conversation-trained-deployed.png" alt="ConversationTrainedDeployed" style="float: left; padding-right: 5px;" >
**diagrams.ibm.data.ConversationTrainedDeployed**

<img width="30" src="/img/resources/ibm/data/data-services.png" alt="DataServices" style="float: left; padding-right: 5px;" >
**diagrams.ibm.data.DataServices**

<img width="30" src="/img/resources/ibm/data/data-sources.png" alt="DataSources" style="float: left; padding-right: 5px;" >
**diagrams.ibm.data.DataSources**

<img width="30" src="/img/resources/ibm/data/device-identity-service.png" alt="DeviceIdentityService" style="float: left; padding-right: 5px;" >
**diagrams.ibm.data.DeviceIdentityService**

<img width="30" src="/img/resources/ibm/data/device-registry.png" alt="DeviceRegistry" style="float: left; padding-right: 5px;" >
**diagrams.ibm.data.DeviceRegistry**

<img width="30" src="/img/resources/ibm/data/enterprise-data.png" alt="EnterpriseData" style="float: left; padding-right: 5px;" >
**diagrams.ibm.data.EnterpriseData**

<img width="30" src="/img/resources/ibm/data/enterprise-user-directory.png" alt="EnterpriseUserDirectory" style="float: left; padding-right: 5px;" >
**diagrams.ibm.data.EnterpriseUserDirectory**

<img width="30" src="/img/resources/ibm/data/file-repository.png" alt="FileRepository" style="float: left; padding-right: 5px;" >
**diagrams.ibm.data.FileRepository**

<img width="30" src="/img/resources/ibm/data/ground-truth.png" alt="GroundTruth" style="float: left; padding-right: 5px;" >
**diagrams.ibm.data.GroundTruth**

<img width="30" src="/img/resources/ibm/data/model.png" alt="Model" style="float: left; padding-right: 5px;" >
**diagrams.ibm.data.Model**

<img width="30" src="/img/resources/ibm/data/tms-data-interface.png" alt="TmsDataInterface" style="float: left; padding-right: 5px;" >
**diagrams.ibm.data.TmsDataInterface**

## ibm.devops

- **diagrams.ibm.devops.ArtifactManagement**
- **diagrams.ibm.devops.BuildTest**
- **diagrams.ibm.devops.CodeEditor**
- **diagrams.ibm.devops.CollaborativeDevelopment**
- **diagrams.ibm.devops.ConfigurationManagement**
- **diagrams.ibm.devops.ContinuousDeploy**
- **diagrams.ibm.devops.ContinuousTesting**
- **diagrams.ibm.devops.Devops**
- **diagrams.ibm.devops.Provision**
- **diagrams.ibm.devops.ReleaseManagement**

<img width="30" src="/img/resources/ibm/devops/artifact-management.png" alt="ArtifactManagement" style="float: left; padding-right: 5px;" >
**diagrams.ibm.devops.ArtifactManagement**

<img width="30" src="/img/resources/ibm/devops/build-test.png" alt="BuildTest" style="float: left; padding-right: 5px;" >
**diagrams.ibm.devops.BuildTest**

<img width="30" src="/img/resources/ibm/devops/code-editor.png" alt="CodeEditor" style="float: left; padding-right: 5px;" >
**diagrams.ibm.devops.CodeEditor**

<img width="30" src="/img/resources/ibm/devops/collaborative-development.png" alt="CollaborativeDevelopment" style="float: left; padding-right: 5px;" >
**diagrams.ibm.devops.CollaborativeDevelopment**

<img width="30" src="/img/resources/ibm/devops/configuration-management.png" alt="ConfigurationManagement" style="float: left; padding-right: 5px;" >
**diagrams.ibm.devops.ConfigurationManagement**

<img width="30" src="/img/resources/ibm/devops/continuous-deploy.png" alt="ContinuousDeploy" style="float: left; padding-right: 5px;" >
**diagrams.ibm.devops.ContinuousDeploy**

<img width="30" src="/img/resources/ibm/devops/continuous-testing.png" alt="ContinuousTesting" style="float: left; padding-right: 5px;" >
**diagrams.ibm.devops.ContinuousTesting**

<img width="30" src="/img/resources/ibm/devops/devops.png" alt="Devops" style="float: left; padding-right: 5px;" >
**diagrams.ibm.devops.Devops**

<img width="30" src="/img/resources/ibm/devops/provision.png" alt="Provision" style="float: left; padding-right: 5px;" >
**diagrams.ibm.devops.Provision**

<img width="30" src="/img/resources/ibm/devops/release-management.png" alt="ReleaseManagement" style="float: left; padding-right: 5px;" >
**diagrams.ibm.devops.ReleaseManagement**

## ibm.general

- **diagrams.ibm.general.CloudMessaging**
- **diagrams.ibm.general.CloudServices**
- **diagrams.ibm.general.Cloudant**
- **diagrams.ibm.general.CognitiveServices**
- **diagrams.ibm.general.DataSecurity**
- **diagrams.ibm.general.Enterprise**
- **diagrams.ibm.general.GovernanceRiskCompliance**
- **diagrams.ibm.general.IBMContainers**
- **diagrams.ibm.general.IBMPublicCloud**
- **diagrams.ibm.general.IdentityAccessManagement**
- **diagrams.ibm.general.IdentityProvider**
- **diagrams.ibm.general.InfrastructureSecurity**
- **diagrams.ibm.general.Internet**
- **diagrams.ibm.general.IotCloud**
- **diagrams.ibm.general.MicroservicesApplication**
- **diagrams.ibm.general.MicroservicesMesh**
- **diagrams.ibm.general.MonitoringLogging**
- **diagrams.ibm.general.Monitoring**
- **diagrams.ibm.general.ObjectStorage**
- **diagrams.ibm.general.OfflineCapabilities**
- **diagrams.ibm.general.Openwhisk**
- **diagrams.ibm.general.PeerCloud**
- **diagrams.ibm.general.RetrieveRank**
- **diagrams.ibm.general.Scalable**
- **diagrams.ibm.general.ServiceDiscoveryConfiguration**
- **diagrams.ibm.general.TextToSpeech**
- **diagrams.ibm.general.TransformationConnectivity**

<img width="30" src="/img/resources/ibm/general/cloud-messaging.png" alt="CloudMessaging" style="float: left; padding-right: 5px;" >
**diagrams.ibm.general.CloudMessaging**

<img width="30" src="/img/resources/ibm/general/cloud-services.png" alt="CloudServices" style="float: left; padding-right: 5px;" >
**diagrams.ibm.general.CloudServices**

<img width="30" src="/img/resources/ibm/general/cloudant.png" alt="Cloudant" style="float: left; padding-right: 5px;" >
**diagrams.ibm.general.Cloudant**

<img width="30" src="/img/resources/ibm/general/cognitive-services.png" alt="CognitiveServices" style="float: left; padding-right: 5px;" >
**diagrams.ibm.general.CognitiveServices**

<img width="30" src="/img/resources/ibm/general/data-security.png" alt="DataSecurity" style="float: left; padding-right: 5px;" >
**diagrams.ibm.general.DataSecurity**

<img width="30" src="/img/resources/ibm/general/enterprise.png" alt="Enterprise" style="float: left; padding-right: 5px;" >
**diagrams.ibm.general.Enterprise**

<img width="30" src="/img/resources/ibm/general/governance-risk-compliance.png" alt="GovernanceRiskCompliance" style="float: left; padding-right: 5px;" >
**diagrams.ibm.general.GovernanceRiskCompliance**

<img width="30" src="/img/resources/ibm/general/ibm-containers.png" alt="IBMContainers" style="float: left; padding-right: 5px;" >
**diagrams.ibm.general.IBMContainers**

<img width="30" src="/img/resources/ibm/general/ibm-public-cloud.png" alt="IBMPublicCloud" style="float: left; padding-right: 5px;" >
**diagrams.ibm.general.IBMPublicCloud**

<img width="30" src="/img/resources/ibm/general/identity-access-management.png" alt="IdentityAccessManagement" style="float: left; padding-right: 5px;" >
**diagrams.ibm.general.IdentityAccessManagement**

<img width="30" src="/img/resources/ibm/general/identity-provider.png" alt="IdentityProvider" style="float: left; padding-right: 5px;" >
**diagrams.ibm.general.IdentityProvider**

<img width="30" src="/img/resources/ibm/general/infrastructure-security.png" alt="InfrastructureSecurity" style="float: left; padding-right: 5px;" >
**diagrams.ibm.general.InfrastructureSecurity**

<img width="30" src="/img/resources/ibm/general/internet.png" alt="Internet" style="float: left; padding-right: 5px;" >
**diagrams.ibm.general.Internet**

<img width="30" src="/img/resources/ibm/general/iot-cloud.png" alt="IotCloud" style="float: left; padding-right: 5px;" >
**diagrams.ibm.general.IotCloud**

<img width="30" src="/img/resources/ibm/general/microservices-application.png" alt="MicroservicesApplication" style="float: left; padding-right: 5px;" >
**diagrams.ibm.general.MicroservicesApplication**

<img width="30" src="/img/resources/ibm/general/microservices-mesh.png" alt="MicroservicesMesh" style="float: left; padding-right: 5px;" >
**diagrams.ibm.general.MicroservicesMesh**

<img width="30" src="/img/resources/ibm/general/monitoring-logging.png" alt="MonitoringLogging" style="float: left; padding-right: 5px;" >
**diagrams.ibm.general.MonitoringLogging**

<img width="30" src="/img/resources/ibm/general/monitoring.png" alt="Monitoring" style="float: left; padding-right: 5px;" >
**diagrams.ibm.general.Monitoring**

<img width="30" src="/img/resources/ibm/general/object-storage.png" alt="ObjectStorage" style="float: left; padding-right: 5px;" >
**diagrams.ibm.general.ObjectStorage**

<img width="30" src="/img/resources/ibm/general/offline-capabilities.png" alt="OfflineCapabilities" style="float: left; padding-right: 5px;" >
**diagrams.ibm.general.OfflineCapabilities**

<img width="30" src="/img/resources/ibm/general/openwhisk.png" alt="Openwhisk" style="float: left; padding-right: 5px;" >
**diagrams.ibm.general.Openwhisk**

<img width="30" src="/img/resources/ibm/general/peer-cloud.png" alt="PeerCloud" style="float: left; padding-right: 5px;" >
**diagrams.ibm.general.PeerCloud**

<img width="30" src="/img/resources/ibm/general/retrieve-rank.png" alt="RetrieveRank" style="float: left; padding-right: 5px;" >
**diagrams.ibm.general.RetrieveRank**

<img width="30" src="/img/resources/ibm/general/scalable.png" alt="Scalable" style="float: left; padding-right: 5px;" >
**diagrams.ibm.general.Scalable**

<img width="30" src="/img/resources/ibm/general/service-discovery-configuration.png" alt="ServiceDiscoveryConfiguration" style="float: left; padding-right: 5px;" >
**diagrams.ibm.general.ServiceDiscoveryConfiguration**

<img width="30" src="/img/resources/ibm/general/text-to-speech.png" alt="TextToSpeech" style="float: left; padding-right: 5px;" >
**diagrams.ibm.general.TextToSpeech**

<img width="30" src="/img/resources/ibm/general/transformation-connectivity.png" alt="TransformationConnectivity" style="float: left; padding-right: 5px;" >
**diagrams.ibm.general.TransformationConnectivity**

## ibm.infrastructure

- **diagrams.ibm.infrastructure.Channels**
- **diagrams.ibm.infrastructure.CloudMessaging**
- **diagrams.ibm.infrastructure.Dashboard**
- **diagrams.ibm.infrastructure.Diagnostics**
- **diagrams.ibm.infrastructure.EdgeServices**
- **diagrams.ibm.infrastructure.EnterpriseMessaging**
- **diagrams.ibm.infrastructure.EventFeed**
- **diagrams.ibm.infrastructure.InfrastructureServices**
- **diagrams.ibm.infrastructure.InterserviceCommunication**
- **diagrams.ibm.infrastructure.LoadBalancingRouting**
- **diagrams.ibm.infrastructure.MicroservicesMesh**
- **diagrams.ibm.infrastructure.MobileBackend**
- **diagrams.ibm.infrastructure.MobileProviderNetwork**
- **diagrams.ibm.infrastructure.MonitoringLogging**
- **diagrams.ibm.infrastructure.Monitoring**
- **diagrams.ibm.infrastructure.PeerServices**
- **diagrams.ibm.infrastructure.ServiceDiscoveryConfiguration**
- **diagrams.ibm.infrastructure.TransformationConnectivity**

<img width="30" src="/img/resources/ibm/infrastructure/channels.png" alt="Channels" style="float: left; padding-right: 5px;" >
**diagrams.ibm.infrastructure.Channels**

<img width="30" src="/img/resources/ibm/infrastructure/cloud-messaging.png" alt="CloudMessaging" style="float: left; padding-right: 5px;" >
**diagrams.ibm.infrastructure.CloudMessaging**

<img width="30" src="/img/resources/ibm/infrastructure/dashboard.png" alt="Dashboard" style="float: left; padding-right: 5px;" >
**diagrams.ibm.infrastructure.Dashboard**

<img width="30" src="/img/resources/ibm/infrastructure/diagnostics.png" alt="Diagnostics" style="float: left; padding-right: 5px;" >
**diagrams.ibm.infrastructure.Diagnostics**

<img width="30" src="/img/resources/ibm/infrastructure/edge-services.png" alt="EdgeServices" style="float: left; padding-right: 5px;" >
**diagrams.ibm.infrastructure.EdgeServices**

<img width="30" src="/img/resources/ibm/infrastructure/enterprise-messaging.png" alt="EnterpriseMessaging" style="float: left; padding-right: 5px;" >
**diagrams.ibm.infrastructure.EnterpriseMessaging**

<img width="30" src="/img/resources/ibm/infrastructure/event-feed.png" alt="EventFeed" style="float: left; padding-right: 5px;" >
**diagrams.ibm.infrastructure.EventFeed**

<img width="30" src="/img/resources/ibm/infrastructure/infrastructure-services.png" alt="InfrastructureServices" style="float: left; padding-right: 5px;" >
**diagrams.ibm.infrastructure.InfrastructureServices**

<img width="30" src="/img/resources/ibm/infrastructure/interservice-communication.png" alt="InterserviceCommunication" style="float: left; padding-right: 5px;" >
**diagrams.ibm.infrastructure.InterserviceCommunication**

<img width="30" src="/img/resources/ibm/infrastructure/load-balancing-routing.png" alt="LoadBalancingRouting" style="float: left; padding-right: 5px;" >
**diagrams.ibm.infrastructure.LoadBalancingRouting**

<img width="30" src="/img/resources/ibm/infrastructure/microservices-mesh.png" alt="MicroservicesMesh" style="float: left; padding-right: 5px;" >
**diagrams.ibm.infrastructure.MicroservicesMesh**

<img width="30" src="/img/resources/ibm/infrastructure/mobile-backend.png" alt="MobileBackend" style="float: left; padding-right: 5px;" >
**diagrams.ibm.infrastructure.MobileBackend**

<img width="30" src="/img/resources/ibm/infrastructure/mobile-provider-network.png" alt="MobileProviderNetwork" style="float: left; padding-right: 5px;" >
**diagrams.ibm.infrastructure.MobileProviderNetwork**

<img width="30" src="/img/resources/ibm/infrastructure/monitoring-logging.png" alt="MonitoringLogging" style="float: left; padding-right: 5px;" >
**diagrams.ibm.infrastructure.MonitoringLogging**

<img width="30" src="/img/resources/ibm/infrastructure/monitoring.png" alt="Monitoring" style="float: left; padding-right: 5px;" >
**diagrams.ibm.infrastructure.Monitoring**

<img width="30" src="/img/resources/ibm/infrastructure/peer-services.png" alt="PeerServices" style="float: left; padding-right: 5px;" >
**diagrams.ibm.infrastructure.PeerServices**

<img width="30" src="/img/resources/ibm/infrastructure/service-discovery-configuration.png" alt="ServiceDiscoveryConfiguration" style="float: left; padding-right: 5px;" >
**diagrams.ibm.infrastructure.ServiceDiscoveryConfiguration**

<img width="30" src="/img/resources/ibm/infrastructure/transformation-connectivity.png" alt="TransformationConnectivity" style="float: left; padding-right: 5px;" >
**diagrams.ibm.infrastructure.TransformationConnectivity**

## ibm.management

- **diagrams.ibm.management.AlertNotification**
- **diagrams.ibm.management.ApiManagement**
- **diagrams.ibm.management.CloudManagement**
- **diagrams.ibm.management.ClusterManagement**
- **diagrams.ibm.management.ContentManagement**
- **diagrams.ibm.management.DataServices**
- **diagrams.ibm.management.DeviceManagement**
- **diagrams.ibm.management.InformationGovernance**
- **diagrams.ibm.management.ItServiceManagement**
- **diagrams.ibm.management.Management**
- **diagrams.ibm.management.MonitoringMetrics**
- **diagrams.ibm.management.ProcessManagement**
- **diagrams.ibm.management.ProviderCloudPortalService**
- **diagrams.ibm.management.PushNotifications**
- **diagrams.ibm.management.ServiceManagementTools**

<img width="30" src="/img/resources/ibm/management/alert-notification.png" alt="AlertNotification" style="float: left; padding-right: 5px;" >
**diagrams.ibm.management.AlertNotification**

<img width="30" src="/img/resources/ibm/management/api-management.png" alt="ApiManagement" style="float: left; padding-right: 5px;" >
**diagrams.ibm.management.ApiManagement**

<img width="30" src="/img/resources/ibm/management/cloud-management.png" alt="CloudManagement" style="float: left; padding-right: 5px;" >
**diagrams.ibm.management.CloudManagement**

<img width="30" src="/img/resources/ibm/management/cluster-management.png" alt="ClusterManagement" style="float: left; padding-right: 5px;" >
**diagrams.ibm.management.ClusterManagement**

<img width="30" src="/img/resources/ibm/management/content-management.png" alt="ContentManagement" style="float: left; padding-right: 5px;" >
**diagrams.ibm.management.ContentManagement**

<img width="30" src="/img/resources/ibm/management/data-services.png" alt="DataServices" style="float: left; padding-right: 5px;" >
**diagrams.ibm.management.DataServices**

<img width="30" src="/img/resources/ibm/management/device-management.png" alt="DeviceManagement" style="float: left; padding-right: 5px;" >
**diagrams.ibm.management.DeviceManagement**

<img width="30" src="/img/resources/ibm/management/information-governance.png" alt="InformationGovernance" style="float: left; padding-right: 5px;" >
**diagrams.ibm.management.InformationGovernance**

<img width="30" src="/img/resources/ibm/management/it-service-management.png" alt="ItServiceManagement" style="float: left; padding-right: 5px;" >
**diagrams.ibm.management.ItServiceManagement**

<img width="30" src="/img/resources/ibm/management/management.png" alt="Management" style="float: left; padding-right: 5px;" >
**diagrams.ibm.management.Management**

<img width="30" src="/img/resources/ibm/management/monitoring-metrics.png" alt="MonitoringMetrics" style="float: left; padding-right: 5px;" >
**diagrams.ibm.management.MonitoringMetrics**

<img width="30" src="/img/resources/ibm/management/process-management.png" alt="ProcessManagement" style="float: left; padding-right: 5px;" >
**diagrams.ibm.management.ProcessManagement**

<img width="30" src="/img/resources/ibm/management/provider-cloud-portal-service.png" alt="ProviderCloudPortalService" style="float: left; padding-right: 5px;" >
**diagrams.ibm.management.ProviderCloudPortalService**

<img width="30" src="/img/resources/ibm/management/push-notifications.png" alt="PushNotifications" style="float: left; padding-right: 5px;" >
**diagrams.ibm.management.PushNotifications**

<img width="30" src="/img/resources/ibm/management/service-management-tools.png" alt="ServiceManagementTools" style="float: left; padding-right: 5px;" >
**diagrams.ibm.management.ServiceManagementTools**

## ibm.network

- **diagrams.ibm.network.Bridge**
- **diagrams.ibm.network.DirectLink**
- **diagrams.ibm.network.Enterprise**
- **diagrams.ibm.network.Firewall**
- **diagrams.ibm.network.FloatingIp**
- **diagrams.ibm.network.Gateway**
- **diagrams.ibm.network.InternetServices**
- **diagrams.ibm.network.LoadBalancerListener**
- **diagrams.ibm.network.LoadBalancerPool**
- **diagrams.ibm.network.LoadBalancer**
- **diagrams.ibm.network.LoadBalancingRouting**
- **diagrams.ibm.network.PublicGateway**
- **diagrams.ibm.network.Region**
- **diagrams.ibm.network.Router**
- **diagrams.ibm.network.Rules**
- **diagrams.ibm.network.Subnet**
- **diagrams.ibm.network.TransitGateway**
- **diagrams.ibm.network.Vpc**
- **diagrams.ibm.network.VpnConnection**
- **diagrams.ibm.network.VpnGateway**
- **diagrams.ibm.network.VpnPolicy**

<img width="30" src="/img/resources/ibm/network/bridge.png" alt="Bridge" style="float: left; padding-right: 5px;" >
**diagrams.ibm.network.Bridge**

<img width="30" src="/img/resources/ibm/network/direct-link.png" alt="DirectLink" style="float: left; padding-right: 5px;" >
**diagrams.ibm.network.DirectLink**

<img width="30" src="/img/resources/ibm/network/enterprise.png" alt="Enterprise" style="float: left; padding-right: 5px;" >
**diagrams.ibm.network.Enterprise**

<img width="30" src="/img/resources/ibm/network/firewall.png" alt="Firewall" style="float: left; padding-right: 5px;" >
**diagrams.ibm.network.Firewall**

<img width="30" src="/img/resources/ibm/network/floating-ip.png" alt="FloatingIp" style="float: left; padding-right: 5px;" >
**diagrams.ibm.network.FloatingIp**

<img width="30" src="/img/resources/ibm/network/gateway.png" alt="Gateway" style="float: left; padding-right: 5px;" >
**diagrams.ibm.network.Gateway**

<img width="30" src="/img/resources/ibm/network/internet-services.png" alt="InternetServices" style="float: left; padding-right: 5px;" >
**diagrams.ibm.network.InternetServices**

<img width="30" src="/img/resources/ibm/network/load-balancer-listener.png" alt="LoadBalancerListener" style="float: left; padding-right: 5px;" >
**diagrams.ibm.network.LoadBalancerListener**

<img width="30" src="/img/resources/ibm/network/load-balancer-pool.png" alt="LoadBalancerPool" style="float: left; padding-right: 5px;" >
**diagrams.ibm.network.LoadBalancerPool**

<img width="30" src="/img/resources/ibm/network/load-balancer.png" alt="LoadBalancer" style="float: left; padding-right: 5px;" >
**diagrams.ibm.network.LoadBalancer**

<img width="30" src="/img/resources/ibm/network/load-balancing-routing.png" alt="LoadBalancingRouting" style="float: left; padding-right: 5px;" >
**diagrams.ibm.network.LoadBalancingRouting**

<img width="30" src="/img/resources/ibm/network/public-gateway.png" alt="PublicGateway" style="float: left; padding-right: 5px;" >
**diagrams.ibm.network.PublicGateway**

<img width="30" src="/img/resources/ibm/network/region.png" alt="Region" style="float: left; padding-right: 5px;" >
**diagrams.ibm.network.Region**

<img width="30" src="/img/resources/ibm/network/router.png" alt="Router" style="float: left; padding-right: 5px;" >
**diagrams.ibm.network.Router**

<img width="30" src="/img/resources/ibm/network/rules.png" alt="Rules" style="float: left; padding-right: 5px;" >
**diagrams.ibm.network.Rules**

<img width="30" src="/img/resources/ibm/network/subnet.png" alt="Subnet" style="float: left; padding-right: 5px;" >
**diagrams.ibm.network.Subnet**

<img width="30" src="/img/resources/ibm/network/transit-gateway.png" alt="TransitGateway" style="float: left; padding-right: 5px;" >
**diagrams.ibm.network.TransitGateway**

<img width="30" src="/img/resources/ibm/network/vpc.png" alt="Vpc" style="float: left; padding-right: 5px;" >
**diagrams.ibm.network.Vpc**

<img width="30" src="/img/resources/ibm/network/vpn-connection.png" alt="VpnConnection" style="float: left; padding-right: 5px;" >
**diagrams.ibm.network.VpnConnection**

<img width="30" src="/img/resources/ibm/network/vpn-gateway.png" alt="VpnGateway" style="float: left; padding-right: 5px;" >
**diagrams.ibm.network.VpnGateway**

<img width="30" src="/img/resources/ibm/network/vpn-policy.png" alt="VpnPolicy" style="float: left; padding-right: 5px;" >
**diagrams.ibm.network.VpnPolicy**

## ibm.security

- **diagrams.ibm.security.ApiSecurity**
- **diagrams.ibm.security.BlockchainSecurityService**
- **diagrams.ibm.security.DataSecurity**
- **diagrams.ibm.security.Firewall**
- **diagrams.ibm.security.Gateway**
- **diagrams.ibm.security.GovernanceRiskCompliance**
- **diagrams.ibm.security.IdentityAccessManagement**
- **diagrams.ibm.security.IdentityProvider**
- **diagrams.ibm.security.InfrastructureSecurity**
- **diagrams.ibm.security.PhysicalSecurity**
- **diagrams.ibm.security.SecurityMonitoringIntelligence**
- **diagrams.ibm.security.SecurityServices**
- **diagrams.ibm.security.TrustendComputing**
- **diagrams.ibm.security.Vpn**

<img width="30" src="/img/resources/ibm/security/api-security.png" alt="ApiSecurity" style="float: left; padding-right: 5px;" >
**diagrams.ibm.security.ApiSecurity**

<img width="30" src="/img/resources/ibm/security/blockchain-security-service.png" alt="BlockchainSecurityService" style="float: left; padding-right: 5px;" >
**diagrams.ibm.security.BlockchainSecurityService**

<img width="30" src="/img/resources/ibm/security/data-security.png" alt="DataSecurity" style="float: left; padding-right: 5px;" >
**diagrams.ibm.security.DataSecurity**

<img width="30" src="/img/resources/ibm/security/firewall.png" alt="Firewall" style="float: left; padding-right: 5px;" >
**diagrams.ibm.security.Firewall**

<img width="30" src="/img/resources/ibm/security/gateway.png" alt="Gateway" style="float: left; padding-right: 5px;" >
**diagrams.ibm.security.Gateway**

<img width="30" src="/img/resources/ibm/security/governance-risk-compliance.png" alt="GovernanceRiskCompliance" style="float: left; padding-right: 5px;" >
**diagrams.ibm.security.GovernanceRiskCompliance**

<img width="30" src="/img/resources/ibm/security/identity-access-management.png" alt="IdentityAccessManagement" style="float: left; padding-right: 5px;" >
**diagrams.ibm.security.IdentityAccessManagement**

<img width="30" src="/img/resources/ibm/security/identity-provider.png" alt="IdentityProvider" style="float: left; padding-right: 5px;" >
**diagrams.ibm.security.IdentityProvider**

<img width="30" src="/img/resources/ibm/security/infrastructure-security.png" alt="InfrastructureSecurity" style="float: left; padding-right: 5px;" >
**diagrams.ibm.security.InfrastructureSecurity**

<img width="30" src="/img/resources/ibm/security/physical-security.png" alt="PhysicalSecurity" style="float: left; padding-right: 5px;" >
**diagrams.ibm.security.PhysicalSecurity**

<img width="30" src="/img/resources/ibm/security/security-monitoring-intelligence.png" alt="SecurityMonitoringIntelligence" style="float: left; padding-right: 5px;" >
**diagrams.ibm.security.SecurityMonitoringIntelligence**

<img width="30" src="/img/resources/ibm/security/security-services.png" alt="SecurityServices" style="float: left; padding-right: 5px;" >
**diagrams.ibm.security.SecurityServices**

<img width="30" src="/img/resources/ibm/security/trustend-computing.png" alt="TrustendComputing" style="float: left; padding-right: 5px;" >
**diagrams.ibm.security.TrustendComputing**

<img width="30" src="/img/resources/ibm/security/vpn.png" alt="Vpn" style="float: left; padding-right: 5px;" >
**diagrams.ibm.security.Vpn**

## ibm.social

- **diagrams.ibm.social.Communities**
- **diagrams.ibm.social.FileSync**
- **diagrams.ibm.social.LiveCollaboration**
- **diagrams.ibm.social.Messaging**
- **diagrams.ibm.social.Networking**

<img width="30" src="/img/resources/ibm/social/communities.png" alt="Communities" style="float: left; padding-right: 5px;" >
**diagrams.ibm.social.Communities**

<img width="30" src="/img/resources/ibm/social/file-sync.png" alt="FileSync" style="float: left; padding-right: 5px;" >
**diagrams.ibm.social.FileSync**

<img width="30" src="/img/resources/ibm/social/live-collaboration.png" alt="LiveCollaboration" style="float: left; padding-right: 5px;" >
**diagrams.ibm.social.LiveCollaboration**

<img width="30" src="/img/resources/ibm/social/messaging.png" alt="Messaging" style="float: left; padding-right: 5px;" >
**diagrams.ibm.social.Messaging**

<img width="30" src="/img/resources/ibm/social/networking.png" alt="Networking" style="float: left; padding-right: 5px;" >
**diagrams.ibm.social.Networking**

## ibm.storage

- **diagrams.ibm.storage.BlockStorage**
- **diagrams.ibm.storage.ObjectStorage**

<img width="30" src="/img/resources/ibm/storage/block-storage.png" alt="BlockStorage" style="float: left; padding-right: 5px;" >
**diagrams.ibm.storage.BlockStorage**

<img width="30" src="/img/resources/ibm/storage/object-storage.png" alt="ObjectStorage" style="float: left; padding-right: 5px;" >
**diagrams.ibm.storage.ObjectStorage**

## ibm.user

- **diagrams.ibm.user.Browser**
- **diagrams.ibm.user.Device**
- **diagrams.ibm.user.IntegratedDigitalExperiences**
- **diagrams.ibm.user.PhysicalEntity**
- **diagrams.ibm.user.Sensor**
- **diagrams.ibm.user.User**

<img width="30" src="/img/resources/ibm/user/browser.png" alt="Browser" style="float: left; padding-right: 5px;" >
**diagrams.ibm.user.Browser**

<img width="30" src="/img/resources/ibm/user/device.png" alt="Device" style="float: left; padding-right: 5px;" >
**diagrams.ibm.user.Device**

<img width="30" src="/img/resources/ibm/user/integrated-digital-experiences.png" alt="IntegratedDigitalExperiences" style="float: left; padding-right: 5px;" >
**diagrams.ibm.user.IntegratedDigitalExperiences**

<img width="30" src="/img/resources/ibm/user/physical-entity.png" alt="PhysicalEntity" style="float: left; padding-right: 5px;" >
**diagrams.ibm.user.PhysicalEntity**

<img width="30" src="/img/resources/ibm/user/sensor.png" alt="Sensor" style="float: left; padding-right: 5px;" >
**diagrams.ibm.user.Sensor**

<img width="30" src="/img/resources/ibm/user/user.png" alt="User" style="float: left; padding-right: 5px;" >
**diagrams.ibm.user.User**

+ 135
- 45
docs/nodes/k8s.md ファイルの表示

@@ -7,81 +7,171 @@ Node classes list of k8s provider.

## k8s.chaos

- **diagrams.k8s.chaos.ChaosMesh**
- **diagrams.k8s.chaos.LitmusChaos**

<img width="30" src="/img/resources/k8s/chaos/chaos-mesh.png" alt="ChaosMesh" style="float: left; padding-right: 5px;" >
**diagrams.k8s.chaos.ChaosMesh**

<img width="30" src="/img/resources/k8s/chaos/litmus-chaos.png" alt="LitmusChaos" style="float: left; padding-right: 5px;" >
**diagrams.k8s.chaos.LitmusChaos**

## k8s.clusterconfig

- **diagrams.k8s.clusterconfig.HPA**, **HorizontalPodAutoscaler** (alias)
- **diagrams.k8s.clusterconfig.Limits**, **LimitRange** (alias)
- **diagrams.k8s.clusterconfig.Quota**

<img width="30" src="/img/resources/k8s/clusterconfig/hpa.png" alt="HPA" style="float: left; padding-right: 5px;" >
**diagrams.k8s.clusterconfig.HPA**, **HorizontalPodAutoscaler** (alias)

<img width="30" src="/img/resources/k8s/clusterconfig/limits.png" alt="Limits" style="float: left; padding-right: 5px;" >
**diagrams.k8s.clusterconfig.Limits**, **LimitRange** (alias)

<img width="30" src="/img/resources/k8s/clusterconfig/quota.png" alt="Quota" style="float: left; padding-right: 5px;" >
**diagrams.k8s.clusterconfig.Quota**

## k8s.compute

- **diagrams.k8s.compute.Cronjob**
- **diagrams.k8s.compute.Deploy**, **Deployment** (alias)
- **diagrams.k8s.compute.DS**, **DaemonSet** (alias)
- **diagrams.k8s.compute.Job**
- **diagrams.k8s.compute.Pod**
- **diagrams.k8s.compute.RS**, **ReplicaSet** (alias)
- **diagrams.k8s.compute.STS**, **StatefulSet** (alias)

<img width="30" src="/img/resources/k8s/compute/cronjob.png" alt="Cronjob" style="float: left; padding-right: 5px;" >
**diagrams.k8s.compute.Cronjob**

<img width="30" src="/img/resources/k8s/compute/deploy.png" alt="Deploy" style="float: left; padding-right: 5px;" >
**diagrams.k8s.compute.Deploy**, **Deployment** (alias)

<img width="30" src="/img/resources/k8s/compute/ds.png" alt="DS" style="float: left; padding-right: 5px;" >
**diagrams.k8s.compute.DS**, **DaemonSet** (alias)

<img width="30" src="/img/resources/k8s/compute/job.png" alt="Job" style="float: left; padding-right: 5px;" >
**diagrams.k8s.compute.Job**

<img width="30" src="/img/resources/k8s/compute/pod.png" alt="Pod" style="float: left; padding-right: 5px;" >
**diagrams.k8s.compute.Pod**

<img width="30" src="/img/resources/k8s/compute/rs.png" alt="RS" style="float: left; padding-right: 5px;" >
**diagrams.k8s.compute.RS**, **ReplicaSet** (alias)

<img width="30" src="/img/resources/k8s/compute/sts.png" alt="STS" style="float: left; padding-right: 5px;" >
**diagrams.k8s.compute.STS**, **StatefulSet** (alias)

## k8s.controlplane

- **diagrams.k8s.controlplane.API**, **APIServer** (alias)
- **diagrams.k8s.controlplane.CCM**
- **diagrams.k8s.controlplane.CM**, **ControllerManager** (alias)
- **diagrams.k8s.controlplane.KProxy**, **KubeProxy** (alias)
- **diagrams.k8s.controlplane.Kubelet**
- **diagrams.k8s.controlplane.Sched**, **Scheduler** (alias)

<img width="30" src="/img/resources/k8s/controlplane/api.png" alt="API" style="float: left; padding-right: 5px;" >
**diagrams.k8s.controlplane.API**, **APIServer** (alias)

<img width="30" src="/img/resources/k8s/controlplane/c-c-m.png" alt="CCM" style="float: left; padding-right: 5px;" >
**diagrams.k8s.controlplane.CCM**

<img width="30" src="/img/resources/k8s/controlplane/c-m.png" alt="CM" style="float: left; padding-right: 5px;" >
**diagrams.k8s.controlplane.CM**, **ControllerManager** (alias)

<img width="30" src="/img/resources/k8s/controlplane/k-proxy.png" alt="KProxy" style="float: left; padding-right: 5px;" >
**diagrams.k8s.controlplane.KProxy**, **KubeProxy** (alias)

<img width="30" src="/img/resources/k8s/controlplane/kubelet.png" alt="Kubelet" style="float: left; padding-right: 5px;" >
**diagrams.k8s.controlplane.Kubelet**

<img width="30" src="/img/resources/k8s/controlplane/sched.png" alt="Sched" style="float: left; padding-right: 5px;" >
**diagrams.k8s.controlplane.Sched**, **Scheduler** (alias)

## k8s.ecosystem

- **diagrams.k8s.ecosystem.ExternalDns**
- **diagrams.k8s.ecosystem.Helm**
- **diagrams.k8s.ecosystem.Krew**
- **diagrams.k8s.ecosystem.Kustomize**

<img width="30" src="/img/resources/k8s/ecosystem/external-dns.png" alt="ExternalDns" style="float: left; padding-right: 5px;" >
**diagrams.k8s.ecosystem.ExternalDns**

<img width="30" src="/img/resources/k8s/ecosystem/helm.png" alt="Helm" style="float: left; padding-right: 5px;" >
**diagrams.k8s.ecosystem.Helm**

<img width="30" src="/img/resources/k8s/ecosystem/krew.png" alt="Krew" style="float: left; padding-right: 5px;" >
**diagrams.k8s.ecosystem.Krew**

<img width="30" src="/img/resources/k8s/ecosystem/kustomize.png" alt="Kustomize" style="float: left; padding-right: 5px;" >
**diagrams.k8s.ecosystem.Kustomize**

## k8s.group

- **diagrams.k8s.group.NS**, **Namespace** (alias)

<img width="30" src="/img/resources/k8s/group/ns.png" alt="NS" style="float: left; padding-right: 5px;" >
**diagrams.k8s.group.NS**, **Namespace** (alias)

## k8s.infra

- **diagrams.k8s.infra.ETCD**
- **diagrams.k8s.infra.Master**
- **diagrams.k8s.infra.Node**

<img width="30" src="/img/resources/k8s/infra/etcd.png" alt="ETCD" style="float: left; padding-right: 5px;" >
**diagrams.k8s.infra.ETCD**

<img width="30" src="/img/resources/k8s/infra/master.png" alt="Master" style="float: left; padding-right: 5px;" >
**diagrams.k8s.infra.Master**

<img width="30" src="/img/resources/k8s/infra/node.png" alt="Node" style="float: left; padding-right: 5px;" >
**diagrams.k8s.infra.Node**

## k8s.network

- **diagrams.k8s.network.Ep**, **Endpoint** (alias)
- **diagrams.k8s.network.Ing**, **Ingress** (alias)
- **diagrams.k8s.network.Netpol**, **NetworkPolicy** (alias)
- **diagrams.k8s.network.SVC**, **Service** (alias)

<img width="30" src="/img/resources/k8s/network/ep.png" alt="Ep" style="float: left; padding-right: 5px;" >
**diagrams.k8s.network.Ep**, **Endpoint** (alias)

<img width="30" src="/img/resources/k8s/network/ing.png" alt="Ing" style="float: left; padding-right: 5px;" >
**diagrams.k8s.network.Ing**, **Ingress** (alias)

<img width="30" src="/img/resources/k8s/network/netpol.png" alt="Netpol" style="float: left; padding-right: 5px;" >
**diagrams.k8s.network.Netpol**, **NetworkPolicy** (alias)

<img width="30" src="/img/resources/k8s/network/svc.png" alt="SVC" style="float: left; padding-right: 5px;" >
**diagrams.k8s.network.SVC**, **Service** (alias)

## k8s.others

- **diagrams.k8s.others.CRD**
- **diagrams.k8s.others.PSP**

<img width="30" src="/img/resources/k8s/others/crd.png" alt="CRD" style="float: left; padding-right: 5px;" >
**diagrams.k8s.others.CRD**

<img width="30" src="/img/resources/k8s/others/psp.png" alt="PSP" style="float: left; padding-right: 5px;" >
**diagrams.k8s.others.PSP**

## k8s.podconfig

- **diagrams.k8s.podconfig.CM**, **ConfigMap** (alias)
- **diagrams.k8s.podconfig.Secret**

<img width="30" src="/img/resources/k8s/podconfig/cm.png" alt="CM" style="float: left; padding-right: 5px;" >
**diagrams.k8s.podconfig.CM**, **ConfigMap** (alias)

<img width="30" src="/img/resources/k8s/podconfig/secret.png" alt="Secret" style="float: left; padding-right: 5px;" >
**diagrams.k8s.podconfig.Secret**

## k8s.rbac

- **diagrams.k8s.rbac.CRole**, **ClusterRole** (alias)
- **diagrams.k8s.rbac.CRB**, **ClusterRoleBinding** (alias)
- **diagrams.k8s.rbac.Group**
- **diagrams.k8s.rbac.RB**, **RoleBinding** (alias)
- **diagrams.k8s.rbac.Role**
- **diagrams.k8s.rbac.SA**, **ServiceAccount** (alias)
- **diagrams.k8s.rbac.User**

<img width="30" src="/img/resources/k8s/rbac/c-role.png" alt="CRole" style="float: left; padding-right: 5px;" >
**diagrams.k8s.rbac.CRole**, **ClusterRole** (alias)

<img width="30" src="/img/resources/k8s/rbac/crb.png" alt="CRB" style="float: left; padding-right: 5px;" >
**diagrams.k8s.rbac.CRB**, **ClusterRoleBinding** (alias)

<img width="30" src="/img/resources/k8s/rbac/group.png" alt="Group" style="float: left; padding-right: 5px;" >
**diagrams.k8s.rbac.Group**

<img width="30" src="/img/resources/k8s/rbac/rb.png" alt="RB" style="float: left; padding-right: 5px;" >
**diagrams.k8s.rbac.RB**, **RoleBinding** (alias)

<img width="30" src="/img/resources/k8s/rbac/role.png" alt="Role" style="float: left; padding-right: 5px;" >
**diagrams.k8s.rbac.Role**

<img width="30" src="/img/resources/k8s/rbac/sa.png" alt="SA" style="float: left; padding-right: 5px;" >
**diagrams.k8s.rbac.SA**, **ServiceAccount** (alias)

<img width="30" src="/img/resources/k8s/rbac/user.png" alt="User" style="float: left; padding-right: 5px;" >
**diagrams.k8s.rbac.User**

## k8s.storage

- **diagrams.k8s.storage.PV**, **PersistentVolume** (alias)
- **diagrams.k8s.storage.PVC**, **PersistentVolumeClaim** (alias)
- **diagrams.k8s.storage.SC**, **StorageClass** (alias)
- **diagrams.k8s.storage.Vol**, **Volume** (alias)

<img width="30" src="/img/resources/k8s/storage/pv.png" alt="PV" style="float: left; padding-right: 5px;" >
**diagrams.k8s.storage.PV**, **PersistentVolume** (alias)

<img width="30" src="/img/resources/k8s/storage/pvc.png" alt="PVC" style="float: left; padding-right: 5px;" >
**diagrams.k8s.storage.PVC**, **PersistentVolumeClaim** (alias)

<img width="30" src="/img/resources/k8s/storage/sc.png" alt="SC" style="float: left; padding-right: 5px;" >
**diagrams.k8s.storage.SC**, **StorageClass** (alias)

<img width="30" src="/img/resources/k8s/storage/vol.png" alt="Vol" style="float: left; padding-right: 5px;" >
**diagrams.k8s.storage.Vol**, **Volume** (alias)

+ 420
- 140
docs/nodes/oci.md ファイルの表示

@@ -7,167 +7,447 @@ Node classes list of oci provider.

## oci.compute

- **diagrams.oci.compute.AutoscaleWhite**
- **diagrams.oci.compute.Autoscale**
- **diagrams.oci.compute.BMWhite**, **BareMetalWhite** (alias)
- **diagrams.oci.compute.BM**, **BareMetal** (alias)
- **diagrams.oci.compute.ContainerWhite**
- **diagrams.oci.compute.Container**
- **diagrams.oci.compute.FunctionsWhite**
- **diagrams.oci.compute.Functions**
- **diagrams.oci.compute.InstancePoolsWhite**
- **diagrams.oci.compute.InstancePools**
- **diagrams.oci.compute.OCIRWhite**, **OCIRegistryWhite** (alias)
- **diagrams.oci.compute.OCIR**, **OCIRegistry** (alias)
- **diagrams.oci.compute.OKEWhite**, **ContainerEngineWhite** (alias)
- **diagrams.oci.compute.OKE**, **ContainerEngine** (alias)
- **diagrams.oci.compute.VMWhite**, **VirtualMachineWhite** (alias)
- **diagrams.oci.compute.VM**, **VirtualMachine** (alias)

<img width="30" src="/img/resources/oci/compute/autoscale-white.png" alt="AutoscaleWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.compute.AutoscaleWhite**

<img width="30" src="/img/resources/oci/compute/autoscale.png" alt="Autoscale" style="float: left; padding-right: 5px;" >
**diagrams.oci.compute.Autoscale**

<img width="30" src="/img/resources/oci/compute/bm-white.png" alt="BMWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.compute.BMWhite**, **BareMetalWhite** (alias)

<img width="30" src="/img/resources/oci/compute/bm.png" alt="BM" style="float: left; padding-right: 5px;" >
**diagrams.oci.compute.BM**, **BareMetal** (alias)

<img width="30" src="/img/resources/oci/compute/container-white.png" alt="ContainerWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.compute.ContainerWhite**

<img width="30" src="/img/resources/oci/compute/container.png" alt="Container" style="float: left; padding-right: 5px;" >
**diagrams.oci.compute.Container**

<img width="30" src="/img/resources/oci/compute/functions-white.png" alt="FunctionsWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.compute.FunctionsWhite**

<img width="30" src="/img/resources/oci/compute/functions.png" alt="Functions" style="float: left; padding-right: 5px;" >
**diagrams.oci.compute.Functions**

<img width="30" src="/img/resources/oci/compute/instance-pools-white.png" alt="InstancePoolsWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.compute.InstancePoolsWhite**

<img width="30" src="/img/resources/oci/compute/instance-pools.png" alt="InstancePools" style="float: left; padding-right: 5px;" >
**diagrams.oci.compute.InstancePools**

<img width="30" src="/img/resources/oci/compute/ocir-white.png" alt="OCIRWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.compute.OCIRWhite**, **OCIRegistryWhite** (alias)

<img width="30" src="/img/resources/oci/compute/ocir.png" alt="OCIR" style="float: left; padding-right: 5px;" >
**diagrams.oci.compute.OCIR**, **OCIRegistry** (alias)

<img width="30" src="/img/resources/oci/compute/oke-white.png" alt="OKEWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.compute.OKEWhite**, **ContainerEngineWhite** (alias)

<img width="30" src="/img/resources/oci/compute/oke.png" alt="OKE" style="float: left; padding-right: 5px;" >
**diagrams.oci.compute.OKE**, **ContainerEngine** (alias)

<img width="30" src="/img/resources/oci/compute/vm-white.png" alt="VMWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.compute.VMWhite**, **VirtualMachineWhite** (alias)

<img width="30" src="/img/resources/oci/compute/vm.png" alt="VM" style="float: left; padding-right: 5px;" >
**diagrams.oci.compute.VM**, **VirtualMachine** (alias)

## oci.connectivity

- **diagrams.oci.connectivity.BackboneWhite**
- **diagrams.oci.connectivity.Backbone**
- **diagrams.oci.connectivity.CDNWhite**
- **diagrams.oci.connectivity.CDN**
- **diagrams.oci.connectivity.CustomerDatacenter**
- **diagrams.oci.connectivity.CustomerDatacntrWhite**
- **diagrams.oci.connectivity.CustomerPremiseWhite**
- **diagrams.oci.connectivity.CustomerPremise**
- **diagrams.oci.connectivity.DisconnectedRegionsWhite**
- **diagrams.oci.connectivity.DisconnectedRegions**
- **diagrams.oci.connectivity.DNSWhite**
- **diagrams.oci.connectivity.DNS**
- **diagrams.oci.connectivity.FastConnectWhite**
- **diagrams.oci.connectivity.FastConnect**
- **diagrams.oci.connectivity.NATGatewayWhite**
- **diagrams.oci.connectivity.NATGateway**
- **diagrams.oci.connectivity.VPNWhite**
- **diagrams.oci.connectivity.VPN**

<img width="30" src="/img/resources/oci/connectivity/backbone-white.png" alt="BackboneWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.connectivity.BackboneWhite**

<img width="30" src="/img/resources/oci/connectivity/backbone.png" alt="Backbone" style="float: left; padding-right: 5px;" >
**diagrams.oci.connectivity.Backbone**

<img width="30" src="/img/resources/oci/connectivity/cdn-white.png" alt="CDNWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.connectivity.CDNWhite**

<img width="30" src="/img/resources/oci/connectivity/cdn.png" alt="CDN" style="float: left; padding-right: 5px;" >
**diagrams.oci.connectivity.CDN**

<img width="30" src="/img/resources/oci/connectivity/customer-datacenter.png" alt="CustomerDatacenter" style="float: left; padding-right: 5px;" >
**diagrams.oci.connectivity.CustomerDatacenter**

<img width="30" src="/img/resources/oci/connectivity/customer-datacntr-white.png" alt="CustomerDatacntrWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.connectivity.CustomerDatacntrWhite**

<img width="30" src="/img/resources/oci/connectivity/customer-premise-white.png" alt="CustomerPremiseWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.connectivity.CustomerPremiseWhite**

<img width="30" src="/img/resources/oci/connectivity/customer-premise.png" alt="CustomerPremise" style="float: left; padding-right: 5px;" >
**diagrams.oci.connectivity.CustomerPremise**

<img width="30" src="/img/resources/oci/connectivity/disconnected-regions-white.png" alt="DisconnectedRegionsWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.connectivity.DisconnectedRegionsWhite**

<img width="30" src="/img/resources/oci/connectivity/disconnected-regions.png" alt="DisconnectedRegions" style="float: left; padding-right: 5px;" >
**diagrams.oci.connectivity.DisconnectedRegions**

<img width="30" src="/img/resources/oci/connectivity/dns-white.png" alt="DNSWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.connectivity.DNSWhite**

<img width="30" src="/img/resources/oci/connectivity/dns.png" alt="DNS" style="float: left; padding-right: 5px;" >
**diagrams.oci.connectivity.DNS**

<img width="30" src="/img/resources/oci/connectivity/fast-connect-white.png" alt="FastConnectWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.connectivity.FastConnectWhite**

<img width="30" src="/img/resources/oci/connectivity/fast-connect.png" alt="FastConnect" style="float: left; padding-right: 5px;" >
**diagrams.oci.connectivity.FastConnect**

<img width="30" src="/img/resources/oci/connectivity/nat-gateway-white.png" alt="NATGatewayWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.connectivity.NATGatewayWhite**

<img width="30" src="/img/resources/oci/connectivity/nat-gateway.png" alt="NATGateway" style="float: left; padding-right: 5px;" >
**diagrams.oci.connectivity.NATGateway**

<img width="30" src="/img/resources/oci/connectivity/vpn-white.png" alt="VPNWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.connectivity.VPNWhite**

<img width="30" src="/img/resources/oci/connectivity/vpn.png" alt="VPN" style="float: left; padding-right: 5px;" >
**diagrams.oci.connectivity.VPN**

## oci.database

- **diagrams.oci.database.AutonomousWhite**, **ADBWhite** (alias)
- **diagrams.oci.database.Autonomous**, **ADB** (alias)
- **diagrams.oci.database.BigdataServiceWhite**
- **diagrams.oci.database.BigdataService**
- **diagrams.oci.database.DatabaseServiceWhite**, **DBServiceWhite** (alias)
- **diagrams.oci.database.DatabaseService**, **DBService** (alias)
- **diagrams.oci.database.DataflowApacheWhite**
- **diagrams.oci.database.DataflowApache**
- **diagrams.oci.database.DcatWhite**
- **diagrams.oci.database.Dcat**
- **diagrams.oci.database.DisWhite**
- **diagrams.oci.database.Dis**
- **diagrams.oci.database.DMSWhite**
- **diagrams.oci.database.DMS**
- **diagrams.oci.database.ScienceWhite**
- **diagrams.oci.database.Science**
- **diagrams.oci.database.StreamWhite**
- **diagrams.oci.database.Stream**

<img width="30" src="/img/resources/oci/database/autonomous-white.png" alt="AutonomousWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.database.AutonomousWhite**, **ADBWhite** (alias)

<img width="30" src="/img/resources/oci/database/autonomous.png" alt="Autonomous" style="float: left; padding-right: 5px;" >
**diagrams.oci.database.Autonomous**, **ADB** (alias)

<img width="30" src="/img/resources/oci/database/bigdata-service-white.png" alt="BigdataServiceWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.database.BigdataServiceWhite**

<img width="30" src="/img/resources/oci/database/bigdata-service.png" alt="BigdataService" style="float: left; padding-right: 5px;" >
**diagrams.oci.database.BigdataService**

<img width="30" src="/img/resources/oci/database/database-service-white.png" alt="DatabaseServiceWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.database.DatabaseServiceWhite**, **DBServiceWhite** (alias)

<img width="30" src="/img/resources/oci/database/database-service.png" alt="DatabaseService" style="float: left; padding-right: 5px;" >
**diagrams.oci.database.DatabaseService**, **DBService** (alias)

<img width="30" src="/img/resources/oci/database/dataflow-apache-white.png" alt="DataflowApacheWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.database.DataflowApacheWhite**

<img width="30" src="/img/resources/oci/database/dataflow-apache.png" alt="DataflowApache" style="float: left; padding-right: 5px;" >
**diagrams.oci.database.DataflowApache**

<img width="30" src="/img/resources/oci/database/dcat-white.png" alt="DcatWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.database.DcatWhite**

<img width="30" src="/img/resources/oci/database/dcat.png" alt="Dcat" style="float: left; padding-right: 5px;" >
**diagrams.oci.database.Dcat**

<img width="30" src="/img/resources/oci/database/dis-white.png" alt="DisWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.database.DisWhite**

<img width="30" src="/img/resources/oci/database/dis.png" alt="Dis" style="float: left; padding-right: 5px;" >
**diagrams.oci.database.Dis**

<img width="30" src="/img/resources/oci/database/dms-white.png" alt="DMSWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.database.DMSWhite**

<img width="30" src="/img/resources/oci/database/dms.png" alt="DMS" style="float: left; padding-right: 5px;" >
**diagrams.oci.database.DMS**

<img width="30" src="/img/resources/oci/database/science-white.png" alt="ScienceWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.database.ScienceWhite**

<img width="30" src="/img/resources/oci/database/science.png" alt="Science" style="float: left; padding-right: 5px;" >
**diagrams.oci.database.Science**

<img width="30" src="/img/resources/oci/database/stream-white.png" alt="StreamWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.database.StreamWhite**

<img width="30" src="/img/resources/oci/database/stream.png" alt="Stream" style="float: left; padding-right: 5px;" >
**diagrams.oci.database.Stream**

## oci.devops

- **diagrams.oci.devops.APIGatewayWhite**
- **diagrams.oci.devops.APIGateway**
- **diagrams.oci.devops.APIServiceWhite**
- **diagrams.oci.devops.APIService**
- **diagrams.oci.devops.ResourceMgmtWhite**
- **diagrams.oci.devops.ResourceMgmt**

<img width="30" src="/img/resources/oci/devops/api-gateway-white.png" alt="APIGatewayWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.devops.APIGatewayWhite**

<img width="30" src="/img/resources/oci/devops/api-gateway.png" alt="APIGateway" style="float: left; padding-right: 5px;" >
**diagrams.oci.devops.APIGateway**

<img width="30" src="/img/resources/oci/devops/api-service-white.png" alt="APIServiceWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.devops.APIServiceWhite**

<img width="30" src="/img/resources/oci/devops/api-service.png" alt="APIService" style="float: left; padding-right: 5px;" >
**diagrams.oci.devops.APIService**

<img width="30" src="/img/resources/oci/devops/resource-mgmt-white.png" alt="ResourceMgmtWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.devops.ResourceMgmtWhite**

<img width="30" src="/img/resources/oci/devops/resource-mgmt.png" alt="ResourceMgmt" style="float: left; padding-right: 5px;" >
**diagrams.oci.devops.ResourceMgmt**

## oci.governance

- **diagrams.oci.governance.AuditWhite**
- **diagrams.oci.governance.Audit**
- **diagrams.oci.governance.CompartmentsWhite**
- **diagrams.oci.governance.Compartments**
- **diagrams.oci.governance.GroupsWhite**
- **diagrams.oci.governance.Groups**
- **diagrams.oci.governance.LoggingWhite**
- **diagrams.oci.governance.Logging**
- **diagrams.oci.governance.OCIDWhite**
- **diagrams.oci.governance.OCID**
- **diagrams.oci.governance.PoliciesWhite**
- **diagrams.oci.governance.Policies**
- **diagrams.oci.governance.TaggingWhite**
- **diagrams.oci.governance.Tagging**

<img width="30" src="/img/resources/oci/governance/audit-white.png" alt="AuditWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.governance.AuditWhite**

<img width="30" src="/img/resources/oci/governance/audit.png" alt="Audit" style="float: left; padding-right: 5px;" >
**diagrams.oci.governance.Audit**

<img width="30" src="/img/resources/oci/governance/compartments-white.png" alt="CompartmentsWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.governance.CompartmentsWhite**

<img width="30" src="/img/resources/oci/governance/compartments.png" alt="Compartments" style="float: left; padding-right: 5px;" >
**diagrams.oci.governance.Compartments**

<img width="30" src="/img/resources/oci/governance/groups-white.png" alt="GroupsWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.governance.GroupsWhite**

<img width="30" src="/img/resources/oci/governance/groups.png" alt="Groups" style="float: left; padding-right: 5px;" >
**diagrams.oci.governance.Groups**

<img width="30" src="/img/resources/oci/governance/logging-white.png" alt="LoggingWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.governance.LoggingWhite**

<img width="30" src="/img/resources/oci/governance/logging.png" alt="Logging" style="float: left; padding-right: 5px;" >
**diagrams.oci.governance.Logging**

<img width="30" src="/img/resources/oci/governance/ocid-white.png" alt="OCIDWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.governance.OCIDWhite**

<img width="30" src="/img/resources/oci/governance/ocid.png" alt="OCID" style="float: left; padding-right: 5px;" >
**diagrams.oci.governance.OCID**

<img width="30" src="/img/resources/oci/governance/policies-white.png" alt="PoliciesWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.governance.PoliciesWhite**

<img width="30" src="/img/resources/oci/governance/policies.png" alt="Policies" style="float: left; padding-right: 5px;" >
**diagrams.oci.governance.Policies**

<img width="30" src="/img/resources/oci/governance/tagging-white.png" alt="TaggingWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.governance.TaggingWhite**

<img width="30" src="/img/resources/oci/governance/tagging.png" alt="Tagging" style="float: left; padding-right: 5px;" >
**diagrams.oci.governance.Tagging**

## oci.monitoring

- **diagrams.oci.monitoring.AlarmWhite**
- **diagrams.oci.monitoring.Alarm**
- **diagrams.oci.monitoring.EmailWhite**
- **diagrams.oci.monitoring.Email**
- **diagrams.oci.monitoring.EventsWhite**
- **diagrams.oci.monitoring.Events**
- **diagrams.oci.monitoring.HealthCheckWhite**
- **diagrams.oci.monitoring.HealthCheck**
- **diagrams.oci.monitoring.NotificationsWhite**
- **diagrams.oci.monitoring.Notifications**
- **diagrams.oci.monitoring.QueueWhite**
- **diagrams.oci.monitoring.Queue**
- **diagrams.oci.monitoring.SearchWhite**
- **diagrams.oci.monitoring.Search**
- **diagrams.oci.monitoring.TelemetryWhite**
- **diagrams.oci.monitoring.Telemetry**
- **diagrams.oci.monitoring.WorkflowWhite**
- **diagrams.oci.monitoring.Workflow**

<img width="30" src="/img/resources/oci/monitoring/alarm-white.png" alt="AlarmWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.monitoring.AlarmWhite**

<img width="30" src="/img/resources/oci/monitoring/alarm.png" alt="Alarm" style="float: left; padding-right: 5px;" >
**diagrams.oci.monitoring.Alarm**

<img width="30" src="/img/resources/oci/monitoring/email-white.png" alt="EmailWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.monitoring.EmailWhite**

<img width="30" src="/img/resources/oci/monitoring/email.png" alt="Email" style="float: left; padding-right: 5px;" >
**diagrams.oci.monitoring.Email**

<img width="30" src="/img/resources/oci/monitoring/events-white.png" alt="EventsWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.monitoring.EventsWhite**

<img width="30" src="/img/resources/oci/monitoring/events.png" alt="Events" style="float: left; padding-right: 5px;" >
**diagrams.oci.monitoring.Events**

<img width="30" src="/img/resources/oci/monitoring/health-check-white.png" alt="HealthCheckWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.monitoring.HealthCheckWhite**

<img width="30" src="/img/resources/oci/monitoring/health-check.png" alt="HealthCheck" style="float: left; padding-right: 5px;" >
**diagrams.oci.monitoring.HealthCheck**

<img width="30" src="/img/resources/oci/monitoring/notifications-white.png" alt="NotificationsWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.monitoring.NotificationsWhite**

<img width="30" src="/img/resources/oci/monitoring/notifications.png" alt="Notifications" style="float: left; padding-right: 5px;" >
**diagrams.oci.monitoring.Notifications**

<img width="30" src="/img/resources/oci/monitoring/queue-white.png" alt="QueueWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.monitoring.QueueWhite**

<img width="30" src="/img/resources/oci/monitoring/queue.png" alt="Queue" style="float: left; padding-right: 5px;" >
**diagrams.oci.monitoring.Queue**

<img width="30" src="/img/resources/oci/monitoring/search-white.png" alt="SearchWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.monitoring.SearchWhite**

<img width="30" src="/img/resources/oci/monitoring/search.png" alt="Search" style="float: left; padding-right: 5px;" >
**diagrams.oci.monitoring.Search**

<img width="30" src="/img/resources/oci/monitoring/telemetry-white.png" alt="TelemetryWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.monitoring.TelemetryWhite**

<img width="30" src="/img/resources/oci/monitoring/telemetry.png" alt="Telemetry" style="float: left; padding-right: 5px;" >
**diagrams.oci.monitoring.Telemetry**

<img width="30" src="/img/resources/oci/monitoring/workflow-white.png" alt="WorkflowWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.monitoring.WorkflowWhite**

<img width="30" src="/img/resources/oci/monitoring/workflow.png" alt="Workflow" style="float: left; padding-right: 5px;" >
**diagrams.oci.monitoring.Workflow**

## oci.network

- **diagrams.oci.network.DrgWhite**
- **diagrams.oci.network.Drg**
- **diagrams.oci.network.FirewallWhite**
- **diagrams.oci.network.Firewall**
- **diagrams.oci.network.InternetGatewayWhite**
- **diagrams.oci.network.InternetGateway**
- **diagrams.oci.network.LoadBalancerWhite**
- **diagrams.oci.network.LoadBalancer**
- **diagrams.oci.network.RouteTableWhite**
- **diagrams.oci.network.RouteTable**
- **diagrams.oci.network.SecurityListsWhite**
- **diagrams.oci.network.SecurityLists**
- **diagrams.oci.network.ServiceGatewayWhite**
- **diagrams.oci.network.ServiceGateway**
- **diagrams.oci.network.VcnWhite**
- **diagrams.oci.network.Vcn**

<img width="30" src="/img/resources/oci/network/drg-white.png" alt="DrgWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.network.DrgWhite**

<img width="30" src="/img/resources/oci/network/drg.png" alt="Drg" style="float: left; padding-right: 5px;" >
**diagrams.oci.network.Drg**

<img width="30" src="/img/resources/oci/network/firewall-white.png" alt="FirewallWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.network.FirewallWhite**

<img width="30" src="/img/resources/oci/network/firewall.png" alt="Firewall" style="float: left; padding-right: 5px;" >
**diagrams.oci.network.Firewall**

<img width="30" src="/img/resources/oci/network/internet-gateway-white.png" alt="InternetGatewayWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.network.InternetGatewayWhite**

<img width="30" src="/img/resources/oci/network/internet-gateway.png" alt="InternetGateway" style="float: left; padding-right: 5px;" >
**diagrams.oci.network.InternetGateway**

<img width="30" src="/img/resources/oci/network/load-balancer-white.png" alt="LoadBalancerWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.network.LoadBalancerWhite**

<img width="30" src="/img/resources/oci/network/load-balancer.png" alt="LoadBalancer" style="float: left; padding-right: 5px;" >
**diagrams.oci.network.LoadBalancer**

<img width="30" src="/img/resources/oci/network/route-table-white.png" alt="RouteTableWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.network.RouteTableWhite**

<img width="30" src="/img/resources/oci/network/route-table.png" alt="RouteTable" style="float: left; padding-right: 5px;" >
**diagrams.oci.network.RouteTable**

<img width="30" src="/img/resources/oci/network/security-lists-white.png" alt="SecurityListsWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.network.SecurityListsWhite**

<img width="30" src="/img/resources/oci/network/security-lists.png" alt="SecurityLists" style="float: left; padding-right: 5px;" >
**diagrams.oci.network.SecurityLists**

<img width="30" src="/img/resources/oci/network/service-gateway-white.png" alt="ServiceGatewayWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.network.ServiceGatewayWhite**

<img width="30" src="/img/resources/oci/network/service-gateway.png" alt="ServiceGateway" style="float: left; padding-right: 5px;" >
**diagrams.oci.network.ServiceGateway**

<img width="30" src="/img/resources/oci/network/vcn-white.png" alt="VcnWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.network.VcnWhite**

<img width="30" src="/img/resources/oci/network/vcn.png" alt="Vcn" style="float: left; padding-right: 5px;" >
**diagrams.oci.network.Vcn**

## oci.security

- **diagrams.oci.security.CloudGuardWhite**
- **diagrams.oci.security.CloudGuard**
- **diagrams.oci.security.DDOSWhite**
- **diagrams.oci.security.DDOS**
- **diagrams.oci.security.EncryptionWhite**
- **diagrams.oci.security.Encryption**
- **diagrams.oci.security.IDAccessWhite**
- **diagrams.oci.security.IDAccess**
- **diagrams.oci.security.KeyManagementWhite**
- **diagrams.oci.security.KeyManagement**
- **diagrams.oci.security.MaxSecurityZoneWhite**
- **diagrams.oci.security.MaxSecurityZone**
- **diagrams.oci.security.VaultWhite**
- **diagrams.oci.security.Vault**
- **diagrams.oci.security.WAFWhite**
- **diagrams.oci.security.WAF**

<img width="30" src="/img/resources/oci/security/cloud-guard-white.png" alt="CloudGuardWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.security.CloudGuardWhite**

<img width="30" src="/img/resources/oci/security/cloud-guard.png" alt="CloudGuard" style="float: left; padding-right: 5px;" >
**diagrams.oci.security.CloudGuard**

<img width="30" src="/img/resources/oci/security/ddos-white.png" alt="DDOSWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.security.DDOSWhite**

<img width="30" src="/img/resources/oci/security/ddos.png" alt="DDOS" style="float: left; padding-right: 5px;" >
**diagrams.oci.security.DDOS**

<img width="30" src="/img/resources/oci/security/encryption-white.png" alt="EncryptionWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.security.EncryptionWhite**

<img width="30" src="/img/resources/oci/security/encryption.png" alt="Encryption" style="float: left; padding-right: 5px;" >
**diagrams.oci.security.Encryption**

<img width="30" src="/img/resources/oci/security/id-access-white.png" alt="IDAccessWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.security.IDAccessWhite**

<img width="30" src="/img/resources/oci/security/id-access.png" alt="IDAccess" style="float: left; padding-right: 5px;" >
**diagrams.oci.security.IDAccess**

<img width="30" src="/img/resources/oci/security/key-management-white.png" alt="KeyManagementWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.security.KeyManagementWhite**

<img width="30" src="/img/resources/oci/security/key-management.png" alt="KeyManagement" style="float: left; padding-right: 5px;" >
**diagrams.oci.security.KeyManagement**

<img width="30" src="/img/resources/oci/security/max-security-zone-white.png" alt="MaxSecurityZoneWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.security.MaxSecurityZoneWhite**

<img width="30" src="/img/resources/oci/security/max-security-zone.png" alt="MaxSecurityZone" style="float: left; padding-right: 5px;" >
**diagrams.oci.security.MaxSecurityZone**

<img width="30" src="/img/resources/oci/security/vault-white.png" alt="VaultWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.security.VaultWhite**

<img width="30" src="/img/resources/oci/security/vault.png" alt="Vault" style="float: left; padding-right: 5px;" >
**diagrams.oci.security.Vault**

<img width="30" src="/img/resources/oci/security/waf-white.png" alt="WAFWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.security.WAFWhite**

<img width="30" src="/img/resources/oci/security/waf.png" alt="WAF" style="float: left; padding-right: 5px;" >
**diagrams.oci.security.WAF**

## oci.storage

- **diagrams.oci.storage.BackupRestoreWhite**
- **diagrams.oci.storage.BackupRestore**
- **diagrams.oci.storage.BlockStorageCloneWhite**
- **diagrams.oci.storage.BlockStorageClone**
- **diagrams.oci.storage.BlockStorageWhite**
- **diagrams.oci.storage.BlockStorage**
- **diagrams.oci.storage.BucketsWhite**
- **diagrams.oci.storage.Buckets**
- **diagrams.oci.storage.DataTransferWhite**
- **diagrams.oci.storage.DataTransfer**
- **diagrams.oci.storage.ElasticPerformanceWhite**
- **diagrams.oci.storage.ElasticPerformance**
- **diagrams.oci.storage.FileStorageWhite**
- **diagrams.oci.storage.FileStorage**
- **diagrams.oci.storage.ObjectStorageWhite**
- **diagrams.oci.storage.ObjectStorage**
- **diagrams.oci.storage.StorageGatewayWhite**
- **diagrams.oci.storage.StorageGateway**

<img width="30" src="/img/resources/oci/storage/backup-restore-white.png" alt="BackupRestoreWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.storage.BackupRestoreWhite**

<img width="30" src="/img/resources/oci/storage/backup-restore.png" alt="BackupRestore" style="float: left; padding-right: 5px;" >
**diagrams.oci.storage.BackupRestore**

<img width="30" src="/img/resources/oci/storage/block-storage-clone-white.png" alt="BlockStorageCloneWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.storage.BlockStorageCloneWhite**

<img width="30" src="/img/resources/oci/storage/block-storage-clone.png" alt="BlockStorageClone" style="float: left; padding-right: 5px;" >
**diagrams.oci.storage.BlockStorageClone**

<img width="30" src="/img/resources/oci/storage/block-storage-white.png" alt="BlockStorageWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.storage.BlockStorageWhite**

<img width="30" src="/img/resources/oci/storage/block-storage.png" alt="BlockStorage" style="float: left; padding-right: 5px;" >
**diagrams.oci.storage.BlockStorage**

<img width="30" src="/img/resources/oci/storage/buckets-white.png" alt="BucketsWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.storage.BucketsWhite**

<img width="30" src="/img/resources/oci/storage/buckets.png" alt="Buckets" style="float: left; padding-right: 5px;" >
**diagrams.oci.storage.Buckets**

<img width="30" src="/img/resources/oci/storage/data-transfer-white.png" alt="DataTransferWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.storage.DataTransferWhite**

<img width="30" src="/img/resources/oci/storage/data-transfer.png" alt="DataTransfer" style="float: left; padding-right: 5px;" >
**diagrams.oci.storage.DataTransfer**

<img width="30" src="/img/resources/oci/storage/elastic-performance-white.png" alt="ElasticPerformanceWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.storage.ElasticPerformanceWhite**

<img width="30" src="/img/resources/oci/storage/elastic-performance.png" alt="ElasticPerformance" style="float: left; padding-right: 5px;" >
**diagrams.oci.storage.ElasticPerformance**

<img width="30" src="/img/resources/oci/storage/file-storage-white.png" alt="FileStorageWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.storage.FileStorageWhite**

<img width="30" src="/img/resources/oci/storage/file-storage.png" alt="FileStorage" style="float: left; padding-right: 5px;" >
**diagrams.oci.storage.FileStorage**

<img width="30" src="/img/resources/oci/storage/object-storage-white.png" alt="ObjectStorageWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.storage.ObjectStorageWhite**

<img width="30" src="/img/resources/oci/storage/object-storage.png" alt="ObjectStorage" style="float: left; padding-right: 5px;" >
**diagrams.oci.storage.ObjectStorage**

<img width="30" src="/img/resources/oci/storage/storage-gateway-white.png" alt="StorageGatewayWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.storage.StorageGatewayWhite**

<img width="30" src="/img/resources/oci/storage/storage-gateway.png" alt="StorageGateway" style="float: left; padding-right: 5px;" >
**diagrams.oci.storage.StorageGateway**

+ 498
- 159
docs/nodes/onprem.md ファイルの表示

@@ -7,246 +7,585 @@ Node classes list of onprem provider.

## onprem.aggregator

- **diagrams.onprem.aggregator.Fluentd**
- **diagrams.onprem.aggregator.Vector**

<img width="30" src="/img/resources/onprem/aggregator/fluentd.png" alt="Fluentd" style="float: left; padding-right: 5px;" >
**diagrams.onprem.aggregator.Fluentd**

<img width="30" src="/img/resources/onprem/aggregator/vector.png" alt="Vector" style="float: left; padding-right: 5px;" >
**diagrams.onprem.aggregator.Vector**

## onprem.analytics

- **diagrams.onprem.analytics.Beam**
- **diagrams.onprem.analytics.Databricks**
- **diagrams.onprem.analytics.Dbt**
- **diagrams.onprem.analytics.Dremio**
- **diagrams.onprem.analytics.Flink**
- **diagrams.onprem.analytics.Hadoop**
- **diagrams.onprem.analytics.Hive**
- **diagrams.onprem.analytics.Metabase**
- **diagrams.onprem.analytics.Norikra**
- **diagrams.onprem.analytics.Powerbi**, **PowerBI** (alias)
- **diagrams.onprem.analytics.Presto**
- **diagrams.onprem.analytics.Singer**
- **diagrams.onprem.analytics.Spark**
- **diagrams.onprem.analytics.Storm**
- **diagrams.onprem.analytics.Superset**
- **diagrams.onprem.analytics.Tableau**

<img width="30" src="/img/resources/onprem/analytics/beam.png" alt="Beam" style="float: left; padding-right: 5px;" >
**diagrams.onprem.analytics.Beam**

<img width="30" src="/img/resources/onprem/analytics/databricks.png" alt="Databricks" style="float: left; padding-right: 5px;" >
**diagrams.onprem.analytics.Databricks**

<img width="30" src="/img/resources/onprem/analytics/dbt.png" alt="Dbt" style="float: left; padding-right: 5px;" >
**diagrams.onprem.analytics.Dbt**

<img width="30" src="/img/resources/onprem/analytics/dremio.png" alt="Dremio" style="float: left; padding-right: 5px;" >
**diagrams.onprem.analytics.Dremio**

<img width="30" src="/img/resources/onprem/analytics/flink.png" alt="Flink" style="float: left; padding-right: 5px;" >
**diagrams.onprem.analytics.Flink**

<img width="30" src="/img/resources/onprem/analytics/hadoop.png" alt="Hadoop" style="float: left; padding-right: 5px;" >
**diagrams.onprem.analytics.Hadoop**

<img width="30" src="/img/resources/onprem/analytics/hive.png" alt="Hive" style="float: left; padding-right: 5px;" >
**diagrams.onprem.analytics.Hive**

<img width="30" src="/img/resources/onprem/analytics/metabase.png" alt="Metabase" style="float: left; padding-right: 5px;" >
**diagrams.onprem.analytics.Metabase**

<img width="30" src="/img/resources/onprem/analytics/norikra.png" alt="Norikra" style="float: left; padding-right: 5px;" >
**diagrams.onprem.analytics.Norikra**

<img width="30" src="/img/resources/onprem/analytics/powerbi.png" alt="Powerbi" style="float: left; padding-right: 5px;" >
**diagrams.onprem.analytics.Powerbi**, **PowerBI** (alias)

<img width="30" src="/img/resources/onprem/analytics/presto.png" alt="Presto" style="float: left; padding-right: 5px;" >
**diagrams.onprem.analytics.Presto**

<img width="30" src="/img/resources/onprem/analytics/singer.png" alt="Singer" style="float: left; padding-right: 5px;" >
**diagrams.onprem.analytics.Singer**

<img width="30" src="/img/resources/onprem/analytics/spark.png" alt="Spark" style="float: left; padding-right: 5px;" >
**diagrams.onprem.analytics.Spark**

<img width="30" src="/img/resources/onprem/analytics/storm.png" alt="Storm" style="float: left; padding-right: 5px;" >
**diagrams.onprem.analytics.Storm**

<img width="30" src="/img/resources/onprem/analytics/superset.png" alt="Superset" style="float: left; padding-right: 5px;" >
**diagrams.onprem.analytics.Superset**

<img width="30" src="/img/resources/onprem/analytics/tableau.png" alt="Tableau" style="float: left; padding-right: 5px;" >
**diagrams.onprem.analytics.Tableau**

## onprem.auth

- **diagrams.onprem.auth.Boundary**
- **diagrams.onprem.auth.BuzzfeedSso**
- **diagrams.onprem.auth.Oauth2Proxy**

<img width="30" src="/img/resources/onprem/auth/boundary.png" alt="Boundary" style="float: left; padding-right: 5px;" >
**diagrams.onprem.auth.Boundary**

<img width="30" src="/img/resources/onprem/auth/buzzfeed-sso.png" alt="BuzzfeedSso" style="float: left; padding-right: 5px;" >
**diagrams.onprem.auth.BuzzfeedSso**

<img width="30" src="/img/resources/onprem/auth/oauth2-proxy.png" alt="Oauth2Proxy" style="float: left; padding-right: 5px;" >
**diagrams.onprem.auth.Oauth2Proxy**

## onprem.cd

- **diagrams.onprem.cd.Spinnaker**
- **diagrams.onprem.cd.TektonCli**
- **diagrams.onprem.cd.Tekton**

<img width="30" src="/img/resources/onprem/cd/spinnaker.png" alt="Spinnaker" style="float: left; padding-right: 5px;" >
**diagrams.onprem.cd.Spinnaker**

<img width="30" src="/img/resources/onprem/cd/tekton-cli.png" alt="TektonCli" style="float: left; padding-right: 5px;" >
**diagrams.onprem.cd.TektonCli**

<img width="30" src="/img/resources/onprem/cd/tekton.png" alt="Tekton" style="float: left; padding-right: 5px;" >
**diagrams.onprem.cd.Tekton**

## onprem.certificates

- **diagrams.onprem.certificates.CertManager**
- **diagrams.onprem.certificates.LetsEncrypt**

<img width="30" src="/img/resources/onprem/certificates/cert-manager.png" alt="CertManager" style="float: left; padding-right: 5px;" >
**diagrams.onprem.certificates.CertManager**

<img width="30" src="/img/resources/onprem/certificates/lets-encrypt.png" alt="LetsEncrypt" style="float: left; padding-right: 5px;" >
**diagrams.onprem.certificates.LetsEncrypt**

## onprem.ci

- **diagrams.onprem.ci.Circleci**, **CircleCI** (alias)
- **diagrams.onprem.ci.Concourseci**, **ConcourseCI** (alias)
- **diagrams.onprem.ci.Droneci**, **DroneCI** (alias)
- **diagrams.onprem.ci.GithubActions**
- **diagrams.onprem.ci.Gitlabci**, **GitlabCI** (alias)
- **diagrams.onprem.ci.Jenkins**
- **diagrams.onprem.ci.Teamcity**, **TC** (alias)
- **diagrams.onprem.ci.Travisci**, **TravisCI** (alias)
- **diagrams.onprem.ci.Waypoint**
- **diagrams.onprem.ci.Zuulci**, **ZuulCI** (alias)

<img width="30" src="/img/resources/onprem/ci/circleci.png" alt="Circleci" style="float: left; padding-right: 5px;" >
**diagrams.onprem.ci.Circleci**, **CircleCI** (alias)

<img width="30" src="/img/resources/onprem/ci/concourseci.png" alt="Concourseci" style="float: left; padding-right: 5px;" >
**diagrams.onprem.ci.Concourseci**, **ConcourseCI** (alias)

<img width="30" src="/img/resources/onprem/ci/droneci.png" alt="Droneci" style="float: left; padding-right: 5px;" >
**diagrams.onprem.ci.Droneci**, **DroneCI** (alias)

<img width="30" src="/img/resources/onprem/ci/github-actions.png" alt="GithubActions" style="float: left; padding-right: 5px;" >
**diagrams.onprem.ci.GithubActions**

<img width="30" src="/img/resources/onprem/ci/gitlabci.png" alt="Gitlabci" style="float: left; padding-right: 5px;" >
**diagrams.onprem.ci.Gitlabci**, **GitlabCI** (alias)

<img width="30" src="/img/resources/onprem/ci/jenkins.png" alt="Jenkins" style="float: left; padding-right: 5px;" >
**diagrams.onprem.ci.Jenkins**

<img width="30" src="/img/resources/onprem/ci/teamcity.png" alt="Teamcity" style="float: left; padding-right: 5px;" >
**diagrams.onprem.ci.Teamcity**, **TC** (alias)

<img width="30" src="/img/resources/onprem/ci/travisci.png" alt="Travisci" style="float: left; padding-right: 5px;" >
**diagrams.onprem.ci.Travisci**, **TravisCI** (alias)

<img width="30" src="/img/resources/onprem/ci/zuulci.png" alt="Zuulci" style="float: left; padding-right: 5px;" >
**diagrams.onprem.ci.Zuulci**, **ZuulCI** (alias)

## onprem.client

- **diagrams.onprem.client.Client**
- **diagrams.onprem.client.User**
- **diagrams.onprem.client.Users**

<img width="30" src="/img/resources/onprem/client/client.png" alt="Client" style="float: left; padding-right: 5px;" >
**diagrams.onprem.client.Client**

<img width="30" src="/img/resources/onprem/client/user.png" alt="User" style="float: left; padding-right: 5px;" >
**diagrams.onprem.client.User**

<img width="30" src="/img/resources/onprem/client/users.png" alt="Users" style="float: left; padding-right: 5px;" >
**diagrams.onprem.client.Users**

## onprem.compute

- **diagrams.onprem.compute.Nomad**
- **diagrams.onprem.compute.Server**

<img width="30" src="/img/resources/onprem/compute/nomad.png" alt="Nomad" style="float: left; padding-right: 5px;" >
**diagrams.onprem.compute.Nomad**

<img width="30" src="/img/resources/onprem/compute/server.png" alt="Server" style="float: left; padding-right: 5px;" >
**diagrams.onprem.compute.Server**

## onprem.container

- **diagrams.onprem.container.Containerd**
- **diagrams.onprem.container.Crio**
- **diagrams.onprem.container.Docker**
- **diagrams.onprem.container.Firecracker**
- **diagrams.onprem.container.Gvisor**
- **diagrams.onprem.container.K3S**
- **diagrams.onprem.container.Lxc**, **LXC** (alias)
- **diagrams.onprem.container.Rkt**, **RKT** (alias)

<img width="30" src="/img/resources/onprem/container/containerd.png" alt="Containerd" style="float: left; padding-right: 5px;" >
**diagrams.onprem.container.Containerd**

<img width="30" src="/img/resources/onprem/container/crio.png" alt="Crio" style="float: left; padding-right: 5px;" >
**diagrams.onprem.container.Crio**

<img width="30" src="/img/resources/onprem/container/docker.png" alt="Docker" style="float: left; padding-right: 5px;" >
**diagrams.onprem.container.Docker**

<img width="30" src="/img/resources/onprem/container/firecracker.png" alt="Firecracker" style="float: left; padding-right: 5px;" >
**diagrams.onprem.container.Firecracker**

<img width="30" src="/img/resources/onprem/container/gvisor.png" alt="Gvisor" style="float: left; padding-right: 5px;" >
**diagrams.onprem.container.Gvisor**

<img width="30" src="/img/resources/onprem/container/k3s.png" alt="K3S" style="float: left; padding-right: 5px;" >
**diagrams.onprem.container.K3S**

<img width="30" src="/img/resources/onprem/container/lxc.png" alt="Lxc" style="float: left; padding-right: 5px;" >
**diagrams.onprem.container.Lxc**, **LXC** (alias)

<img width="30" src="/img/resources/onprem/container/rkt.png" alt="Rkt" style="float: left; padding-right: 5px;" >
**diagrams.onprem.container.Rkt**, **RKT** (alias)

## onprem.database

- **diagrams.onprem.database.Cassandra**
- **diagrams.onprem.database.Clickhouse**, **ClickHouse** (alias)
- **diagrams.onprem.database.Cockroachdb**, **CockroachDB** (alias)
- **diagrams.onprem.database.Couchbase**
- **diagrams.onprem.database.Couchdb**, **CouchDB** (alias)
- **diagrams.onprem.database.Dgraph**
- **diagrams.onprem.database.Druid**
- **diagrams.onprem.database.Hbase**, **HBase** (alias)
- **diagrams.onprem.database.Influxdb**, **InfluxDB** (alias)
- **diagrams.onprem.database.Janusgraph**, **JanusGraph** (alias)
- **diagrams.onprem.database.Mariadb**, **MariaDB** (alias)
- **diagrams.onprem.database.Mongodb**, **MongoDB** (alias)
- **diagrams.onprem.database.Mssql**, **MSSQL** (alias)
- **diagrams.onprem.database.Mysql**, **MySQL** (alias)
- **diagrams.onprem.database.Neo4J**
- **diagrams.onprem.database.Oracle**
- **diagrams.onprem.database.Postgresql**, **PostgreSQL** (alias)
- **diagrams.onprem.database.Scylla**

<img width="30" src="/img/resources/onprem/database/cassandra.png" alt="Cassandra" style="float: left; padding-right: 5px;" >
**diagrams.onprem.database.Cassandra**

<img width="30" src="/img/resources/onprem/database/clickhouse.png" alt="Clickhouse" style="float: left; padding-right: 5px;" >
**diagrams.onprem.database.Clickhouse**, **ClickHouse** (alias)

<img width="30" src="/img/resources/onprem/database/cockroachdb.png" alt="Cockroachdb" style="float: left; padding-right: 5px;" >
**diagrams.onprem.database.Cockroachdb**, **CockroachDB** (alias)

<img width="30" src="/img/resources/onprem/database/couchbase.png" alt="Couchbase" style="float: left; padding-right: 5px;" >
**diagrams.onprem.database.Couchbase**

<img width="30" src="/img/resources/onprem/database/couchdb.png" alt="Couchdb" style="float: left; padding-right: 5px;" >
**diagrams.onprem.database.Couchdb**, **CouchDB** (alias)

<img width="30" src="/img/resources/onprem/database/dgraph.png" alt="Dgraph" style="float: left; padding-right: 5px;" >
**diagrams.onprem.database.Dgraph**

<img width="30" src="/img/resources/onprem/database/druid.png" alt="Druid" style="float: left; padding-right: 5px;" >
**diagrams.onprem.database.Druid**

<img width="30" src="/img/resources/onprem/database/hbase.png" alt="Hbase" style="float: left; padding-right: 5px;" >
**diagrams.onprem.database.Hbase**, **HBase** (alias)

<img width="30" src="/img/resources/onprem/database/influxdb.png" alt="Influxdb" style="float: left; padding-right: 5px;" >
**diagrams.onprem.database.Influxdb**, **InfluxDB** (alias)

<img width="30" src="/img/resources/onprem/database/janusgraph.png" alt="Janusgraph" style="float: left; padding-right: 5px;" >
**diagrams.onprem.database.Janusgraph**, **JanusGraph** (alias)

<img width="30" src="/img/resources/onprem/database/mariadb.png" alt="Mariadb" style="float: left; padding-right: 5px;" >
**diagrams.onprem.database.Mariadb**, **MariaDB** (alias)

<img width="30" src="/img/resources/onprem/database/mongodb.png" alt="Mongodb" style="float: left; padding-right: 5px;" >
**diagrams.onprem.database.Mongodb**, **MongoDB** (alias)

<img width="30" src="/img/resources/onprem/database/mssql.png" alt="Mssql" style="float: left; padding-right: 5px;" >
**diagrams.onprem.database.Mssql**, **MSSQL** (alias)

<img width="30" src="/img/resources/onprem/database/mysql.png" alt="Mysql" style="float: left; padding-right: 5px;" >
**diagrams.onprem.database.Mysql**, **MySQL** (alias)

<img width="30" src="/img/resources/onprem/database/neo4j.png" alt="Neo4J" style="float: left; padding-right: 5px;" >
**diagrams.onprem.database.Neo4J**

<img width="30" src="/img/resources/onprem/database/oracle.png" alt="Oracle" style="float: left; padding-right: 5px;" >
**diagrams.onprem.database.Oracle**

<img width="30" src="/img/resources/onprem/database/postgresql.png" alt="Postgresql" style="float: left; padding-right: 5px;" >
**diagrams.onprem.database.Postgresql**, **PostgreSQL** (alias)

<img width="30" src="/img/resources/onprem/database/scylla.png" alt="Scylla" style="float: left; padding-right: 5px;" >
**diagrams.onprem.database.Scylla**

## onprem.dns

- **diagrams.onprem.dns.Coredns**
- **diagrams.onprem.dns.Powerdns**

<img width="30" src="/img/resources/onprem/dns/coredns.png" alt="Coredns" style="float: left; padding-right: 5px;" >
**diagrams.onprem.dns.Coredns**

<img width="30" src="/img/resources/onprem/dns/powerdns.png" alt="Powerdns" style="float: left; padding-right: 5px;" >
**diagrams.onprem.dns.Powerdns**

## onprem.etl

- **diagrams.onprem.etl.Embulk**

<img width="30" src="/img/resources/onprem/etl/embulk.png" alt="Embulk" style="float: left; padding-right: 5px;" >
**diagrams.onprem.etl.Embulk**

## onprem.gitops

- **diagrams.onprem.gitops.Argocd**, **ArgoCD** (alias)
- **diagrams.onprem.gitops.Flagger**
- **diagrams.onprem.gitops.Flux**

<img width="30" src="/img/resources/onprem/gitops/argocd.png" alt="Argocd" style="float: left; padding-right: 5px;" >
**diagrams.onprem.gitops.Argocd**, **ArgoCD** (alias)

<img width="30" src="/img/resources/onprem/gitops/flagger.png" alt="Flagger" style="float: left; padding-right: 5px;" >
**diagrams.onprem.gitops.Flagger**

<img width="30" src="/img/resources/onprem/gitops/flux.png" alt="Flux" style="float: left; padding-right: 5px;" >
**diagrams.onprem.gitops.Flux**

## onprem.groupware

- **diagrams.onprem.groupware.Nextcloud**

<img width="30" src="/img/resources/onprem/groupware/nextcloud.png" alt="Nextcloud" style="float: left; padding-right: 5px;" >
**diagrams.onprem.groupware.Nextcloud**

## onprem.iac

- **diagrams.onprem.iac.Ansible**
- **diagrams.onprem.iac.Atlantis**
- **diagrams.onprem.iac.Awx**
- **diagrams.onprem.iac.Packer**
- **diagrams.onprem.iac.Puppet**
- **diagrams.onprem.iac.Terraform**
- **diagrams.onprem.iac.Vagrant**

<img width="30" src="/img/resources/onprem/iac/ansible.png" alt="Ansible" style="float: left; padding-right: 5px;" >
**diagrams.onprem.iac.Ansible**

<img width="30" src="/img/resources/onprem/iac/atlantis.png" alt="Atlantis" style="float: left; padding-right: 5px;" >
**diagrams.onprem.iac.Atlantis**

<img width="30" src="/img/resources/onprem/iac/awx.png" alt="Awx" style="float: left; padding-right: 5px;" >
**diagrams.onprem.iac.Awx**

<img width="30" src="/img/resources/onprem/iac/puppet.png" alt="Puppet" style="float: left; padding-right: 5px;" >
**diagrams.onprem.iac.Puppet**

<img width="30" src="/img/resources/onprem/iac/terraform.png" alt="Terraform" style="float: left; padding-right: 5px;" >
**diagrams.onprem.iac.Terraform**

## onprem.identity

- **diagrams.onprem.identity.Dex**

<img width="30" src="/img/resources/onprem/identity/dex.png" alt="Dex" style="float: left; padding-right: 5px;" >
**diagrams.onprem.identity.Dex**

## onprem.inmemory

- **diagrams.onprem.inmemory.Aerospike**
- **diagrams.onprem.inmemory.Hazelcast**
- **diagrams.onprem.inmemory.Memcached**
- **diagrams.onprem.inmemory.Redis**

<img width="30" src="/img/resources/onprem/inmemory/aerospike.png" alt="Aerospike" style="float: left; padding-right: 5px;" >
**diagrams.onprem.inmemory.Aerospike**

<img width="30" src="/img/resources/onprem/inmemory/hazelcast.png" alt="Hazelcast" style="float: left; padding-right: 5px;" >
**diagrams.onprem.inmemory.Hazelcast**

<img width="30" src="/img/resources/onprem/inmemory/memcached.png" alt="Memcached" style="float: left; padding-right: 5px;" >
**diagrams.onprem.inmemory.Memcached**

<img width="30" src="/img/resources/onprem/inmemory/redis.png" alt="Redis" style="float: left; padding-right: 5px;" >
**diagrams.onprem.inmemory.Redis**

## onprem.logging

- **diagrams.onprem.logging.Fluentbit**, **FluentBit** (alias)
- **diagrams.onprem.logging.Graylog**
- **diagrams.onprem.logging.Loki**
- **diagrams.onprem.logging.Rsyslog**, **RSyslog** (alias)
- **diagrams.onprem.logging.SyslogNg**

<img width="30" src="/img/resources/onprem/logging/fluentbit.png" alt="Fluentbit" style="float: left; padding-right: 5px;" >
**diagrams.onprem.logging.Fluentbit**, **FluentBit** (alias)

<img width="30" src="/img/resources/onprem/logging/graylog.png" alt="Graylog" style="float: left; padding-right: 5px;" >
**diagrams.onprem.logging.Graylog**

<img width="30" src="/img/resources/onprem/logging/loki.png" alt="Loki" style="float: left; padding-right: 5px;" >
**diagrams.onprem.logging.Loki**

<img width="30" src="/img/resources/onprem/logging/rsyslog.png" alt="Rsyslog" style="float: left; padding-right: 5px;" >
**diagrams.onprem.logging.Rsyslog**, **RSyslog** (alias)

<img width="30" src="/img/resources/onprem/logging/syslog-ng.png" alt="SyslogNg" style="float: left; padding-right: 5px;" >
**diagrams.onprem.logging.SyslogNg**

## onprem.messaging


<img width="30" src="/img/resources/onprem/messaging/centrifugo.png" alt="Centrifugo" style="float: left; padding-right: 5px;" >
**diagrams.onprem.messaging.Centrifugo**

## onprem.mlops

- **diagrams.onprem.mlops.Polyaxon**

<img width="30" src="/img/resources/onprem/mlops/mlflow.png" alt="Mlflow" style="float: left; padding-right: 5px;" >
**diagrams.onprem.mlops.Mlflow**

<img width="30" src="/img/resources/onprem/mlops/polyaxon.png" alt="Polyaxon" style="float: left; padding-right: 5px;" >
**diagrams.onprem.mlops.Polyaxon**

## onprem.monitoring

- **diagrams.onprem.monitoring.Cortex**
- **diagrams.onprem.monitoring.Datadog**
- **diagrams.onprem.monitoring.Dynatrace**
- **diagrams.onprem.monitoring.Grafana**
- **diagrams.onprem.monitoring.Humio**
- **diagrams.onprem.monitoring.Nagios**
- **diagrams.onprem.monitoring.Newrelic**
- **diagrams.onprem.monitoring.PrometheusOperator**
- **diagrams.onprem.monitoring.Prometheus**
- **diagrams.onprem.monitoring.Sentry**
- **diagrams.onprem.monitoring.Splunk**
- **diagrams.onprem.monitoring.Thanos**
- **diagrams.onprem.monitoring.Zabbix**

<img width="30" src="/img/resources/onprem/monitoring/cortex.png" alt="Cortex" style="float: left; padding-right: 5px;" >
**diagrams.onprem.monitoring.Cortex**

<img width="30" src="/img/resources/onprem/monitoring/datadog.png" alt="Datadog" style="float: left; padding-right: 5px;" >
**diagrams.onprem.monitoring.Datadog**

<img width="30" src="/img/resources/onprem/monitoring/dynatrace.png" alt="Dynatrace" style="float: left; padding-right: 5px;" >
**diagrams.onprem.monitoring.Dynatrace**

<img width="30" src="/img/resources/onprem/monitoring/grafana.png" alt="Grafana" style="float: left; padding-right: 5px;" >
**diagrams.onprem.monitoring.Grafana**

<img width="30" src="/img/resources/onprem/monitoring/humio.png" alt="Humio" style="float: left; padding-right: 5px;" >
**diagrams.onprem.monitoring.Humio**

<img width="30" src="/img/resources/onprem/monitoring/mimir.png" alt="Mimir" style="float: left; padding-right: 5px;" >
**diagrams.onprem.monitoring.Mimir**

<img width="30" src="/img/resources/onprem/monitoring/nagios.png" alt="Nagios" style="float: left; padding-right: 5px;" >
**diagrams.onprem.monitoring.Nagios**

<img width="30" src="/img/resources/onprem/monitoring/newrelic.png" alt="Newrelic" style="float: left; padding-right: 5px;" >
**diagrams.onprem.monitoring.Newrelic**

<img width="30" src="/img/resources/onprem/monitoring/prometheus-operator.png" alt="PrometheusOperator" style="float: left; padding-right: 5px;" >
**diagrams.onprem.monitoring.PrometheusOperator**

<img width="30" src="/img/resources/onprem/monitoring/prometheus.png" alt="Prometheus" style="float: left; padding-right: 5px;" >
**diagrams.onprem.monitoring.Prometheus**

<img width="30" src="/img/resources/onprem/monitoring/sentry.png" alt="Sentry" style="float: left; padding-right: 5px;" >
**diagrams.onprem.monitoring.Sentry**

<img width="30" src="/img/resources/onprem/monitoring/splunk.png" alt="Splunk" style="float: left; padding-right: 5px;" >
**diagrams.onprem.monitoring.Splunk**

<img width="30" src="/img/resources/onprem/monitoring/thanos.png" alt="Thanos" style="float: left; padding-right: 5px;" >
**diagrams.onprem.monitoring.Thanos**

<img width="30" src="/img/resources/onprem/monitoring/zabbix.png" alt="Zabbix" style="float: left; padding-right: 5px;" >
**diagrams.onprem.monitoring.Zabbix**

## onprem.network

- **diagrams.onprem.network.Ambassador**
- **diagrams.onprem.network.Apache**
- **diagrams.onprem.network.Bind9**
- **diagrams.onprem.network.Caddy**
- **diagrams.onprem.network.Consul**
- **diagrams.onprem.network.Envoy**
- **diagrams.onprem.network.Etcd**, **ETCD** (alias)
- **diagrams.onprem.network.Glassfish**
- **diagrams.onprem.network.Gunicorn**
- **diagrams.onprem.network.Haproxy**, **HAProxy** (alias)
- **diagrams.onprem.network.Internet**
- **diagrams.onprem.network.Istio**
- **diagrams.onprem.network.Jbossas**
- **diagrams.onprem.network.Jetty**
- **diagrams.onprem.network.Kong**
- **diagrams.onprem.network.Linkerd**
- **diagrams.onprem.network.Nginx**
- **diagrams.onprem.network.Ocelot**
- **diagrams.onprem.network.OpenServiceMesh**, **OSM** (alias)
- **diagrams.onprem.network.Opnsense**, **OPNSense** (alias)
- **diagrams.onprem.network.Pfsense**, **PFSense** (alias)
- **diagrams.onprem.network.Pomerium**
- **diagrams.onprem.network.Powerdns**
- **diagrams.onprem.network.Tomcat**
- **diagrams.onprem.network.Traefik**
- **diagrams.onprem.network.Tyk**
- **diagrams.onprem.network.Vyos**, **VyOS** (alias)
- **diagrams.onprem.network.Wildfly**
- **diagrams.onprem.network.Zookeeper**

<img width="30" src="/img/resources/onprem/network/ambassador.png" alt="Ambassador" style="float: left; padding-right: 5px;" >
**diagrams.onprem.network.Ambassador**

<img width="30" src="/img/resources/onprem/network/apache.png" alt="Apache" style="float: left; padding-right: 5px;" >
**diagrams.onprem.network.Apache**

<img width="30" src="/img/resources/onprem/network/bind-9.png" alt="Bind9" style="float: left; padding-right: 5px;" >
**diagrams.onprem.network.Bind9**

<img width="30" src="/img/resources/onprem/network/caddy.png" alt="Caddy" style="float: left; padding-right: 5px;" >
**diagrams.onprem.network.Caddy**

<img width="30" src="/img/resources/onprem/network/consul.png" alt="Consul" style="float: left; padding-right: 5px;" >
**diagrams.onprem.network.Consul**

<img width="30" src="/img/resources/onprem/network/envoy.png" alt="Envoy" style="float: left; padding-right: 5px;" >
**diagrams.onprem.network.Envoy**

<img width="30" src="/img/resources/onprem/network/etcd.png" alt="Etcd" style="float: left; padding-right: 5px;" >
**diagrams.onprem.network.Etcd**, **ETCD** (alias)

<img width="30" src="/img/resources/onprem/network/glassfish.png" alt="Glassfish" style="float: left; padding-right: 5px;" >
**diagrams.onprem.network.Glassfish**

<img width="30" src="/img/resources/onprem/network/gunicorn.png" alt="Gunicorn" style="float: left; padding-right: 5px;" >
**diagrams.onprem.network.Gunicorn**

<img width="30" src="/img/resources/onprem/network/haproxy.png" alt="Haproxy" style="float: left; padding-right: 5px;" >
**diagrams.onprem.network.Haproxy**, **HAProxy** (alias)

<img width="30" src="/img/resources/onprem/network/internet.png" alt="Internet" style="float: left; padding-right: 5px;" >
**diagrams.onprem.network.Internet**

<img width="30" src="/img/resources/onprem/network/istio.png" alt="Istio" style="float: left; padding-right: 5px;" >
**diagrams.onprem.network.Istio**

<img width="30" src="/img/resources/onprem/network/jbossas.png" alt="Jbossas" style="float: left; padding-right: 5px;" >
**diagrams.onprem.network.Jbossas**

<img width="30" src="/img/resources/onprem/network/jetty.png" alt="Jetty" style="float: left; padding-right: 5px;" >
**diagrams.onprem.network.Jetty**

<img width="30" src="/img/resources/onprem/network/kong.png" alt="Kong" style="float: left; padding-right: 5px;" >
**diagrams.onprem.network.Kong**

<img width="30" src="/img/resources/onprem/network/linkerd.png" alt="Linkerd" style="float: left; padding-right: 5px;" >
**diagrams.onprem.network.Linkerd**

<img width="30" src="/img/resources/onprem/network/nginx.png" alt="Nginx" style="float: left; padding-right: 5px;" >
**diagrams.onprem.network.Nginx**

<img width="30" src="/img/resources/onprem/network/ocelot.png" alt="Ocelot" style="float: left; padding-right: 5px;" >
**diagrams.onprem.network.Ocelot**

<img width="30" src="/img/resources/onprem/network/open-service-mesh.png" alt="OpenServiceMesh" style="float: left; padding-right: 5px;" >
**diagrams.onprem.network.OpenServiceMesh**, **OSM** (alias)

<img width="30" src="/img/resources/onprem/network/opnsense.png" alt="Opnsense" style="float: left; padding-right: 5px;" >
**diagrams.onprem.network.Opnsense**, **OPNSense** (alias)

<img width="30" src="/img/resources/onprem/network/pfsense.png" alt="Pfsense" style="float: left; padding-right: 5px;" >
**diagrams.onprem.network.Pfsense**, **PFSense** (alias)

<img width="30" src="/img/resources/onprem/network/pomerium.png" alt="Pomerium" style="float: left; padding-right: 5px;" >
**diagrams.onprem.network.Pomerium**

<img width="30" src="/img/resources/onprem/network/powerdns.png" alt="Powerdns" style="float: left; padding-right: 5px;" >
**diagrams.onprem.network.Powerdns**

<img width="30" src="/img/resources/onprem/network/tomcat.png" alt="Tomcat" style="float: left; padding-right: 5px;" >
**diagrams.onprem.network.Tomcat**

<img width="30" src="/img/resources/onprem/network/traefik.png" alt="Traefik" style="float: left; padding-right: 5px;" >
**diagrams.onprem.network.Traefik**

<img width="30" src="/img/resources/onprem/network/tyk.png" alt="Tyk" style="float: left; padding-right: 5px;" >
**diagrams.onprem.network.Tyk**

<img width="30" src="/img/resources/onprem/network/vyos.png" alt="Vyos" style="float: left; padding-right: 5px;" >
**diagrams.onprem.network.Vyos**, **VyOS** (alias)

<img width="30" src="/img/resources/onprem/network/wildfly.png" alt="Wildfly" style="float: left; padding-right: 5px;" >
**diagrams.onprem.network.Wildfly**

<img width="30" src="/img/resources/onprem/network/yarp.png" alt="Yarp" style="float: left; padding-right: 5px;" >
**diagrams.onprem.network.Yarp**

<img width="30" src="/img/resources/onprem/network/zookeeper.png" alt="Zookeeper" style="float: left; padding-right: 5px;" >
**diagrams.onprem.network.Zookeeper**

## onprem.proxmox

- **diagrams.onprem.proxmox.Pve**, **ProxmoxVE** (alias)

<img width="30" src="/img/resources/onprem/proxmox/pve.png" alt="Pve" style="float: left; padding-right: 5px;" >
**diagrams.onprem.proxmox.Pve**, **ProxmoxVE** (alias)

## onprem.queue

- **diagrams.onprem.queue.Activemq**, **ActiveMQ** (alias)
- **diagrams.onprem.queue.Celery**
- **diagrams.onprem.queue.Kafka**
- **diagrams.onprem.queue.Nats**
- **diagrams.onprem.queue.Rabbitmq**, **RabbitMQ** (alias)
- **diagrams.onprem.queue.Zeromq**, **ZeroMQ** (alias)

<img width="30" src="/img/resources/onprem/queue/activemq.png" alt="Activemq" style="float: left; padding-right: 5px;" >
**diagrams.onprem.queue.Activemq**, **ActiveMQ** (alias)

<img width="30" src="/img/resources/onprem/queue/celery.png" alt="Celery" style="float: left; padding-right: 5px;" >
**diagrams.onprem.queue.Celery**

<img width="30" src="/img/resources/onprem/queue/emqx.png" alt="Emqx" style="float: left; padding-right: 5px;" >
**diagrams.onprem.queue.Emqx**, **EMQX** (alias)

<img width="30" src="/img/resources/onprem/queue/kafka.png" alt="Kafka" style="float: left; padding-right: 5px;" >
**diagrams.onprem.queue.Kafka**

<img width="30" src="/img/resources/onprem/queue/nats.png" alt="Nats" style="float: left; padding-right: 5px;" >
**diagrams.onprem.queue.Nats**

<img width="30" src="/img/resources/onprem/queue/rabbitmq.png" alt="Rabbitmq" style="float: left; padding-right: 5px;" >
**diagrams.onprem.queue.Rabbitmq**, **RabbitMQ** (alias)

<img width="30" src="/img/resources/onprem/queue/zeromq.png" alt="Zeromq" style="float: left; padding-right: 5px;" >
**diagrams.onprem.queue.Zeromq**, **ZeroMQ** (alias)

## onprem.registry


<img width="30" src="/img/resources/onprem/registry/harbor.png" alt="Harbor" style="float: left; padding-right: 5px;" >
**diagrams.onprem.registry.Harbor**

<img width="30" src="/img/resources/onprem/registry/jfrog.png" alt="Jfrog" style="float: left; padding-right: 5px;" >
**diagrams.onprem.registry.Jfrog**

## onprem.search

- **diagrams.onprem.search.Solr**

<img width="30" src="/img/resources/onprem/search/solr.png" alt="Solr" style="float: left; padding-right: 5px;" >
**diagrams.onprem.search.Solr**

## onprem.security

- **diagrams.onprem.security.Bitwarden**
- **diagrams.onprem.security.Boundary**
- **diagrams.onprem.security.Trivy**
- **diagrams.onprem.security.Vault**

<img width="30" src="/img/resources/onprem/security/bitwarden.png" alt="Bitwarden" style="float: left; padding-right: 5px;" >
**diagrams.onprem.security.Bitwarden**

<img width="30" src="/img/resources/onprem/security/trivy.png" alt="Trivy" style="float: left; padding-right: 5px;" >
**diagrams.onprem.security.Trivy**

<img width="30" src="/img/resources/onprem/security/vault.png" alt="Vault" style="float: left; padding-right: 5px;" >
**diagrams.onprem.security.Vault**

## onprem.storage

- **diagrams.onprem.storage.CephOsd**, **CEPH_OSD** (alias)
- **diagrams.onprem.storage.Ceph**, **CEPH** (alias)
- **diagrams.onprem.storage.Glusterfs**

<img width="30" src="/img/resources/onprem/storage/ceph-osd.png" alt="CephOsd" style="float: left; padding-right: 5px;" >
**diagrams.onprem.storage.CephOsd**, **CEPH_OSD** (alias)

<img width="30" src="/img/resources/onprem/storage/ceph.png" alt="Ceph" style="float: left; padding-right: 5px;" >
**diagrams.onprem.storage.Ceph**, **CEPH** (alias)

<img width="30" src="/img/resources/onprem/storage/glusterfs.png" alt="Glusterfs" style="float: left; padding-right: 5px;" >
**diagrams.onprem.storage.Glusterfs**

<img width="30" src="/img/resources/onprem/storage/portworx.png" alt="Portworx" style="float: left; padding-right: 5px;" >
**diagrams.onprem.storage.Portworx**

## onprem.tracing

- **diagrams.onprem.tracing.Jaeger**

<img width="30" src="/img/resources/onprem/tracing/jaeger.png" alt="Jaeger" style="float: left; padding-right: 5px;" >
**diagrams.onprem.tracing.Jaeger**

<img width="30" src="/img/resources/onprem/tracing/tempo.png" alt="Tempo" style="float: left; padding-right: 5px;" >
**diagrams.onprem.tracing.Tempo**

## onprem.vcs

- **diagrams.onprem.vcs.Git**
- **diagrams.onprem.vcs.Gitea**
- **diagrams.onprem.vcs.Github**
- **diagrams.onprem.vcs.Gitlab**
- **diagrams.onprem.vcs.Svn**

<img width="30" src="/img/resources/onprem/vcs/git.png" alt="Git" style="float: left; padding-right: 5px;" >
**diagrams.onprem.vcs.Git**

<img width="30" src="/img/resources/onprem/vcs/gitea.png" alt="Gitea" style="float: left; padding-right: 5px;" >
**diagrams.onprem.vcs.Gitea**

<img width="30" src="/img/resources/onprem/vcs/github.png" alt="Github" style="float: left; padding-right: 5px;" >
**diagrams.onprem.vcs.Github**

<img width="30" src="/img/resources/onprem/vcs/gitlab.png" alt="Gitlab" style="float: left; padding-right: 5px;" >
**diagrams.onprem.vcs.Gitlab**

<img width="30" src="/img/resources/onprem/vcs/svn.png" alt="Svn" style="float: left; padding-right: 5px;" >
**diagrams.onprem.vcs.Svn**

## onprem.workflow

- **diagrams.onprem.workflow.Airflow**
- **diagrams.onprem.workflow.Digdag**
- **diagrams.onprem.workflow.Kubeflow**, **KubeFlow** (alias)
- **diagrams.onprem.workflow.Nifi**, **NiFi** (alias)

<img width="30" src="/img/resources/onprem/workflow/airflow.png" alt="Airflow" style="float: left; padding-right: 5px;" >
**diagrams.onprem.workflow.Airflow**

<img width="30" src="/img/resources/onprem/workflow/digdag.png" alt="Digdag" style="float: left; padding-right: 5px;" >
**diagrams.onprem.workflow.Digdag**

<img width="30" src="/img/resources/onprem/workflow/kubeflow.png" alt="Kubeflow" style="float: left; padding-right: 5px;" >
**diagrams.onprem.workflow.Kubeflow**, **KubeFlow** (alias)

<img width="30" src="/img/resources/onprem/workflow/nifi.png" alt="Nifi" style="float: left; padding-right: 5px;" >
**diagrams.onprem.workflow.Nifi**, **NiFi** (alias)

+ 150
- 50
docs/nodes/openstack.md ファイルの表示

@@ -7,107 +7,207 @@ Node classes list of openstack provider.

## openstack.apiproxies

- **diagrams.openstack.apiproxies.EC2API**

<img width="30" src="/img/resources/openstack/apiproxies/ec2api.png" alt="EC2API" style="float: left; padding-right: 5px;" >
**diagrams.openstack.apiproxies.EC2API**

## openstack.applicationlifecycle

- **diagrams.openstack.applicationlifecycle.Freezer**
- **diagrams.openstack.applicationlifecycle.Masakari**
- **diagrams.openstack.applicationlifecycle.Murano**
- **diagrams.openstack.applicationlifecycle.Solum**

<img width="30" src="/img/resources/openstack/applicationlifecycle/freezer.png" alt="Freezer" style="float: left; padding-right: 5px;" >
**diagrams.openstack.applicationlifecycle.Freezer**

<img width="30" src="/img/resources/openstack/applicationlifecycle/masakari.png" alt="Masakari" style="float: left; padding-right: 5px;" >
**diagrams.openstack.applicationlifecycle.Masakari**

<img width="30" src="/img/resources/openstack/applicationlifecycle/murano.png" alt="Murano" style="float: left; padding-right: 5px;" >
**diagrams.openstack.applicationlifecycle.Murano**

<img width="30" src="/img/resources/openstack/applicationlifecycle/solum.png" alt="Solum" style="float: left; padding-right: 5px;" >
**diagrams.openstack.applicationlifecycle.Solum**

## openstack.baremetal

- **diagrams.openstack.baremetal.Cyborg**
- **diagrams.openstack.baremetal.Ironic**

<img width="30" src="/img/resources/openstack/baremetal/cyborg.png" alt="Cyborg" style="float: left; padding-right: 5px;" >
**diagrams.openstack.baremetal.Cyborg**

<img width="30" src="/img/resources/openstack/baremetal/ironic.png" alt="Ironic" style="float: left; padding-right: 5px;" >
**diagrams.openstack.baremetal.Ironic**

## openstack.billing

- **diagrams.openstack.billing.Cloudkitty**, **CloudKitty** (alias)

<img width="30" src="/img/resources/openstack/billing/cloudkitty.png" alt="Cloudkitty" style="float: left; padding-right: 5px;" >
**diagrams.openstack.billing.Cloudkitty**, **CloudKitty** (alias)

## openstack.compute

- **diagrams.openstack.compute.Nova**
- **diagrams.openstack.compute.Qinling**
- **diagrams.openstack.compute.Zun**

<img width="30" src="/img/resources/openstack/compute/nova.png" alt="Nova" style="float: left; padding-right: 5px;" >
**diagrams.openstack.compute.Nova**

<img width="30" src="/img/resources/openstack/compute/qinling.png" alt="Qinling" style="float: left; padding-right: 5px;" >
**diagrams.openstack.compute.Qinling**

<img width="30" src="/img/resources/openstack/compute/zun.png" alt="Zun" style="float: left; padding-right: 5px;" >
**diagrams.openstack.compute.Zun**

## openstack.containerservices

- **diagrams.openstack.containerservices.Kuryr**

<img width="30" src="/img/resources/openstack/containerservices/kuryr.png" alt="Kuryr" style="float: left; padding-right: 5px;" >
**diagrams.openstack.containerservices.Kuryr**

## openstack.deployment

- **diagrams.openstack.deployment.Ansible**
- **diagrams.openstack.deployment.Charms**
- **diagrams.openstack.deployment.Chef**
- **diagrams.openstack.deployment.Helm**
- **diagrams.openstack.deployment.Kolla**, **KollaAnsible** (alias)
- **diagrams.openstack.deployment.Tripleo**, **TripleO** (alias)

<img width="30" src="/img/resources/openstack/deployment/ansible.png" alt="Ansible" style="float: left; padding-right: 5px;" >
**diagrams.openstack.deployment.Ansible**

<img width="30" src="/img/resources/openstack/deployment/charms.png" alt="Charms" style="float: left; padding-right: 5px;" >
**diagrams.openstack.deployment.Charms**

<img width="30" src="/img/resources/openstack/deployment/chef.png" alt="Chef" style="float: left; padding-right: 5px;" >
**diagrams.openstack.deployment.Chef**

<img width="30" src="/img/resources/openstack/deployment/helm.png" alt="Helm" style="float: left; padding-right: 5px;" >
**diagrams.openstack.deployment.Helm**

<img width="30" src="/img/resources/openstack/deployment/kolla.png" alt="Kolla" style="float: left; padding-right: 5px;" >
**diagrams.openstack.deployment.Kolla**, **KollaAnsible** (alias)

<img width="30" src="/img/resources/openstack/deployment/tripleo.png" alt="Tripleo" style="float: left; padding-right: 5px;" >
**diagrams.openstack.deployment.Tripleo**, **TripleO** (alias)

## openstack.frontend

- **diagrams.openstack.frontend.Horizon**

<img width="30" src="/img/resources/openstack/frontend/horizon.png" alt="Horizon" style="float: left; padding-right: 5px;" >
**diagrams.openstack.frontend.Horizon**

## openstack.monitoring

- **diagrams.openstack.monitoring.Monasca**
- **diagrams.openstack.monitoring.Telemetry**

<img width="30" src="/img/resources/openstack/monitoring/monasca.png" alt="Monasca" style="float: left; padding-right: 5px;" >
**diagrams.openstack.monitoring.Monasca**

<img width="30" src="/img/resources/openstack/monitoring/telemetry.png" alt="Telemetry" style="float: left; padding-right: 5px;" >
**diagrams.openstack.monitoring.Telemetry**

## openstack.multiregion

- **diagrams.openstack.multiregion.Tricircle**

<img width="30" src="/img/resources/openstack/multiregion/tricircle.png" alt="Tricircle" style="float: left; padding-right: 5px;" >
**diagrams.openstack.multiregion.Tricircle**

## openstack.networking

- **diagrams.openstack.networking.Designate**
- **diagrams.openstack.networking.Neutron**
- **diagrams.openstack.networking.Octavia**

<img width="30" src="/img/resources/openstack/networking/designate.png" alt="Designate" style="float: left; padding-right: 5px;" >
**diagrams.openstack.networking.Designate**

<img width="30" src="/img/resources/openstack/networking/neutron.png" alt="Neutron" style="float: left; padding-right: 5px;" >
**diagrams.openstack.networking.Neutron**

<img width="30" src="/img/resources/openstack/networking/octavia.png" alt="Octavia" style="float: left; padding-right: 5px;" >
**diagrams.openstack.networking.Octavia**

## openstack.nfv

- **diagrams.openstack.nfv.Tacker**

<img width="30" src="/img/resources/openstack/nfv/tacker.png" alt="Tacker" style="float: left; padding-right: 5px;" >
**diagrams.openstack.nfv.Tacker**

## openstack.optimization

- **diagrams.openstack.optimization.Congress**
- **diagrams.openstack.optimization.Rally**
- **diagrams.openstack.optimization.Vitrage**
- **diagrams.openstack.optimization.Watcher**

<img width="30" src="/img/resources/openstack/optimization/congress.png" alt="Congress" style="float: left; padding-right: 5px;" >
**diagrams.openstack.optimization.Congress**

<img width="30" src="/img/resources/openstack/optimization/rally.png" alt="Rally" style="float: left; padding-right: 5px;" >
**diagrams.openstack.optimization.Rally**

<img width="30" src="/img/resources/openstack/optimization/vitrage.png" alt="Vitrage" style="float: left; padding-right: 5px;" >
**diagrams.openstack.optimization.Vitrage**

<img width="30" src="/img/resources/openstack/optimization/watcher.png" alt="Watcher" style="float: left; padding-right: 5px;" >
**diagrams.openstack.optimization.Watcher**

## openstack.orchestration

- **diagrams.openstack.orchestration.Blazar**
- **diagrams.openstack.orchestration.Heat**
- **diagrams.openstack.orchestration.Mistral**
- **diagrams.openstack.orchestration.Senlin**
- **diagrams.openstack.orchestration.Zaqar**

<img width="30" src="/img/resources/openstack/orchestration/blazar.png" alt="Blazar" style="float: left; padding-right: 5px;" >
**diagrams.openstack.orchestration.Blazar**

<img width="30" src="/img/resources/openstack/orchestration/heat.png" alt="Heat" style="float: left; padding-right: 5px;" >
**diagrams.openstack.orchestration.Heat**

<img width="30" src="/img/resources/openstack/orchestration/mistral.png" alt="Mistral" style="float: left; padding-right: 5px;" >
**diagrams.openstack.orchestration.Mistral**

<img width="30" src="/img/resources/openstack/orchestration/senlin.png" alt="Senlin" style="float: left; padding-right: 5px;" >
**diagrams.openstack.orchestration.Senlin**

<img width="30" src="/img/resources/openstack/orchestration/zaqar.png" alt="Zaqar" style="float: left; padding-right: 5px;" >
**diagrams.openstack.orchestration.Zaqar**

## openstack.packaging

- **diagrams.openstack.packaging.LOCI**
- **diagrams.openstack.packaging.Puppet**
- **diagrams.openstack.packaging.RPM**

<img width="30" src="/img/resources/openstack/packaging/loci.png" alt="LOCI" style="float: left; padding-right: 5px;" >
**diagrams.openstack.packaging.LOCI**

<img width="30" src="/img/resources/openstack/packaging/puppet.png" alt="Puppet" style="float: left; padding-right: 5px;" >
**diagrams.openstack.packaging.Puppet**

<img width="30" src="/img/resources/openstack/packaging/rpm.png" alt="RPM" style="float: left; padding-right: 5px;" >
**diagrams.openstack.packaging.RPM**

## openstack.sharedservices

- **diagrams.openstack.sharedservices.Barbican**
- **diagrams.openstack.sharedservices.Glance**
- **diagrams.openstack.sharedservices.Karbor**
- **diagrams.openstack.sharedservices.Keystone**
- **diagrams.openstack.sharedservices.Searchlight**

<img width="30" src="/img/resources/openstack/sharedservices/barbican.png" alt="Barbican" style="float: left; padding-right: 5px;" >
**diagrams.openstack.sharedservices.Barbican**

<img width="30" src="/img/resources/openstack/sharedservices/glance.png" alt="Glance" style="float: left; padding-right: 5px;" >
**diagrams.openstack.sharedservices.Glance**

<img width="30" src="/img/resources/openstack/sharedservices/karbor.png" alt="Karbor" style="float: left; padding-right: 5px;" >
**diagrams.openstack.sharedservices.Karbor**

<img width="30" src="/img/resources/openstack/sharedservices/keystone.png" alt="Keystone" style="float: left; padding-right: 5px;" >
**diagrams.openstack.sharedservices.Keystone**

<img width="30" src="/img/resources/openstack/sharedservices/searchlight.png" alt="Searchlight" style="float: left; padding-right: 5px;" >
**diagrams.openstack.sharedservices.Searchlight**

## openstack.storage

- **diagrams.openstack.storage.Cinder**
- **diagrams.openstack.storage.Manila**
- **diagrams.openstack.storage.Swift**

<img width="30" src="/img/resources/openstack/storage/cinder.png" alt="Cinder" style="float: left; padding-right: 5px;" >
**diagrams.openstack.storage.Cinder**

<img width="30" src="/img/resources/openstack/storage/manila.png" alt="Manila" style="float: left; padding-right: 5px;" >
**diagrams.openstack.storage.Manila**

<img width="30" src="/img/resources/openstack/storage/swift.png" alt="Swift" style="float: left; padding-right: 5px;" >
**diagrams.openstack.storage.Swift**

## openstack.user

- **diagrams.openstack.user.Openstackclient**, **OpenStackClient** (alias)

<img width="30" src="/img/resources/openstack/user/openstackclient.png" alt="Openstackclient" style="float: left; padding-right: 5px;" >
**diagrams.openstack.user.Openstackclient**, **OpenStackClient** (alias)

## openstack.workloadprovisioning

- **diagrams.openstack.workloadprovisioning.Magnum**
- **diagrams.openstack.workloadprovisioning.Sahara**
- **diagrams.openstack.workloadprovisioning.Trove**

<img width="30" src="/img/resources/openstack/workloadprovisioning/magnum.png" alt="Magnum" style="float: left; padding-right: 5px;" >
**diagrams.openstack.workloadprovisioning.Magnum**

<img width="30" src="/img/resources/openstack/workloadprovisioning/sahara.png" alt="Sahara" style="float: left; padding-right: 5px;" >
**diagrams.openstack.workloadprovisioning.Sahara**

<img width="30" src="/img/resources/openstack/workloadprovisioning/trove.png" alt="Trove" style="float: left; padding-right: 5px;" >
**diagrams.openstack.workloadprovisioning.Trove**

+ 36
- 12
docs/nodes/outscale.md ファイルの表示

@@ -7,24 +7,48 @@ Node classes list of outscale provider.

## outscale.compute

- **diagrams.outscale.compute.Compute**
- **diagrams.outscale.compute.DirectConnect**

<img width="30" src="/img/resources/outscale/compute/compute.png" alt="Compute" style="float: left; padding-right: 5px;" >
**diagrams.outscale.compute.Compute**

<img width="30" src="/img/resources/outscale/compute/direct-connect.png" alt="DirectConnect" style="float: left; padding-right: 5px;" >
**diagrams.outscale.compute.DirectConnect**

## outscale.network

- **diagrams.outscale.network.ClientVpn**
- **diagrams.outscale.network.InternetService**
- **diagrams.outscale.network.LoadBalancer**
- **diagrams.outscale.network.NatService**
- **diagrams.outscale.network.Net**
- **diagrams.outscale.network.SiteToSiteVpng**

<img width="30" src="/img/resources/outscale/network/client-vpn.png" alt="ClientVpn" style="float: left; padding-right: 5px;" >
**diagrams.outscale.network.ClientVpn**

<img width="30" src="/img/resources/outscale/network/internet-service.png" alt="InternetService" style="float: left; padding-right: 5px;" >
**diagrams.outscale.network.InternetService**

<img width="30" src="/img/resources/outscale/network/load-balancer.png" alt="LoadBalancer" style="float: left; padding-right: 5px;" >
**diagrams.outscale.network.LoadBalancer**

<img width="30" src="/img/resources/outscale/network/nat-service.png" alt="NatService" style="float: left; padding-right: 5px;" >
**diagrams.outscale.network.NatService**

<img width="30" src="/img/resources/outscale/network/net.png" alt="Net" style="float: left; padding-right: 5px;" >
**diagrams.outscale.network.Net**

<img width="30" src="/img/resources/outscale/network/site-to-site-vpng.png" alt="SiteToSiteVpng" style="float: left; padding-right: 5px;" >
**diagrams.outscale.network.SiteToSiteVpng**

## outscale.security

- **diagrams.outscale.security.Firewall**
- **diagrams.outscale.security.IdentityAndAccessManagement**

<img width="30" src="/img/resources/outscale/security/firewall.png" alt="Firewall" style="float: left; padding-right: 5px;" >
**diagrams.outscale.security.Firewall**

<img width="30" src="/img/resources/outscale/security/identity-and-access-management.png" alt="IdentityAndAccessManagement" style="float: left; padding-right: 5px;" >
**diagrams.outscale.security.IdentityAndAccessManagement**

## outscale.storage

- **diagrams.outscale.storage.SimpleStorageService**
- **diagrams.outscale.storage.Storage**

<img width="30" src="/img/resources/outscale/storage/simple-storage-service.png" alt="SimpleStorageService" style="float: left; padding-right: 5px;" >
**diagrams.outscale.storage.SimpleStorageService**

<img width="30" src="/img/resources/outscale/storage/storage.png" alt="Storage" style="float: left; padding-right: 5px;" >
**diagrams.outscale.storage.Storage**

+ 189
- 62
docs/nodes/programming.md ファイルの表示

@@ -7,74 +7,201 @@ Node classes list of programming provider.

## programming.flowchart

- **diagrams.programming.flowchart.Action**
- **diagrams.programming.flowchart.Collate**
- **diagrams.programming.flowchart.Database**
- **diagrams.programming.flowchart.Decision**
- **diagrams.programming.flowchart.Delay**
- **diagrams.programming.flowchart.Display**
- **diagrams.programming.flowchart.Document**
- **diagrams.programming.flowchart.InputOutput**
- **diagrams.programming.flowchart.Inspection**
- **diagrams.programming.flowchart.InternalStorage**
- **diagrams.programming.flowchart.LoopLimit**
- **diagrams.programming.flowchart.ManualInput**
- **diagrams.programming.flowchart.ManualLoop**
- **diagrams.programming.flowchart.Merge**
- **diagrams.programming.flowchart.MultipleDocuments**
- **diagrams.programming.flowchart.OffPageConnectorLeft**
- **diagrams.programming.flowchart.OffPageConnectorRight**
- **diagrams.programming.flowchart.Or**
- **diagrams.programming.flowchart.PredefinedProcess**
- **diagrams.programming.flowchart.Preparation**
- **diagrams.programming.flowchart.Sort**
- **diagrams.programming.flowchart.StartEnd**
- **diagrams.programming.flowchart.StoredData**
- **diagrams.programming.flowchart.SummingJunction**

<img width="30" src="/img/resources/programming/flowchart/action.png" alt="Action" style="float: left; padding-right: 5px;" >
**diagrams.programming.flowchart.Action**

<img width="30" src="/img/resources/programming/flowchart/collate.png" alt="Collate" style="float: left; padding-right: 5px;" >
**diagrams.programming.flowchart.Collate**

<img width="30" src="/img/resources/programming/flowchart/database.png" alt="Database" style="float: left; padding-right: 5px;" >
**diagrams.programming.flowchart.Database**

<img width="30" src="/img/resources/programming/flowchart/decision.png" alt="Decision" style="float: left; padding-right: 5px;" >
**diagrams.programming.flowchart.Decision**

<img width="30" src="/img/resources/programming/flowchart/delay.png" alt="Delay" style="float: left; padding-right: 5px;" >
**diagrams.programming.flowchart.Delay**

<img width="30" src="/img/resources/programming/flowchart/display.png" alt="Display" style="float: left; padding-right: 5px;" >
**diagrams.programming.flowchart.Display**

<img width="30" src="/img/resources/programming/flowchart/document.png" alt="Document" style="float: left; padding-right: 5px;" >
**diagrams.programming.flowchart.Document**

<img width="30" src="/img/resources/programming/flowchart/input-output.png" alt="InputOutput" style="float: left; padding-right: 5px;" >
**diagrams.programming.flowchart.InputOutput**

<img width="30" src="/img/resources/programming/flowchart/inspection.png" alt="Inspection" style="float: left; padding-right: 5px;" >
**diagrams.programming.flowchart.Inspection**

<img width="30" src="/img/resources/programming/flowchart/internal-storage.png" alt="InternalStorage" style="float: left; padding-right: 5px;" >
**diagrams.programming.flowchart.InternalStorage**

<img width="30" src="/img/resources/programming/flowchart/loop-limit.png" alt="LoopLimit" style="float: left; padding-right: 5px;" >
**diagrams.programming.flowchart.LoopLimit**

<img width="30" src="/img/resources/programming/flowchart/manual-input.png" alt="ManualInput" style="float: left; padding-right: 5px;" >
**diagrams.programming.flowchart.ManualInput**

<img width="30" src="/img/resources/programming/flowchart/manual-loop.png" alt="ManualLoop" style="float: left; padding-right: 5px;" >
**diagrams.programming.flowchart.ManualLoop**

<img width="30" src="/img/resources/programming/flowchart/merge.png" alt="Merge" style="float: left; padding-right: 5px;" >
**diagrams.programming.flowchart.Merge**

<img width="30" src="/img/resources/programming/flowchart/multiple-documents.png" alt="MultipleDocuments" style="float: left; padding-right: 5px;" >
**diagrams.programming.flowchart.MultipleDocuments**

<img width="30" src="/img/resources/programming/flowchart/off-page-connector-left.png" alt="OffPageConnectorLeft" style="float: left; padding-right: 5px;" >
**diagrams.programming.flowchart.OffPageConnectorLeft**

<img width="30" src="/img/resources/programming/flowchart/off-page-connector-right.png" alt="OffPageConnectorRight" style="float: left; padding-right: 5px;" >
**diagrams.programming.flowchart.OffPageConnectorRight**

<img width="30" src="/img/resources/programming/flowchart/or.png" alt="Or" style="float: left; padding-right: 5px;" >
**diagrams.programming.flowchart.Or**

<img width="30" src="/img/resources/programming/flowchart/predefined-process.png" alt="PredefinedProcess" style="float: left; padding-right: 5px;" >
**diagrams.programming.flowchart.PredefinedProcess**

<img width="30" src="/img/resources/programming/flowchart/preparation.png" alt="Preparation" style="float: left; padding-right: 5px;" >
**diagrams.programming.flowchart.Preparation**

<img width="30" src="/img/resources/programming/flowchart/sort.png" alt="Sort" style="float: left; padding-right: 5px;" >
**diagrams.programming.flowchart.Sort**

<img width="30" src="/img/resources/programming/flowchart/start-end.png" alt="StartEnd" style="float: left; padding-right: 5px;" >
**diagrams.programming.flowchart.StartEnd**

<img width="30" src="/img/resources/programming/flowchart/stored-data.png" alt="StoredData" style="float: left; padding-right: 5px;" >
**diagrams.programming.flowchart.StoredData**

<img width="30" src="/img/resources/programming/flowchart/summing-junction.png" alt="SummingJunction" style="float: left; padding-right: 5px;" >
**diagrams.programming.flowchart.SummingJunction**

## programming.framework

- **diagrams.programming.framework.Angular**
- **diagrams.programming.framework.Backbone**
- **diagrams.programming.framework.Django**
- **diagrams.programming.framework.Ember**
- **diagrams.programming.framework.Fastapi**, **FastAPI** (alias)
- **diagrams.programming.framework.Flask**
- **diagrams.programming.framework.Flutter**
- **diagrams.programming.framework.Graphql**, **GraphQL** (alias)
- **diagrams.programming.framework.Laravel**
- **diagrams.programming.framework.Micronaut**
- **diagrams.programming.framework.Rails**
- **diagrams.programming.framework.React**
- **diagrams.programming.framework.Spring**
- **diagrams.programming.framework.Starlette**
- **diagrams.programming.framework.Vue**

<img width="30" src="/img/resources/programming/framework/angular.png" alt="Angular" style="float: left; padding-right: 5px;" >
**diagrams.programming.framework.Angular**

<img width="30" src="/img/resources/programming/framework/backbone.png" alt="Backbone" style="float: left; padding-right: 5px;" >
**diagrams.programming.framework.Backbone**

<img width="30" src="/img/resources/programming/framework/django.png" alt="Django" style="float: left; padding-right: 5px;" >
**diagrams.programming.framework.Django**

<img width="30" src="/img/resources/programming/framework/ember.png" alt="Ember" style="float: left; padding-right: 5px;" >
**diagrams.programming.framework.Ember**

<img width="30" src="/img/resources/programming/framework/fastapi.png" alt="Fastapi" style="float: left; padding-right: 5px;" >
**diagrams.programming.framework.Fastapi**, **FastAPI** (alias)

<img width="30" src="/img/resources/programming/framework/flask.png" alt="Flask" style="float: left; padding-right: 5px;" >
**diagrams.programming.framework.Flask**

<img width="30" src="/img/resources/programming/framework/flutter.png" alt="Flutter" style="float: left; padding-right: 5px;" >
**diagrams.programming.framework.Flutter**

<img width="30" src="/img/resources/programming/framework/graphql.png" alt="Graphql" style="float: left; padding-right: 5px;" >
**diagrams.programming.framework.Graphql**, **GraphQL** (alias)

<img width="30" src="/img/resources/programming/framework/laravel.png" alt="Laravel" style="float: left; padding-right: 5px;" >
**diagrams.programming.framework.Laravel**

<img width="30" src="/img/resources/programming/framework/micronaut.png" alt="Micronaut" style="float: left; padding-right: 5px;" >
**diagrams.programming.framework.Micronaut**

<img width="30" src="/img/resources/programming/framework/rails.png" alt="Rails" style="float: left; padding-right: 5px;" >
**diagrams.programming.framework.Rails**

<img width="30" src="/img/resources/programming/framework/react.png" alt="React" style="float: left; padding-right: 5px;" >
**diagrams.programming.framework.React**

<img width="30" src="/img/resources/programming/framework/spring.png" alt="Spring" style="float: left; padding-right: 5px;" >
**diagrams.programming.framework.Spring**

<img width="30" src="/img/resources/programming/framework/starlette.png" alt="Starlette" style="float: left; padding-right: 5px;" >
**diagrams.programming.framework.Starlette**

<img width="30" src="/img/resources/programming/framework/svelte.png" alt="Svelte" style="float: left; padding-right: 5px;" >
**diagrams.programming.framework.Svelte**

<img width="30" src="/img/resources/programming/framework/vue.png" alt="Vue" style="float: left; padding-right: 5px;" >
**diagrams.programming.framework.Vue**

## programming.language

- **diagrams.programming.language.Bash**
- **diagrams.programming.language.C**
- **diagrams.programming.language.Cpp**
- **diagrams.programming.language.Csharp**
- **diagrams.programming.language.Dart**
- **diagrams.programming.language.Elixir**
- **diagrams.programming.language.Erlang**
- **diagrams.programming.language.Go**
- **diagrams.programming.language.Java**
- **diagrams.programming.language.Javascript**, **JavaScript** (alias)
- **diagrams.programming.language.Kotlin**
- **diagrams.programming.language.Latex**
- **diagrams.programming.language.Matlab**
- **diagrams.programming.language.Nodejs**, **NodeJS** (alias)
- **diagrams.programming.language.Php**, **PHP** (alias)
- **diagrams.programming.language.Python**
- **diagrams.programming.language.R**
- **diagrams.programming.language.Ruby**
- **diagrams.programming.language.Rust**
- **diagrams.programming.language.Scala**
- **diagrams.programming.language.Swift**
- **diagrams.programming.language.Typescript**, **TypeScript** (alias)

<img width="30" src="/img/resources/programming/language/bash.png" alt="Bash" style="float: left; padding-right: 5px;" >
**diagrams.programming.language.Bash**

<img width="30" src="/img/resources/programming/language/c.png" alt="C" style="float: left; padding-right: 5px;" >
**diagrams.programming.language.C**

<img width="30" src="/img/resources/programming/language/cpp.png" alt="Cpp" style="float: left; padding-right: 5px;" >
**diagrams.programming.language.Cpp**

<img width="30" src="/img/resources/programming/language/csharp.png" alt="Csharp" style="float: left; padding-right: 5px;" >
**diagrams.programming.language.Csharp**

<img width="30" src="/img/resources/programming/language/dart.png" alt="Dart" style="float: left; padding-right: 5px;" >
**diagrams.programming.language.Dart**

<img width="30" src="/img/resources/programming/language/elixir.png" alt="Elixir" style="float: left; padding-right: 5px;" >
**diagrams.programming.language.Elixir**

<img width="30" src="/img/resources/programming/language/erlang.png" alt="Erlang" style="float: left; padding-right: 5px;" >
**diagrams.programming.language.Erlang**

<img width="30" src="/img/resources/programming/language/go.png" alt="Go" style="float: left; padding-right: 5px;" >
**diagrams.programming.language.Go**

<img width="30" src="/img/resources/programming/language/java.png" alt="Java" style="float: left; padding-right: 5px;" >
**diagrams.programming.language.Java**

<img width="30" src="/img/resources/programming/language/javascript.png" alt="Javascript" style="float: left; padding-right: 5px;" >
**diagrams.programming.language.Javascript**, **JavaScript** (alias)

<img width="30" src="/img/resources/programming/language/kotlin.png" alt="Kotlin" style="float: left; padding-right: 5px;" >
**diagrams.programming.language.Kotlin**

<img width="30" src="/img/resources/programming/language/latex.png" alt="Latex" style="float: left; padding-right: 5px;" >
**diagrams.programming.language.Latex**

<img width="30" src="/img/resources/programming/language/matlab.png" alt="Matlab" style="float: left; padding-right: 5px;" >
**diagrams.programming.language.Matlab**

<img width="30" src="/img/resources/programming/language/nodejs.png" alt="Nodejs" style="float: left; padding-right: 5px;" >
**diagrams.programming.language.Nodejs**, **NodeJS** (alias)

<img width="30" src="/img/resources/programming/language/php.png" alt="Php" style="float: left; padding-right: 5px;" >
**diagrams.programming.language.Php**, **PHP** (alias)

<img width="30" src="/img/resources/programming/language/python.png" alt="Python" style="float: left; padding-right: 5px;" >
**diagrams.programming.language.Python**

<img width="30" src="/img/resources/programming/language/r.png" alt="R" style="float: left; padding-right: 5px;" >
**diagrams.programming.language.R**

<img width="30" src="/img/resources/programming/language/ruby.png" alt="Ruby" style="float: left; padding-right: 5px;" >
**diagrams.programming.language.Ruby**

<img width="30" src="/img/resources/programming/language/rust.png" alt="Rust" style="float: left; padding-right: 5px;" >
**diagrams.programming.language.Rust**

<img width="30" src="/img/resources/programming/language/scala.png" alt="Scala" style="float: left; padding-right: 5px;" >
**diagrams.programming.language.Scala**

<img width="30" src="/img/resources/programming/language/swift.png" alt="Swift" style="float: left; padding-right: 5px;" >
**diagrams.programming.language.Swift**

<img width="30" src="/img/resources/programming/language/typescript.png" alt="Typescript" style="float: left; padding-right: 5px;" >
**diagrams.programming.language.Typescript**, **TypeScript** (alias)

## programming.runtime

- **diagrams.programming.runtime.Dapr**

<img width="30" src="/img/resources/programming/runtime/dapr.png" alt="Dapr" style="float: left; padding-right: 5px;" >
**diagrams.programming.runtime.Dapr**

+ 92
- 23
docs/nodes/saas.md ファイルの表示

@@ -7,53 +7,122 @@ Node classes list of saas provider.

## saas.alerting

- **diagrams.saas.alerting.Newrelic**
- **diagrams.saas.alerting.Opsgenie**
- **diagrams.saas.alerting.Pushover**

<img width="30" src="/img/resources/saas/alerting/newrelic.png" alt="Newrelic" style="float: left; padding-right: 5px;" >
**diagrams.saas.alerting.Newrelic**

<img width="30" src="/img/resources/saas/alerting/opsgenie.png" alt="Opsgenie" style="float: left; padding-right: 5px;" >
**diagrams.saas.alerting.Opsgenie**

<img width="30" src="/img/resources/saas/alerting/pushover.png" alt="Pushover" style="float: left; padding-right: 5px;" >
**diagrams.saas.alerting.Pushover**

<img width="30" src="/img/resources/saas/alerting/xmatters.png" alt="Xmatters" style="float: left; padding-right: 5px;" >
**diagrams.saas.alerting.Xmatters**

<img width="30" src="/img/resources/saas/alerting/pagerduty.png" alt="Pagerduty" style="float: left; padding-right: 5px;" >
**diagrams.saas.alerting.Pagerduty**

## saas.analytics

- **diagrams.saas.analytics.Snowflake**
- **diagrams.saas.analytics.Stitch**
<img width="30" src="/img/resources/saas/analytics/dataform.png" alt="Dataform" style="float: left; padding-right: 5px;" >
**diagrams.saas.analytics.Dataform**

<img width="30" src="/img/resources/saas/analytics/snowflake.png" alt="Snowflake" style="float: left; padding-right: 5px;" >
**diagrams.saas.analytics.Snowflake**

<img width="30" src="/img/resources/saas/analytics/stitch.png" alt="Stitch" style="float: left; padding-right: 5px;" >
**diagrams.saas.analytics.Stitch**

## saas.cdn

- **diagrams.saas.cdn.Akamai**
- **diagrams.saas.cdn.Cloudflare**

<img width="30" src="/img/resources/saas/cdn/akamai.png" alt="Akamai" style="float: left; padding-right: 5px;" >
**diagrams.saas.cdn.Akamai**

<img width="30" src="/img/resources/saas/cdn/cloudflare.png" alt="Cloudflare" style="float: left; padding-right: 5px;" >
**diagrams.saas.cdn.Cloudflare**

<img width="30" src="/img/resources/saas/cdn/fastly.png" alt="Fastly" style="float: left; padding-right: 5px;" >
**diagrams.saas.cdn.Fastly**

## saas.chat

- **diagrams.saas.chat.Discord**
- **diagrams.saas.chat.Mattermost**
- **diagrams.saas.chat.RocketChat**
- **diagrams.saas.chat.Slack**
- **diagrams.saas.chat.Teams**
- **diagrams.saas.chat.Telegram**

<img width="30" src="/img/resources/saas/chat/discord.png" alt="Discord" style="float: left; padding-right: 5px;" >
**diagrams.saas.chat.Discord**

<img width="30" src="/img/resources/saas/chat/line.png" alt="Line" style="float: left; padding-right: 5px;" >
**diagrams.saas.chat.Line**

<img width="30" src="/img/resources/saas/chat/mattermost.png" alt="Mattermost" style="float: left; padding-right: 5px;" >
**diagrams.saas.chat.Mattermost**

<img width="30" src="/img/resources/saas/chat/messenger.png" alt="Messenger" style="float: left; padding-right: 5px;" >
**diagrams.saas.chat.Messenger**

<img width="30" src="/img/resources/saas/chat/rocket-chat.png" alt="RocketChat" style="float: left; padding-right: 5px;" >
**diagrams.saas.chat.RocketChat**

<img width="30" src="/img/resources/saas/chat/slack.png" alt="Slack" style="float: left; padding-right: 5px;" >
**diagrams.saas.chat.Slack**

<img width="30" src="/img/resources/saas/chat/teams.png" alt="Teams" style="float: left; padding-right: 5px;" >
**diagrams.saas.chat.Teams**

<img width="30" src="/img/resources/saas/chat/telegram.png" alt="Telegram" style="float: left; padding-right: 5px;" >
**diagrams.saas.chat.Telegram**

## saas.communication


<img width="30" src="/img/resources/saas/communication/twilio.png" alt="Twilio" style="float: left; padding-right: 5px;" >
**diagrams.saas.communication.Twilio**

## saas.filesharing

- **diagrams.saas.filesharing.Nextcloud**

<img width="30" src="/img/resources/saas/filesharing/nextcloud.png" alt="Nextcloud" style="float: left; padding-right: 5px;" >
**diagrams.saas.filesharing.Nextcloud**

## saas.identity

- **diagrams.saas.identity.Auth0**
- **diagrams.saas.identity.Okta**

<img width="30" src="/img/resources/saas/identity/auth0.png" alt="Auth0" style="float: left; padding-right: 5px;" >
**diagrams.saas.identity.Auth0**

<img width="30" src="/img/resources/saas/identity/okta.png" alt="Okta" style="float: left; padding-right: 5px;" >
**diagrams.saas.identity.Okta**

## saas.logging

- **diagrams.saas.logging.Datadog**, **DataDog** (alias)
- **diagrams.saas.logging.Newrelic**, **NewRelic** (alias)
- **diagrams.saas.logging.Papertrail**

<img width="30" src="/img/resources/saas/logging/datadog.png" alt="Datadog" style="float: left; padding-right: 5px;" >
**diagrams.saas.logging.Datadog**, **DataDog** (alias)

<img width="30" src="/img/resources/saas/logging/newrelic.png" alt="Newrelic" style="float: left; padding-right: 5px;" >
**diagrams.saas.logging.Newrelic**, **NewRelic** (alias)

<img width="30" src="/img/resources/saas/logging/papertrail.png" alt="Papertrail" style="float: left; padding-right: 5px;" >
**diagrams.saas.logging.Papertrail**

## saas.media

- **diagrams.saas.media.Cloudinary**

<img width="30" src="/img/resources/saas/media/cloudinary.png" alt="Cloudinary" style="float: left; padding-right: 5px;" >
**diagrams.saas.media.Cloudinary**

## saas.recommendation

- **diagrams.saas.recommendation.Recombee**

<img width="30" src="/img/resources/saas/recommendation/recombee.png" alt="Recombee" style="float: left; padding-right: 5px;" >
**diagrams.saas.recommendation.Recombee**

## saas.social

- **diagrams.saas.social.Facebook**
- **diagrams.saas.social.Twitter**

<img width="30" src="/img/resources/saas/social/facebook.png" alt="Facebook" style="float: left; padding-right: 5px;" >
**diagrams.saas.social.Facebook**

<img width="30" src="/img/resources/saas/social/twitter.png" alt="Twitter" style="float: left; padding-right: 5px;" >
**diagrams.saas.social.Twitter**

+ 345
- 378
poetry.lock ファイルの表示

@@ -1,73 +1,76 @@
[[package]]
name = "appdirs"
version = "1.4.3"
description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
category = "dev"
optional = false
python-versions = "*"
# This file is automatically @generated by Poetry and should not be changed by hand.

[[package]]
name = "astroid"
version = "2.5"
version = "2.9.0"
description = "An abstract syntax tree for Python with inference support."
category = "dev"
optional = false
python-versions = ">=3.6"
python-versions = "~=3.6"
files = [
{file = "astroid-2.9.0-py3-none-any.whl", hash = "sha256:776ca0b748b4ad69c00bfe0fff38fa2d21c338e12c84aa9715ee0d473c422778"},
{file = "astroid-2.9.0.tar.gz", hash = "sha256:5939cf55de24b92bda00345d4d0659d01b3c7dafb5055165c330bc7c568ba273"},
]

[package.dependencies]
lazy-object-proxy = ">=1.4.0"
typed-ast = {version = ">=1.4.0,<1.5", markers = "implementation_name == \"cpython\" and python_version < \"3.8\""}
wrapt = ">=1.11,<1.13"

[[package]]
name = "atomicwrites"
version = "1.3.0"
description = "Atomic file writes."
category = "dev"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"

[[package]]
name = "attrs"
version = "19.3.0"
description = "Classes Without Boilerplate"
category = "dev"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"

[package.extras]
azure-pipelines = ["coverage", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface", "pytest-azurepipelines"]
dev = ["coverage", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface", "sphinx", "pre-commit"]
docs = ["sphinx", "zope.interface"]
tests = ["coverage", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface"]
setuptools = ">=20.0"
typed-ast = {version = ">=1.4.0,<2.0", markers = "implementation_name == \"cpython\" and python_version < \"3.8\""}
typing-extensions = {version = ">=3.10", markers = "python_version < \"3.10\""}
wrapt = ">=1.11,<1.14"

[[package]]
name = "black"
version = "19.10b0"
version = "22.12.0"
description = "The uncompromising code formatter."
category = "dev"
optional = false
python-versions = ">=3.6"
python-versions = ">=3.7"
files = [
{file = "black-22.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9eedd20838bd5d75b80c9f5487dbcb06836a43833a37846cf1d8c1cc01cef59d"},
{file = "black-22.12.0-cp310-cp310-win_amd64.whl", hash = "sha256:159a46a4947f73387b4d83e87ea006dbb2337eab6c879620a3ba52699b1f4351"},
{file = "black-22.12.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d30b212bffeb1e252b31dd269dfae69dd17e06d92b87ad26e23890f3efea366f"},
{file = "black-22.12.0-cp311-cp311-win_amd64.whl", hash = "sha256:7412e75863aa5c5411886804678b7d083c7c28421210180d67dfd8cf1221e1f4"},
{file = "black-22.12.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c116eed0efb9ff870ded8b62fe9f28dd61ef6e9ddd28d83d7d264a38417dcee2"},
{file = "black-22.12.0-cp37-cp37m-win_amd64.whl", hash = "sha256:1f58cbe16dfe8c12b7434e50ff889fa479072096d79f0a7f25e4ab8e94cd8350"},
{file = "black-22.12.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77d86c9f3db9b1bf6761244bc0b3572a546f5fe37917a044e02f3166d5aafa7d"},
{file = "black-22.12.0-cp38-cp38-win_amd64.whl", hash = "sha256:82d9fe8fee3401e02e79767016b4907820a7dc28d70d137eb397b92ef3cc5bfc"},
{file = "black-22.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:101c69b23df9b44247bd88e1d7e90154336ac4992502d4197bdac35dd7ee3320"},
{file = "black-22.12.0-cp39-cp39-win_amd64.whl", hash = "sha256:559c7a1ba9a006226f09e4916060982fd27334ae1998e7a38b3f33a37f7a2148"},
{file = "black-22.12.0-py3-none-any.whl", hash = "sha256:436cc9167dd28040ad90d3b404aec22cedf24a6e4d7de221bec2730ec0c97bcf"},
{file = "black-22.12.0.tar.gz", hash = "sha256:229351e5a18ca30f447bf724d007f890f97e13af070bb6ad4c0a441cd7596a2f"},
]

[package.dependencies]
appdirs = "*"
attrs = ">=18.1.0"
click = ">=6.5"
pathspec = ">=0.6,<1"
regex = "*"
toml = ">=0.9.4"
typed-ast = ">=1.4.0"
click = ">=8.0.0"
mypy-extensions = ">=0.4.3"
pathspec = ">=0.9.0"
platformdirs = ">=2"
tomli = {version = ">=1.1.0", markers = "python_full_version < \"3.11.0a7\""}
typed-ast = {version = ">=1.4.2", markers = "python_version < \"3.8\" and implementation_name == \"cpython\""}
typing-extensions = {version = ">=3.10.0.0", markers = "python_version < \"3.10\""}

[package.extras]
d = ["aiohttp (>=3.3.2)", "aiohttp-cors"]
colorama = ["colorama (>=0.4.3)"]
d = ["aiohttp (>=3.7.4)"]
jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"]
uvloop = ["uvloop (>=0.15.2)"]

[[package]]
name = "click"
version = "7.0"
version = "8.1.3"
description = "Composable command line interface toolkit"
category = "dev"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
python-versions = ">=3.7"
files = [
{file = "click-8.1.3-py3-none-any.whl", hash = "sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48"},
{file = "click-8.1.3.tar.gz", hash = "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e"},
]

[package.dependencies]
colorama = {version = "*", markers = "platform_system == \"Windows\""}
importlib-metadata = {version = "*", markers = "python_version < \"3.8\""}

[[package]]
name = "colorama"
@@ -76,38 +79,42 @@ description = "Cross-platform colored terminal text."
category = "dev"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
files = [
{file = "colorama-0.4.3-py2.py3-none-any.whl", hash = "sha256:7d73d2a99753107a36ac6b455ee49046802e59d9d076ef8e47b61499fa29afff"},
{file = "colorama-0.4.3.tar.gz", hash = "sha256:e96da0d330793e2cb9485e9ddfd918d456036c7149416295932478192f4436a1"},
]

[[package]]
name = "contextvars"
version = "2.4"
description = "PEP 567 Backport"
category = "main"
name = "exceptiongroup"
version = "1.1.0"
description = "Backport of PEP 654 (exception groups)"
category = "dev"
optional = false
python-versions = "*"
python-versions = ">=3.7"
files = [
{file = "exceptiongroup-1.1.0-py3-none-any.whl", hash = "sha256:327cbda3da756e2de031a3107b81ab7b3770a602c4d16ca618298c526f4bec1e"},
{file = "exceptiongroup-1.1.0.tar.gz", hash = "sha256:bcb67d800a4497e1b404c2dd44fca47d3b7a5e5433dbab67f96c1a685cdfdf23"},
]

[package.dependencies]
immutables = ">=0.9"
[package.extras]
test = ["pytest (>=6)"]

[[package]]
name = "graphviz"
version = "0.19.1"
version = "0.20.1"
description = "Simple Python interface for Graphviz"
category = "main"
optional = false
python-versions = ">=3.6"
python-versions = ">=3.7"
files = [
{file = "graphviz-0.20.1-py3-none-any.whl", hash = "sha256:587c58a223b51611c0cf461132da386edd896a029524ca61a1462b880bf97977"},
{file = "graphviz-0.20.1.zip", hash = "sha256:8c58f14adaa3b947daf26c19bc1e98c4e0702cdc31cf99153e6f06904d492bf8"},
]

[package.extras]
dev = ["tox (>=3)", "flake8", "pep8-naming", "wheel", "twine"]
docs = ["sphinx (>=1.8)", "sphinx-autodoc-typehints", "sphinx-rtd-theme"]
test = ["pytest (>=6)", "pytest-mock (>=3)", "mock (>=4)", "pytest-cov", "coverage"]

[[package]]
name = "immutables"
version = "0.11"
description = "Immutable Collections"
category = "main"
optional = false
python-versions = "*"
dev = ["flake8", "pep8-naming", "tox (>=3)", "twine", "wheel"]
docs = ["sphinx (>=5)", "sphinx-autodoc-typehints", "sphinx-rtd-theme"]
test = ["coverage", "mock (>=4)", "pytest (>=7)", "pytest-cov", "pytest-mock (>=3)"]

[[package]]
name = "importlib-metadata"
@@ -116,13 +123,17 @@ description = "Read metadata from Python packages"
category = "dev"
optional = false
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7"
files = [
{file = "importlib_metadata-1.5.0-py2.py3-none-any.whl", hash = "sha256:b97607a1a18a5100839aec1dc26a1ea17ee0d93b20b0f008d80a5a050afb200b"},
{file = "importlib_metadata-1.5.0.tar.gz", hash = "sha256:06f5b3a99029c7134207dd882428a66992a9de2bef7c2b699b5641f9886c3302"},
]

[package.dependencies]
zipp = ">=0.5"

[package.extras]
docs = ["sphinx", "rst.linker"]
testing = ["packaging", "importlib-resources"]
docs = ["rst.linker", "sphinx"]
testing = ["importlib-resources", "packaging"]

[[package]]
name = "iniconfig"
@@ -131,6 +142,10 @@ description = "iniconfig: brain-dead simple config-ini parsing"
category = "dev"
optional = false
python-versions = "*"
files = [
{file = "iniconfig-1.1.1-py2.py3-none-any.whl", hash = "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3"},
{file = "iniconfig-1.1.1.tar.gz", hash = "sha256:bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32"},
]

[[package]]
name = "isort"
@@ -139,20 +154,28 @@ description = "A Python utility / library to sort Python imports."
category = "dev"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
files = [
{file = "isort-4.3.21-py2.py3-none-any.whl", hash = "sha256:6e811fcb295968434526407adb8796944f1988c5b65e8139058f2014cbe100fd"},
{file = "isort-4.3.21.tar.gz", hash = "sha256:54da7e92468955c4fceacd0c86bd0ec997b0e1ee80d97f67c35a78b719dccab1"},
]

[package.extras]
pipfile = ["pipreqs", "requirementslib"]
pyproject = ["toml"]
requirements = ["pipreqs", "pip-api"]
xdg_home = ["appdirs (>=1.4.0)"]
requirements = ["pip-api", "pipreqs"]
xdg-home = ["appdirs (>=1.4.0)"]

[[package]]
name = "jinja2"
version = "3.0.1"
version = "3.1.2"
description = "A very fast and expressive template engine."
category = "main"
optional = false
python-versions = ">=3.6"
python-versions = ">=3.7"
files = [
{file = "Jinja2-3.1.2-py3-none-any.whl", hash = "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"},
{file = "Jinja2-3.1.2.tar.gz", hash = "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852"},
]

[package.dependencies]
MarkupSafe = ">=2.0"
@@ -167,6 +190,29 @@ description = "A fast and thorough lazy object proxy."
category = "dev"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
files = [
{file = "lazy-object-proxy-1.4.3.tar.gz", hash = "sha256:f3900e8a5de27447acbf900b4750b0ddfd7ec1ea7fbaf11dfa911141bc522af0"},
{file = "lazy_object_proxy-1.4.3-cp27-cp27m-macosx_10_13_x86_64.whl", hash = "sha256:a2238e9d1bb71a56cd710611a1614d1194dc10a175c1e08d75e1a7bcc250d442"},
{file = "lazy_object_proxy-1.4.3-cp27-cp27m-win32.whl", hash = "sha256:efa1909120ce98bbb3777e8b6f92237f5d5c8ea6758efea36a473e1d38f7d3e4"},
{file = "lazy_object_proxy-1.4.3-cp27-cp27m-win_amd64.whl", hash = "sha256:4677f594e474c91da97f489fea5b7daa17b5517190899cf213697e48d3902f5a"},
{file = "lazy_object_proxy-1.4.3-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:0c4b206227a8097f05c4dbdd323c50edf81f15db3b8dc064d08c62d37e1a504d"},
{file = "lazy_object_proxy-1.4.3-cp34-cp34m-manylinux1_x86_64.whl", hash = "sha256:d945239a5639b3ff35b70a88c5f2f491913eb94871780ebfabb2568bd58afc5a"},
{file = "lazy_object_proxy-1.4.3-cp34-cp34m-win32.whl", hash = "sha256:9651375199045a358eb6741df3e02a651e0330be090b3bc79f6d0de31a80ec3e"},
{file = "lazy_object_proxy-1.4.3-cp34-cp34m-win_amd64.whl", hash = "sha256:eba7011090323c1dadf18b3b689845fd96a61ba0a1dfbd7f24b921398affc357"},
{file = "lazy_object_proxy-1.4.3-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:48dab84ebd4831077b150572aec802f303117c8cc5c871e182447281ebf3ac50"},
{file = "lazy_object_proxy-1.4.3-cp35-cp35m-win32.whl", hash = "sha256:ca0a928a3ddbc5725be2dd1cf895ec0a254798915fb3a36af0964a0a4149e3db"},
{file = "lazy_object_proxy-1.4.3-cp35-cp35m-win_amd64.whl", hash = "sha256:194d092e6f246b906e8f70884e620e459fc54db3259e60cf69a4d66c3fda3449"},
{file = "lazy_object_proxy-1.4.3-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:97bb5884f6f1cdce0099f86b907aa41c970c3c672ac8b9c8352789e103cf3156"},
{file = "lazy_object_proxy-1.4.3-cp36-cp36m-win32.whl", hash = "sha256:cb2c7c57005a6804ab66f106ceb8482da55f5314b7fcb06551db1edae4ad1531"},
{file = "lazy_object_proxy-1.4.3-cp36-cp36m-win_amd64.whl", hash = "sha256:8d859b89baf8ef7f8bc6b00aa20316483d67f0b1cbf422f5b4dc56701c8f2ffb"},
{file = "lazy_object_proxy-1.4.3-cp37-cp37m-macosx_10_13_x86_64.whl", hash = "sha256:1be7e4c9f96948003609aa6c974ae59830a6baecc5376c25c92d7d697e684c08"},
{file = "lazy_object_proxy-1.4.3-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:d74bb8693bf9cf75ac3b47a54d716bbb1a92648d5f781fc799347cfc95952383"},
{file = "lazy_object_proxy-1.4.3-cp37-cp37m-win32.whl", hash = "sha256:9b15f3f4c0f35727d3a0fba4b770b3c4ebbb1fa907dbcc046a1d2799f3edd142"},
{file = "lazy_object_proxy-1.4.3-cp37-cp37m-win_amd64.whl", hash = "sha256:9254f4358b9b541e3441b007a0ea0764b9d056afdeafc1a5569eee1cc6c1b9ea"},
{file = "lazy_object_proxy-1.4.3-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:a6ae12d08c0bf9909ce12385803a543bfe99b95fe01e752536a60af2b7797c62"},
{file = "lazy_object_proxy-1.4.3-cp38-cp38-win32.whl", hash = "sha256:5541cada25cd173702dbd99f8e22434105456314462326f06dba3e180f203dfd"},
{file = "lazy_object_proxy-1.4.3-cp38-cp38-win_amd64.whl", hash = "sha256:59f79fef100b09564bc2df42ea2d8d21a64fdcda64979c0fa3db7bdaabaf6239"},
]

[[package]]
name = "markupsafe"
@@ -175,6 +221,77 @@ description = "Safely add untrusted strings to HTML/XML markup."
category = "main"
optional = false
python-versions = ">=3.6"
files = [
{file = "MarkupSafe-2.0.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d8446c54dc28c01e5a2dbac5a25f071f6653e6e40f3a8818e8b45d790fe6ef53"},
{file = "MarkupSafe-2.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:36bc903cbb393720fad60fc28c10de6acf10dc6cc883f3e24ee4012371399a38"},
{file = "MarkupSafe-2.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2d7d807855b419fc2ed3e631034685db6079889a1f01d5d9dac950f764da3dad"},
{file = "MarkupSafe-2.0.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:add36cb2dbb8b736611303cd3bfcee00afd96471b09cda130da3581cbdc56a6d"},
{file = "MarkupSafe-2.0.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:168cd0a3642de83558a5153c8bd34f175a9a6e7f6dc6384b9655d2697312a646"},
{file = "MarkupSafe-2.0.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:4dc8f9fb58f7364b63fd9f85013b780ef83c11857ae79f2feda41e270468dd9b"},
{file = "MarkupSafe-2.0.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:20dca64a3ef2d6e4d5d615a3fd418ad3bde77a47ec8a23d984a12b5b4c74491a"},
{file = "MarkupSafe-2.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:cdfba22ea2f0029c9261a4bd07e830a8da012291fbe44dc794e488b6c9bb353a"},
{file = "MarkupSafe-2.0.1-cp310-cp310-win32.whl", hash = "sha256:99df47edb6bda1249d3e80fdabb1dab8c08ef3975f69aed437cb69d0a5de1e28"},
{file = "MarkupSafe-2.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:e0f138900af21926a02425cf736db95be9f4af72ba1bb21453432a07f6082134"},
{file = "MarkupSafe-2.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:f9081981fe268bd86831e5c75f7de206ef275defcb82bc70740ae6dc507aee51"},
{file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:0955295dd5eec6cb6cc2fe1698f4c6d84af2e92de33fbcac4111913cd100a6ff"},
{file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:0446679737af14f45767963a1a9ef7620189912317d095f2d9ffa183a4d25d2b"},
{file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:f826e31d18b516f653fe296d967d700fddad5901ae07c622bb3705955e1faa94"},
{file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:fa130dd50c57d53368c9d59395cb5526eda596d3ffe36666cd81a44d56e48872"},
{file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:905fec760bd2fa1388bb5b489ee8ee5f7291d692638ea5f67982d968366bef9f"},
{file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf5d821ffabf0ef3533c39c518f3357b171a1651c1ff6827325e4489b0e46c3c"},
{file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:0d4b31cc67ab36e3392bbf3862cfbadac3db12bdd8b02a2731f509ed5b829724"},
{file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:baa1a4e8f868845af802979fcdbf0bb11f94f1cb7ced4c4b8a351bb60d108145"},
{file = "MarkupSafe-2.0.1-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:deb993cacb280823246a026e3b2d81c493c53de6acfd5e6bfe31ab3402bb37dd"},
{file = "MarkupSafe-2.0.1-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:63f3268ba69ace99cab4e3e3b5840b03340efed0948ab8f78d2fd87ee5442a4f"},
{file = "MarkupSafe-2.0.1-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:8d206346619592c6200148b01a2142798c989edcb9c896f9ac9722a99d4e77e6"},
{file = "MarkupSafe-2.0.1-cp36-cp36m-win32.whl", hash = "sha256:6c4ca60fa24e85fe25b912b01e62cb969d69a23a5d5867682dd3e80b5b02581d"},
{file = "MarkupSafe-2.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:b2f4bf27480f5e5e8ce285a8c8fd176c0b03e93dcc6646477d4630e83440c6a9"},
{file = "MarkupSafe-2.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:0717a7390a68be14b8c793ba258e075c6f4ca819f15edfc2a3a027c823718567"},
{file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:6557b31b5e2c9ddf0de32a691f2312a32f77cd7681d8af66c2692efdbef84c18"},
{file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:49e3ceeabbfb9d66c3aef5af3a60cc43b85c33df25ce03d0031a608b0a8b2e3f"},
{file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:d7f9850398e85aba693bb640262d3611788b1f29a79f0c93c565694658f4071f"},
{file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:6a7fae0dd14cf60ad5ff42baa2e95727c3d81ded453457771d02b7d2b3f9c0c2"},
{file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:b7f2d075102dc8c794cbde1947378051c4e5180d52d276987b8d28a3bd58c17d"},
{file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e9936f0b261d4df76ad22f8fee3ae83b60d7c3e871292cd42f40b81b70afae85"},
{file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:2a7d351cbd8cfeb19ca00de495e224dea7e7d919659c2841bbb7f420ad03e2d6"},
{file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:60bf42e36abfaf9aff1f50f52644b336d4f0a3fd6d8a60ca0d054ac9f713a864"},
{file = "MarkupSafe-2.0.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:d6c7ebd4e944c85e2c3421e612a7057a2f48d478d79e61800d81468a8d842207"},
{file = "MarkupSafe-2.0.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:f0567c4dc99f264f49fe27da5f735f414c4e7e7dd850cfd8e69f0862d7c74ea9"},
{file = "MarkupSafe-2.0.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:89c687013cb1cd489a0f0ac24febe8c7a666e6e221b783e53ac50ebf68e45d86"},
{file = "MarkupSafe-2.0.1-cp37-cp37m-win32.whl", hash = "sha256:a30e67a65b53ea0a5e62fe23682cfe22712e01f453b95233b25502f7c61cb415"},
{file = "MarkupSafe-2.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:611d1ad9a4288cf3e3c16014564df047fe08410e628f89805e475368bd304914"},
{file = "MarkupSafe-2.0.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5bb28c636d87e840583ee3adeb78172efc47c8b26127267f54a9c0ec251d41a9"},
{file = "MarkupSafe-2.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:be98f628055368795d818ebf93da628541e10b75b41c559fdf36d104c5787066"},
{file = "MarkupSafe-2.0.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:1d609f577dc6e1aa17d746f8bd3c31aa4d258f4070d61b2aa5c4166c1539de35"},
{file = "MarkupSafe-2.0.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:7d91275b0245b1da4d4cfa07e0faedd5b0812efc15b702576d103293e252af1b"},
{file = "MarkupSafe-2.0.1-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:01a9b8ea66f1658938f65b93a85ebe8bc016e6769611be228d797c9d998dd298"},
{file = "MarkupSafe-2.0.1-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:47ab1e7b91c098ab893b828deafa1203de86d0bc6ab587b160f78fe6c4011f75"},
{file = "MarkupSafe-2.0.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:97383d78eb34da7e1fa37dd273c20ad4320929af65d156e35a5e2d89566d9dfb"},
{file = "MarkupSafe-2.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6fcf051089389abe060c9cd7caa212c707e58153afa2c649f00346ce6d260f1b"},
{file = "MarkupSafe-2.0.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:5855f8438a7d1d458206a2466bf82b0f104a3724bf96a1c781ab731e4201731a"},
{file = "MarkupSafe-2.0.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:3dd007d54ee88b46be476e293f48c85048603f5f516008bee124ddd891398ed6"},
{file = "MarkupSafe-2.0.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:aca6377c0cb8a8253e493c6b451565ac77e98c2951c45f913e0b52facdcff83f"},
{file = "MarkupSafe-2.0.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:04635854b943835a6ea959e948d19dcd311762c5c0c6e1f0e16ee57022669194"},
{file = "MarkupSafe-2.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6300b8454aa6930a24b9618fbb54b5a68135092bc666f7b06901f897fa5c2fee"},
{file = "MarkupSafe-2.0.1-cp38-cp38-win32.whl", hash = "sha256:023cb26ec21ece8dc3907c0e8320058b2e0cb3c55cf9564da612bc325bed5e64"},
{file = "MarkupSafe-2.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:984d76483eb32f1bcb536dc27e4ad56bba4baa70be32fa87152832cdd9db0833"},
{file = "MarkupSafe-2.0.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:2ef54abee730b502252bcdf31b10dacb0a416229b72c18b19e24a4509f273d26"},
{file = "MarkupSafe-2.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3c112550557578c26af18a1ccc9e090bfe03832ae994343cfdacd287db6a6ae7"},
{file = "MarkupSafe-2.0.1-cp39-cp39-manylinux1_i686.whl", hash = "sha256:53edb4da6925ad13c07b6d26c2a852bd81e364f95301c66e930ab2aef5b5ddd8"},
{file = "MarkupSafe-2.0.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:f5653a225f31e113b152e56f154ccbe59eeb1c7487b39b9d9f9cdb58e6c79dc5"},
{file = "MarkupSafe-2.0.1-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:4efca8f86c54b22348a5467704e3fec767b2db12fc39c6d963168ab1d3fc9135"},
{file = "MarkupSafe-2.0.1-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:ab3ef638ace319fa26553db0624c4699e31a28bb2a835c5faca8f8acf6a5a902"},
{file = "MarkupSafe-2.0.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:f8ba0e8349a38d3001fae7eadded3f6606f0da5d748ee53cc1dab1d6527b9509"},
{file = "MarkupSafe-2.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c47adbc92fc1bb2b3274c4b3a43ae0e4573d9fbff4f54cd484555edbf030baf1"},
{file = "MarkupSafe-2.0.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:37205cac2a79194e3750b0af2a5720d95f786a55ce7df90c3af697bfa100eaac"},
{file = "MarkupSafe-2.0.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:1f2ade76b9903f39aa442b4aadd2177decb66525062db244b35d71d0ee8599b6"},
{file = "MarkupSafe-2.0.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4296f2b1ce8c86a6aea78613c34bb1a672ea0e3de9c6ba08a960efe0b0a09047"},
{file = "MarkupSafe-2.0.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f02365d4e99430a12647f09b6cc8bab61a6564363f313126f775eb4f6ef798e"},
{file = "MarkupSafe-2.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5b6d930f030f8ed98e3e6c98ffa0652bdb82601e7a016ec2ab5d7ff23baa78d1"},
{file = "MarkupSafe-2.0.1-cp39-cp39-win32.whl", hash = "sha256:10f82115e21dc0dfec9ab5c0223652f7197feb168c940f3ef61563fc2d6beb74"},
{file = "MarkupSafe-2.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:693ce3f9e70a6cf7d2fb9e6c9d8b204b6b39897a2c4a1aa65728d5ac97dcc1d8"},
{file = "MarkupSafe-2.0.1.tar.gz", hash = "sha256:594c67807fb16238b30c44bdf74f36c02cdf22d1c8cda91ef8a0ed8dabf5620a"},
]

[[package]]
name = "mccabe"
@@ -183,6 +300,22 @@ description = "McCabe checker, plugin for flake8"
category = "dev"
optional = false
python-versions = "*"
files = [
{file = "mccabe-0.6.1-py2.py3-none-any.whl", hash = "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42"},
{file = "mccabe-0.6.1.tar.gz", hash = "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f"},
]

[[package]]
name = "mypy-extensions"
version = "0.4.3"
description = "Experimental type system extensions for programs checked with the mypy typechecker."
category = "dev"
optional = false
python-versions = "*"
files = [
{file = "mypy_extensions-0.4.3-py2.py3-none-any.whl", hash = "sha256:090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a299250a846f15d"},
{file = "mypy_extensions-0.4.3.tar.gz", hash = "sha256:2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8"},
]

[[package]]
name = "packaging"
@@ -191,17 +324,41 @@ description = "Core utilities for Python packages"
category = "dev"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
files = [
{file = "packaging-20.8-py2.py3-none-any.whl", hash = "sha256:24e0da08660a87484d1602c30bb4902d74816b6985b93de36926f5bc95741858"},
{file = "packaging-20.8.tar.gz", hash = "sha256:78598185a7008a470d64526a8059de9aaa449238f280fc9eb6b13ba6c4109093"},
]

[package.dependencies]
pyparsing = ">=2.0.2"

[[package]]
name = "pathspec"
version = "0.7.0"
version = "0.10.1"
description = "Utility library for gitignore style pattern matching of file paths."
category = "dev"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
python-versions = ">=3.7"
files = [
{file = "pathspec-0.10.1-py3-none-any.whl", hash = "sha256:46846318467efc4556ccfd27816e004270a9eeeeb4d062ce5e6fc7a87c573f93"},
{file = "pathspec-0.10.1.tar.gz", hash = "sha256:7ace6161b621d31e7902eb6b5ae148d12cfd23f4a249b9ffb6b9fee12084323d"},
]

[[package]]
name = "platformdirs"
version = "2.4.0"
description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
category = "dev"
optional = false
python-versions = ">=3.6"
files = [
{file = "platformdirs-2.4.0-py3-none-any.whl", hash = "sha256:8868bbe3c3c80d42f20156f22e7131d2fb321f5bc86a2a345375c6481a67021d"},
{file = "platformdirs-2.4.0.tar.gz", hash = "sha256:367a5e80b3d04d2428ffa76d33f124cf11e8fff2acdaa9b43d545f5c7d661ef2"},
]

[package.extras]
docs = ["Sphinx (>=4)", "furo (>=2021.7.5b38)", "proselint (>=0.10.2)", "sphinx-autodoc-typehints (>=1.12)"]
test = ["appdirs (==1.4.4)", "pytest (>=6)", "pytest-cov (>=2.7)", "pytest-mock (>=3.6)"]

[[package]]
name = "pluggy"
@@ -210,6 +367,10 @@ description = "plugin and hook calling mechanisms for python"
category = "dev"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
files = [
{file = "pluggy-0.13.1-py2.py3-none-any.whl", hash = "sha256:966c145cd83c96502c3c3868f50408687b38434af77734af1e9ca461a4081d2d"},
{file = "pluggy-0.13.1.tar.gz", hash = "sha256:15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0"},
]

[package.dependencies]
importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""}
@@ -218,30 +379,25 @@ importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""}
dev = ["pre-commit", "tox"]

[[package]]
name = "py"
version = "1.10.0"
description = "library with cross-python path, ini-parsing, io, code, log facilities"
category = "dev"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"

[[package]]
name = "pylint"
version = "2.7.0"
version = "2.12.0"
description = "python code static checker"
category = "dev"
optional = false
python-versions = "~=3.6"
files = [
{file = "pylint-2.12.0-py3-none-any.whl", hash = "sha256:ba00afcb1550bc217bbcb0eb76c10cb8335f7417a3323bdd980c29fb5b59f8d2"},
{file = "pylint-2.12.0.tar.gz", hash = "sha256:245c87e5da54c35b623c21b35debf87d93b18bf9e0229515cc172d0b83d627cd"},
]

[package.dependencies]
astroid = "2.5.0"
astroid = ">=2.9.0,<2.10"
colorama = {version = "*", markers = "sys_platform == \"win32\""}
isort = ">=4.2.5,<6"
mccabe = ">=0.6,<0.7"
toml = ">=0.7.1"

[package.extras]
docs = ["sphinx (>=3.2,<4.0)", "python-docs-theme"]
platformdirs = ">=2.2.0"
toml = ">=0.9.2"
typing-extensions = {version = ">=3.10.0", markers = "python_version < \"3.10\""}

[[package]]
name = "pyparsing"
@@ -250,44 +406,63 @@ description = "Python parsing module"
category = "dev"
optional = false
python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
files = [
{file = "pyparsing-2.4.7-py2.py3-none-any.whl", hash = "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b"},
{file = "pyparsing-2.4.7.tar.gz", hash = "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1"},
]

[[package]]
name = "pytest"
version = "6.2.1"
version = "7.3.0"
description = "pytest: simple powerful testing with Python"
category = "dev"
optional = false
python-versions = ">=3.6"
python-versions = ">=3.7"
files = [
{file = "pytest-7.3.0-py3-none-any.whl", hash = "sha256:933051fa1bfbd38a21e73c3960cebdad4cf59483ddba7696c48509727e17f201"},
{file = "pytest-7.3.0.tar.gz", hash = "sha256:58ecc27ebf0ea643ebfdf7fb1249335da761a00c9f955bcd922349bcb68ee57d"},
]

[package.dependencies]
atomicwrites = {version = ">=1.0", markers = "sys_platform == \"win32\""}
attrs = ">=19.2.0"
colorama = {version = "*", markers = "sys_platform == \"win32\""}
exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""}
importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""}
iniconfig = "*"
packaging = "*"
pluggy = ">=0.12,<1.0.0a1"
py = ">=1.8.2"
toml = "*"
pluggy = ">=0.12,<2.0"
tomli = {version = ">=1.0.0", markers = "python_version < \"3.11\""}

[package.extras]
testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xmlschema"]
testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "xmlschema"]

[[package]]
name = "regex"
version = "2020.2.20"
description = "Alternative regular expression module, to replace re."
name = "rope"
version = "0.14.0"
description = "a python refactoring library..."
category = "dev"
optional = false
python-versions = "*"
files = [
{file = "rope-0.14.0-py2-none-any.whl", hash = "sha256:6b728fdc3e98a83446c27a91fc5d56808a004f8beab7a31ab1d7224cecc7d969"},
{file = "rope-0.14.0-py3-none-any.whl", hash = "sha256:f0dcf719b63200d492b85535ebe5ea9b29e0d0b8aebeb87fe03fc1a65924fdaf"},
{file = "rope-0.14.0.tar.gz", hash = "sha256:c5c5a6a87f7b1a2095fb311135e2a3d1f194f5ecb96900fdd0a9100881f48aaf"},
]

[[package]]
name = "rope"
version = "0.14.0"
description = "a python refactoring library..."
name = "setuptools"
version = "59.6.0"
description = "Easily download, build, install, upgrade, and uninstall Python packages"
category = "dev"
optional = false
python-versions = "*"
python-versions = ">=3.6"
files = [
{file = "setuptools-59.6.0-py3-none-any.whl", hash = "sha256:4ce92f1e1f8f01233ee9952c04f6b81d1e02939d6e1b488428154974a4d0783e"},
{file = "setuptools-59.6.0.tar.gz", hash = "sha256:22c7348c6d2976a52632c67f7ab0cdf40147db7789f9aed18734643fe9cf3373"},
]

[package.extras]
docs = ["furo", "jaraco.packaging (>=8.2)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx", "sphinx-inline-tabs", "sphinxcontrib-towncrier"]
testing = ["flake8-2020", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "mock", "paver", "pip (>=19.1)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.0.1)", "pytest-flake8", "pytest-mypy", "pytest-virtualenv (>=1.2.7)", "pytest-xdist", "sphinx", "virtualenv (>=13.0.0)", "wheel"]

[[package]]
name = "toml"
@@ -296,14 +471,68 @@ description = "Python Library for Tom's Obvious, Minimal Language"
category = "dev"
optional = false
python-versions = "*"
files = [
{file = "toml-0.10.0-py2.py3-none-any.whl", hash = "sha256:235682dd292d5899d361a811df37e04a8828a5b1da3115886b73cf81ebc9100e"},
{file = "toml-0.10.0.tar.gz", hash = "sha256:229f81c57791a41d65e399fc06bf0848bab550a9dfd5ed66df18ce5f05e73d5c"},
]

[[package]]
name = "tomli"
version = "1.2.3"
description = "A lil' TOML parser"
category = "dev"
optional = false
python-versions = ">=3.6"
files = [
{file = "tomli-1.2.3-py3-none-any.whl", hash = "sha256:e3069e4be3ead9668e21cb9b074cd948f7b3113fd9c8bba083f48247aab8b11c"},
{file = "tomli-1.2.3.tar.gz", hash = "sha256:05b6166bff487dc068d322585c7ea4ef78deed501cc124060e0f238e89a9231f"},
]

[[package]]
name = "typed-ast"
version = "1.4.1"
version = "1.5.4"
description = "a fork of Python 2 and 3 ast modules with type comment support"
category = "main"
optional = false
python-versions = ">=3.6"
files = [
{file = "typed_ast-1.5.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:669dd0c4167f6f2cd9f57041e03c3c2ebf9063d0757dc89f79ba1daa2bfca9d4"},
{file = "typed_ast-1.5.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:211260621ab1cd7324e0798d6be953d00b74e0428382991adfddb352252f1d62"},
{file = "typed_ast-1.5.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:267e3f78697a6c00c689c03db4876dd1efdfea2f251a5ad6555e82a26847b4ac"},
{file = "typed_ast-1.5.4-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:c542eeda69212fa10a7ada75e668876fdec5f856cd3d06829e6aa64ad17c8dfe"},
{file = "typed_ast-1.5.4-cp310-cp310-win_amd64.whl", hash = "sha256:a9916d2bb8865f973824fb47436fa45e1ebf2efd920f2b9f99342cb7fab93f72"},
{file = "typed_ast-1.5.4-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:79b1e0869db7c830ba6a981d58711c88b6677506e648496b1f64ac7d15633aec"},
{file = "typed_ast-1.5.4-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a94d55d142c9265f4ea46fab70977a1944ecae359ae867397757d836ea5a3f47"},
{file = "typed_ast-1.5.4-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:183afdf0ec5b1b211724dfef3d2cad2d767cbefac291f24d69b00546c1837fb6"},
{file = "typed_ast-1.5.4-cp36-cp36m-win_amd64.whl", hash = "sha256:639c5f0b21776605dd6c9dbe592d5228f021404dafd377e2b7ac046b0349b1a1"},
{file = "typed_ast-1.5.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:cf4afcfac006ece570e32d6fa90ab74a17245b83dfd6655a6f68568098345ff6"},
{file = "typed_ast-1.5.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ed855bbe3eb3715fca349c80174cfcfd699c2f9de574d40527b8429acae23a66"},
{file = "typed_ast-1.5.4-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:6778e1b2f81dfc7bc58e4b259363b83d2e509a65198e85d5700dfae4c6c8ff1c"},
{file = "typed_ast-1.5.4-cp37-cp37m-win_amd64.whl", hash = "sha256:0261195c2062caf107831e92a76764c81227dae162c4f75192c0d489faf751a2"},
{file = "typed_ast-1.5.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2efae9db7a8c05ad5547d522e7dbe62c83d838d3906a3716d1478b6c1d61388d"},
{file = "typed_ast-1.5.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7d5d014b7daa8b0bf2eaef684295acae12b036d79f54178b92a2b6a56f92278f"},
{file = "typed_ast-1.5.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:370788a63915e82fd6f212865a596a0fefcbb7d408bbbb13dea723d971ed8bdc"},
{file = "typed_ast-1.5.4-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:4e964b4ff86550a7a7d56345c7864b18f403f5bd7380edf44a3c1fb4ee7ac6c6"},
{file = "typed_ast-1.5.4-cp38-cp38-win_amd64.whl", hash = "sha256:683407d92dc953c8a7347119596f0b0e6c55eb98ebebd9b23437501b28dcbb8e"},
{file = "typed_ast-1.5.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4879da6c9b73443f97e731b617184a596ac1235fe91f98d279a7af36c796da35"},
{file = "typed_ast-1.5.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3e123d878ba170397916557d31c8f589951e353cc95fb7f24f6bb69adc1a8a97"},
{file = "typed_ast-1.5.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ebd9d7f80ccf7a82ac5f88c521115cc55d84e35bf8b446fcd7836eb6b98929a3"},
{file = "typed_ast-1.5.4-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:98f80dee3c03455e92796b58b98ff6ca0b2a6f652120c263efdba4d6c5e58f72"},
{file = "typed_ast-1.5.4-cp39-cp39-win_amd64.whl", hash = "sha256:0fdbcf2fef0ca421a3f5912555804296f0b0960f0418c440f5d6d3abb549f3e1"},
{file = "typed_ast-1.5.4.tar.gz", hash = "sha256:39e21ceb7388e4bb37f4c679d72707ed46c2fbf2a5609b8b8ebc4b067d977df2"},
]

[[package]]
name = "typing-extensions"
version = "4.1.1"
description = "Backported and Experimental Type Hints for Python 3.6+"
category = "dev"
optional = false
python-versions = "*"
python-versions = ">=3.6"
files = [
{file = "typing_extensions-4.1.1-py3-none-any.whl", hash = "sha256:21c85e0fe4b9a155d0799430b0ad741cdce7e359660ccbd8b530613e8df88ce2"},
{file = "typing_extensions-4.1.1.tar.gz", hash = "sha256:1a9462dcc3347a79b1f1c0271fbe79e844580bb598bafa1ed208b94da3cdcd42"},
]

[[package]]
name = "wrapt"
@@ -312,6 +541,9 @@ description = "Module for decorators, wrappers and monkey patching."
category = "dev"
optional = false
python-versions = "*"
files = [
{file = "wrapt-1.11.2.tar.gz", hash = "sha256:565a021fd19419476b9362b05eeaa094178de64f8361e44468f9e9d7843901e1"},
]

[[package]]
name = "zipp"
@@ -320,281 +552,16 @@ description = "Backport of pathlib-compatible object wrapper for zip files"
category = "dev"
optional = false
python-versions = ">=3.6"
files = [
{file = "zipp-3.1.0-py3-none-any.whl", hash = "sha256:aa36550ff0c0b7ef7fa639055d797116ee891440eac1a56f378e2d3179e0320b"},
{file = "zipp-3.1.0.tar.gz", hash = "sha256:c599e4d75c98f6798c509911d08a22e6c021d074469042177c8c86fb92eefd96"},
]

[package.extras]
docs = ["sphinx", "jaraco.packaging (>=3.2)", "rst.linker (>=1.9)"]
testing = ["jaraco.itertools", "func-timeout"]
docs = ["jaraco.packaging (>=3.2)", "rst.linker (>=1.9)", "sphinx"]
testing = ["func-timeout", "jaraco.itertools"]

[metadata]
lock-version = "1.1"
python-versions = "^3.6"
content-hash = "97ad2fbb808bd5bc77925987a729514d08127024752bc41557762f758f29b067"

[metadata.files]
appdirs = [
{file = "appdirs-1.4.3-py2.py3-none-any.whl", hash = "sha256:d8b24664561d0d34ddfaec54636d502d7cea6e29c3eaf68f3df6180863e2166e"},
{file = "appdirs-1.4.3.tar.gz", hash = "sha256:9e5896d1372858f8dd3344faf4e5014d21849c756c8d5701f78f8a103b372d92"},
]
astroid = [
{file = "astroid-2.5-py3-none-any.whl", hash = "sha256:87ae7f2398b8a0ae5638ddecf9987f081b756e0e9fc071aeebdca525671fc4dc"},
{file = "astroid-2.5.tar.gz", hash = "sha256:b31c92f545517dcc452f284bc9c044050862fbe6d93d2b3de4a215a6b384bf0d"},
]
atomicwrites = [
{file = "atomicwrites-1.3.0-py2.py3-none-any.whl", hash = "sha256:03472c30eb2c5d1ba9227e4c2ca66ab8287fbfbbda3888aa93dc2e28fc6811b4"},
{file = "atomicwrites-1.3.0.tar.gz", hash = "sha256:75a9445bac02d8d058d5e1fe689654ba5a6556a1dfd8ce6ec55a0ed79866cfa6"},
]
attrs = [
{file = "attrs-19.3.0-py2.py3-none-any.whl", hash = "sha256:08a96c641c3a74e44eb59afb61a24f2cb9f4d7188748e76ba4bb5edfa3cb7d1c"},
{file = "attrs-19.3.0.tar.gz", hash = "sha256:f7b7ce16570fe9965acd6d30101a28f62fb4a7f9e926b3bbc9b61f8b04247e72"},
]
black = [
{file = "black-19.10b0-py36-none-any.whl", hash = "sha256:1b30e59be925fafc1ee4565e5e08abef6b03fe455102883820fe5ee2e4734e0b"},
{file = "black-19.10b0.tar.gz", hash = "sha256:c2edb73a08e9e0e6f65a0e6af18b059b8b1cdd5bef997d7a0b181df93dc81539"},
]
click = [
{file = "Click-7.0-py2.py3-none-any.whl", hash = "sha256:2335065e6395b9e67ca716de5f7526736bfa6ceead690adf616d925bdc622b13"},
{file = "Click-7.0.tar.gz", hash = "sha256:5b94b49521f6456670fdb30cd82a4eca9412788a93fa6dd6df72c94d5a8ff2d7"},
]
colorama = [
{file = "colorama-0.4.3-py2.py3-none-any.whl", hash = "sha256:7d73d2a99753107a36ac6b455ee49046802e59d9d076ef8e47b61499fa29afff"},
{file = "colorama-0.4.3.tar.gz", hash = "sha256:e96da0d330793e2cb9485e9ddfd918d456036c7149416295932478192f4436a1"},
]
contextvars = [
{file = "contextvars-2.4.tar.gz", hash = "sha256:f38c908aaa59c14335eeea12abea5f443646216c4e29380d7bf34d2018e2c39e"},
]
graphviz = [
{file = "graphviz-0.19.1-py3-none-any.whl", hash = "sha256:f34088c08be2ec16279dfa9c3b4ff3d1453c5c67597a33e2819b000e18d4c546"},
{file = "graphviz-0.19.1.zip", hash = "sha256:09ed0cde452d015fe77c4845a210eb642f28d245f5bc250d4b97808cb8f49078"},
]
immutables = [
{file = "immutables-0.11-cp35-cp35m-macosx_10_13_x86_64.whl", hash = "sha256:bce27277a2fe91509cca69181971ab509c2ee862e8b37b09f26b64f90e8fe8fb"},
{file = "immutables-0.11-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:c7eb2d15c35c73bb168c002c6ea145b65f40131e10dede54b39db0b72849b280"},
{file = "immutables-0.11-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:2de2ec8dde1ca154f811776a8cbbeaea515c3b226c26036eab6484530eea28e0"},
{file = "immutables-0.11-cp35-cp35m-win32.whl", hash = "sha256:e87bd941cb4dfa35f16e1ff4b2d99a2931452dcc9cfd788dc8fe513f3d38551e"},
{file = "immutables-0.11-cp35-cp35m-win_amd64.whl", hash = "sha256:0aa055c745510238cbad2f1f709a37a1c9e30a38594de3b385e9876c48a25633"},
{file = "immutables-0.11-cp36-cp36m-macosx_10_13_x86_64.whl", hash = "sha256:422c7d4c75c88057c625e32992248329507bca180b48cfb702b4ef608f581b50"},
{file = "immutables-0.11-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:f5b93248552c9e7198558776da21c9157d3f70649905d7fdc083c2ab2fbc6088"},
{file = "immutables-0.11-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:b268422a5802fbf934152b835329ac0d23b80b558eaee68034d45718edab4a11"},
{file = "immutables-0.11-cp36-cp36m-win32.whl", hash = "sha256:0f07c58122e1ce70a7165e68e18e795ac5fe94d7fee3e045ffcf6432602026df"},
{file = "immutables-0.11-cp36-cp36m-win_amd64.whl", hash = "sha256:b8fed714f1c84a3242c7184838f5e9889139a22bbdd701a182b7fdc237ca3cbb"},
{file = "immutables-0.11-cp37-cp37m-macosx_10_13_x86_64.whl", hash = "sha256:518f20945c1f600b618fb691922c2ab43b193f04dd2d4d2823220d0202014670"},
{file = "immutables-0.11-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:2c536ff2bafeeff9a7865ea10a17a50f90b80b585e31396c349e8f57b0075bd4"},
{file = "immutables-0.11-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:1c2e729aab250be0de0c13fa833241a778b51390ee2650e0457d1e45b318c441"},
{file = "immutables-0.11-cp37-cp37m-win32.whl", hash = "sha256:545186faab9237c102b8bcffd36d71f0b382174c93c501e061de239753cff694"},
{file = "immutables-0.11-cp37-cp37m-win_amd64.whl", hash = "sha256:6b6d8d035e5888baad3db61dfb167476838a63afccecd927c365f228bb55754c"},
{file = "immutables-0.11.tar.gz", hash = "sha256:d6850578a0dc6530ac19113cfe4ddc13903df635212d498f176fe601a8a5a4a3"},
]
importlib-metadata = [
{file = "importlib_metadata-1.5.0-py2.py3-none-any.whl", hash = "sha256:b97607a1a18a5100839aec1dc26a1ea17ee0d93b20b0f008d80a5a050afb200b"},
{file = "importlib_metadata-1.5.0.tar.gz", hash = "sha256:06f5b3a99029c7134207dd882428a66992a9de2bef7c2b699b5641f9886c3302"},
]
iniconfig = [
{file = "iniconfig-1.1.1-py2.py3-none-any.whl", hash = "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3"},
{file = "iniconfig-1.1.1.tar.gz", hash = "sha256:bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32"},
]
isort = [
{file = "isort-4.3.21-py2.py3-none-any.whl", hash = "sha256:6e811fcb295968434526407adb8796944f1988c5b65e8139058f2014cbe100fd"},
{file = "isort-4.3.21.tar.gz", hash = "sha256:54da7e92468955c4fceacd0c86bd0ec997b0e1ee80d97f67c35a78b719dccab1"},
]
jinja2 = [
{file = "Jinja2-3.0.1-py3-none-any.whl", hash = "sha256:1f06f2da51e7b56b8f238affdd6b4e2c61e39598a378cc49345bc1bd42a978a4"},
{file = "Jinja2-3.0.1.tar.gz", hash = "sha256:703f484b47a6af502e743c9122595cc812b0271f661722403114f71a79d0f5a4"},
]
lazy-object-proxy = [
{file = "lazy-object-proxy-1.4.3.tar.gz", hash = "sha256:f3900e8a5de27447acbf900b4750b0ddfd7ec1ea7fbaf11dfa911141bc522af0"},
{file = "lazy_object_proxy-1.4.3-cp27-cp27m-macosx_10_13_x86_64.whl", hash = "sha256:a2238e9d1bb71a56cd710611a1614d1194dc10a175c1e08d75e1a7bcc250d442"},
{file = "lazy_object_proxy-1.4.3-cp27-cp27m-win32.whl", hash = "sha256:efa1909120ce98bbb3777e8b6f92237f5d5c8ea6758efea36a473e1d38f7d3e4"},
{file = "lazy_object_proxy-1.4.3-cp27-cp27m-win_amd64.whl", hash = "sha256:4677f594e474c91da97f489fea5b7daa17b5517190899cf213697e48d3902f5a"},
{file = "lazy_object_proxy-1.4.3-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:0c4b206227a8097f05c4dbdd323c50edf81f15db3b8dc064d08c62d37e1a504d"},
{file = "lazy_object_proxy-1.4.3-cp34-cp34m-manylinux1_x86_64.whl", hash = "sha256:d945239a5639b3ff35b70a88c5f2f491913eb94871780ebfabb2568bd58afc5a"},
{file = "lazy_object_proxy-1.4.3-cp34-cp34m-win32.whl", hash = "sha256:9651375199045a358eb6741df3e02a651e0330be090b3bc79f6d0de31a80ec3e"},
{file = "lazy_object_proxy-1.4.3-cp34-cp34m-win_amd64.whl", hash = "sha256:eba7011090323c1dadf18b3b689845fd96a61ba0a1dfbd7f24b921398affc357"},
{file = "lazy_object_proxy-1.4.3-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:48dab84ebd4831077b150572aec802f303117c8cc5c871e182447281ebf3ac50"},
{file = "lazy_object_proxy-1.4.3-cp35-cp35m-win32.whl", hash = "sha256:ca0a928a3ddbc5725be2dd1cf895ec0a254798915fb3a36af0964a0a4149e3db"},
{file = "lazy_object_proxy-1.4.3-cp35-cp35m-win_amd64.whl", hash = "sha256:194d092e6f246b906e8f70884e620e459fc54db3259e60cf69a4d66c3fda3449"},
{file = "lazy_object_proxy-1.4.3-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:97bb5884f6f1cdce0099f86b907aa41c970c3c672ac8b9c8352789e103cf3156"},
{file = "lazy_object_proxy-1.4.3-cp36-cp36m-win32.whl", hash = "sha256:cb2c7c57005a6804ab66f106ceb8482da55f5314b7fcb06551db1edae4ad1531"},
{file = "lazy_object_proxy-1.4.3-cp36-cp36m-win_amd64.whl", hash = "sha256:8d859b89baf8ef7f8bc6b00aa20316483d67f0b1cbf422f5b4dc56701c8f2ffb"},
{file = "lazy_object_proxy-1.4.3-cp37-cp37m-macosx_10_13_x86_64.whl", hash = "sha256:1be7e4c9f96948003609aa6c974ae59830a6baecc5376c25c92d7d697e684c08"},
{file = "lazy_object_proxy-1.4.3-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:d74bb8693bf9cf75ac3b47a54d716bbb1a92648d5f781fc799347cfc95952383"},
{file = "lazy_object_proxy-1.4.3-cp37-cp37m-win32.whl", hash = "sha256:9b15f3f4c0f35727d3a0fba4b770b3c4ebbb1fa907dbcc046a1d2799f3edd142"},
{file = "lazy_object_proxy-1.4.3-cp37-cp37m-win_amd64.whl", hash = "sha256:9254f4358b9b541e3441b007a0ea0764b9d056afdeafc1a5569eee1cc6c1b9ea"},
{file = "lazy_object_proxy-1.4.3-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:a6ae12d08c0bf9909ce12385803a543bfe99b95fe01e752536a60af2b7797c62"},
{file = "lazy_object_proxy-1.4.3-cp38-cp38-win32.whl", hash = "sha256:5541cada25cd173702dbd99f8e22434105456314462326f06dba3e180f203dfd"},
{file = "lazy_object_proxy-1.4.3-cp38-cp38-win_amd64.whl", hash = "sha256:59f79fef100b09564bc2df42ea2d8d21a64fdcda64979c0fa3db7bdaabaf6239"},
]
markupsafe = [
{file = "MarkupSafe-2.0.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d8446c54dc28c01e5a2dbac5a25f071f6653e6e40f3a8818e8b45d790fe6ef53"},
{file = "MarkupSafe-2.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:36bc903cbb393720fad60fc28c10de6acf10dc6cc883f3e24ee4012371399a38"},
{file = "MarkupSafe-2.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2d7d807855b419fc2ed3e631034685db6079889a1f01d5d9dac950f764da3dad"},
{file = "MarkupSafe-2.0.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:add36cb2dbb8b736611303cd3bfcee00afd96471b09cda130da3581cbdc56a6d"},
{file = "MarkupSafe-2.0.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:168cd0a3642de83558a5153c8bd34f175a9a6e7f6dc6384b9655d2697312a646"},
{file = "MarkupSafe-2.0.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:4dc8f9fb58f7364b63fd9f85013b780ef83c11857ae79f2feda41e270468dd9b"},
{file = "MarkupSafe-2.0.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:20dca64a3ef2d6e4d5d615a3fd418ad3bde77a47ec8a23d984a12b5b4c74491a"},
{file = "MarkupSafe-2.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:cdfba22ea2f0029c9261a4bd07e830a8da012291fbe44dc794e488b6c9bb353a"},
{file = "MarkupSafe-2.0.1-cp310-cp310-win32.whl", hash = "sha256:99df47edb6bda1249d3e80fdabb1dab8c08ef3975f69aed437cb69d0a5de1e28"},
{file = "MarkupSafe-2.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:e0f138900af21926a02425cf736db95be9f4af72ba1bb21453432a07f6082134"},
{file = "MarkupSafe-2.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:f9081981fe268bd86831e5c75f7de206ef275defcb82bc70740ae6dc507aee51"},
{file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:0955295dd5eec6cb6cc2fe1698f4c6d84af2e92de33fbcac4111913cd100a6ff"},
{file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:0446679737af14f45767963a1a9ef7620189912317d095f2d9ffa183a4d25d2b"},
{file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:f826e31d18b516f653fe296d967d700fddad5901ae07c622bb3705955e1faa94"},
{file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:fa130dd50c57d53368c9d59395cb5526eda596d3ffe36666cd81a44d56e48872"},
{file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:905fec760bd2fa1388bb5b489ee8ee5f7291d692638ea5f67982d968366bef9f"},
{file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf5d821ffabf0ef3533c39c518f3357b171a1651c1ff6827325e4489b0e46c3c"},
{file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:0d4b31cc67ab36e3392bbf3862cfbadac3db12bdd8b02a2731f509ed5b829724"},
{file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:baa1a4e8f868845af802979fcdbf0bb11f94f1cb7ced4c4b8a351bb60d108145"},
{file = "MarkupSafe-2.0.1-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:deb993cacb280823246a026e3b2d81c493c53de6acfd5e6bfe31ab3402bb37dd"},
{file = "MarkupSafe-2.0.1-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:63f3268ba69ace99cab4e3e3b5840b03340efed0948ab8f78d2fd87ee5442a4f"},
{file = "MarkupSafe-2.0.1-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:8d206346619592c6200148b01a2142798c989edcb9c896f9ac9722a99d4e77e6"},
{file = "MarkupSafe-2.0.1-cp36-cp36m-win32.whl", hash = "sha256:6c4ca60fa24e85fe25b912b01e62cb969d69a23a5d5867682dd3e80b5b02581d"},
{file = "MarkupSafe-2.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:b2f4bf27480f5e5e8ce285a8c8fd176c0b03e93dcc6646477d4630e83440c6a9"},
{file = "MarkupSafe-2.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:0717a7390a68be14b8c793ba258e075c6f4ca819f15edfc2a3a027c823718567"},
{file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:6557b31b5e2c9ddf0de32a691f2312a32f77cd7681d8af66c2692efdbef84c18"},
{file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:49e3ceeabbfb9d66c3aef5af3a60cc43b85c33df25ce03d0031a608b0a8b2e3f"},
{file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:d7f9850398e85aba693bb640262d3611788b1f29a79f0c93c565694658f4071f"},
{file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:6a7fae0dd14cf60ad5ff42baa2e95727c3d81ded453457771d02b7d2b3f9c0c2"},
{file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:b7f2d075102dc8c794cbde1947378051c4e5180d52d276987b8d28a3bd58c17d"},
{file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e9936f0b261d4df76ad22f8fee3ae83b60d7c3e871292cd42f40b81b70afae85"},
{file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:2a7d351cbd8cfeb19ca00de495e224dea7e7d919659c2841bbb7f420ad03e2d6"},
{file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:60bf42e36abfaf9aff1f50f52644b336d4f0a3fd6d8a60ca0d054ac9f713a864"},
{file = "MarkupSafe-2.0.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:d6c7ebd4e944c85e2c3421e612a7057a2f48d478d79e61800d81468a8d842207"},
{file = "MarkupSafe-2.0.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:f0567c4dc99f264f49fe27da5f735f414c4e7e7dd850cfd8e69f0862d7c74ea9"},
{file = "MarkupSafe-2.0.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:89c687013cb1cd489a0f0ac24febe8c7a666e6e221b783e53ac50ebf68e45d86"},
{file = "MarkupSafe-2.0.1-cp37-cp37m-win32.whl", hash = "sha256:a30e67a65b53ea0a5e62fe23682cfe22712e01f453b95233b25502f7c61cb415"},
{file = "MarkupSafe-2.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:611d1ad9a4288cf3e3c16014564df047fe08410e628f89805e475368bd304914"},
{file = "MarkupSafe-2.0.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5bb28c636d87e840583ee3adeb78172efc47c8b26127267f54a9c0ec251d41a9"},
{file = "MarkupSafe-2.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:be98f628055368795d818ebf93da628541e10b75b41c559fdf36d104c5787066"},
{file = "MarkupSafe-2.0.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:1d609f577dc6e1aa17d746f8bd3c31aa4d258f4070d61b2aa5c4166c1539de35"},
{file = "MarkupSafe-2.0.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:7d91275b0245b1da4d4cfa07e0faedd5b0812efc15b702576d103293e252af1b"},
{file = "MarkupSafe-2.0.1-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:01a9b8ea66f1658938f65b93a85ebe8bc016e6769611be228d797c9d998dd298"},
{file = "MarkupSafe-2.0.1-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:47ab1e7b91c098ab893b828deafa1203de86d0bc6ab587b160f78fe6c4011f75"},
{file = "MarkupSafe-2.0.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:97383d78eb34da7e1fa37dd273c20ad4320929af65d156e35a5e2d89566d9dfb"},
{file = "MarkupSafe-2.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6fcf051089389abe060c9cd7caa212c707e58153afa2c649f00346ce6d260f1b"},
{file = "MarkupSafe-2.0.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:5855f8438a7d1d458206a2466bf82b0f104a3724bf96a1c781ab731e4201731a"},
{file = "MarkupSafe-2.0.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:3dd007d54ee88b46be476e293f48c85048603f5f516008bee124ddd891398ed6"},
{file = "MarkupSafe-2.0.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:aca6377c0cb8a8253e493c6b451565ac77e98c2951c45f913e0b52facdcff83f"},
{file = "MarkupSafe-2.0.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:04635854b943835a6ea959e948d19dcd311762c5c0c6e1f0e16ee57022669194"},
{file = "MarkupSafe-2.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6300b8454aa6930a24b9618fbb54b5a68135092bc666f7b06901f897fa5c2fee"},
{file = "MarkupSafe-2.0.1-cp38-cp38-win32.whl", hash = "sha256:023cb26ec21ece8dc3907c0e8320058b2e0cb3c55cf9564da612bc325bed5e64"},
{file = "MarkupSafe-2.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:984d76483eb32f1bcb536dc27e4ad56bba4baa70be32fa87152832cdd9db0833"},
{file = "MarkupSafe-2.0.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:2ef54abee730b502252bcdf31b10dacb0a416229b72c18b19e24a4509f273d26"},
{file = "MarkupSafe-2.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3c112550557578c26af18a1ccc9e090bfe03832ae994343cfdacd287db6a6ae7"},
{file = "MarkupSafe-2.0.1-cp39-cp39-manylinux1_i686.whl", hash = "sha256:53edb4da6925ad13c07b6d26c2a852bd81e364f95301c66e930ab2aef5b5ddd8"},
{file = "MarkupSafe-2.0.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:f5653a225f31e113b152e56f154ccbe59eeb1c7487b39b9d9f9cdb58e6c79dc5"},
{file = "MarkupSafe-2.0.1-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:4efca8f86c54b22348a5467704e3fec767b2db12fc39c6d963168ab1d3fc9135"},
{file = "MarkupSafe-2.0.1-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:ab3ef638ace319fa26553db0624c4699e31a28bb2a835c5faca8f8acf6a5a902"},
{file = "MarkupSafe-2.0.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:f8ba0e8349a38d3001fae7eadded3f6606f0da5d748ee53cc1dab1d6527b9509"},
{file = "MarkupSafe-2.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c47adbc92fc1bb2b3274c4b3a43ae0e4573d9fbff4f54cd484555edbf030baf1"},
{file = "MarkupSafe-2.0.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:37205cac2a79194e3750b0af2a5720d95f786a55ce7df90c3af697bfa100eaac"},
{file = "MarkupSafe-2.0.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:1f2ade76b9903f39aa442b4aadd2177decb66525062db244b35d71d0ee8599b6"},
{file = "MarkupSafe-2.0.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4296f2b1ce8c86a6aea78613c34bb1a672ea0e3de9c6ba08a960efe0b0a09047"},
{file = "MarkupSafe-2.0.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f02365d4e99430a12647f09b6cc8bab61a6564363f313126f775eb4f6ef798e"},
{file = "MarkupSafe-2.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5b6d930f030f8ed98e3e6c98ffa0652bdb82601e7a016ec2ab5d7ff23baa78d1"},
{file = "MarkupSafe-2.0.1-cp39-cp39-win32.whl", hash = "sha256:10f82115e21dc0dfec9ab5c0223652f7197feb168c940f3ef61563fc2d6beb74"},
{file = "MarkupSafe-2.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:693ce3f9e70a6cf7d2fb9e6c9d8b204b6b39897a2c4a1aa65728d5ac97dcc1d8"},
{file = "MarkupSafe-2.0.1.tar.gz", hash = "sha256:594c67807fb16238b30c44bdf74f36c02cdf22d1c8cda91ef8a0ed8dabf5620a"},
]
mccabe = [
{file = "mccabe-0.6.1-py2.py3-none-any.whl", hash = "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42"},
{file = "mccabe-0.6.1.tar.gz", hash = "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f"},
]
packaging = [
{file = "packaging-20.8-py2.py3-none-any.whl", hash = "sha256:24e0da08660a87484d1602c30bb4902d74816b6985b93de36926f5bc95741858"},
{file = "packaging-20.8.tar.gz", hash = "sha256:78598185a7008a470d64526a8059de9aaa449238f280fc9eb6b13ba6c4109093"},
]
pathspec = [
{file = "pathspec-0.7.0-py2.py3-none-any.whl", hash = "sha256:163b0632d4e31cef212976cf57b43d9fd6b0bac6e67c26015d611a647d5e7424"},
{file = "pathspec-0.7.0.tar.gz", hash = "sha256:562aa70af2e0d434367d9790ad37aed893de47f1693e4201fd1d3dca15d19b96"},
]
pluggy = [
{file = "pluggy-0.13.1-py2.py3-none-any.whl", hash = "sha256:966c145cd83c96502c3c3868f50408687b38434af77734af1e9ca461a4081d2d"},
{file = "pluggy-0.13.1.tar.gz", hash = "sha256:15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0"},
]
py = [
{file = "py-1.10.0-py2.py3-none-any.whl", hash = "sha256:3b80836aa6d1feeaa108e046da6423ab8f6ceda6468545ae8d02d9d58d18818a"},
{file = "py-1.10.0.tar.gz", hash = "sha256:21b81bda15b66ef5e1a777a21c4dcd9c20ad3efd0b3f817e7a809035269e1bd3"},
]
pylint = [
{file = "pylint-2.7.0-py3-none-any.whl", hash = "sha256:3ea3926700db399765db1faf53860f11e4e981a090646e9eacd01ca78e020579"},
{file = "pylint-2.7.0.tar.gz", hash = "sha256:2e0c6749d809985e4f181c336a8f89b2b797340d8049160bf95f35a3f0ecf6fc"},
]
pyparsing = [
{file = "pyparsing-2.4.7-py2.py3-none-any.whl", hash = "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b"},
{file = "pyparsing-2.4.7.tar.gz", hash = "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1"},
]
pytest = [
{file = "pytest-6.2.1-py3-none-any.whl", hash = "sha256:1969f797a1a0dbd8ccf0fecc80262312729afea9c17f1d70ebf85c5e76c6f7c8"},
{file = "pytest-6.2.1.tar.gz", hash = "sha256:66e419b1899bc27346cb2c993e12c5e5e8daba9073c1fbce33b9807abc95c306"},
]
regex = [
{file = "regex-2020.2.20-cp27-cp27m-win32.whl", hash = "sha256:99272d6b6a68c7ae4391908fc15f6b8c9a6c345a46b632d7fdb7ef6c883a2bbb"},
{file = "regex-2020.2.20-cp27-cp27m-win_amd64.whl", hash = "sha256:974535648f31c2b712a6b2595969f8ab370834080e00ab24e5dbb9d19b8bfb74"},
{file = "regex-2020.2.20-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:5de40649d4f88a15c9489ed37f88f053c15400257eeb18425ac7ed0a4e119400"},
{file = "regex-2020.2.20-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:82469a0c1330a4beb3d42568f82dffa32226ced006e0b063719468dcd40ffdf0"},
{file = "regex-2020.2.20-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:d58a4fa7910102500722defbde6e2816b0372a4fcc85c7e239323767c74f5cbc"},
{file = "regex-2020.2.20-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:f1ac2dc65105a53c1c2d72b1d3e98c2464a133b4067a51a3d2477b28449709a0"},
{file = "regex-2020.2.20-cp36-cp36m-win32.whl", hash = "sha256:8c2b7fa4d72781577ac45ab658da44c7518e6d96e2a50d04ecb0fd8f28b21d69"},
{file = "regex-2020.2.20-cp36-cp36m-win_amd64.whl", hash = "sha256:269f0c5ff23639316b29f31df199f401e4cb87529eafff0c76828071635d417b"},
{file = "regex-2020.2.20-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:bed7986547ce54d230fd8721aba6fd19459cdc6d315497b98686d0416efaff4e"},
{file = "regex-2020.2.20-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:046e83a8b160aff37e7034139a336b660b01dbfe58706f9d73f5cdc6b3460242"},
{file = "regex-2020.2.20-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:b33ebcd0222c1d77e61dbcd04a9fd139359bded86803063d3d2d197b796c63ce"},
{file = "regex-2020.2.20-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:bba52d72e16a554d1894a0cc74041da50eea99a8483e591a9edf1025a66843ab"},
{file = "regex-2020.2.20-cp37-cp37m-win32.whl", hash = "sha256:01b2d70cbaed11f72e57c1cfbaca71b02e3b98f739ce33f5f26f71859ad90431"},
{file = "regex-2020.2.20-cp37-cp37m-win_amd64.whl", hash = "sha256:113309e819634f499d0006f6200700c8209a2a8bf6bd1bdc863a4d9d6776a5d1"},
{file = "regex-2020.2.20-cp38-cp38-manylinux1_i686.whl", hash = "sha256:25f4ce26b68425b80a233ce7b6218743c71cf7297dbe02feab1d711a2bf90045"},
{file = "regex-2020.2.20-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:9b64a4cc825ec4df262050c17e18f60252cdd94742b4ba1286bcfe481f1c0f26"},
{file = "regex-2020.2.20-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:9ff16d994309b26a1cdf666a6309c1ef51ad4f72f99d3392bcd7b7139577a1f2"},
{file = "regex-2020.2.20-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:c7f58a0e0e13fb44623b65b01052dae8e820ed9b8b654bb6296bc9c41f571b70"},
{file = "regex-2020.2.20-cp38-cp38-win32.whl", hash = "sha256:200539b5124bc4721247a823a47d116a7a23e62cc6695744e3eb5454a8888e6d"},
{file = "regex-2020.2.20-cp38-cp38-win_amd64.whl", hash = "sha256:7f78f963e62a61e294adb6ff5db901b629ef78cb2a1cfce3cf4eeba80c1c67aa"},
{file = "regex-2020.2.20.tar.gz", hash = "sha256:9e9624440d754733eddbcd4614378c18713d2d9d0dc647cf9c72f64e39671be5"},
]
rope = [
{file = "rope-0.14.0-py2-none-any.whl", hash = "sha256:6b728fdc3e98a83446c27a91fc5d56808a004f8beab7a31ab1d7224cecc7d969"},
{file = "rope-0.14.0-py3-none-any.whl", hash = "sha256:f0dcf719b63200d492b85535ebe5ea9b29e0d0b8aebeb87fe03fc1a65924fdaf"},
{file = "rope-0.14.0.tar.gz", hash = "sha256:c5c5a6a87f7b1a2095fb311135e2a3d1f194f5ecb96900fdd0a9100881f48aaf"},
]
toml = [
{file = "toml-0.10.0-py2.7.egg", hash = "sha256:f1db651f9657708513243e61e6cc67d101a39bad662eaa9b5546f789338e07a3"},
{file = "toml-0.10.0-py2.py3-none-any.whl", hash = "sha256:235682dd292d5899d361a811df37e04a8828a5b1da3115886b73cf81ebc9100e"},
{file = "toml-0.10.0.tar.gz", hash = "sha256:229f81c57791a41d65e399fc06bf0848bab550a9dfd5ed66df18ce5f05e73d5c"},
]
typed-ast = [
{file = "typed_ast-1.4.1-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:73d785a950fc82dd2a25897d525d003f6378d1cb23ab305578394694202a58c3"},
{file = "typed_ast-1.4.1-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:aaee9905aee35ba5905cfb3c62f3e83b3bec7b39413f0a7f19be4e547ea01ebb"},
{file = "typed_ast-1.4.1-cp35-cp35m-win32.whl", hash = "sha256:0c2c07682d61a629b68433afb159376e24e5b2fd4641d35424e462169c0a7919"},
{file = "typed_ast-1.4.1-cp35-cp35m-win_amd64.whl", hash = "sha256:4083861b0aa07990b619bd7ddc365eb7fa4b817e99cf5f8d9cf21a42780f6e01"},
{file = "typed_ast-1.4.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:269151951236b0f9a6f04015a9004084a5ab0d5f19b57de779f908621e7d8b75"},
{file = "typed_ast-1.4.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:24995c843eb0ad11a4527b026b4dde3da70e1f2d8806c99b7b4a7cf491612652"},
{file = "typed_ast-1.4.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:fe460b922ec15dd205595c9b5b99e2f056fd98ae8f9f56b888e7a17dc2b757e7"},
{file = "typed_ast-1.4.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:fcf135e17cc74dbfbc05894ebca928ffeb23d9790b3167a674921db19082401f"},
{file = "typed_ast-1.4.1-cp36-cp36m-win32.whl", hash = "sha256:4e3e5da80ccbebfff202a67bf900d081906c358ccc3d5e3c8aea42fdfdfd51c1"},
{file = "typed_ast-1.4.1-cp36-cp36m-win_amd64.whl", hash = "sha256:249862707802d40f7f29f6e1aad8d84b5aa9e44552d2cc17384b209f091276aa"},
{file = "typed_ast-1.4.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8ce678dbaf790dbdb3eba24056d5364fb45944f33553dd5869b7580cdbb83614"},
{file = "typed_ast-1.4.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:c9e348e02e4d2b4a8b2eedb48210430658df6951fa484e59de33ff773fbd4b41"},
{file = "typed_ast-1.4.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:bcd3b13b56ea479b3650b82cabd6b5343a625b0ced5429e4ccad28a8973f301b"},
{file = "typed_ast-1.4.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:f208eb7aff048f6bea9586e61af041ddf7f9ade7caed625742af423f6bae3298"},
{file = "typed_ast-1.4.1-cp37-cp37m-win32.whl", hash = "sha256:d5d33e9e7af3b34a40dc05f498939f0ebf187f07c385fd58d591c533ad8562fe"},
{file = "typed_ast-1.4.1-cp37-cp37m-win_amd64.whl", hash = "sha256:0666aa36131496aed8f7be0410ff974562ab7eeac11ef351def9ea6fa28f6355"},
{file = "typed_ast-1.4.1-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:d205b1b46085271b4e15f670058ce182bd1199e56b317bf2ec004b6a44f911f6"},
{file = "typed_ast-1.4.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:6daac9731f172c2a22ade6ed0c00197ee7cc1221aa84cfdf9c31defeb059a907"},
{file = "typed_ast-1.4.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:498b0f36cc7054c1fead3d7fc59d2150f4d5c6c56ba7fb150c013fbc683a8d2d"},
{file = "typed_ast-1.4.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:7e4c9d7658aaa1fc80018593abdf8598bf91325af6af5cce4ce7c73bc45ea53d"},
{file = "typed_ast-1.4.1-cp38-cp38-win32.whl", hash = "sha256:715ff2f2df46121071622063fc7543d9b1fd19ebfc4f5c8895af64a77a8c852c"},
{file = "typed_ast-1.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:fc0fea399acb12edbf8a628ba8d2312f583bdbdb3335635db062fa98cf71fca4"},
{file = "typed_ast-1.4.1-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:d43943ef777f9a1c42bf4e552ba23ac77a6351de620aa9acf64ad54933ad4d34"},
{file = "typed_ast-1.4.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:92c325624e304ebf0e025d1224b77dd4e6393f18aab8d829b5b7e04afe9b7a2c"},
{file = "typed_ast-1.4.1-cp39-cp39-manylinux1_i686.whl", hash = "sha256:d648b8e3bf2fe648745c8ffcee3db3ff903d0817a01a12dd6a6ea7a8f4889072"},
{file = "typed_ast-1.4.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:fac11badff8313e23717f3dada86a15389d0708275bddf766cca67a84ead3e91"},
{file = "typed_ast-1.4.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:0d8110d78a5736e16e26213114a38ca35cb15b6515d535413b090bd50951556d"},
{file = "typed_ast-1.4.1-cp39-cp39-win32.whl", hash = "sha256:b52ccf7cfe4ce2a1064b18594381bccf4179c2ecf7f513134ec2f993dd4ab395"},
{file = "typed_ast-1.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:3742b32cf1c6ef124d57f95be609c473d7ec4c14d0090e5a5e05a15269fb4d0c"},
{file = "typed_ast-1.4.1.tar.gz", hash = "sha256:8c8aaad94455178e3187ab22c8b01a3837f8ee50e09cf31f1ba129eb293ec30b"},
]
wrapt = [
{file = "wrapt-1.11.2.tar.gz", hash = "sha256:565a021fd19419476b9362b05eeaa094178de64f8361e44468f9e9d7843901e1"},
]
zipp = [
{file = "zipp-3.1.0-py3-none-any.whl", hash = "sha256:aa36550ff0c0b7ef7fa639055d797116ee891440eac1a56f378e2d3179e0320b"},
{file = "zipp-3.1.0.tar.gz", hash = "sha256:c599e4d75c98f6798c509911d08a22e6c021d074469042177c8c86fb92eefd96"},
]
lock-version = "2.0"
python-versions = "^3.7"
content-hash = "5c2b82d1c8a6a283f63558fc693271f42fdcaeab73616713eb9b38b0b59787fc"

+ 6
- 5
pyproject.toml ファイルの表示

@@ -1,6 +1,6 @@
[tool.poetry]
name = "diagrams"
version = "0.21.1"
version = "0.23.3"
description = "Diagram as Code"
license = "MIT"
authors = ["mingrammer <mingrammer@gmail.com>"]
@@ -10,17 +10,18 @@ repository = "https://github.com/mingrammer/diagrams"
include = ["resources/**/*"]

[tool.poetry.dependencies]
python = "^3.6"
graphviz = ">=0.13.2,<0.20.0"
python = "^3.7"
graphviz = ">=0.13.2,<0.21.0"
jinja2 = ">=2.10,<4.0"
contextvars = { version = "^2.4", python = "~3.6" }
typed-ast = "^1.5.4"

[tool.poetry.dev-dependencies]
pytest = "^6.2"
pytest = "^7.3"
pylint = "^2.7"
black = {version = "^19.0", allow-prereleases = true}
rope = "^0.14.0"
isort = "^4.3"
black = "^22.12.0"

[tool.black]
line-length = 120

バイナリ
resources/aws/compute/app-runner.png ファイルの表示

変更前 変更後
幅: 256  |  高さ: 256  |  サイズ: 34 KiB

バイナリ
resources/elastic/agent/agent.png ファイルの表示

変更前 変更後
幅: 256  |  高さ: 256  |  サイズ: 3.6 KiB

バイナリ
resources/elastic/agent/endpoint.png ファイルの表示

変更前 変更後
幅: 256  |  高さ: 256  |  サイズ: 3.7 KiB

バイナリ
resources/elastic/agent/fleet.png ファイルの表示

変更前 変更後
幅: 256  |  高さ: 256  |  サイズ: 2.7 KiB

バイナリ
resources/elastic/agent/integrations.png ファイルの表示

変更前 変更後
幅: 256  |  高さ: 256  |  サイズ: 3.7 KiB

バイナリ
resources/elastic/beats/apm.png ファイルの表示

変更前 変更後
幅: 256  |  高さ: 256  |  サイズ: 1.2 KiB

バイナリ
resources/elastic/beats/auditbeat.png ファイルの表示

変更前 変更後
幅: 256  |  高さ: 256  |  サイズ: 463 B

バイナリ
resources/elastic/beats/filebeat.png ファイルの表示

変更前 変更後
幅: 256  |  高さ: 256  |  サイズ: 1.4 KiB

バイナリ
resources/elastic/beats/functionbeat.png ファイルの表示

変更前 変更後
幅: 256  |  高さ: 256  |  サイズ: 3.4 KiB

バイナリ
resources/elastic/beats/heartbeat.png ファイルの表示

変更前 変更後
幅: 256  |  高さ: 256  |  サイズ: 3.4 KiB

バイナリ
resources/elastic/beats/metricbeat.png ファイルの表示

変更前 変更後
幅: 256  |  高さ: 256  |  サイズ: 4.7 KiB

バイナリ
resources/elastic/beats/packetbeat.png ファイルの表示

変更前 変更後
幅: 256  |  高さ: 256  |  サイズ: 3.0 KiB

バイナリ
resources/elastic/beats/winlogbeat.png ファイルの表示

変更前 変更後
幅: 256  |  高さ: 256  |  サイズ: 483 B

バイナリ
resources/elastic/elasticsearch/logstash-pipeline.png ファイルの表示

変更前 変更後
幅: 256  |  高さ: 256  |  サイズ: 1.4 KiB

バイナリ
resources/elastic/elasticsearch/map-services.png ファイルの表示

変更前 変更後
幅: 256  |  高さ: 256  |  サイズ: 1.9 KiB

バイナリ
resources/elastic/elasticsearch/searchable-snapshots.png ファイルの表示

変更前 変更後
幅: 256  |  高さ: 256  |  サイズ: 3.9 KiB

バイナリ
resources/elastic/elasticsearch/stack.png ファイルの表示

変更前 変更後
幅: 256  |  高さ: 256  |  サイズ: 1007 B

バイナリ
resources/elastic/enterprisesearch/crawler.png ファイルの表示

変更前 変更後
幅: 256  |  高さ: 256  |  サイズ: 974 B

バイナリ
resources/elastic/observability/observability.png ファイルの表示

変更前 変更後
幅: 256  |  高さ: 256  |  サイズ: 1.9 KiB 幅: 256  |  高さ: 256  |  サイズ: 1.2 KiB

バイナリ
resources/elastic/security/xdr.png ファイルの表示

変更前 変更後
幅: 256  |  高さ: 256  |  サイズ: 2.6 KiB

バイナリ
resources/gcp/analytics/bigquery.png ファイルの表示

変更前 変更後
幅: 256  |  高さ: 256  |  サイズ: 6.1 KiB 幅: 256  |  高さ: 256  |  サイズ: 13 KiB

バイナリ
resources/gcp/analytics/composer.png ファイルの表示

変更前 変更後
幅: 256  |  高さ: 256  |  サイズ: 3.8 KiB 幅: 256  |  高さ: 256  |  サイズ: 1.6 KiB

バイナリ
resources/gcp/analytics/data-catalog.png ファイルの表示

変更前 変更後
幅: 256  |  高さ: 228  |  サイズ: 17 KiB 幅: 256  |  高さ: 256  |  サイズ: 12 KiB

バイナリ
resources/gcp/analytics/data-fusion.png ファイルの表示

変更前 変更後
幅: 129  |  高さ: 117  |  サイズ: 6.7 KiB 幅: 256  |  高さ: 256  |  サイズ: 2.9 KiB

バイナリ
resources/gcp/analytics/dataflow.png ファイルの表示

変更前 変更後
幅: 256  |  高さ: 256  |  サイズ: 7.2 KiB 幅: 256  |  高さ: 256  |  サイズ: 17 KiB

バイナリ
resources/gcp/analytics/datalab.png ファイルの表示

変更前 変更後
幅: 256  |  高さ: 256  |  サイズ: 6.1 KiB 幅: 256  |  高さ: 256  |  サイズ: 9.2 KiB

バイナリ
resources/gcp/analytics/dataprep.png ファイルの表示

変更前 変更後
幅: 256  |  高さ: 256  |  サイズ: 5.9 KiB 幅: 256  |  高さ: 256  |  サイズ: 8.5 KiB

バイナリ
resources/gcp/analytics/dataproc.png ファイルの表示

変更前 変更後
幅: 256  |  高さ: 256  |  サイズ: 7.1 KiB 幅: 256  |  高さ: 256  |  サイズ: 16 KiB

バイナリ
resources/gcp/analytics/genomics.png ファイルの表示

変更前 変更後
幅: 256  |  高さ: 256  |  サイズ: 6.0 KiB 幅: 256  |  高さ: 256  |  サイズ: 11 KiB

バイナリ
resources/gcp/analytics/pubsub.png ファイルの表示

変更前 変更後
幅: 256  |  高さ: 256  |  サイズ: 6.6 KiB 幅: 256  |  高さ: 256  |  サイズ: 13 KiB

バイナリ
resources/gcp/api/api-gateway.png ファイルの表示

変更前 変更後
幅: 256  |  高さ: 256  |  サイズ: 15 KiB 幅: 256  |  高さ: 256  |  サイズ: 8.8 KiB

バイナリ
resources/gcp/api/endpoints.png ファイルの表示

変更前 変更後
幅: 256  |  高さ: 256  |  サイズ: 2.7 KiB 幅: 256  |  高さ: 256  |  サイズ: 10 KiB

バイナリ
resources/gcp/compute/app-engine.png ファイルの表示

変更前 変更後
幅: 256  |  高さ: 256  |  サイズ: 7.5 KiB 幅: 256  |  高さ: 256  |  サイズ: 14 KiB

バイナリ
resources/gcp/compute/compute-engine.png ファイルの表示

変更前 変更後
幅: 256  |  高さ: 256  |  サイズ: 4.7 KiB 幅: 256  |  高さ: 256  |  サイズ: 4.2 KiB

バイナリ
resources/gcp/compute/container-optimized-os.png ファイルの表示

変更前 変更後
幅: 256  |  高さ: 256  |  サイズ: 8.0 KiB 幅: 256  |  高さ: 256  |  サイズ: 17 KiB

バイナリ
resources/gcp/compute/functions.png ファイルの表示

変更前 変更後
幅: 256  |  高さ: 256  |  サイズ: 4.9 KiB 幅: 256  |  高さ: 256  |  サイズ: 7.9 KiB

バイナリ
resources/gcp/compute/gke-on-prem.png ファイルの表示

変更前 変更後
幅: 135  |  高さ: 122  |  サイズ: 9.7 KiB 幅: 256  |  高さ: 256  |  サイズ: 19 KiB

バイナリ
resources/gcp/compute/gpu.png ファイルの表示

変更前 変更後
幅: 256  |  高さ: 256  |  サイズ: 4.7 KiB 幅: 256  |  高さ: 256  |  サイズ: 5.7 KiB

バイナリ
resources/gcp/compute/kubernetes-engine.png ファイルの表示

変更前 変更後
幅: 256  |  高さ: 256  |  サイズ: 6.8 KiB 幅: 256  |  高さ: 256  |  サイズ: 15 KiB

バイナリ
resources/gcp/compute/run.png ファイルの表示

変更前 変更後
幅: 256  |  高さ: 256  |  サイズ: 18 KiB 幅: 256  |  高さ: 256  |  サイズ: 11 KiB

バイナリ
resources/gcp/database/bigtable.png ファイルの表示

変更前 変更後
幅: 256  |  高さ: 256  |  サイズ: 8.2 KiB 幅: 256  |  高さ: 256  |  サイズ: 22 KiB

バイナリ
resources/gcp/database/datastore.png ファイルの表示

変更前 変更後
幅: 256  |  高さ: 256  |  サイズ: 4.3 KiB 幅: 256  |  高さ: 256  |  サイズ: 4.5 KiB

バイナリ
resources/gcp/database/firestore.png ファイルの表示

変更前 変更後
幅: 102  |  高さ: 92  |  サイズ: 5.8 KiB 幅: 256  |  高さ: 256  |  サイズ: 11 KiB

バイナリ
resources/gcp/database/memorystore.png ファイルの表示

変更前 変更後
幅: 256  |  高さ: 256  |  サイズ: 4.1 KiB 幅: 256  |  高さ: 256  |  サイズ: 6.7 KiB

バイナリ
resources/gcp/database/spanner.png ファイルの表示

変更前 変更後
幅: 256  |  高さ: 256  |  サイズ: 5.8 KiB 幅: 256  |  高さ: 256  |  サイズ: 13 KiB

バイナリ
resources/gcp/database/sql.png ファイルの表示

変更前 変更後
幅: 256  |  高さ: 256  |  サイズ: 6.5 KiB 幅: 256  |  高さ: 256  |  サイズ: 16 KiB

バイナリ
resources/gcp/devtools/build.png ファイルの表示

変更前 変更後
幅: 256  |  高さ: 256  |  サイズ: 6.9 KiB 幅: 256  |  高さ: 256  |  サイズ: 13 KiB

バイナリ
resources/gcp/devtools/code-for-intellij.png ファイルの表示

変更前 変更後
幅: 256  |  高さ: 256  |  サイズ: 6.4 KiB 幅: 256  |  高さ: 256  |  サイズ: 5.0 KiB

バイナリ
resources/gcp/devtools/code.png ファイルの表示

変更前 変更後
幅: 256  |  高さ: 256  |  サイズ: 16 KiB 幅: 256  |  高さ: 256  |  サイズ: 12 KiB

バイナリ
resources/gcp/devtools/container-registry.png ファイルの表示

変更前 変更後
幅: 256  |  高さ: 256  |  サイズ: 6.2 KiB 幅: 256  |  高さ: 256  |  サイズ: 14 KiB

バイナリ
resources/gcp/devtools/gradle-app-engine-plugin.png ファイルの表示

変更前 変更後
幅: 256  |  高さ: 256  |  サイズ: 6.4 KiB 幅: 256  |  高さ: 256  |  サイズ: 5.0 KiB

バイナリ
resources/gcp/devtools/ide-plugins.png ファイルの表示

変更前 変更後
幅: 256  |  高さ: 256  |  サイズ: 5.9 KiB 幅: 256  |  高さ: 256  |  サイズ: 14 KiB

変更されたファイルが多すぎるため、一部のファイルは表示されません

読み込み中…
キャンセル
保存