Repository: dmytrostriletskyi/diagrams-as-code
Branch: main
Commit: f7682bbf8cd8
Files: 46
Total size: 643.9 KB
Directory structure:
gitextract_jvv9xyul/
├── .github/
│ └── workflows/
│ ├── main.yaml
│ └── pull_request.yaml
├── .gitignore
├── .project-version
├── .yamllint.yml
├── LICENSE
├── MANIFEST.in
├── Makefile
├── README.md
├── diagrams_as_code/
│ ├── __init__.py
│ ├── entrypoint.py
│ ├── enums.py
│ ├── resources.py
│ └── schema.py
├── docs/
│ └── resources/
│ ├── alibaba_cloud.md
│ ├── aws.md
│ ├── azure.md
│ ├── digital_ocean.md
│ ├── elastic.md
│ ├── firebase.md
│ ├── flowchart.md
│ ├── gcp.md
│ ├── generic.md
│ ├── ibm.md
│ ├── kubernetes.md
│ ├── oci.md
│ ├── on_premise.md
│ ├── open_stack.md
│ ├── outscale.md
│ ├── programming.md
│ └── saas.md
├── examples/
│ ├── all-fields.yaml
│ ├── events-processing-aws.yaml
│ ├── exposed-pods-kubernetes.yaml
│ ├── message-collecting-gcp.yaml
│ ├── picture-in-readme.yaml
│ ├── web-services-aws.yaml
│ ├── web-services-on-premise.yaml
│ └── workers-aws.yaml
├── json-schemas/
│ └── 0.0.1.json
├── pyproject.toml
├── requirements/
│ ├── dev.txt
│ ├── ops.txt
│ └── project.txt
├── setup.cfg
└── setup.py
================================================
FILE CONTENTS
================================================
================================================
FILE: .github/workflows/main.yaml
================================================
---
name: Main branch workflow
on:
push:
branches:
- main
jobs:
release:
runs-on: [ubuntu-latest]
outputs:
project_version: ${{ steps.get_project_version.outputs.project_version }}
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.11
uses: actions/setup-python@v1
with:
python-version: '3.11'
- name: Get a project version
id: get_project_version
run: echo "::set-output name=project_version::$(make get-project-version)"
- name: Install project requirements
run: make install-requirements
- name: Make a release
env:
ACCESS_TOKEN: ${{secrets.GIT_HUB_ACCESS_TOKEN}}
run: |
project-version release \
--provider=GitHub \
--organization=dmytrostriletskyi \
--repository=diagrams-as-code \
--branch=main \
--project-version=${{ steps.get_project_version.outputs.project_version }}
deploy:
runs-on: [ubuntu-latest]
needs: [release]
outputs:
project_version: ${{ steps.get_project_version.outputs.project_version }}
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.11
uses: actions/setup-python@v1
with:
python-version: '3.11'
- name: Get a project version
id: get_project_version
run: echo "::set-output name=project_version::$(make get-project-version)"
- name: Install project requirements
run: make install-requirements
- name: Build the package
run: python3 setup.py sdist
- name: Deploy the package
run: |
twine upload \
--username ${{ secrets.PYPI_USERNAME }} \
--password ${{ secrets.PYPI_PASSWORD }} \
dist/diagrams-as-code-${{ steps.get_project_version.outputs.project_version }}.tar.gz
================================================
FILE: .github/workflows/pull_request.yaml
================================================
---
name: Pull request workflow
on:
pull_request_target:
branches:
- main
jobs:
check-project-version:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
python-version: ['3.11']
outputs:
project_version: ${{ steps.get_project_version.outputs.project_version }}
steps:
- uses: actions/checkout@v2
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v1
with:
python-version: ${{ matrix.python-version }}
- name: Get a version of the project
id: get_project_version
run: echo "::set-output name=project_version::$(make get-project-version)"
- name: Install project requirements
run: make install-requirements
- name: Check project version
env:
ACCESS_TOKEN: ${{secrets.GIT_HUB_ACCESS_TOKEN}}
run: |
project-version check \
--provider=GitHub \
--organization=dmytrostriletskyi \
--repository=diagrams-yaml \
--base-branch=main \
--head-branch=${{ github.head_ref }}
lint:
name: Lint the codebase (python-${{ matrix.python-version }} on ${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
python-version: ['3.11']
outputs:
project_version: ${{ steps.get_project_version.outputs.project_version }}
steps:
- uses: actions/checkout@v2
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v1
with:
python-version: ${{ matrix.python-version }}
- name: Get a version of the project
id: get_project_version
run: echo "::set-output name=project_version::$(make get-project-version)"
- name: Install project requirements
run: make install-requirements
- name: Check code quality
run: make check-code-quality
================================================
FILE: .gitignore
================================================
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# C extensions
*.so
# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
.hypothesis/
.pytest_cache/
# Translations
*.mo
*.pot
# Django stuff:
*.log
local_settings.py
db.sqlite3
# Flask stuff:
instance/
.webassets-cache
# Scrapy stuff:
.scrapy
# Sphinx documentation
docs/_build/
# PyBuilder
target/
# Jupyter Notebook
.ipynb_checkpoints
# pyenv
.python-version
# celery beat schedule file
celerybeat-schedule
# SageMath parsed files
*.sage.py
# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
# Spyder project settings
.spyderproject
.spyproject
# Rope project settings
.ropeproject
# mkdocs documentation
/site
# mypy
.mypy_cache/
.idea/
.DS_Store
================================================
FILE: .project-version
================================================
0.0.4
================================================
FILE: .yamllint.yml
================================================
---
extends: default
rules:
indentation:
spaces: 2
indent-sequences: true
document-start:
present: true
ignore: |
examples/*.yaml
line-length: disable
colons:
max-spaces-before: 0
max-spaces-after: 1
truthy:
ignore: |
*.yml
*.yaml
================================================
FILE: LICENSE
================================================
MIT License
Copyright (c) 2023 Dmytro Striletskyi
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
================================================
FILE: MANIFEST.in
================================================
include *.md
include LICENSE
include requirements/project.txt
include .project-version
================================================
FILE: Makefile
================================================
SOURCE_FOLDER=./diagrams_yaml
get-project-version:
@cat .project-version
install-requirements:
pip3 install \
-r requirements/project.txt \
-r requirements/dev.txt \
-r requirements/ops.txt
check-code-quality:
isort $(SOURCE_FOLDER) --diff --check-only
darglint $(SOURCE_FOLDER)
ruff check $(SOURCE_FOLDER) --fix
yamllint .
format:
isort $(SOURCE_FOLDER)
ruff check $(SOURCE_FOLDER) --fix
================================================
FILE: README.md
================================================
`Diagrams as code`: declarative configurations using `YAML` for drawing cloud system architectures.
[](https://github.com/dmytrostriletskyi/diagrams-as-code/actions/workflows/main.yaml)
[](https://github.com/dmytrostriletskyi/diagrams-as-code/releases)
[](https://pypi.python.org/pypi/diagrams-as-code)
[](https://pepy.tech/project/diagrams-as-code)
[](https://pypi.python.org/pypi/diagrams-as-code/)
[](https://pypi.python.org/pypi/diagrams-as-code/)

Table of content:
* [Introduction](#introduction)
* [Roadmap](#roadmap)
* [Getting Started](#getting-started)
* [How to Install](#how-to-install)
* [Examples](#examples)
* [Syntax Highlighting](#syntax-highlighting)
* [PyCharm](#pycharm)
* [VSCode](#vs-code)
* [Usage](#usage)
* [Command Line Interface](#command-line-interface)
* [Guide](#guide)
* [Disclaimer](#disclaimer)
## Introduction
`Diagrams as code` is essentially the process of managing diagrams through code rather than interactively drawing them
on specific web services such as [draw.io](https://app.diagrams.net). It lets you generate the cloud system architecture
in a **declarative** way with widely used `YAML` syntax (which is de facto a standard for infrastructure and
configurations).
Declarative method of describing things means that a user simply describes the solution they need, how it should look,
and everything that would be in the state of the final solution, leaving the process for the software to decide.
`Diagrams as code` brings you the following benefits compared to drawing architecture on your own, it:
* Does not require any knowledge about how to properly draw an architecture diagram. Basically, you just define a set of
resources, compose them into groups and set relationships, the rest is done for you.
* Allows you to track architecture diagram changes with a version control systems such as `Git`.
* Moves collaboration to the next level: updating an architecture diagram through a pull request with a code review
instead of a video session and/or screen sharing.
* Reduces costs on further updating of an initial architecture diagram. Basically, when you create an image on a web
service you have to eventually store two files: `PNG`-like to put into your documentation and `XML` to be able to
adjust your image in the future. So, there is no need to care about `XML` anymore.
* Backups you in case of losing `XML` files as `YAML` files are always stored in a repository.
* Improves consistency as now a diagram is stored along the code in a repository, the place you visit and work on
frequently, and it is easier to keep it up-to-date.
Currently, the following components are provided:
* Major cloud providers: AWS, Azure, GCP, IBM, Alibaba, Oracle, OpenStack, DigitalOcean and so on.
* On-Premise, Kubernetes, Firebase, Elastic, SaaS.
* Programming languages and frameworks.
## Roadmap
* Add support of [C4](https://diagrams.mingrammer.com/docs/nodes/c4).
* Add support of [Custom](https://diagrams.mingrammer.com/docs/nodes/custom).
* Add IDEs plugins and/or web user interface for live editing.
* Add the `JSON Schema` to [Json Schema Store](https://github.com/fox-forks/schemastore).
* Research Confluence integration to update images from the CI-builds directly.
* Research ChatGRT integration.
## Getting Started
### How to install
As the project uses [Graphviz](https://www.graphviz.org) to render the diagram, you need to install it:
* For `Linux` — https://graphviz.gitlab.io/download/#linux
* For `Windows` — https://graphviz.gitlab.io/download/#windows
* For `macOS` — https://graphviz.gitlab.io/download/#mac
After, you can install the project itself with the following command using `pip3`:
```bash
$ pip3 install diagrams-as-code
```
### Examples
You can find examples of `YAML` configurations in the [examples](https://github.com/dmytrostriletskyi/diagrams-as-code/tree/main/examples)
folder. Below are placed are few of them (click on the name to redirect to the configurations file).
| [Web Services on AWS](https://github.com/dmytrostriletskyi/diagrams-as-code/blob/main/examples/web-services-aws.yaml) | [Web Services On-Premise](https://github.com/dmytrostriletskyi/diagrams-as-code/blob/main/examples/web-services-on-premise.yaml) | [Exposed Pods on Kubernetes](https://github.com/dmytrostriletskyi/diagrams-as-code/blob/main/examples/exposed-pods-kubernetes.yaml) |
|-----------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------|
|  |  |  |
| [Message Collecting on GCP](https://github.com/dmytrostriletskyi/diagrams-as-code/blob/main/examples/message-collecting-gcp.yaml) | [Events Processing on AWS](https://github.com/dmytrostriletskyi/diagrams-as-code/blob/main/examples/events-processing-aws.yaml) | [Workers on AWS](https://github.com/dmytrostriletskyi/diagrams-as-code/blob/main/examples/workers-aws.yaml) |
|-----------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------|
|  |  |  |
### Syntax Highlighting
When you will be writing your own `YAML` files, you likely need a syntax highlighting. Currently, there is no mapping
of the `YAML` files to a specific schema to enable the syntax highlighting automatically. So, there is a need for
manual operation here.
#### PyCharm
For `PyCharm`, open the settings and proceed to `Languages & Frameworks, then to `Scheams and DTDs`, then to
`JSON Schema Mappings`. After, create a new schema, name it `Diagrams as code`, choose
`JSON Schema version 7`, paste `https://raw.githubusercontent.com/dmytrostriletskyi/diagrams-as-code/main/json-schemas/0.0.1.json`
to the `Schema file or URL` field and click `Apply`:
Open Illustration

Right after then, open a `YAML` file and click on `No JSON schema` at to bottom-right corner:
Open Illustration

It will open a panel where you can choose the newly created schema with the name `Diagrams as code`:
Open Illustration

As a result, you will experience syntax highlighting when typing:
Open Illustration

#### VS Code
For `VS Code`, install the [RedHat YAML](https://marketplace.visualstudio.com/items?itemName=redhat.vscode-yaml) extension and include the following line in the top of your diagrams yaml file:
```yaml
# yaml-language-server: $schema=https://raw.githubusercontent.com/dmytrostriletskyi/diagrams-as-code/main/json-schemas/0.0.1.json
```
## Usage
### Command Line Interface
To draw an architecture, call `diagrams-as-code` command line interface, providing a path to a `YAML` file with
configurations. The drawing will be saved in the folder the command line interface was executed from.
```bash
$ diagrams-as-code examples/web-services-aws.yaml
```
### Guide
Please, check [all-fields.yaml](./examples/all-fields.yaml) as the example to see all possible configurations
before diving into a detailed explanation about them (and [this](./assets/all-fields.jpg) is the result image).
A `YAML` file conceptually contains two configurations: generic information such as a name of a diagram, a format of an
image to be generated, style and resources themselves such as `AWS` and `Kubernetes` resources, `Nginx`, `ElasticSearch`
and all other things you actually want to draw, and relationships among them.
```yaml
diagram:
name: Web Services Architecture on AWS
file_name: web-services-architecture-aws
format: jpg
direction: left-to-right
style:
graph:
splines: ortho
node:
shape: circle
edge:
color: '#000000'
label_resources: false
open: true
resource:
...
```
Generic information schema looks like this:
| Field | Type | Required | Restrictions | Default | Description |
|-------------------|---------|----------|---------------------------------------------------------------------|-----------------|------------------------------------------------------------------------|
| `name` | String | Yes | - | `PNG` | A name of the diagram which is shown in the image. |
| `file_name` | String | No | - | - | A file name of the image that would be created. |
| `format` | String | No | `png`, `jpg`, `svg`, `pdf`, `dot` | `png` | A format of the image that would be created. |
| `direction` | String | No | `left-to-right`, `right-to-left`, `top-to-bottom`, `bottom-to-top` | `left-to-right` | A direction of the diagram's resource. |
| `style` | Object | No | - | - | Style of the diagram. |
| `label_resources` | Boolean | No | - | `false` | Whether to label the diagram's resources such as `EC2` or `PodConfig`. |
| `open` | Boolean | No | - | `false` | Whether to open the diagram's image after creating it. |
| `resources` | List | Yes | - | - | Resources of the diagram. |
`style` is responsible for styling overall diagram such as a background color or choosing between curvy or straight
arrows. It should go as a nested object of parameters as key/value of [Graphviz's attributes](https://graphviz.org/doc/info/attrs.html).
Its schema looks like:
| Field | Type | Required | Restrictions | Default | Description |
|---------|--------|----------|--------------------------------------------------------------------|---------|------------------|
| `graph` | Object | No | [Those](https://graphviz.org/docs/graph/) parameters as key/value. | - | A graph styling. |
| `node` | Object | No | [Those](https://graphviz.org/docs/nodes/) parameters as key/value. | - | A node styling |
| `edge` | Object | No | [Those](https://graphviz.org/docs/edges/) parameters as key/value. | - | An edge styling. |
`resources` is responsible for specifying a list of resources on a diagram and relationships among them. Each resource
has a unique identifier, name and type. Name will be shown on a diagram under the specific resource:
```yaml
diagram:
resources:
- id: elb
name: ELB
type: aws.network.ELB
```
Open Illustration

Identifier will be used by other resources to set a relationship direction's type among them:
```yaml
diagram:
resources:
- id: dns
name: DNS
type: aws.network.Route53
relates:
- to: elb
direction: outgoing
- id: elb
name: ELB
type: aws.network.ELB
```
Open Illustration

There is also a type named `group`. It is not a specific resource, it is rather a group **of** resources. It is needed
for other resources to be able to have a relationship with all group's resources at once. Each group's resource can have
separate relationships as well:
```yaml
diagram:
resources:
- id: elb
name: ELB
type: aws.network.ELB
relates:
- to: graphql-api
direction: outgoing
- id: graphql-api
name: GraphQL API
type: group
of:
- id: first-api
name: GraphQL API №1
type: aws.compute.ECS
- id: second-api
name: GraphQL API №2
type: aws.compute.ECS
- id: third-api
name: GraphQL API №3
type: aws.compute.ECS
```
Open Illustration

There is also a type named `cluster`. It is needed to separate multiple resources or groups logically: for instance,
there might be a cluster of different APIs composed as groups, a cluster of databases and a cluster of caches.
> Pay attention that to refer a cluster resource, there are the following identifiers `web-services.graphql-api` and
> `web-services.rest-api` what means that you need to chain identifiers of nested resources through a dot to identify a
> resource you build a relationship with.
```yaml
diagram:
resources:
- id: elb
name: ELB
type: aws.network.ELB
relates:
- to: web-services.graphql-api
direction: outgoing
- to: web-services.rest-api
direction: outgoing
- id: web-services
name: Web Services
type: cluster
of:
- id: graphql-api
name: GraphQL API
type: group
of:
- id: first-api
name: GraphQL API №1
type: aws.compute.ECS
- id: second-api
name: GraphQL API №2
type: aws.compute.ECS
- id: third-api
name: GraphQL API №3
type: aws.compute.ECS
- id: rest-api
name: REST API
type: group
of:
- id: first-api
name: REST API №1
type: aws.compute.EC2
- id: second-api
name: REST API №2
type: aws.compute.EC2
- id: third-api
name: REST API №3
type: aws.compute.EC2
- id: databases
name: Databases
type: cluster
of:
- id: leader
name: Leader
type: aws.database.RDS
relates:
- to: databases.follower
direction: undirected
- id: follower
name: Follower
type: aws.database.RDS
```
Open Illustration

Basically, to recap and also clarify:
* There are resources, groups (of resources or other groups) and clusters (of resources, groups or other clusters).
* You can build a relationship between resource to resource and resource to group (and vice versa), it is impossible to
relate to a cluster.
* You should chain identifiers of nested resources through a dot to identify a resource you build a relationship to.
`resources` schema looks like this:
| Field | Type | Required | Restrictions | Default | Description |
|-----------|--------|----------|-----------------------------------------------------------------------------------------------------|---------|------------------------------------------|
| `id` | String | Yes | - | - | A unique identifier of the resource. |
| `name` | String | Yes | - | - | A name of the resource. |
| `type` | String | Yes | One of the [those](https://github.com/dmytrostriletskyi/diagrams-as-code/tree/main/docs/resources). | - | A type of the resource. |
| `relates` | Object | No | - | - | A relationship to a resource or a group. |
This is the table of all available types by a category:
| Name | Docs |
|---------------|-------------------------------------------------------|
| Alibaba Cloud | [alibaba_cloud.md](./docs/resources/alibaba_cloud.md) |
| AWS | [aws.md](./docs/resources/aws.md) |
| Azure | [azure.md](./docs/resources/azure.md) |
| DigitalOcean | [digital_ocean.md](./docs/resources/digital_ocean.md) |
| Elastic | [elastic.md](./docs/resources/elastic.md) |
| Firebase | [firebase.md](./docs/resources/firebase.md) |
| Flowchart | [flowchart.md](./docs/resources/flowchart.md) |
| GCP | [gcp.md](./docs/resources/gcp.md) |
| Generic | [generic.md](./docs/resources/generic.md) |
| IBM | [ibm.md](./docs/resources/ibm.md) |
| Kubernetes | [kubernetes.md](./docs/resources/kubernetes.md) |
| OCI | [oci.md](./docs/resources/oci.md) |
| On-Premise | [on_premise.md](./docs/resources/on_premise.md) |
| OpenStack | [open_stack.md](./docs/resources/open_stack.md) |
| Outscale | [outscale.md](./docs/resources/outscale.md) |
| Programming | [programming.md](./docs/resources/programming.md) |
| SaaS | [saas.md](./docs/resources/saas.md) |
`relates` schema looks like:
| Field | Type | Required | Restrictions | Default | Description |
|-------------|--------|----------|-------------------------------------------------------|-----------|-----------------------------------------------------------|
| `to` | String | Yes | - | - | A chain of identifiers to a resource via a dot from root. |
| `direction` | String | Yes | `incoming`, `outgoing`, `bidirectional`, `undirected` | - | A direction of a relationship. |
| `label` | String | No | - | - | A label of a relationship. |
| `color` | String | No | `Hexadecimal color` with the `#` symbol. | `#2D3436` | A color of a relationship. |
| `style` | String | No | - | - | A style of a relationship. |
## Disclaimer
`diagrams-as-code` is a wrapper around the original [diagrams](https://github.com/mingrammer/diagrams). The original `diagrams`
lets you draw the cloud system architecture in `Python` code. It was born for prototyping a new system architecture
design without any design tools. Under the hood, `diagrams-as-code` parse a `YAML` file and map to a specific set of
`diagrams`'s functions and classes, and execute them in proper order.
But you don't have to worry about `diagrams` because `diagrams-as-code` is self-contained and encapsulates it well.
================================================
FILE: diagrams_as_code/__init__.py
================================================
================================================
FILE: diagrams_as_code/entrypoint.py
================================================
"""
Provide implementation of `diagrams` as a code using YAML.
"""
import importlib
import os
import sys
import yaml
from diagrams import (
Cluster,
Diagram,
Edge,
Node,
)
from diagrams_as_code.enums import (
ServiceResourceType,
RelationDirection,
)
from diagrams_as_code.resources import DiagramGroup
from diagrams_as_code.schema import (
Relationship,
YamlDiagram,
YamlDiagramResource,
)
resources = {}
relationships = []
def get_diagram_node_class(path: str) -> Node:
"""
Get a `diagrams` node class.
The common example of a path is `aws.analytics.Analytics` which strongly correlates to `diagrams` real defined
classes. In the example, `Analytics` is a class, the rest `aws.analytics` is a few modules. Basically, there
are the modules are loaded and then the class is got on fly.
It helps to reuse the same «path» in both YAML files and execution of classes without a need of redeclaration.
Arguments:
path (str): a path to class.
References:
- https://diagrams.mingrammer.com/docs/nodes/aws
Returns:
The node's class as a `Node`.
"""
provider, resource, service = path.split('.')
module = importlib.import_module(f'diagrams.{provider}.{resource}')
class_ = getattr(module, service)
return class_
def process_resource(resource: YamlDiagramResource, parent_id: str, group: DiagramGroup = None) -> None:
"""
Process a resource.
Basically, this function is recursive because `YAML` file can contain infinite number of configurations. There might
be a single node (such as EC2 or RDS), a group of nodes and a cluster of nodes and groups further.
All nodes are stored by unique identifiers in a global storage (`resources`) and then easily fetched from there
to build relationships. For this, there is a need to always pass parent's resource identifier to have unique
identifier for each node.
There is also the resource called `group` which is literary a list of nodes to which other things relate to.
Arguments:
resource (YamlDiagramResource): a resource.
parent_id (str): a parent's identifier.
group (DiagramGroup): a group.
"""
if resource.type == ServiceResourceType.CLUSTER.value:
cluster = Cluster(label=resource.name)
cluster.__enter__()
for resource_of in resource.of:
process_resource(resource=resource_of, parent_id=f'{parent_id}.{resource.id}')
cluster.__exit__(None, None, None)
if resource.type == ServiceResourceType.GROUP.value:
diagram_group = DiagramGroup()
resources.update({
f'{parent_id}.{resource.id}': diagram_group,
})
for relation in resource.relates:
relationship = Relationship(
from_=f'{parent_id}.{resource.id}',
to=f'diagram.{relation.to}',
direction=relation.direction,
label=relation.label,
color=relation.color,
style=relation.style,
)
relationships.append(relationship)
for resource_of in resource.of:
process_resource(resource=resource_of, parent_id=f'{parent_id}.{resource.id}', group=diagram_group)
if (
resource.type != ServiceResourceType.CLUSTER.value and
resource.type != ServiceResourceType.GROUP.value
):
resource_instance = get_diagram_node_class(path=resource.type)(label=resource.name)
resources.update({
f'{parent_id}.{resource.id}': resource_instance,
})
for relation in resource.relates:
relationship = Relationship(
from_=f'{parent_id}.{resource.id}',
to=f'diagram.{relation.to}',
direction=relation.direction,
label=relation.label,
color=relation.color,
style=relation.style,
)
relationships.append(relationship)
if group is not None:
group.add_node(node=resource_instance)
def entrypoint() -> None:
"""
Provide the entrypoint.
"""
_, yaml_file_path = sys.argv
yaml_file_path = os.getcwd() + '/' + yaml_file_path
with open(yaml_file_path) as yaml_file:
yaml_as_dict = yaml.safe_load(yaml_file)
diagram_as_dict = yaml_as_dict.get('diagram')
diagram = YamlDiagram(**diagram_as_dict)
# TODO: figure out how to pass empty `YamlDiagramStyle` to `diagram.style` in Pydantic to remove the if condition.
graph_style = Diagram._default_graph_attrs | diagram.style.graph if diagram.style else {}
node_style = Diagram._default_node_attrs | diagram.style.node if diagram.style else {}
edge_style = Diagram._default_edge_attrs | diagram.style.edge if diagram.style else {}
with Diagram(
name='',
filename=diagram.file_name,
direction=diagram.direction.mapped,
outformat=diagram.format,
autolabel=diagram.label_resources,
show=diagram.open,
graph_attr=graph_style,
node_attr=node_style,
edge_attr=edge_style,
):
for resource in diagram.resources:
process_resource(resource, 'diagram')
for relationship in relationships:
edge = Edge(label=relationship.label, color=relationship.color, style=relationship.style)
resource_from_instance = resources.get(relationship.from_)
resource_to_instance = resources.get(relationship.to)
if resource_to_instance is None:
resource_to_identifier_from_configs = relationship.to.replace('diagram.', '')
raise ValueError(
f"There is no such a resource's identifier to relate to: {resource_to_identifier_from_configs}",
)
is_resource_from_node = not isinstance(resource_from_instance, DiagramGroup)
is_resource_from_group = isinstance(resource_from_instance, DiagramGroup)
is_resource_to_node = not isinstance(resource_to_instance, DiagramGroup)
is_resource_to_group = isinstance(resource_to_instance, DiagramGroup)
if is_resource_from_node and is_resource_to_node:
if relationship.direction == RelationDirection.INCOMING:
resource_from_instance.__lshift__(other=edge)
edge.__lshift__(other=resource_to_instance)
if relationship.direction == RelationDirection.OUTGOING:
resource_from_instance.__rshift__(other=edge)
edge.__rshift__(other=resource_to_instance)
if relationship.direction == RelationDirection.BIDIRECTIONAL:
resource_from_instance.__rshift__(other=edge)
edge.__lshift__(other=resource_to_instance)
if relationship.direction == RelationDirection.UNDIRECTED:
resource_from_instance.__sub__(other=edge)
edge.__sub__(other=resource_to_instance)
if is_resource_from_group and is_resource_to_node:
group_nodes = resource_from_instance.get_nodes()
if relationship.direction == RelationDirection.INCOMING:
group_nodes_edges = edge.__rlshift__(other=group_nodes)
resource_to_instance.__rlshift__(other=group_nodes_edges)
if relationship.direction == RelationDirection.OUTGOING:
group_nodes_edges = edge.__rrshift__(other=group_nodes)
resource_to_instance.__rrshift__(other=group_nodes_edges)
if relationship.direction == RelationDirection.BIDIRECTIONAL:
group_nodes_edges = edge.__rrshift__(other=group_nodes)
resource_to_instance.__rlshift__(other=group_nodes_edges)
if relationship.direction == RelationDirection.UNDIRECTED:
group_nodes_edges = edge.__rsub__(other=group_nodes)
resource_to_instance.__rsub__(other=group_nodes_edges)
if is_resource_from_node and is_resource_to_group:
group_nodes = resource_to_instance.get_nodes()
if relationship.direction == RelationDirection.INCOMING:
resource_from_instance.__lshift__(other=edge)
edge.__lshift__(other=group_nodes)
if relationship.direction == RelationDirection.OUTGOING:
resource_from_instance.__rshift__(other=edge)
edge.__rshift__(other=group_nodes)
if relationship.direction == RelationDirection.BIDIRECTIONAL:
resource_from_instance.__rshift__(other=edge)
edge.__lshift__(other=group_nodes)
if relationship.direction == RelationDirection.UNDIRECTED:
resource_from_instance.__sub__(other=edge)
edge.__sub__(other=group_nodes)
if __name__ == '__main__':
entrypoint()
================================================
FILE: diagrams_as_code/enums.py
================================================
"""
Provide implementation of enums.
"""
from enum import Enum
class ServiceResourceType(Enum):
"""
Service resource type enum implementation.
"""
CLUSTER = 'cluster'
GROUP = 'group'
class RelationDirection(str, Enum):
"""
Relation direction enum implementation.
"""
INCOMING = 'incoming'
OUTGOING = 'outgoing'
BIDIRECTIONAL = 'bidirectional'
UNDIRECTED = 'undirected'
class DiagramDirection(str, Enum):
"""
Diagram direction enum implementation.
"""
LEFT_TO_RIGHT = 'left-to-right'
RIGHT_TO_LEFT = 'right-to-left'
TOP_TO_BOTTOM = 'top-to-bottom'
BOTTOM_TO_TOP = 'bottom-to-top'
@property
def mapped(self):
"""
References:
- https://github.com/mingrammer/diagrams/blob/b19b09761db6f0037fd76e527b9ce6918fbdfcfc/diagrams/__init__.py#L41
:return:
"""
match self.value:
case self.LEFT_TO_RIGHT:
return 'LR'
case self.RIGHT_TO_LEFT:
return 'RL'
case self.TOP_TO_BOTTOM:
return 'TB'
case self.BOTTOM_TO_TOP:
return 'BT'
class DiagramFormat(str, Enum):
"""
Diagram format enum implementation.
"""
PNG = 'png'
JPG = 'jpg'
SVG = 'svg'
PDF = 'pdf'
DOT = 'dot'
================================================
FILE: diagrams_as_code/resources.py
================================================
"""
Provide implementation of resources.
"""
from diagrams import Node
class DiagramGroup:
"""
Diagram group resource implementation.
Is used to collect a list of `diagrams` resources to pack them as a list for further relationships.
"""
def __init__(self: 'DiagramGroup') -> None:
"""
Construct the object.
"""
self.nodes = []
def add_node(self: 'DiagramGroup', node: Node) -> None:
"""
Add a node.
Arguments:
node (Node): a node.
"""
self.nodes.append(node)
def get_nodes(self: 'DiagramGroup') -> list[Node]:
"""
Get nodes.
Returns:
A list of nodes as a list of `Node`.
"""
return self.nodes
def __repr__(self: 'DiagramGroup') -> str:
"""
Get the group's representation.
Returns:
The group's representation as a string.
"""
representation = ''
for node in self.nodes:
representation += f' {node},'
return ''
================================================
FILE: diagrams_as_code/schema.py
================================================
"""
Provide implementation of schemas.
"""
from __future__ import annotations
from pydantic import BaseModel
from diagrams_as_code.enums import (
RelationDirection,
DiagramDirection,
DiagramFormat,
)
class YamlDiagramStyle(BaseModel):
"""
YAML diagram style schema implementation.
"""
graph: dict = {}
node: dict = {}
edge: dict = {}
class YamlDiagram(BaseModel):
"""
YAML diagram schema implementation.
References:
- https://github.com/mingrammer/diagrams/blob/b19b09761db6f0037fd76e527b9ce6918fbdfcfc/diagrams/__init__.py#L79
"""
name: str
file_name: str | None = None
format: DiagramFormat = DiagramFormat.PNG
direction: DiagramDirection = DiagramDirection.LEFT_TO_RIGHT
style: YamlDiagramStyle | None = {}
label_resources: bool = False
open: bool = False
resources: list[YamlDiagramResource]
class YamlDiagramResource(BaseModel):
"""
YAML diagram resource schema implementation.
"""
id: str | int
name: str
type: str
of: list[YamlDiagramResource] | None = []
relates: list[YamlDiagramResourceRelationship] | None = []
class YamlDiagramResourceRelationship(BaseModel):
"""
Yaml diagram resource relationship schema implementation.
"""
to: str
direction: RelationDirection
label: str | None = None
color: str | None = None
style: str | None = None
class Relationship(BaseModel):
"""
Relationship schema implementation.
Is used internally between layers and functions.
"""
from_: str
to: str
direction: RelationDirection
label: str | None = None
color: str | None = None
style: str | None = None
================================================
FILE: docs/resources/alibaba_cloud.md
================================================
## Alibaba Cloud
Table of Content:
* [Analytics](#analytics)
* [Application](#application)
* [Communication](#communication)
* [Compute](#compute)
* [Database](#database)
* [Iot](#iot)
* [Network](#network)
* [Security](#security)
* [Storage](#storage)
* [Web](#web)
### Analytics
| Type | Alias | Image |
|--------------------------------------------|-------|---------------------------------------------------------------------------------------------------------------------------|
| `alibabacloud.analytics.AnalyticDb` | `-` |
|
| `alibabacloud.analytics.ClickHouse` | `-` |
|
| `alibabacloud.analytics.DataLakeAnalytics` | `-` |
|
| `alibabacloud.analytics.ElaticMapReduce` | `-` |
|
| `alibabacloud.analytics.OpenSearch` | `-` |
|
### Application
| Type | Alias | Image |
|-------------------------------------------------------|--------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------|
| `alibabacloud.application.ApiGateway` | `-` |
|
| `alibabacloud.application.BeeBot` | `-` |
|
| `alibabacloud.application.BlockchainAsAService` | `-` |
|
| `alibabacloud.application.CloudCallCenter` | `-` |
|
| `alibabacloud.application.CodePipeline` | `-` |
|
| `alibabacloud.application.DirectMail` | `-` |
|
| `alibabacloud.application.LogService` | `alibabacloud.application.SLS` |
|
| `alibabacloud.application.MessageNotificationService` | `alibabacloud.application.MNS` |
|
| `alibabacloud.application.NodeJsPerformancePlatform` | `-` |
|
| `alibabacloud.application.OpenSearch` | `-` |
|
| `alibabacloud.application.PerformanceTestingService` | `alibabacloud.application.PTS` |
|
| `alibabacloud.application.RdCloud` | `-` |
|
| `alibabacloud.application.SmartConversationAnalysis` | `alibabacloud.application.SCA` |
|
| `alibabacloud.application.Yida` | `-` |
|
### Communication
| Type | Alias | Image |
|-----------------------------------------|-------|----------------------------------------------------------------------------------------------------------------|
| `alibabacloud.communication.DirectMail` | `-` |
|
| `alibabacloud.communication.MobilePush` | `-` |
|
### Compute
| Type | Alias | Image |
|--------------------------------------------------------|-----------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------|
| `alibabacloud.compute.AutoScaling` | `alibabacloud.compute.ESS` |
|
| `alibabacloud.compute.BatchCompute` | `-` |
|
| `alibabacloud.compute.ContainerRegistry` | `-` |
|
| `alibabacloud.compute.ContainerService` | `-` |
|
| `alibabacloud.compute.ElasticComputeService` | `alibabacloud.compute.ECS` |
|
| `alibabacloud.compute.ElasticContainerInstance` | `alibabacloud.compute.ECI` |
|
| `alibabacloud.compute.ElasticHighPerformanceComputing` | `alibabacloud.compute.EHPC` |
|
| `alibabacloud.compute.ElasticSearch` | `-` |
|
| `alibabacloud.compute.FunctionCompute` | `alibabacloud.compute.FC` |
|
| `alibabacloud.compute.OperationOrchestrationService` | `alibabacloud.compute.OOS` |
|
| `alibabacloud.compute.ResourceOrchestrationService` | `alibabacloud.compute.ROS` |
|
| `alibabacloud.compute.ServerLoadBalancer` | `alibabacloud.compute.SLB` |
|
| `alibabacloud.compute.ServerlessAppEngine` | `alibabacloud.compute.SAE` |
|
| `alibabacloud.compute.SimpleApplicationServer` | `alibabacloud.compute.SAS` |
|
| `alibabacloud.compute.WebAppService` | `alibabacloud.compute.WAS` |
|
### Database
| Type | Alias | Image |
|------------------------------------------------------------|------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `alibabacloud.database.ApsaradbCassandra` | `-` |
|
| `alibabacloud.database.ApsaradbHbase` | `-` |
|
| `alibabacloud.database.ApsaradbMemcache` | `-` |
|
| `alibabacloud.database.ApsaradbMongodb` | `-` |
|
| `alibabacloud.database.ApsaradbOceanbase` | `-` |
|
| `alibabacloud.database.ApsaradbPolardb` | `-` |
|
| `alibabacloud.database.ApsaradbPostgresql` | `-` |
|
| `alibabacloud.database.ApsaradbPpas` | `-` |
|
| `alibabacloud.database.ApsaradbRedis` | `-` |
|
| `alibabacloud.database.ApsaradbSqlserver` | `-` |
|
| `alibabacloud.database.DataManagementService` | `alibabacloud.database.DMS` |
|
| `alibabacloud.database.DataTransmissionService` | `alibabacloud.database.DTS` |
|
| `alibabacloud.database.DatabaseBackupService` | `alibabacloud.database.DBS` |
|
| `alibabacloud.database.DisributeRelationalDatabaseService` | `alibabacloud.database.DRDS` |
|
| `alibabacloud.database.GraphDatabaseService` | `alibabacloud.database.GDS` |
|
| `alibabacloud.database.HybriddbForMysql` | `-` |
|
| `alibabacloud.database.RelationalDatabaseService` | `alibabacloud.database.RDS` |
|
### Iot
| Type | Alias | Image |
|-----------------------------------------------|-------|----------------------------------------------------------------------------------------------------------------------------------------|
| `alibabacloud.iot.IotInternetDeviceId` | `-` |
|
| `alibabacloud.iot.IotLinkWan` | `-` |
|
| `alibabacloud.iot.IotMobileConnectionPackage` | `-` |
|
| `alibabacloud.iot.IotPlatform` | `-` |
|
### Network
| Type | Alias | Image |
|-----------------------------------------------|----------------------------|-----------------------------------------------------------------------------------------------------------------------------------|
| `alibabacloud.network.Cdn` | `-` |
|
| `alibabacloud.network.CloudEnterpriseNetwork` | `alibabacloud.network.CEN` |
|
| `alibabacloud.network.ElasticIpAddress` | `alibabacloud.network.EIP` |
|
| `alibabacloud.network.ExpressConnect` | `-` |
|
| `alibabacloud.network.NatGateway` | `-` |
|
| `alibabacloud.network.ServerLoadBalancer` | `alibabacloud.network.SLB` |
|
| `alibabacloud.network.SmartAccessGateway` | `-` |
|
| `alibabacloud.network.VirtualPrivateCloud` | `alibabacloud.network.VPC` |
|
| `alibabacloud.network.VpnGateway` | `-` |
|
### Security
| Type | Alias | Image |
|-----------------------------------------------------|-----------------------------|----------------------------------------------------------------------------------------------------------------------------------------------|
| `alibabacloud.security.AntiBotService` | `alibabacloud.security.ABS` |
|
| `alibabacloud.security.AntiDdosBasic` | `-` |
|
| `alibabacloud.security.AntiDdosPro` | `-` |
|
| `alibabacloud.security.AntifraudService` | `alibabacloud.security.AS` |
|
| `alibabacloud.security.BastionHost` | `-` |
|
| `alibabacloud.security.CloudFirewall` | `alibabacloud.security.CFW` |
|
| `alibabacloud.security.CloudSecurityScanner` | `-` |
|
| `alibabacloud.security.ContentModeration` | `alibabacloud.security.CM` |
|
| `alibabacloud.security.CrowdsourcedSecurityTesting` | `-` |
|
| `alibabacloud.security.DataEncryptionService` | `alibabacloud.security.DES` |
|
| `alibabacloud.security.DbAudit` | `-` |
|
| `alibabacloud.security.GameShield` | `-` |
|
| `alibabacloud.security.IdVerification` | `-` |
|
| `alibabacloud.security.ManagedSecurityService` | `-` |
|
| `alibabacloud.security.SecurityCenter` | `-` |
|
| `alibabacloud.security.ServerGuard` | `-` |
|
| `alibabacloud.security.SslCertificates` | `-` |
|
| `alibabacloud.security.WebApplicationFirewall` | `alibabacloud.security.WAF` |
|
### Storage
| Type | Alias | Image |
|----------------------------------------------------|-----------------------------|----------------------------------------------------------------------------------------------------------------------------------------------|
| `alibabacloud.storage.CloudStorageGateway` | `-` |
|
| `alibabacloud.storage.FileStorageHdfs` | `alibabacloud.storage.HDFS` |
|
| `alibabacloud.storage.FileStorageNas` | `alibabacloud.storage.NAS` |
|
| `alibabacloud.storage.HybridBackupRecovery` | `alibabacloud.storage.HBR` |
|
| `alibabacloud.storage.HybridCloudDisasterRecovery` | `alibabacloud.storage.HDR` |
|
| `alibabacloud.storage.Imm` | `-` |
|
| `alibabacloud.storage.ObjectStorageService` | `alibabacloud.storage.OSS` |
|
| `alibabacloud.storage.ObjectTableStore` | `alibabacloud.storage.OTS` |
|
### Web
| Type | Alias | Image |
|---------------------------|-------|---------------------------------------------------------------------------------------------|
| `alibabacloud.web.Dns` | `-` |
|
| `alibabacloud.web.Domain` | `-` |
|
================================================
FILE: docs/resources/aws.md
================================================
## AWS
Table of Content:
* [Analytics](#analytics)
* [Ar](#ar)
* [Blockchain](#blockchain)
* [Business](#business)
* [Compute](#compute)
* [Cost](#cost)
* [Database](#database)
* [Devtools](#devtools)
* [Enablement](#enablement)
* [End user](#end-user)
* [Engagement](#engagement)
* [Game](#game)
* [General](#general)
* [Integration](#integration)
* [Iot](#iot)
* [Management](#management)
* [Media](#media)
* [Migration](#migration)
* [Ml](#ml)
* [Mobile](#mobile)
* [Network](#network)
* [Quantum](#quantum)
* [Robotics](#robotics)
* [Satellite](#satellite)
* [Security](#security)
* [Storage](#storage)
### Analytics
| Type | Alias | Image |
|-----------------------------------------------|-------|---------------------------------------------------------------------------------------------------|
| `aws.analytics.Analytics` | `-` |
|
| `aws.analytics.Athena` | `-` |
|
| `aws.analytics.CloudsearchSearchDocuments` | `-` |
|
| `aws.analytics.Cloudsearch` | `-` |
|
| `aws.analytics.DataLakeResource` | `-` |
|
| `aws.analytics.DataPipeline` | `-` |
|
| `diagrams.aws.analytics.ElasticsearchService` | `ES` |
|
| `aws.analytics.EMRCluster` | `-` |
|
| `aws.analytics.EMREngineMaprM3` | `-` |
|
| `aws.analytics.EMREngineMaprM5` | `-` |
|
| `aws.analytics.EMREngineMaprM7` | `-` |
|
| `aws.analytics.EMREngine` | `-` |
|
| `aws.analytics.EMRHdfsCluster` | `-` |
|
| `aws.analytics.EMR` | `-` |
|
| `aws.analytics.GlueCrawlers` | `-` |
|
| `aws.analytics.GlueDataCatalog` | `-` |
|
| `aws.analytics.Glue` | `-` |
|
| `aws.analytics.KinesisDataAnalytics` | `-` |
|
| `aws.analytics.KinesisDataFirehose` | `-` |
|
| `aws.analytics.KinesisDataStreams` | `-` |
|
| `aws.analytics.KinesisVideoStreams` | `-` |
|
| `aws.analytics.Kinesis` | `-` |
|
| `aws.analytics.LakeFormation` | `-` |
|
| `aws.analytics.ManagedStreamingForKafka` | `-` |
|
| `aws.analytics.Quicksight` | `-` |
|
| `aws.analytics.RedshiftDenseComputeNode` | `-` |
|
| `aws.analytics.RedshiftDenseStorageNode` | `-` |
|
| `aws.analytics.Redshift` | `-` |
|
### Ar
| Type | Alias | Image |
|-------------------|-------|------------------------------------------------------------------------|
| `aws.ar.ArVr` | `-` |
|
| `aws.ar.Sumerian` | `-` |
|
### Blockchain
| Type | Alias | Image |
|--------------------------------------------|--------|----------------------------------------------------------------------------------------------------|
| `aws.blockchain.BlockchainResource` | `-` |
|
| `aws.blockchain.Blockchain` | `-` |
|
| `aws.blockchain.ManagedBlockchain` | `-` |
|
| `aws.blockchain.QuantumLedgerDatabaseQldb` | `QLDB` |
|
### Business
| Type | Alias | Image |
|-------------------------------------|-------|-------------------------------------------------------------------------------------------|
| `aws.business.AlexaForBusiness` | `A4B` |
|
| `aws.business.BusinessApplications` | `-` |
|
| `aws.business.Chime` | `-` |
|
| `aws.business.Workmail` | `-` |
|
### Compute
| Type | Alias | Image |
|------------------------------------------------|---------------|--------------------------------------------------------------------------------------------------------|
| `aws.compute.AppRunner` | `-` |
|
| `aws.compute.ApplicationAutoScaling` | `AutoScaling` |
|
| `aws.compute.Batch` | `-` |
|
| `aws.compute.ComputeOptimizer` | `-` |
|
| `aws.compute.Compute` | `-` |
|
| `aws.compute.EC2Ami` | `AMI` |
|
| `aws.compute.EC2AutoScaling` | `-` |
|
| `aws.compute.EC2ContainerRegistryImage` | `-` |
|
| `aws.compute.EC2ContainerRegistryRegistry` | `-` |
|
| `aws.compute.EC2ContainerRegistry` | `ECR` |
|
| `aws.compute.EC2ElasticIpAddress` | `-` |
|
| `aws.compute.EC2ImageBuilder` | `-` |
|
| `aws.compute.EC2Instance` | `-` |
|
| `aws.compute.EC2Instances` | `-` |
|
| `aws.compute.EC2Rescue` | `-` |
|
| `aws.compute.EC2SpotInstance` | `-` |
|
| `aws.compute.EC2` | `-` |
|
| `aws.compute.ElasticBeanstalkApplication` | `-` |
|
| `aws.compute.ElasticBeanstalkDeployment` | `-` |
|
| `aws.compute.ElasticBeanstalk` | `EB` |
|
| `aws.compute.ElasticContainerServiceContainer` | `-` |
|
| `aws.compute.ElasticContainerServiceService` | `-` |
|
| `aws.compute.ElasticContainerService, ECS` | `-` |
|
| `aws.compute.ElasticKubernetesService, EKS` | `-` |
|
| `aws.compute.Fargate` | `-` |
|
| `aws.compute.LambdaFunction` | `-` |
|
| `aws.compute.Lambda` | `-` |
|
| `aws.compute.Lightsail` | `-` |
|
| `aws.compute.LocalZones` | `-` |
|
| `aws.compute.Outposts` | `-` |
|
| `aws.compute.ServerlessApplicationRepository` | `SAR` |
|
| `aws.compute.ThinkboxDeadline` | `-` |
|
| `aws.compute.ThinkboxDraft` | `-` |
|
| `aws.compute.ThinkboxFrost` | `-` |
|
| `aws.compute.ThinkboxKrakatoa` | `-` |
|
| `aws.compute.ThinkboxSequoia` | `-` |
|
| `aws.compute.ThinkboxStoke` | `-` |
|
| `aws.compute.ThinkboxXmesh` | `-` |
|
| `aws.compute.VmwareCloudOnAWS` | `-` |
|
| `aws.compute.Wavelength` | `-` |
|
### Cost
| Type | Alias | Image |
|--------------------------------------|-------|---------------------------------------------------------------------------------------------|
| `aws.cost.Budgets` | `-` |
|
| `aws.cost.CostAndUsageReport` | `-` |
|
| `aws.cost.CostExplorer` | `-` |
|
| `aws.cost.CostManagement` | `-` |
|
| `aws.cost.ReservedInstanceReporting` | `-` |
|
| `aws.cost.SavingsPlans` | `-` |
|
### Database
| Type | Alias | Image |
|------------------------------------------------------------------|---------------|----------------------------------------------------------------------------------------------------------------------------|
| `aws.database.AuroraInstance` | `-` |
|
| `aws.database.Aurora` | `-` |
|
| `aws.database.DatabaseMigrationServiceDatabaseMigrationWorkflow` | `-` |
|
| `aws.database.DatabaseMigrationService` | `DMS` |
|
| `aws.database.Database` | `DB` |
|
| `aws.database.DocumentdbMongodbCompatibility` | `DocumentDB` |
|
| `aws.database.DynamodbAttribute` | `-` |
|
| `aws.database.DynamodbAttributes` | `-` |
|
| `aws.database.DynamodbDax` | `DAX` |
|
| `aws.database.DynamodbGlobalSecondaryIndex` | `DynamodbGSI` |
|
| `aws.database.DynamodbItem` | `-` |
|
| `aws.database.DynamodbItems` | `-` |
|
| `aws.database.DynamodbTable` | `-` |
|
| `aws.database.Dynamodb` | `DDB` |
|
| `aws.database.ElasticacheCacheNode` | `-` |
|
| `aws.database.ElasticacheForMemcached` | `-` |
|
| `aws.database.ElasticacheForRedis` | `-` |
|
| `aws.database.Elasticache` | `ElastiCache` |
|
| `aws.database.KeyspacesManagedApacheCassandraService` | `-` |
|
| `aws.database.Neptune` | `-` |
|
| `aws.database.QuantumLedgerDatabaseQldb` | `QLDB` |
|
| `aws.database.RDSInstance` | `-` |
|
| `aws.database.RDSMariadbInstance` | `-` |
|
| `aws.database.RDSMysqlInstance` | `-` |
|
| `aws.database.RDSOnVmware` | `-` |
|
| `aws.database.RDSOracleInstance` | `-` |
|
| `aws.database.RDSPostgresqlInstance` | `-` |
|
| `aws.database.RDSSqlServerInstance` | `-` |
|
| `aws.database.RDS` | `-` |
|
| `aws.database.RedshiftDenseComputeNode` | `-` |
|
| `aws.database.RedshiftDenseStorageNode` | `-` |
|
| `aws.database.Redshift` | `-` |
|
| `aws.database.Timestream` | `-` |
|
### Devtools
| Type | Alias | Image |
|-------------------------------------|------------|--------------------------------------------------------------------------------------------|
| `aws.devtools.CloudDevelopmentKit` | `-` |
|
| `aws.devtools.Cloud9Resource` | `-` |
|
| `aws.devtools.Cloud9` | `-` |
|
| `aws.devtools.Codebuild` | `-` |
|
| `aws.devtools.Codecommit` | `-` |
|
| `aws.devtools.Codedeploy` | `-` |
|
| `aws.devtools.Codepipeline` | `-` |
|
| `aws.devtools.Codestar` | `-` |
|
| `aws.devtools.CommandLineInterface` | `CLI` |
|
| `aws.devtools.DeveloperTools` | `DevTools` |
|
| `aws.devtools.ToolsAndSdks` | `-` |
|
| `aws.devtools.XRay` | `-` |
|
### Enablement
| Type | Alias | Image |
|---------------------------------------|-------|---------------------------------------------------------------------------------------------|
| `aws.enablement.CustomerEnablement` | `-` |
|
| `aws.enablement.Iq` | `-` |
|
| `aws.enablement.ManagedServices` | `-` |
|
| `aws.enablement.ProfessionalServices` | `-` |
|
| `aws.enablement.Support` | `-` |
|
### End User
| Type | Alias | Image |
|--------------------------------------|--------|----------------------------------------------------------------------------------------------|
| `aws.enduser.Appstream20` | `-` |
|
| `aws.enduser.DesktopAndAppStreaming` | `-` |
|
| `aws.enduser.Workdocs` | `-` |
|
| `aws.enduser.Worklink` | `-` |
|
| `aws.enduser.Workspaces` | `-` |
|
### Engagement
| Type | Alias | Image |
|---------------------------------------------|-------|------------------------------------------------------------------------------------------------------|
| `aws.engagement.Connect` | `-` |
|
| `aws.engagement.CustomerEngagement` | `-` |
|
| `aws.engagement.Pinpoint` | `-` |
|
| `aws.engagement.SimpleEmailServiceSesEmail` | `-` |
|
| `aws.engagement.SimpleEmailServiceSes` | `SES` |
|
### Game
| Type | Alias | Image |
|----------------------|-------|-----------------------------------------------------------------------------|
| `aws.game.GameTech` | `-` |
|
| `aws.game.Gamelift` | `-` |
|
### General
| Type | Alias | Image |
|-------------------------------------|------------------|--------------------------------------------------------------------------------------------|
| `aws.general.Client` | `-` |
|
| `aws.general.Disk` | `-` |
|
| `aws.general.Forums` | `-` |
|
| `aws.general.General` | `-` |
|
| `aws.general.GenericDatabase` | `-` |
|
| `aws.general.GenericFirewall` | `-` |
|
| `aws.general.GenericOfficeBuilding` | `OfficeBuilding` |
|
| `aws.general.GenericSamlToken` | `-` |
|
| `aws.general.GenericSDK` | `-` |
|
| `aws.general.InternetAlt1` | `-` |
|
| `aws.general.InternetAlt2` | `-` |
|
| `aws.general.InternetGateway` | `-` |
|
| `aws.general.Marketplace` | `-` |
|
| `aws.general.MobileClient` | `-` |
|
| `aws.general.Multimedia` | `-` |
|
| `aws.general.OfficeBuilding` | `-` |
|
| `aws.general.SamlToken` | `-` |
|
| `aws.general.SDK` | `-` |
|
| `aws.general.SslPadlock` | `-` |
|
| `aws.general.TapeStorage` | `-` |
|
| `aws.general.Toolkit` | `-` |
|
| `aws.general.TraditionalServer` | `-` |
|
| `aws.general.User` | `-` |
|
| `aws.general.Users` | `-` |
|
### Integration
| Type | Alias | Image |
|-----------------------------------------------------------------|---------|---------------------------------------------------------------------------------------------------------------------------|
| `aws.integration.ApplicationIntegration` | `-` |
|
| `aws.integration.Appsync` | `-` |
|
| `aws.integration.ConsoleMobileApplication` | `-` |
|
| `aws.integration.EventResource` | `-` |
|
| `aws.integration.EventbridgeCustomEventBusResource` | `-` |
|
| `aws.integration.EventbridgeDefaultEventBusResource` | `-` |
|
| `aws.integration.EventbridgeSaasPartnerEventBusResource` | `-` |
|
| `aws.integration.Eventbridge` | `-` |
|
| `aws.integration.ExpressWorkflows` | `-` |
|
| `aws.integration.MQ` | `-` |
|
| `aws.integration.SimpleNotificationServiceSnsEmailNotification` | `-` |
|
| `aws.integration.SimpleNotificationServiceSnsHttpNotification` | `-` |
|
| `aws.integration.SimpleNotificationServiceSnsTopic` | `-` |
|
| `aws.integration.SimpleNotificationServiceSns` | `SNS` |
|
| `aws.integration.SimpleQueueServiceSqsMessage` | `-` |
|
| `aws.integration.SimpleQueueServiceSqsQueue` | `-` |
|
| `aws.integration.SimpleQueueServiceSqs` | `SQS` |
|
| `aws.integration.StepFunctions` | `SF` |
|
### Iot
| Type | Alias | Image |
|----------------------------------|------------|-------------------------------------------------------------------------------------------|
| `aws.iot.Freertos` | `FreeRTOS` |
|
| `aws.iot.InternetOfThings` | `-` |
|
| `aws.iot.Iot1Click` | `-` |
|
| `aws.iot.IotAction` | `-` |
|
| `aws.iot.IotActuator` | `-` |
|
| `aws.iot.IotAlexaEcho` | `-` |
|
| `aws.iot.IotAlexaEnabledDevice` | `-` |
|
| `aws.iot.IotAlexaSkill` | `-` |
|
| `aws.iot.IotAlexaVoiceService` | `-` |
|
| `aws.iot.IotAnalyticsChannel` | `-` |
|
| `aws.iot.IotAnalyticsDataSet` | `-` |
|
| `aws.iot.IotAnalyticsDataStore` | `-` |
|
| `aws.iot.IotAnalyticsNotebook` | `-` |
|
| `aws.iot.IotAnalyticsPipeline` | `-` |
|
| `aws.iot.IotAnalytics` | `-` |
|
| `aws.iot.IotBank` | `-` |
|
| `aws.iot.IotBicycle` | `-` |
|
| `aws.iot.IotButton` | `-` |
|
| `aws.iot.IotCamera` | `-` |
|
| `aws.iot.IotCar` | `-` |
|
| `aws.iot.IotCart` | `-` |
|
| `aws.iot.IotCertificate` | `-` |
|
| `aws.iot.IotCoffeePot` | `-` |
|
| `aws.iot.IotCore` | `-` |
|
| `aws.iot.IotDesiredState` | `-` |
|
| `aws.iot.IotDeviceDefender` | `-` |
|
| `aws.iot.IotDeviceGateway` | `-` |
|
| `aws.iot.IotDeviceManagement` | `-` |
|
| `aws.iot.IotDoorLock` | `-` |
|
| `aws.iot.IotEvents` | `-` |
|
| `aws.iot.IotFactory` | `-` |
|
| `aws.iot.IotFireTvStick` | `-` |
|
| `aws.iot.IotFireTv` | `-` |
|
| `aws.iot.IotGeneric` | `-` |
|
| `aws.iot.IotGreengrassConnector` | `-` |
|
| `aws.iot.IotGreengrass` | `-` |
|
| `aws.iot.IotHardwareBoard` | `IotBoard` |
|
| `aws.iot.IotHouse` | `-` |
|
| `aws.iot.IotHttp` | `-` |
|
| `aws.iot.IotHttp2` | `-` |
|
| `aws.iot.IotJobs` | `-` |
|
| `aws.iot.IotLambda` | `-` |
|
| `aws.iot.IotLightbulb` | `-` |
|
| `aws.iot.IotMedicalEmergency` | `-` |
|
| `aws.iot.IotMqtt` | `-` |
|
| `aws.iot.IotOverTheAirUpdate` | `-` |
|
| `aws.iot.IotPolicyEmergency` | `-` |
|
| `aws.iot.IotPolicy` | `-` |
|
| `aws.iot.IotReportedState` | `-` |
|
| `aws.iot.IotRule` | `-` |
|
| `aws.iot.IotSensor` | `-` |
|
| `aws.iot.IotServo` | `-` |
|
| `aws.iot.IotShadow` | `-` |
|
| `aws.iot.IotSimulator` | `-` |
|
| `aws.iot.IotSitewise` | `-` |
|
| `aws.iot.IotThermostat` | `-` |
|
| `aws.iot.IotThingsGraph` | `-` |
|
| `aws.iot.IotTopic` | `-` |
|
| `aws.iot.IotTravel` | `-` |
|
| `aws.iot.IotUtility` | `-` |
|
| `aws.iot.IotWindfarm` | `-` |
|
### Management
| Type | Alias | Image |
|-------------------------------------------------------|------------------|----------------------------------------------------------------------------------------------------------------|
| `aws.management.AutoScaling` | `-` |
|
| `aws.management.Chatbot` | `-` |
|
| `aws.management.CloudformationChangeSet` | `-` |
|
| `aws.management.CloudformationStack` | `-` |
|
| `aws.management.CloudformationTemplate` | `-` |
|
| `aws.management.Cloudformation` | `-` |
|
| `aws.management.Cloudtrail` | `-` |
|
| `aws.management.CloudwatchAlarm` | `-` |
|
| `aws.management.CloudwatchEventEventBased` | `-` |
|
| `aws.management.CloudwatchEventTimeBased` | `-` |
|
| `aws.management.CloudwatchRule` | `-` |
|
| `aws.management.Cloudwatch` | `-` |
|
| `aws.management.Codeguru` | `-` |
|
| `aws.management.CommandLineInterface` | `-` |
|
| `aws.management.Config` | `-` |
|
| `aws.management.ControlTower` | `-` |
|
| `aws.management.LicenseManager` | `-` |
|
| `aws.management.ManagedServices` | `-` |
|
| `aws.management.ManagementAndGovernance` | `-` |
|
| `aws.management.ManagementConsole` | `-` |
|
| `aws.management.OpsworksApps` | `-` |
|
| `aws.management.OpsworksDeployments` | `-` |
|
| `aws.management.OpsworksInstances` | `-` |
|
| `aws.management.OpsworksLayers` | `-` |
|
| `aws.management.OpsworksMonitoring` | `-` |
|
| `aws.management.OpsworksPermissions` | `-` |
|
| `aws.management.OpsworksResources` | `-` |
|
| `aws.management.OpsworksStack` | `-` |
|
| `aws.management.Opsworks` | `-` |
|
| `aws.management.OrganizationsAccount` | `-` |
|
| `aws.management.OrganizationsOrganizationalUnit` | `-` |
|
| `aws.management.Organizations` | `-` |
|
| `aws.management.PersonalHealthDashboard` | `-` |
|
| `aws.management.ServiceCatalog` | `-` |
|
| `aws.management.SystemsManagerAutomation` | `-` |
|
| `aws.management.SystemsManagerDocuments` | `-` |
|
| `aws.management.SystemsManagerInventory` | `-` |
|
| `aws.management.SystemsManagerMaintenanceWindows` | `-` |
|
| `aws.management.SystemsManagerOpscenter` | `-` |
|
| `aws.management.SystemsManagerParameterStore` | `ParameterStore` |
|
| `aws.management.SystemsManagerPatchManager` | `-` |
|
| `aws.management.SystemsManagerRunCommand` | `-` |
|
| `aws.management.SystemsManagerStateManager` | `-` |
|
| `aws.management.SystemsManager` | `SSM` |
|
| `aws.management.TrustedAdvisorChecklistCost` | `-` |
|
| `aws.management.TrustedAdvisorChecklistFaultTolerant` | `-` |
|
| `aws.management.TrustedAdvisorChecklistPerformance` | `-` |
|
| `aws.management.TrustedAdvisorChecklistSecurity` | `-` |
|
| `aws.management.TrustedAdvisorChecklist` | `-` |
|
| `aws.management.TrustedAdvisor` | `-` |
|
| `aws.management.WellArchitectedTool` | `-` |
|
### Media
| Type | Alias | Image |
|-----------------------------------|--------|------------------------------------------------------------------------------------------|
| `aws.media.ElasticTranscoder` | `-` |
|
| `aws.media.ElementalConductor` | `-` |
|
| `aws.media.ElementalDelta` | `-` |
|
| `aws.media.ElementalLive` | `-` |
|
| `aws.media.ElementalMediaconnect` | `-` |
|
| `aws.media.ElementalMediaconvert` | `-` |
|
| `aws.media.ElementalMedialive` | `-` |
|
| `aws.media.ElementalMediapackage` | `-` |
|
| `aws.media.ElementalMediastore` | `-` |
|
| `aws.media.ElementalMediatailor` | `-` |
|
| `aws.media.ElementalServer` | `-` |
|
| `aws.media.KinesisVideoStreams` | `-` |
|
| `aws.media.MediaServices` | `-` |
|
### Migration
| Type | Alias | Image |
|---------------------------------------------|-------|----------------------------------------------------------------------------------------------------|
| `aws.migration.ApplicationDiscoveryService` | `ADS` |
|
| `aws.migration.CloudendureMigration` | `CEM` |
|
| `aws.migration.DatabaseMigrationService` | `DMS` |
|
| `aws.migration.DatasyncAgent` | `-` |
|
| `aws.migration.Datasync` | `-` |
|
| `aws.migration.MigrationAndTransfer` | `MAT` |
|
| `aws.migration.MigrationHub` | `-` |
|
| `aws.migration.ServerMigrationService` | `SMS` |
|
| `aws.migration.SnowballEdge` | `-` |
|
| `aws.migration.Snowball` | `-` |
|
| `aws.migration.Snowmobile` | `-` |
|
| `aws.migration.TransferForSftp` | `-` |
|
### Ml
| Type | Alias | Image |
|---------------------------------|-------|----------------------------------------------------------------------------------------|
| `aws.ml.ApacheMxnetOnAWS` | `-` |
|
| `aws.ml.AugmentedAi` | `-` |
|
| `aws.ml.Comprehend` | `-` |
|
| `aws.ml.DeepLearningAmis` | `-` |
|
| `aws.ml.DeepLearningContainers` | `DLC` |
|
| `aws.ml.Deepcomposer` | `-` |
|
| `aws.ml.Deeplens` | `-` |
|
| `aws.ml.Deepracer` | `-` |
|
| `aws.ml.ElasticInference` | `-` |
|
| `aws.ml.Forecast` | `-` |
|
| `aws.ml.FraudDetector` | `-` |
|
| `aws.ml.Kendra` | `-` |
|
| `aws.ml.Lex` | `-` |
|
| `aws.ml.MachineLearning` | `-` |
|
| `aws.ml.Personalize` | `-` |
|
| `aws.ml.Polly` | `-` |
|
| `aws.ml.RekognitionImage` | `-` |
|
| `aws.ml.RekognitionVideo` | `-` |
|
| `aws.ml.Rekognition` | `-` |
|
| `aws.ml.SagemakerGroundTruth` | `-` |
|
| `aws.ml.SagemakerModel` | `-` |
|
| `aws.ml.SagemakerNotebook` | `-` |
|
| `aws.ml.SagemakerTrainingJob` | `-` |
|
| `aws.ml.Sagemaker` | `-` |
|
| `aws.ml.TensorflowOnAWS` | `-` |
|
| `aws.ml.Textract` | `-` |
|
| `aws.ml.Transcribe` | `-` |
|
| `aws.ml.Translate` | `-` |
|
### Mobile
| Type | Alias | Image |
|---------------------------------|-------|----------------------------------------------------------------------------------------|
| `aws.mobile.Amplify` | `-` |
|
| `aws.mobile.APIGatewayEndpoint` | `-` |
|
| `aws.mobile.APIGateway` | `-` |
|
| `aws.mobile.Appsync` | `-` |
|
| `aws.mobile.DeviceFarm` | `-` |
|
| `aws.mobile.Mobile` | `-` |
|
| `aws.mobile.Pinpoint` | `-` |
|
### Network
| Type | Alias | Image |
|-----------------------------------------------|-------|------------------------------------------------------------------------------------------------------|
| `aws.network.APIGatewayEndpoint` | `-` |
|
| `aws.network.APIGateway` | `-` |
|
| `aws.network.AppMesh` | `-` |
|
| `aws.network.ClientVpn` | `-` |
|
| `aws.network.CloudMap` | `-` |
|
| `aws.network.CloudFrontDownloadDistribution` | `-` |
|
| `aws.network.CloudFrontEdgeLocation` | `-` |
|
| `aws.network.CloudFrontStreamingDistribution` | `-` |
|
| `aws.network.CloudFront` | `CF` |
|
| `aws.network.DirectConnect` | `-` |
|
| `aws.network.ElasticLoadBalancing` | `ELB` |
|
| `aws.network.ElbApplicationLoadBalancer` | `ALB` |
|
| `aws.network.ElbClassicLoadBalancer` | `CLB` |
|
| `aws.network.ElbNetworkLoadBalancer` | `NLB` |
|
| `aws.network.Endpoint` | `-` |
|
| `aws.network.GlobalAccelerator` | `GAX` |
|
| `aws.network.InternetGateway` | `-` |
|
| `aws.network.Nacl` | `-` |
|
| `aws.network.NATGateway` | `-` |
|
| `aws.network.NetworkingAndContentDelivery` | `-` |
|
| `aws.network.PrivateSubnet` | `-` |
|
| `aws.network.Privatelink` | `-` |
|
| `aws.network.PublicSubnet` | `-` |
|
| `aws.network.Route53HostedZone` | `-` |
|
| `aws.network.Route53` | `-` |
|
| `aws.network.RouteTable` | `-` |
|
| `aws.network.SiteToSiteVpn` | `-` |
|
| `aws.network.TransitGateway` | `-` |
|
| `aws.network.VPCCustomerGateway` | `-` |
|
| `aws.network.VPCElasticNetworkAdapter` | `-` |
|
| `aws.network.VPCElasticNetworkInterface` | `-` |
|
| `aws.network.VPCFlowLogs` | `-` |
|
| `aws.network.VPCPeering` | `-` |
|
| `aws.network.VPCRouter` | `-` |
|
| `aws.network.VPCTrafficMirroring` | `-` |
|
| `aws.network.VPC` | `-` |
|
| `aws.network.VpnConnection` | `-` |
|
| `aws.network.VpnGateway` | `-` |
|
### Quantum
| Type | Alias | Image |
|-----------------------------------|-------|-----------------------------------------------------------------------------------------|
| `aws.quantum.Braket` | `-` |
|
| `aws.quantum.QuantumTechnologies` | `-` |
|
### Robotics
| Type | Alias | Image |
|------------------------------------------------|-------|-------------------------------------------------------------------------------------------------------|
| `aws.robotics.RobomakerCloudExtensionRos` | `-` |
|
| `aws.robotics.RobomakerDevelopmentEnvironment` | `-` |
|
| `aws.robotics.RobomakerFleetManagement` | `-` |
|
| `aws.robotics.RobomakerSimulator` | `-` |
|
| `aws.robotics.Robomaker` | `-` |
|
| `aws.robotics.Robotics` | `-` |
|
### Satellite
| Type | Alias | Image |
|-------------------------------|-------|-------------------------------------------------------------------------------------|
| `aws.satellite.GroundStation` | `-` |
|
| `aws.satellite.Satellite` | `-` |
|
### Security
| Type | Alias | Image |
|--------------------------------------------------------------------------|---------------------|--------------------------------------------------------------------------------------------------------------------------------------|
| `aws.security.AdConnector` | `-` |
|
| `aws.security.Artifact` | `-` |
|
| `aws.security.CertificateAuthority` | `-` |
|
| `aws.security.CertificateManager` | `ACM` |
|
| `aws.security.CloudDirectory` | `-` |
|
| `aws.security.Cloudhsm` | `CloudHSM` |
|
| `aws.security.Cognito` | `-` |
|
| `aws.security.Detective` | `-` |
|
| `aws.security.DirectoryService` | `DS` |
|
| `aws.security.FirewallManager` | `FMS` |
|
| `aws.security.Guardduty` | `-` |
|
| `aws.security.IdentityAndAccessManagementIamAccessAnalyzer` | `IAMAccessAnalyzer` |
|
| `aws.security.IdentityAndAccessManagementIamAddOn` | `-` |
|
| `aws.security.IdentityAndAccessManagementIamAWSStsAlternate` | `-` |
|
| `aws.security.IdentityAndAccessManagementIamAWSSts` | `IAMAWSSts` |
|
| `aws.security.IdentityAndAccessManagementIamDataEncryptionKey` | `-` |
|
| `aws.security.IdentityAndAccessManagementIamEncryptedData` | `-` |
|
| `aws.security.IdentityAndAccessManagementIamLongTermSecurityCredential` | `-` |
|
| `aws.security.IdentityAndAccessManagementIamMfaToken` | `-` |
|
| `aws.security.IdentityAndAccessManagementIamPermissions` | `IAMPermissions` |
|
| `aws.security.IdentityAndAccessManagementIamRole` | `IAMRole` |
|
| `aws.security.IdentityAndAccessManagementIamTemporarySecurityCredential` | `-` |
|
| `aws.security.IdentityAndAccessManagementIam` | `IAM` |
|
| `aws.security.InspectorAgent` | `-` |
|
| `aws.security.Inspector` | `-` |
|
| `aws.security.KeyManagementService` | `KMS` |
|
| `aws.security.Macie` | `-` |
|
| `aws.security.ManagedMicrosoftAd` | `-` |
|
| `aws.security.ResourceAccessManager` | `RAM` |
|
| `aws.security.SecretsManager` | `-` |
|
| `aws.security.SecurityHubFinding` | `-` |
|
| `aws.security.SecurityHub` | `-` |
|
| `aws.security.SecurityIdentityAndCompliance` | `-` |
|
| `aws.security.ShieldAdvanced` | `-` |
|
| `aws.security.Shield` | `-` |
|
| `aws.security.SimpleAd` | `-` |
|
| `aws.security.SingleSignOn` | `-` |
|
| `aws.security.WAFFilteringRule` | `-` |
|
| `aws.security.WAF` | `-` |
|
### Storage
| Type | Alias | Image |
|-------------------------------------------------------|--------|------------------------------------------------------------------------------------------------------------------|
| `aws.storage.Backup` | `-` |
|
| `aws.storage.CloudendureDisasterRecovery` | `CDR` |
|
| `aws.storage.EFSInfrequentaccessPrimaryBg` | `-` |
|
| `aws.storage.EFSStandardPrimaryBg` | `-` |
|
| `aws.storage.ElasticBlockStoreEBSSnapshot` | `-` |
|
| `aws.storage.ElasticBlockStoreEBSVolume` | `-` |
|
| `aws.storage.ElasticBlockStoreEBS` | `EBS` |
|
| `aws.storage.ElasticFileSystemEFSFileSystem` | `-` |
|
| `aws.storage.ElasticFileSystemEFS` | `EFS` |
|
| `aws.storage.FsxForLustre` | `-` |
|
| `aws.storage.FsxForWindowsFileServer` | `-` |
|
| `aws.storage.Fsx` | `FSx` |
|
| `aws.storage.MultipleVolumesResource` | `-` |
|
| `aws.storage.S3GlacierArchive` | `-` |
|
| `aws.storage.S3GlacierVault` | `-` |
|
| `aws.storage.S3Glacier` | `-` |
|
| `aws.storage.SimpleStorageServiceS3BucketWithObjects` | `-` |
|
| `aws.storage.SimpleStorageServiceS3Bucket` | `-` |
|
| `aws.storage.SimpleStorageServiceS3Object` | `-` |
|
| `aws.storage.SimpleStorageServiceS3` | `S3` |
|
| `aws.storage.SnowFamilySnowballImportExport` | `-` |
|
| `aws.storage.SnowballEdge` | `-` |
|
| `aws.storage.Snowball` | `-` |
|
| `aws.storage.Snowmobile` | `-` |
|
| `aws.storage.StorageGatewayCachedVolume` | `-` |
|
| `aws.storage.StorageGatewayNonCachedVolume` | `-` |
|
| `aws.storage.StorageGatewayVirtualTapeLibrary` | `-` |
|
| `aws.storage.StorageGateway` | `-` |
|
| `aws.storage.Storage` | `-` |
|
================================================
FILE: docs/resources/azure.md
================================================
## Azure
Table of Content:
* [Analytics](#analytics)
* [Compute](#compute)
* [Database](#database)
* [DevOps](#devops)
* [General](#general)
* [Identity](#identity)
* [Integration](#integration)
* [Iot](#iot)
* [Migration](#migration)
* [Ml](#ml)
* [Mobile](#mobile)
* [Network](#network)
* [Security](#security)
* [Storage](#storage)
* [Web](#web)
### Analytics
| Type | Alias | Image |
|------------------------------------------|-------|-------------------------------------------------------------------------------------------------|
| `azure.analytics.AnalysisServices` | `-` |
|
| `azure.analytics.DataExplorerClusters` | `-` |
|
| `azure.analytics.DataFactories` | `-` |
|
| `azure.analytics.DataLakeAnalytics` | `-` |
|
| `azure.analytics.DataLakeStoreGen1` | `-` |
|
| `azure.analytics.Databricks` | `-` |
|
| `azure.analytics.EventHubClusters` | `-` |
|
| `azure.analytics.EventHubs` | `-` |
|
| `azure.analytics.Hdinsightclusters` | `-` |
|
| `azure.analytics.LogAnalyticsWorkspaces` | `-` |
|
| `azure.analytics.StreamAnalyticsJobs` | `-` |
|
| `azure.analytics.SynapseAnalytics` | `-` |
|
### Compute
| Type | Alias | Image |
|-------------------------------------------------|--------|---------------------------------------------------------------------------------------------------------|
| `azure.compute.AppServices` | `-` |
|
| `azure.compute.AutomanagedVM` | `-` |
|
| `azure.compute.AvailabilitySets` | `-` |
|
| `azure.compute.BatchAccounts` | `-` |
|
| `azure.compute.CitrixVirtualDesktopsEssentials` | `-` |
|
| `azure.compute.CloudServicesClassic` | `-` |
|
| `azure.compute.CloudServices` | `-` |
|
| `azure.compute.CloudsimpleVirtualMachines` | `-` |
|
| `azure.compute.ContainerInstances` | `-` |
|
| `azure.compute.ContainerRegistries` | `ACR` |
|
| `azure.compute.DiskEncryptionSets` | `-` |
|
| `azure.compute.DiskSnapshots` | `-` |
|
| `azure.compute.Disks` | `-` |
|
| `azure.compute.FunctionApps` | `-` |
|
| `azure.compute.ImageDefinitions` | `-` |
|
| `azure.compute.ImageVersions` | `-` |
|
| `azure.compute.KubernetesServices` | `AKS` |
|
| `azure.compute.MeshApplications` | `-` |
|
| `azure.compute.OsImages` | `-` |
|
| `azure.compute.SAPHANAOnAzure` | `-` |
|
| `azure.compute.ServiceFabricClusters` | `-` |
|
| `azure.compute.SharedImageGalleries` | `-` |
|
| `azure.compute.SpringCloud` | `-` |
|
| `azure.compute.VMClassic` | `-` |
|
| `azure.compute.VMImages` | `-` |
|
| `azure.compute.VMLinux` | `-` |
|
| `azure.compute.VMScaleSet` | `VMSS` |
|
| `azure.compute.VMWindows` | `-` |
|
| `azure.compute.VM` | `-` |
|
| `azure.compute.Workspaces` | `-` |
|
### Database
| Type | Alias | Image |
|-----------------------------------------------|-------|-------------------------------------------------------------------------------------------------------|
| `azure.database.BlobStorage` | `-` |
|
| `azure.database.CacheForRedis` | `-` |
|
| `azure.database.CosmosDb` | `-` |
|
| `azure.database.DataExplorerClusters` | `-` |
|
| `azure.database.DataFactory` | `-` |
|
| `azure.database.DataLake` | `-` |
|
| `azure.database.DatabaseForMariadbServers` | `-` |
|
| `azure.database.DatabaseForMysqlServers` | `-` |
|
| `azure.database.DatabaseForPostgresqlServers` | `-` |
|
| `azure.database.ElasticDatabasePools` | `-` |
|
| `azure.database.ElasticJobAgents` | `-` |
|
| `azure.database.InstancePools` | `-` |
|
| `azure.database.ManagedDatabases` | `-` |
|
| `azure.database.SQLDatabases` | `-` |
|
| `azure.database.SQLDatawarehouse` | `-` |
|
| `azure.database.SQLManagedInstances` | `-` |
|
| `azure.database.SQLServerStretchDatabases` | `-` |
|
| `azure.database.SQLServers` | `-` |
|
| `azure.database.SQLVM` | `-` |
|
| `azure.database.SQL` | `-` |
|
| `azure.database.SsisLiftAndShiftIr` | `-` |
|
| `azure.database.SynapseAnalytics` | `-` |
|
| `azure.database.VirtualClusters` | `-` |
|
| `azure.database.VirtualDatacenter` | `-` |
|
### DevOps
| Type | Alias | Image |
|------------------------------------|-------|------------------------------------------------------------------------------------------|
| `azure.devops.ApplicationInsights` | `-` |
|
| `azure.devops.Artifacts` | `-` |
|
| `azure.devops.Boards` | `-` |
|
| `azure.devops.Devops` | `-` |
|
| `azure.devops.DevtestLabs` | `-` |
|
| `azure.devops.LabServices` | `-` |
|
| `azure.devops.Pipelines` | `-` |
|
| `azure.devops.Repos` | `-` |
|
| `azure.devops.TestPlans` | `-` |
|
### General
| Type | Alias | Image |
|----------------------------------|-------|---------------------------------------------------------------------------------------|
| `azure.general.Allresources` | `-` |
|
| `azure.general.Azurehome` | `-` |
|
| `azure.general.Developertools` | `-` |
|
| `azure.general.Helpsupport` | `-` |
|
| `azure.general.Information` | `-` |
|
| `azure.general.Managementgroups` | `-` |
|
| `azure.general.Marketplace` | `-` |
|
| `azure.general.Quickstartcenter` | `-` |
|
| `azure.general.Recent` | `-` |
|
| `azure.general.Reservations` | `-` |
|
| `azure.general.Resource` | `-` |
|
| `azure.general.Resourcegroups` | `-` |
|
| `azure.general.Servicehealth` | `-` |
|
| `azure.general.Shareddashboard` | `-` |
|
| `azure.general.Subscriptions` | `-` |
|
| `azure.general.Support` | `-` |
|
| `azure.general.Supportrequests` | `-` |
|
| `azure.general.Tag` | `-` |
|
| `azure.general.Tags` | `-` |
|
| `azure.general.Templates` | `-` |
|
| `azure.general.Twousericon` | `-` |
|
| `azure.general.Userhealthicon` | `-` |
|
| `azure.general.Usericon` | `-` |
|
| `azure.general.Userprivacy` | `-` |
|
| `azure.general.Userresource` | `-` |
|
| `azure.general.Whatsnew` | `-` |
|
### Identity
| Type | Alias | Image |
|-------------------------------------------------|-------|---------------------------------------------------------------------------------------------------------|
| `azure.identity.AccessReview` | `-` |
|
| `azure.identity.ActiveDirectoryConnectHealth` | `-` |
|
| `azure.identity.ActiveDirectory` | `-` |
|
| `azure.identity.ADB2C` | `-` |
|
| `azure.identity.ADDomainServices` | `-` |
|
| `azure.identity.ADIdentityProtection` | `-` |
|
| `azure.identity.ADPrivilegedIdentityManagement` | `-` |
|
| `azure.identity.AppRegistrations` | `-` |
|
| `azure.identity.ConditionalAccess` | `-` |
|
| `azure.identity.EnterpriseApplications` | `-` |
|
| `azure.identity.Groups` | `-` |
|
| `azure.identity.IdentityGovernance` | `-` |
|
| `azure.identity.InformationProtection` | `-` |
|
| `azure.identity.ManagedIdentities` | `-` |
|
| `azure.identity.Users` | `-` |
|
### Integration
| Type | Alias | Image |
|-----------------------------------------------------------------|-------|--------------------------------------------------------------------------------------------------------------------------|
| `azure.integration.APIForFhir` | `-` |
|
| `azure.integration.APIManagement` | `-` |
|
| `azure.integration.AppConfiguration` | `-` |
|
| `azure.integration.DataCatalog` | `-` |
|
| `azure.integration.EventGridDomains` | `-` |
|
| `azure.integration.EventGridSubscriptions` | `-` |
|
| `azure.integration.EventGridTopics` | `-` |
|
| `azure.integration.IntegrationAccounts` | `-` |
|
| `azure.integration.IntegrationServiceEnvironments` | `-` |
|
| `azure.integration.LogicAppsCustomConnector` | `-` |
|
| `azure.integration.LogicApps` | `-` |
|
| `azure.integration.PartnerTopic` | `-` |
|
| `azure.integration.SendgridAccounts` | `-` |
|
| `azure.integration.ServiceBusRelays` | `-` |
|
| `azure.integration.ServiceBus` | `-` |
|
| `azure.integration.ServiceCatalogManagedApplicationDefinitions` | `-` |
|
| `azure.integration.SoftwareAsAService` | `-` |
|
| `azure.integration.StorsimpleDeviceManagers` | `-` |
|
| `azure.integration.SystemTopic` | `-` |
|
### Iot
| Type | Alias | Image |
|---------------------------------------------|-------|------------------------------------------------------------------------------------------------------|
| `azure.iot.DeviceProvisioningServices` | `-` |
|
| `azure.iot.DigitalTwins` | `-` |
|
| `azure.iot.IotCentralApplications` | `-` |
|
| `azure.iot.IotHubSecurity` | `-` |
|
| `azure.iot.IotHub` | `-` |
|
| `azure.iot.Maps` | `-` |
|
| `azure.iot.Sphere` | `-` |
|
| `azure.iot.TimeSeriesInsightsEnvironments` | `-` |
|
| `azure.iot.TimeSeriesInsightsEventsSources` | `-` |
|
| `azure.iot.Windows10IotCoreServices` | `-` |
|
### Migration
| Type | Alias | Image |
|---------------------------------------------|-------|----------------------------------------------------------------------------------------------------|
| `azure.migration.DataBoxEdge` | `-` |
|
| `azure.migration.DataBox` | `-` |
|
| `azure.migration.DatabaseMigrationServices` | `-` |
|
| `azure.migration.MigrationProjects` | `-` |
|
| `azure.migration.RecoveryServicesVaults` | `-` |
|
### Ml
| Type | Alias | Image |
|-------------------------------------------------|-------|-----------------------------------------------------------------------------------------------------------|
| `azure.ml.BatchAI` | `-` |
|
| `azure.ml.BotServices` | `-` |
|
| `azure.ml.CognitiveServices` | `-` |
|
| `azure.ml.GenomicsAccounts` | `-` |
|
| `azure.ml.MachineLearningServiceWorkspaces` | `-` |
|
| `azure.ml.MachineLearningStudioWebServicePlans` | `-` |
|
| `azure.ml.MachineLearningStudioWebServices` | `-` |
|
| `azure.ml.MachineLearningStudioWorkspaces` | `-` |
|
### Mobile
| Type | Alias | Image |
|---------------------------------|-------|----------------------------------------------------------------------------------------|
| `azure.mobile.AppServiceMobile` | `-` |
|
| `azure.mobile.MobileEngagement` | `-` |
|
| `azure.mobile.NotificationHubs` | `-` |
|
### Network
| Type | Alias | Image |
|----------------------------------------------|-------|------------------------------------------------------------------------------------------------------|
| `azure.network.ApplicationGateway` | `-` |
|
| `azure.network.ApplicationSecurityGroups` | `-` |
|
| `azure.network.CDNProfiles` | `-` |
|
| `azure.network.Connections` | `-` |
|
| `azure.network.DDOSProtectionPlans` | `-` |
|
| `azure.network.DNSPrivateZones` | `-` |
|
| `azure.network.DNSZones` | `-` |
|
| `azure.network.ExpressrouteCircuits` | `-` |
|
| `azure.network.Firewall` | `-` |
|
| `azure.network.FrontDoors` | `-` |
|
| `azure.network.LoadBalancers` | `-` |
|
| `azure.network.LocalNetworkGateways` | `-` |
|
| `azure.network.NetworkInterfaces` | `-` |
|
| `azure.network.NetworkSecurityGroupsClassic` | `-` |
|
| `azure.network.NetworkWatcher` | `-` |
|
| `azure.network.OnPremisesDataGateways` | `-` |
|
| `azure.network.PublicIpAddresses` | `-` |
|
| `azure.network.ReservedIpAddressesClassic` | `-` |
|
| `azure.network.RouteFilters` | `-` |
|
| `azure.network.RouteTables` | `-` |
|
| `azure.network.ServiceEndpointPolicies` | `-` |
|
| `azure.network.Subnets` | `-` |
|
| `azure.network.TrafficManagerProfiles` | `-` |
|
| `azure.network.VirtualNetworkClassic` | `-` |
|
| `azure.network.VirtualNetworkGateways` | `-` |
|
| `azure.network.VirtualNetworks` | `-` |
|
| `azure.network.VirtualWans` | `-` |
|
### Security
| Type | Alias | Image |
|--------------------------------------------|-------|---------------------------------------------------------------------------------------------------|
| `azure.security.ApplicationSecurityGroups` | `-` |
|
| `azure.security.ConditionalAccess` | `-` |
|
| `azure.security.Defender` | `-` |
|
| `azure.security.ExtendedSecurityUpdates` | `-` |
|
| `azure.security.KeyVaults` | `-` |
|
| `azure.security.SecurityCenter` | `-` |
|
| `azure.security.Sentinel` | `-` |
|
### Storage
| Type | Alias | Image |
|-------------------------------------------|-------|-----------------------------------------------------------------------------------------------------|
| `azure.storage.ArchiveStorage` | `-` |
|
| `azure.storage.Azurefxtedgefiler` | `-` |
|
| `azure.storage.BlobStorage` | `-` |
|
| `azure.storage.DataBoxEdgeDataBoxGateway` | `-` |
|
| `azure.storage.DataBox` | `-` |
|
| `azure.storage.DataLakeStorage` | `-` |
|
| `azure.storage.GeneralStorage` | `-` |
|
| `azure.storage.NetappFiles` | `-` |
|
| `azure.storage.QueuesStorage` | `-` |
|
| `azure.storage.StorageAccountsClassic` | `-` |
|
| `azure.storage.StorageAccounts` | `-` |
|
| `azure.storage.StorageExplorer` | `-` |
|
| `azure.storage.StorageSyncServices` | `-` |
|
| `azure.storage.StorsimpleDataManagers` | `-` |
|
| `azure.storage.StorsimpleDeviceManagers` | `-` |
|
| `azure.storage.TableStorage` | `-` |
|
### Web
| Type | Alias | Image |
|---------------------------------------|-------|----------------------------------------------------------------------------------------------|
| `azure.web.APIConnections` | `-` |
|
| `azure.web.AppServiceCertificates` | `-` |
|
| `azure.web.AppServiceDomains` | `-` |
|
| `azure.web.AppServiceEnvironments` | `-` |
|
| `azure.web.AppServicePlans` | `-` |
|
| `azure.web.AppServices` | `-` |
|
| `azure.web.MediaServices` | `-` |
|
| `azure.web.NotificationHubNamespaces` | `-` |
|
| `azure.web.Search` | `-` |
|
| `azure.web.Signalr` | `-` |
|
================================================
FILE: docs/resources/digital_ocean.md
================================================
## DigitalOcean
Table of Content:
* [Compute](#compute)
* [Database](#database)
* [Network](#network)
* [Storage](#storage)
### Compute
| Type | Alias | Image |
|----------------------------------------|-------|----------------------------------------------------------------------------------------------|
| `digitalocean.compute.Containers` | `-` |
|
| `digitalocean.compute.Docker` | `-` |
|
| `digitalocean.compute.DropletConnect` | `-` |
|
| `digitalocean.compute.DropletSnapshot` | `-` |
|
| `digitalocean.compute.Droplet` | `-` |
|
| `digitalocean.compute.K8SCluster` | `-` |
|
| `digitalocean.compute.K8SNodePool` | `-` |
|
| `digitalocean.compute.K8SNode` | `-` |
|
### Database
| Type | Alias | Image |
|-------------------------------------------------|-------|---------------------------------------------------------------------------------------------------------|
| `digitalocean.database.DbaasPrimaryStandbyMore` | `-` |
|
| `digitalocean.database.DbaasPrimary` | `-` |
|
| `digitalocean.database.DbaasReadOnly` | `-` |
|
| `digitalocean.database.DbaasStandby` | `-` |
|
### Network
| Type | Alias | Image |
|-------------------------------------------|-------|-------------------------------------------------------------------------------------------------|
| `digitalocean.network.Certificate` | `-` |
|
| `digitalocean.network.DomainRegistration` | `-` |
|
| `digitalocean.network.Domain` | `-` |
|
| `digitalocean.network.Firewall` | `-` |
|
| `digitalocean.network.FloatingIp` | `-` |
|
| `digitalocean.network.InternetGateway` | `-` |
|
| `digitalocean.network.LoadBalancer` | `-` |
|
| `digitalocean.network.ManagedVpn` | `-` |
|
| `digitalocean.network.Vpc` | `-` |
|
### Storage
| Type | Alias | Image |
|---------------------------------------|-------|---------------------------------------------------------------------------------------------|
| `digitalocean.storage.Folder` | `-` |
|
| `digitalocean.storage.Space` | `-` |
|
| `digitalocean.storage.VolumeSnapshot` | `-` |
|
| `digitalocean.storage.Volume` | `-` |
|
================================================
FILE: docs/resources/elastic.md
================================================
## Elastic
Table of Content:
* [Agent](#agent)
* [Beats](#beats)
* [Elasticsearch](#elasticsearch)
* [Enterprise Search](#enterprise-search)
* [Observability](#observability)
* [Orchestration](#orchestration)
* [Saas](#saas)
* [Security](#security)
### Agent
| Type | Alias | Image |
|------------------------------|-------|-----------------------------------------------------------------------------------|
| `elastic.agent.Agent` | `-` |
|
| `elastic.agent.Endpoint` | `-` |
|
| `elastic.agent.Fleet` | `-` |
|
| `elastic.agent.Integrations` | `-` |
|
### Beats
| Type | Alias | Image |
|------------------------------|-------|-----------------------------------------------------------------------------------|
| `elastic.beats.APM` | `-` |
|
| `elastic.beats.Auditbeat` | `-` |
|
| `elastic.beats.Filebeat` | `-` |
|
| `elastic.beats.Functionbeat` | `-` |
|
| `elastic.beats.Heartbeat` | `-` |
|
| `elastic.beats.Metricbeat` | `-` |
|
| `elastic.beats.Packetbeat` | `-` |
|
| `elastic.beats.Winlogbeat` | `-` |
|
### Elasticsearch
| Type | Alias | Image |
|---------------------------------------------|-----------------|---------------------------------------------------------------------------------------------------|
| `elastic.elasticsearch.Alerting` | `-` |
|
| `elastic.elasticsearch.Beats` | `-` |
|
| `elastic.elasticsearch.Elasticsearch` | `ElasticSearch` |
|
| `elastic.elasticsearch.Kibana` | `-` |
|
| `elastic.elasticsearch.LogstashPipeline` | `-` |
|
| `elastic.elasticsearch.Logstash` | `LogStash` |
|
| `elastic.elasticsearch.MachineLearning` | `alias` |
|
| `elastic.elasticsearch.MapServices` | `-` |
|
| `elastic.elasticsearch.Maps` | `-` |
|
| `elastic.elasticsearch.Monitoring` | `-` |
|
| `elastic.elasticsearch.SearchableSnapshots` | `-` |
|
| `elastic.elasticsearch.SecuritySettings` | `-` |
|
| `elastic.elasticsearch.SQL` | `-` |
|
| `elastic.elasticsearch.Stack` | `-` |
|
### Enterprise Search
| Type | Alias | Image |
|---------------------------------------------|-------|---------------------------------------------------------------------------------------------------|
| `elastic.enterprisesearch.AppSearch` | `-` |
|
| `elastic.enterprisesearch.Crawler` | `-` |
|
| `elastic.enterprisesearch.EnterpriseSearch` | `-` |
|
| `elastic.enterprisesearch.SiteSearch` | `-` |
|
| `elastic.enterprisesearch.WorkplaceSearch` | `-` |
|
### Observability
| Type | Alias | Image |
|---------------------------------------|-------|--------------------------------------------------------------------------------------------|
| `elastic.observability.APM` | `-` |
|
| `elastic.observability.Logs` | `-` |
|
| `elastic.observability.Metrics` | `-` |
|
| `elastic.observability.Observability` | `-` |
|
| `elastic.observability.Uptime` | `-` |
|
### Orchestration
| Type | Alias | Image |
|-----------------------------|-------|----------------------------------------------------------------------------------|
| `elastic.orchestration.ECE` | `-` |
|
| `elastic.orchestration.ECK` | `-` |
|
### Saas
| Type | Alias | Image |
|------------------------|-------|-----------------------------------------------------------------------------|
| `elastic.saas.Cloud` | `-` |
|
| `elastic.saas.Elastic` | `-` |
|
### Security
| Type | Alias | Image |
|-----------------------------|-------|----------------------------------------------------------------------------------|
| `elastic.security.Endpoint` | `-` |
|
| `elastic.security.Security` | `-` |
|
| `elastic.security.SIEM` | `-` |
|
| `elastic.security.Xdr` | `-` |
|
================================================
FILE: docs/resources/firebase.md
================================================
## Firebase
Table of Content:
* [Base](#base)
* [Develop](#develop)
* [Extentions](#extentions)
* [Grow](#grow)
* [Quality](#quality)
### Base
| Type | Alias | Image |
|--------------------------|-------|-------------------------------------------------------------------------------|
| `firebase.base.Firebase` | `-` |
|
### Develop
| Type | Alias | Image |
|-------------------------------------|-------|-------------------------------------------------------------------------------------------|
| `firebase.develop.Authentication` | `-` |
|
| `firebase.develop.Firestore` | `-` |
|
| `firebase.develop.Functions` | `-` |
|
| `firebase.develop.Hosting` | `-` |
|
| `firebase.develop.MLKit` | `-` |
|
| `firebase.develop.RealtimeDatabase` | `-` |
|
| `firebase.develop.Storage` | `-` |
|
### Extentions
| Type | Alias | Image |
|----------------------------------|-------|---------------------------------------------------------------------------------------|
| `firebase.extentions.Extensions` | `-` |
|
### Grow
| Type | Alias | Image |
|--------------------------------|-------|---------------------------------------------------------------------------------------|
| `firebase.grow.ABTesting` | `-` |
|
| `firebase.grow.AppIndexing` | `-` |
|
| `firebase.grow.DynamicLinks` | `-` |
|
| `firebase.grow.InAppMessaging` | `-` |
|
| `firebase.grow.Invites` | `-` |
|
| `firebase.grow.Messaging` | `FCM` |
|
| `firebase.grow.Predictions` | `-` |
|
| `firebase.grow.RemoteConfig` | `-` |
|
### Quality
| Type | Alias | Image |
|------------------------------------------|-------|------------------------------------------------------------------------------------------------|
| `firebase.quality.AppDistribution` | `-` |
|
| `firebase.quality.CrashReporting` | `-` |
|
| `firebase.quality.Crashlytics` | `-` |
|
| `firebase.quality.PerformanceMonitoring` | `-` |
|
| `firebase.quality.TestLab` | `-` |
|
================================================
FILE: docs/resources/flowchart.md
================================================
## Flowchart
| Type | Alias | Image |
|-----------------------------------------------|-------|-------------------------------------------------------------------------------------------|
| `programming.flowchart.Action` | `-` |
|
| `programming.flowchart.Collate` | `-` |
|
| `programming.flowchart.Database` | `-` |
|
| `programming.flowchart.Decision` | `-` |
|
| `programming.flowchart.Delay` | `-` |
|
| `programming.flowchart.Display` | `-` |
|
| `programming.flowchart.Document` | `-` |
|
| `programming.flowchart.InputOutput` | `-` |
|
| `programming.flowchart.Inspection` | `-` |
|
| `programming.flowchart.InternalStorage` | `-` |
|
| `programming.flowchart.LoopLimit` | `-` |
|
| `programming.flowchart.ManualInput` | `-` |
|
| `programming.flowchart.ManualLoop` | `-` |
|
| `programming.flowchart.Merge` | `-` |
|
| `programming.flowchart.MultipleDocuments` | `-` |
|
| `programming.flowchart.OffPageConnectorLeft` | `-` |
|
| `programming.flowchart.OffPageConnectorRight` | `-` |
|
| `programming.flowchart.Or` | `-` |
|
| `programming.flowchart.PredefinedProcess` | `-` |
|
| `programming.flowchart.Preparation` | `-` |
|
| `programming.flowchart.Sort` | `-` |
|
| `programming.flowchart.StartEnd` | `-` |
|
| `programming.flowchart.StoredData` | `-` |
|
| `programming.flowchart.SummingJunction` | `-` |
|
================================================
FILE: docs/resources/gcp.md
================================================
## GCP
Table of Content:
* [Analytics](#analytics)
* [Api](#api)
* [Compute](#compute)
* [Database](#database)
* [Devtools](#devtools)
* [Iot](#iot)
* [Migration](#migration)
* [Ml](#ml)
* [Network](#network)
* [Operations](#operations)
* [Security](#security)
* [Storage](#storage)
### Analytics
| Type | Alias | Image |
|-----------------------------|--------------------------|-----------------------------------------------------------------------------------|
| `gcp.analytics.Bigquery` | `gcp.analytics.BigQuery` |
|
| `gcp.analytics.Composer` | `-` |
|
| `gcp.analytics.DataCatalog` | `-` |
|
| `gcp.analytics.DataFusion` | `-` |
|
| `gcp.analytics.Dataflow` | `-` |
|
| `gcp.analytics.Datalab` | `-` |
|
| `gcp.analytics.Dataprep` | `-` |
|
| `gcp.analytics.Dataproc` | `-` |
|
| `gcp.analytics.Genomics` | `-` |
|
| `gcp.analytics.Pubsub**,` | `gcp.analytics.Sub` |
|
### Api
| Type | Alias | Image |
|----------------------|-------|----------------------------------------------------------------------------|
| `gcp.api.APIGateway` | `-` |
|
| `gcp.api.Endpoints` | `-` |
|
### Compute
| Type | Alias | Image |
|------------------------------------|-------------------|-------------------------------------------------------------------------------------------|
| `gcp.compute.AppEngine` | `gcp.compute.GAE` |
|
| `gcp.compute.ComputeEngine` | `gcp.compute.GCE` |
|
| `gcp.compute.ContainerOptimizedOS` | `-` |
|
| `gcp.compute.Functions` | `gcp.compute.GCF` |
|
| `gcp.compute.GKEOnPrem` | `-` |
|
| `gcp.compute.GPU` | `-` |
|
| `gcp.compute.KubernetesEngine` | `gcp.compute.GKE` |
|
| `gcp.compute.Run` | `-` |
|
### Database
| Type | Alias | Image |
|----------------------------|-------------------------|---------------------------------------------------------------------------------|
| `gcp.database.Bigtable` | `gcp.database.Bigtable` |
|
| `gcp.database.Datastore` | `-` |
|
| `gcp.database.Firestore` | `-` |
|
| `gcp.database.Memorystore` | `-` |
|
| `gcp.database.Spanner` | `-` |
|
| `gcp.database.SQL` | `-` |
|
### Devtools
| Type | Alias | Image |
|--------------------------------------|--------------------|----------------------------------------------------------------------------------------------|
| `gcp.devtools.Build` | `-` |
|
| `gcp.devtools.CodeForIntellij` | `-` |
|
| `gcp.devtools.Code` | `-` |
|
| `gcp.devtools.ContainerRegistry` | `gcp.devtools.GCR` |
|
| `gcp.devtools.GradleAppEnginePlugin` | `-` |
|
| `gcp.devtools.IdePlugins` | `-` |
|
| `gcp.devtools.MavenAppEnginePlugin` | `-` |
|
| `gcp.devtools.Scheduler` | `-` |
|
| `gcp.devtools.SDK` | `-` |
|
| `gcp.devtools.SourceRepositories` | `-` |
|
| `gcp.devtools.Tasks` | `-` |
|
| `gcp.devtools.TestLab` | `-` |
|
| `gcp.devtools.ToolsForEclipse` | `-` |
|
| `gcp.devtools.ToolsForPowershell` | `-` |
|
| `gcp.devtools.ToolsForVisualStudio` | `-` |
|
### Iot
| Type | Alias | Image |
|-------------------|-------|-------------------------------------------------------------------------|
| `gcp.iot.IotCore` | `-` |
|
### Migration
| Type | Alias | Image |
|-----------------------------------|-------|-----------------------------------------------------------------------------------------|
| `gcp.migration.TransferAppliance` | `-` |
|
### Ml
| Type | Alias | Image |
|----------------------------------------|--------------|-------------------------------------------------------------------------------------------------|
| `gcp.ml.AdvancedSolutionsLab` | `-` |
|
| `gcp.ml.AIHub` | `-` |
|
| `gcp.ml.AIPlatformDataLabelingService` | `-` |
|
| `gcp.ml.AIPlatform` | `-` |
|
| `gcp.ml.AutomlNaturalLanguage` | `-` |
|
| `gcp.ml.AutomlTables` | `-` |
|
| `gcp.ml.AutomlTranslation` | `-` |
|
| `gcp.ml.AutomlVideoIntelligence` | `-` |
|
| `gcp.ml.AutomlVision` | `-` |
|
| `gcp.ml.Automl**,` | `gcp.ml.oML` |
|
| `gcp.ml.DialogFlowEnterpriseEdition` | `-` |
|
| `gcp.ml.InferenceAPI` | `-` |
|
| `gcp.ml.JobsAPI` | `-` |
|
| `gcp.ml.NaturalLanguageAPI` | `gcp.ml.API` |
|
| `gcp.ml.RecommendationsAI` | `-` |
|
| `gcp.ml.SpeechToText` | `gcp.ml.STT` |
|
| `gcp.ml.TextToSpeech` | `gcp.ml.TTS` |
|
| `gcp.ml.TPU` | `-` |
|
| `gcp.ml.TranslationAPI` | `-` |
|
| `gcp.ml.VideoIntelligenceAPI` | `-` |
|
| `gcp.ml.VisionAPI` | `-` |
|
### Network
| Type | Alias | Image |
|-------------------------------------|-------------------|-------------------------------------------------------------------------------------------|
| `gcp.network.Armor` | `-` |
|
| `gcp.network.CDN` | `-` |
|
| `gcp.network.DedicatedInterconnect` | `-` |
|
| `gcp.network.DNS` | `-` |
|
| `gcp.network.ExternalIpAddresses` | `-` |
|
| `gcp.network.FirewallRules` | `-` |
|
| `gcp.network.LoadBalancing` | `-` |
|
| `gcp.network.NAT` | `-` |
|
| `gcp.network.Network` | `-` |
|
| `gcp.network.PartnerInterconnect` | `-` |
|
| `gcp.network.PremiumNetworkTier` | `-` |
|
| `gcp.network.Router` | `-` |
|
| `gcp.network.Routes` | `-` |
|
| `gcp.network.StandardNetworkTier` | `-` |
|
| `gcp.network.TrafficDirector` | `-` |
|
| `gcp.network.VirtualPrivateCloud` | `gcp.network.VPC` |
|
| `gcp.network.VPN` | `-` |
|
### Operations
| Type | Alias | Image |
|-----------------------------|-------|----------------------------------------------------------------------------------|
| `gcp.operations.Monitoring` | `-` |
|
### Security
| Type | Alias | Image |
|--------------------------------------|--------------------|---------------------------------------------------------------------------------------------|
| `gcp.security.Iam` | `-` |
|
| `gcp.security.IAP` | `-` |
|
| `gcp.security.KeyManagementService` | `gcp.security.KMS` |
|
| `gcp.security.ResourceManager` | `-` |
|
| `gcp.security.SecurityCommandCenter` | `gcp.security.SCC` |
|
| `gcp.security.SecurityScanner` | `-` |
|
### Storage
| Type | Alias | Image |
|------------------------------|-------------------|------------------------------------------------------------------------------------|
| `gcp.storage.Filestore` | `-` |
|
| `gcp.storage.PersistentDisk` | `-` |
|
| `gcp.storage.Storage` | `gcp.storage.GCS` |
|
================================================
FILE: docs/resources/generic.md
================================================
## Generic
Table of Content:
* [Blank](#blank)
* [Compute](#compute)
* [Database](#database)
* [Device](#device)
* [Network](#network)
* [Os](#os)
* [Place](#place)
* [Storage](#storage)
* [Virtualization](#virtualization)
### Blank
| Type | Alias | Image |
|-----------------------|-------|----------------------------------------------------------------------------|
| `generic.blank.Blank` | `-` |
|
### Compute
| Type | Alias | Image |
|------------------------|-------|-----------------------------------------------------------------------------|
| `generic.compute.Rack` | `-` |
|
### Database
| Type | Alias | Image |
|------------------------|-------|-----------------------------------------------------------------------------|
| `generic.database.SQL` | `-` |
|
### Device
| Type | Alias | Image |
|-------------------------|-------|------------------------------------------------------------------------------|
| `generic.device.Mobile` | `-` |
|
| `generic.device.Tablet` | `-` |
|
### Network
| Type | Alias | Image |
|----------------------------|-------|---------------------------------------------------------------------------------|
| `generic.network.Firewall` | `-` |
|
| `generic.network.Router` | `-` |
|
| `generic.network.Subnet` | `-` |
|
| `generic.network.Switch` | `-` |
|
| `generic.network.VPN` | `-` |
|
### Os
| Type | Alias | Image |
|---------------------------|-------|---------------------------------------------------------------------------------|
| `generic.os.Android` | `-` |
|
| `generic.os.Centos` | `-` |
|
| `generic.os.Debian` | `-` |
|
| `generic.os.IOS` | `-` |
|
| `generic.os.LinuxGeneral` | `-` |
|
| `generic.os.Raspbian` | `-` |
|
| `generic.os.RedHat` | `-` |
|
| `generic.os.Suse` | `-` |
|
| `generic.os.Ubuntu` | `-` |
|
| `generic.os.Windows` | `-` |
|
### Place
| Type | Alias | Image |
|----------------------------|-------|---------------------------------------------------------------------------------|
| `generic.place.Datacenter` | `-` |
|
### Storage
| Type | Alias | Image |
|---------------------------|-------|--------------------------------------------------------------------------------|
| `generic.storage.Storage` | `-` |
|
### Virtualization
| Type | Alias | Image |
|-------------------------------------|-------|------------------------------------------------------------------------------------------|
| `generic.virtualization.Virtualbox` | `-` |
|
| `generic.virtualization.Vmware` | `-` |
|
| `generic.virtualization.XEN` | `-` |
|
================================================
FILE: docs/resources/ibm.md
================================================
## IBM
Table of Content:
* [Analytics](#analytics)
* [Applications](#applications)
* [Blockchain](#blockchain)
* [Compute](#compute)
* [Data](#data)
* [Devops](#devops)
* [General](#general)
* [Infrastructure](#infrastructure)
* [Management](#management)
* [Network](#network)
* [Security](#security)
* [Social](#social)
* [Storage](#storage)
* [User](#user)
### Analytics
| Type | Alias | Image |
|------------------------------------|-------|------------------------------------------------------------------------------------------|
| `ibm.analytics.Analytics` | `-` |
|
| `ibm.analytics.DataIntegration` | `-` |
|
| `ibm.analytics.DataRepositories` | `-` |
|
| `ibm.analytics.DeviceAnalytics` | `-` |
|
| `ibm.analytics.StreamingComputing` | `-` |
|
### Applications
| Type | Alias | Image |
|-------------------------------------------|-------|-------------------------------------------------------------------------------------------------|
| `ibm.applications.ActionableInsight` | `-` |
|
| `ibm.applications.Annotate` | `-` |
|
| `ibm.applications.ApiDeveloperPortal` | `-` |
|
| `ibm.applications.ApiPolyglotRuntimes` | `-` |
|
| `ibm.applications.AppServer` | `-` |
|
| `ibm.applications.ApplicationLogic` | `-` |
|
| `ibm.applications.EnterpriseApplications` | `-` |
|
| `ibm.applications.Index` | `-` |
|
| `ibm.applications.IotApplication` | `-` |
|
| `ibm.applications.Microservice` | `-` |
|
| `ibm.applications.MobileApp` | `-` |
|
| `ibm.applications.Ontology` | `-` |
|
| `ibm.applications.OpenSourceTools` | `-` |
|
| `ibm.applications.RuntimeServices` | `-` |
|
| `ibm.applications.SaasApplications` | `-` |
|
| `ibm.applications.ServiceBroker` | `-` |
|
| `ibm.applications.SpeechToText` | `-` |
|
| `ibm.applications.VisualRecognition` | `-` |
|
| `ibm.applications.Visualization` | `-` |
|
### Blockchain
| Type | Alias | Image |
|------------------------------------------------|-------|--------------------------------------------------------------------------------------------------------|
| `ibm.blockchain.BlockchainDeveloper` | `-` |
|
| `ibm.blockchain.Blockchain` | `-` |
|
| `ibm.blockchain.CertificateAuthority` | `-` |
|
| `ibm.blockchain.ClientApplication` | `-` |
|
| `ibm.blockchain.Communication` | `-` |
|
| `ibm.blockchain.Consensus` | `-` |
|
| `ibm.blockchain.EventListener` | `-` |
|
| `ibm.blockchain.Event` | `-` |
|
| `ibm.blockchain.ExistingEnterpriseSystems` | `-` |
|
| `ibm.blockchain.HyperledgerFabric` | `-` |
|
| `ibm.blockchain.KeyManagement` | `-` |
|
| `ibm.blockchain.Ledger` | `-` |
|
| `ibm.blockchain.MembershipServicesProviderApi` | `-` |
|
| `ibm.blockchain.Membership` | `-` |
|
| `ibm.blockchain.MessageBus` | `-` |
|
| `ibm.blockchain.Node` | `-` |
|
| `ibm.blockchain.Services` | `-` |
|
| `ibm.blockchain.SmartContract` | `-` |
|
| `ibm.blockchain.TransactionManager` | `-` |
|
| `ibm.blockchain.Wallet` | `-` |
|
### Compute
| Type | Alias | Image |
|-------------------------------|-------|--------------------------------------------------------------------------------------|
| `ibm.compute.BareMetalServer` | `-` |
|
| `ibm.compute.ImageService` | `-` |
|
| `ibm.compute.Instance` | `-` |
|
| `ibm.compute.Key` | `-` |
|
| `ibm.compute.PowerInstance` | `-` |
|
### Data
| Type | Alias | Image |
|----------------------------------------|-------|-----------------------------------------------------------------------------------------------|
| `ibm.data.Caches` | `-` |
|
| `ibm.data.Cloud` | `-` |
|
| `ibm.data.ConversationTrainedDeployed` | `-` |
|
| `ibm.data.DataServices` | `-` |
|
| `ibm.data.DataSources` | `-` |
|
| `ibm.data.DeviceIdentityService` | `-` |
|
| `ibm.data.DeviceRegistry` | `-` |
|
| `ibm.data.EnterpriseData` | `-` |
|
| `ibm.data.EnterpriseUserDirectory` | `-` |
|
| `ibm.data.FileRepository` | `-` |
|
| `ibm.data.GroundTruth` | `-` |
|
| `ibm.data.Model` | `-` |
|
| `ibm.data.TmsDataInterface` | `-` |
|
### Devops
| Type | Alias | Image |
|---------------------------------------|-------|---------------------------------------------------------------------------------------------|
| `ibm.devops.ArtifactManagement` | `-` |
|
| `ibm.devops.BuildTest` | `-` |
|
| `ibm.devops.CodeEditor` | `-` |
|
| `ibm.devops.CollaborativeDevelopment` | `-` |
|
| `ibm.devops.ConfigurationManagement` | `-` |
|
| `ibm.devops.ContinuousDeploy` | `-` |
|
| `ibm.devops.ContinuousTesting` | `-` |
|
| `ibm.devops.Devops` | `-` |
|
| `ibm.devops.Provision` | `-` |
|
| `ibm.devops.ReleaseManagement` | `-` |
|
### General
| Type | Alias | Image |
|---------------------------------------------|-------|----------------------------------------------------------------------------------------------------|
| `ibm.general.CloudMessaging` | `-` |
|
| `ibm.general.CloudServices` | `-` |
|
| `ibm.general.Cloudant` | `-` |
|
| `ibm.general.CognitiveServices` | `-` |
|
| `ibm.general.DataSecurity` | `-` |
|
| `ibm.general.Enterprise` | `-` |
|
| `ibm.general.GovernanceRiskCompliance` | `-` |
|
| `ibm.general.IBMContainers` | `-` |
|
| `ibm.general.IBMPublicCloud` | `-` |
|
| `ibm.general.IdentityAccessManagement` | `-` |
|
| `ibm.general.IdentityProvider` | `-` |
|
| `ibm.general.InfrastructureSecurity` | `-` |
|
| `ibm.general.Internet` | `-` |
|
| `ibm.general.IotCloud` | `-` |
|
| `ibm.general.MicroservicesApplication` | `-` |
|
| `ibm.general.MicroservicesMesh` | `-` |
|
| `ibm.general.MonitoringLogging` | `-` |
|
| `ibm.general.Monitoring` | `-` |
|
| `ibm.general.ObjectStorage` | `-` |
|
| `ibm.general.OfflineCapabilities` | `-` |
|
| `ibm.general.Openwhisk` | `-` |
|
| `ibm.general.PeerCloud` | `-` |
|
| `ibm.general.RetrieveRank` | `-` |
|
| `ibm.general.Scalable` | `-` |
|
| `ibm.general.ServiceDiscoveryConfiguration` | `-` |
|
| `ibm.general.TextToSpeech` | `-` |
|
| `ibm.general.TransformationConnectivity` | `-` |
|
### Infrastructure
| Type | Alias | Image |
|----------------------------------------------------|-------|-----------------------------------------------------------------------------------------------------------|
| `ibm.infrastructure.Channels` | `-` |
|
| `ibm.infrastructure.CloudMessaging` | `-` |
|
| `ibm.infrastructure.Dashboard` | `-` |
|
| `ibm.infrastructure.Diagnostics` | `-` |
|
| `ibm.infrastructure.EdgeServices` | `-` |
|
| `ibm.infrastructure.EnterpriseMessaging` | `-` |
|
| `ibm.infrastructure.EventFeed` | `-` |
|
| `ibm.infrastructure.InfrastructureServices` | `-` |
|
| `ibm.infrastructure.InterserviceCommunication` | `-` |
|
| `ibm.infrastructure.LoadBalancingRouting` | `-` |
|
| `ibm.infrastructure.MicroservicesMesh` | `-` |
|
| `ibm.infrastructure.MobileBackend` | `-` |
|
| `ibm.infrastructure.MobileProviderNetwork` | `-` |
|
| `ibm.infrastructure.MonitoringLogging` | `-` |
|
| `ibm.infrastructure.Monitoring` | `-` |
|
| `ibm.infrastructure.PeerServices` | `-` |
|
| `ibm.infrastructure.ServiceDiscoveryConfiguration` | `-` |
|
| `ibm.infrastructure.TransformationConnectivity` | `-` |
|
### Management
| Type | Alias | Image |
|---------------------------------------------|-------|-----------------------------------------------------------------------------------------------------|
| `ibm.management.AlertNotification` | `-` |
|
| `ibm.management.ApiManagement` | `-` |
|
| `ibm.management.CloudManagement` | `-` |
|
| `ibm.management.ClusterManagement` | `-` |
|
| `ibm.management.ContentManagement` | `-` |
|
| `ibm.management.DataServices` | `-` |
|
| `ibm.management.DeviceManagement` | `-` |
|
| `ibm.management.InformationGovernance` | `-` |
|
| `ibm.management.ItServiceManagement` | `-` |
|
| `ibm.management.Management` | `-` |
|
| `ibm.management.MonitoringMetrics` | `-` |
|
| `ibm.management.ProcessManagement` | `-` |
|
| `ibm.management.ProviderCloudPortalService` | `-` |
|
| `ibm.management.PushNotifications` | `-` |
|
| `ibm.management.ServiceManagementTools` | `-` |
|
### Network
| Type | Alias | Image |
|------------------------------------|-------|-------------------------------------------------------------------------------------------|
| `ibm.network.Bridge` | `-` |
|
| `ibm.network.DirectLink` | `-` |
|
| `ibm.network.Enterprise` | `-` |
|
| `ibm.network.Firewall` | `-` |
|
| `ibm.network.FloatingIp` | `-` |
|
| `ibm.network.Gateway` | `-` |
|
| `ibm.network.InternetServices` | `-` |
|
| `ibm.network.LoadBalancerListener` | `-` |
|
| `ibm.network.LoadBalancerPool` | `-` |
|
| `ibm.network.LoadBalancer` | `-` |
|
| `ibm.network.LoadBalancingRouting` | `-` |
|
| `ibm.network.PublicGateway` | `-` |
|
| `ibm.network.Region` | `-` |
|
| `ibm.network.Router` | `-` |
|
| `ibm.network.Rules` | `-` |
|
| `ibm.network.Subnet` | `-` |
|
| `ibm.network.TransitGateway` | `-` |
|
| `ibm.network.Vpc` | `-` |
|
| `ibm.network.VpnConnection` | `-` |
|
| `ibm.network.VpnGateway` | `-` |
|
| `ibm.network.VpnPolicy` | `-` |
|
### Security
| Type | Alias | Image |
|-----------------------------------------------|-------|------------------------------------------------------------------------------------------------------|
| `ibm.security.ApiSecurity` | `-` |
|
| `ibm.security.BlockchainSecurityService` | `-` |
|
| `ibm.security.DataSecurity` | `-` |
|
| `ibm.security.Firewall` | `-` |
|
| `ibm.security.Gateway` | `-` |
|
| `ibm.security.GovernanceRiskCompliance` | `-` |
|
| `ibm.security.IdentityAccessManagement` | `-` |
|
| `ibm.security.IdentityProvider` | `-` |
|
| `ibm.security.InfrastructureSecurity` | `-` |
|
| `ibm.security.PhysicalSecurity` | `-` |
|
| `ibm.security.SecurityMonitoringIntelligence` | `-` |
|
| `ibm.security.SecurityServices` | `-` |
|
| `ibm.security.TrustendComputing` | `-` |
|
| `ibm.security.Vpn` | `-` |
|
### Social
| Type | Alias | Image |
|--------------------------------|-------|--------------------------------------------------------------------------------------|
| `ibm.social.Communities` | `-` |
|
| `ibm.social.FileSync` | `-` |
|
| `ibm.social.LiveCollaboration` | `-` |
|
| `ibm.social.Messaging` | `-` |
|
| `ibm.social.Networking` | `-` |
|
### Storage
| Type | Alias | Image |
|-----------------------------|-------|-----------------------------------------------------------------------------------|
| `ibm.storage.BlockStorage` | `-` |
|
| `ibm.storage.ObjectStorage` | `-` |
|
### User
| Type | Alias | Image |
|-----------------------------------------|-------|------------------------------------------------------------------------------------------------|
| `ibm.user.Browser` | `-` |
|
| `ibm.user.Device` | `-` |
|
| `ibm.user.IntegratedDigitalExperiences` | `-` |
|
| `ibm.user.PhysicalEntity` | `-` |
|
| `ibm.user.Sensor` | `-` |
|
| `ibm.user.User` | `-` |
|
================================================
FILE: docs/resources/kubernetes.md
================================================
## Kubernetes
Table of Content:
* [Chaos](#chaos)
* [ClusterConfig](#clusterconfig)
* [Compute](#compute)
* [Control Plane](#control-plane)
* [Ecosystem](#ecosystem)
* [Group](#group)
* [Infra](#infra)
* [Network](#network)
* [Others](#others)
* [PodConfig](#podconfig)
* [RBAC](#rbac)
* [Storage](#storage)
### Chaos
| Type | Alias | Image |
|-------------------------|-------|-------------------------------------------------------------------------------|
| `k8s.chaos.ChaosMesh` | `-` |
|
| `k8s.chaos.LitmusChaos` | `-` |
|
### ClusterConfig
| Type | Alias | Image |
|----------------------------|---------------------------------------------|---------------------------------------------------------------------------------|
| `k8s.clusterconfig.HPA` | `k8s.clusterconfig.HorizontalPodAutoscaler` |
|
| `k8s.clusterconfig.Limits` | `k8s.clusterconfig.LimitRange` |
|
| `k8s.clusterconfig.Quota` | `-` |
|
### Compute
| Type | Alias | Image |
|-----------------------|---------------------------|----------------------------------------------------------------------------|
| `k8s.compute.Cronjob` | `-` |
|
| `k8s.compute.Deploy` | `k8s.compute.Deployment` |
|
| `k8s.compute.DS` | `k8s.compute.DaemonSet` |
|
| `k8s.compute.Job` | `-` |
|
| `k8s.compute.Pod` | `-` |
|
| `k8s.compute.RS` | `k8s.compute.ReplicaSet` |
|
| `k8s.compute.STS` | `k8s.compute.StatefulSet` |
|
### Control Plane
| Type | Alias | Image |
|----------------------------|--------------------------------------|---------------------------------------------------------------------------------|
| `k8s.controlplane.API` | `k8s.controlplane.APIServer` |
|
| `k8s.controlplane.CCM` | `-` |
|
| `k8s.controlplane.CM` | `k8s.controlplane.ControllerManager` |
|
| `k8s.controlplane.KProxy` | `k8s.controlplane.KubeProxy` |
|
| `k8s.controlplane.Kubelet` | `-` |
|
| `k8s.controlplane.Sched` | `k8s.controlplane.Scheduler` |
|
### Ecosystem
| Type | Alias | Image |
|-----------------------------|-------|-----------------------------------------------------------------------------------|
| `k8s.ecosystem.ExternalDns` | `-` |
|
| `k8s.ecosystem.Helm` | `-` |
|
| `k8s.ecosystem.Krew` | `-` |
|
| `k8s.ecosystem.Kustomize` | `-` |
|
### Group
| Type | Alias | Image |
|----------------|-----------------------|---------------------------------------------------------------------|
| `k8s.group.NS` | `k8s.group.Namespace` |
|
### Infra
| Type | Alias | Image |
|--------------------|-------|-------------------------------------------------------------------------|
| `k8s.infra.ETCD` | `-` |
|
| `k8s.infra.Master` | `-` |
|
| `k8s.infra.Node` | `-` |
|
### Network
| Type | Alias | Image |
|----------------------|-----------------------------|---------------------------------------------------------------------------|
| `k8s.network.Ep` | `k8s.network.Endpoint` |
|
| `k8s.network.Ing` | `k8s.network.Ingress` |
|
| `k8s.network.Netpol` | `k8s.network.NetworkPolicy` |
|
| `k8s.network.SVC` | `k8s.network.Service` |
|
### Others
| Type | Alias | Image |
|------------------|-------|-----------------------------------------------------------------------|
| `k8s.others.CRD` | `-` |
|
| `k8s.others.PSP` | `-` |
|
### PodConfig
| Type | Alias | Image |
|------------------------|---------------------------|-----------------------------------------------------------------------------|
| `k8s.podconfig.CM` | `k8s.podconfig.ConfigMap` |
|
| `k8s.podconfig.Secret` | `-` |
|
### RBAC
| Type | Alias | Image |
|------------------|-------------------------------|------------------------------------------------------------------------|
| `k8s.rbac.CRole` | `k8s.rbac.ClusterRole` |
|
| `k8s.rbac.CRB` | `k8s.rbac.ClusterRoleBinding` |
|
| `k8s.rbac.Group` | `-` |
|
| `k8s.rbac.RB` | `k8s.rbac.RoleBinding` |
|
| `k8s.rbac.Role` | `-` |
|
| `k8s.rbac.SA` | `k8s.rbac.ServiceAccount` |
|
| `k8s.rbac.User` | `-` |
|
### Storage
| Type | Alias | Image |
|-------------------|-------------------------------------|------------------------------------------------------------------------|
| `k8s.storage.PV` | `k8s.storage.PersistentVolume` |
|
| `k8s.storage.PVC` | `k8s.storage.PersistentVolumeClaim` |
|
| `k8s.storage.SC` | `k8s.storage.StorageClass` |
|
| `k8s.storage.Vol` | `k8s.storage.Volume` |
|
================================================
FILE: docs/resources/oci.md
================================================
## OCI
Table of Content:
* [Compute](#compute)
* [Connectivity](#connectivity)
* [Database](#database)
* [Devops](#devops)
* [Governance](#governance)
* [Monitoring](#monitoring)
* [Network](#network)
* [Security](#security)
* [Storage](#storage)
### Compute
| Type | Alias | Image |
|----------------------------------|------------------------------------|-----------------------------------------------------------------------------------------|
| `oci.compute.AutoscaleWhite` | `-` |
|
| `oci.compute.Autoscale` | `-` |
|
| `oci.compute.BMWhite` | `oci.compute.BareMetalWhite` |
|
| `oci.compute.BM` | `oci.compute.BareMetal` |
|
| `oci.compute.ContainerWhite` | `-` |
|
| `oci.compute.Container` | `-` |
|
| `oci.compute.FunctionsWhite` | `-` |
|
| `oci.compute.Functions` | `-` |
|
| `oci.compute.InstancePoolsWhite` | `-` |
|
| `oci.compute.InstancePools` | `-` |
|
| `oci.compute.OCIRWhite` | `oci.compute.OCIRegistryWhite` |
|
| `oci.compute.OCIR` | `oci.compute.OCIRegistry` |
|
| `oci.compute.OKEWhite` | `oci.compute.ContainerEngineWhite` |
|
| `oci.compute.OKE` | `oci.compute.ContainerEngine` |
|
| `oci.compute.VMWhite` | `oci.compute.VirtualMachineWhite` |
|
| `oci.compute.VM` | `oci.compute.VirtualMachine` |
|
### Connectivity
| Type | Alias | Image |
|---------------------------------------------|-------|----------------------------------------------------------------------------------------------------|
| `oci.connectivity.BackboneWhite` | `-` |
|
| `oci.connectivity.Backbone` | `-` |
|
| `oci.connectivity.CDNWhite` | `-` |
|
| `oci.connectivity.CDN` | `-` |
|
| `oci.connectivity.CustomerDatacenter` | `-` |
|
| `oci.connectivity.CustomerDatacntrWhite` | `-` |
|
| `oci.connectivity.CustomerPremiseWhite` | `-` |
|
| `oci.connectivity.CustomerPremise` | `-` |
|
| `oci.connectivity.DisconnectedRegionsWhite` | `-` |
|
| `oci.connectivity.DisconnectedRegions` | `-` |
|
| `oci.connectivity.DNSWhite` | `-` |
|
| `oci.connectivity.DNS` | `-` |
|
| `oci.connectivity.FastConnectWhite` | `-` |
|
| `oci.connectivity.FastConnect` | `-` |
|
| `oci.connectivity.NATGatewayWhite` | `-` |
|
| `oci.connectivity.NATGateway` | `-` |
|
| `oci.connectivity.VPNWhite` | `-` |
|
| `oci.connectivity.VPN` | `-` |
|
### Database
| Type | Alias | Image |
|-------------------------------------|-------------------------------|--------------------------------------------------------------------------------------------|
| `oci.database.AutonomousWhite` | `oci.database.ADBWhite` |
|
| `oci.database.Autonomous` | `oci.database.ADB` |
|
| `oci.database.BigdataServiceWhite` | `-` |
|
| `oci.database.BigdataService` | `-` |
|
| `oci.database.DatabaseServiceWhite` | `oci.database.DBServiceWhite` |
|
| `oci.database.DatabaseService` | `oci.database.DBService` |
|
| `oci.database.DataflowApacheWhite` | `-` |
|
| `oci.database.DataflowApache` | `-` |
|
| `oci.database.DcatWhite` | `-` |
|
| `oci.database.Dcat` | `-` |
|
| `oci.database.DisWhite` | `-` |
|
| `oci.database.Dis` | `-` |
|
| `oci.database.DMSWhite` | `-` |
|
| `oci.database.DMS` | `-` |
|
| `oci.database.ScienceWhite` | `-` |
|
| `oci.database.Science` | `-` |
|
| `oci.database.StreamWhite` | `-` |
|
| `oci.database.Stream` | `-` |
|
### Devops
| Type | Alias | Image |
|--------------------------------|-------|---------------------------------------------------------------------------------------|
| `oci.devops.APIGatewayWhite` | `-` |
|
| `oci.devops.APIGateway` | `-` |
|
| `oci.devops.APIServiceWhite` | `-` |
|
| `oci.devops.APIService` | `-` |
|
| `oci.devops.ResourceMgmtWhite` | `-` |
|
| `oci.devops.ResourceMgmt` | `-` |
|
### Governance
| Type | Alias | Image |
|------------------------------------|-------|------------------------------------------------------------------------------------------|
| `oci.governance.AuditWhite` | `-` |
|
| `oci.governance.Audit` | `-` |
|
| `oci.governance.CompartmentsWhite` | `-` |
|
| `oci.governance.Compartments` | `-` |
|
| `oci.governance.GroupsWhite` | `-` |
|
| `oci.governance.Groups` | `-` |
|
| `oci.governance.LoggingWhite` | `-` |
|
| `oci.governance.Logging` | `-` |
|
| `oci.governance.OCIDWhite` | `-` |
|
| `oci.governance.OCID` | `-` |
|
| `oci.governance.PoliciesWhite` | `-` |
|
| `oci.governance.Policies` | `-` |
|
| `oci.governance.TaggingWhite` | `-` |
|
| `oci.governance.Tagging` | `-` |
|
### Monitoring
| Type | Alias | Image |
|-------------------------------------|-------|-------------------------------------------------------------------------------------------|
| `oci.monitoring.AlarmWhite` | `-` |
|
| `oci.monitoring.Alarm` | `-` |
|
| `oci.monitoring.EmailWhite` | `-` |
|
| `oci.monitoring.Email` | `-` |
|
| `oci.monitoring.EventsWhite` | `-` |
|
| `oci.monitoring.Events` | `-` |
|
| `oci.monitoring.HealthCheckWhite` | `-` |
|
| `oci.monitoring.HealthCheck` | `-` |
|
| `oci.monitoring.NotificationsWhite` | `-` |
|
| `oci.monitoring.Notifications` | `-` |
|
| `oci.monitoring.QueueWhite` | `-` |
|
| `oci.monitoring.Queue` | `-` |
|
| `oci.monitoring.SearchWhite` | `-` |
|
| `oci.monitoring.Search` | `-` |
|
| `oci.monitoring.TelemetryWhite` | `-` |
|
| `oci.monitoring.Telemetry` | `-` |
|
| `oci.monitoring.WorkflowWhite` | `-` |
|
| `oci.monitoring.Workflow` | `-` |
|
### Network
| Type | Alias | Image |
|------------------------------------|-------|-------------------------------------------------------------------------------------------|
| `oci.network.DrgWhite` | `-` |
|
| `oci.network.Drg` | `-` |
|
| `oci.network.FirewallWhite` | `-` |
|
| `oci.network.Firewall` | `-` |
|
| `oci.network.InternetGatewayWhite` | `-` |
|
| `oci.network.InternetGateway` | `-` |
|
| `oci.network.LoadBalancerWhite` | `-` |
|
| `oci.network.LoadBalancer` | `-` |
|
| `oci.network.RouteTableWhite` | `-` |
|
| `oci.network.RouteTable` | `-` |
|
| `oci.network.SecurityListsWhite` | `-` |
|
| `oci.network.SecurityLists` | `-` |
|
| `oci.network.ServiceGatewayWhite` | `-` |
|
| `oci.network.ServiceGateway` | `-` |
|
| `oci.network.VcnWhite` | `-` |
|
| `oci.network.Vcn` | `-` |
|
### Security
| Type | Alias | Image |
|-------------------------------------|-------|---------------------------------------------------------------------------------------------|
| `oci.security.CloudGuardWhite` | `-` |
|
| `oci.security.CloudGuard` | `-` |
|
| `oci.security.DDOSWhite` | `-` |
|
| `oci.security.DDOS` | `-` |
|
| `oci.security.EncryptionWhite` | `-` |
|
| `oci.security.Encryption` | `-` |
|
| `oci.security.IDAccessWhite` | `-` |
|
| `oci.security.IDAccess` | `-` |
|
| `oci.security.KeyManagementWhite` | `-` |
|
| `oci.security.KeyManagement` | `-` |
|
| `oci.security.MaxSecurityZoneWhite` | `-` |
|
| `oci.security.MaxSecurityZone` | `-` |
|
| `oci.security.VaultWhite` | `-` |
|
| `oci.security.Vault` | `-` |
|
| `oci.security.WAFWhite` | `-` |
|
| `oci.security.WAF` | `-` |
|
### Storage
| Type | Alias | Image |
|---------------------------------------|-------|----------------------------------------------------------------------------------------------|
| `oci.storage.BackupRestoreWhite` | `-` |
|
| `oci.storage.BackupRestore` | `-` |
|
| `oci.storage.BlockStorageCloneWhite` | `-` |
|
| `oci.storage.BlockStorageClone` | `-` |
|
| `oci.storage.BlockStorageWhite` | `-` |
|
| `oci.storage.BlockStorage` | `-` |
|
| `oci.storage.BucketsWhite` | `-` |
|
| `oci.storage.Buckets` | `-` |
|
| `oci.storage.DataTransferWhite` | `-` |
|
| `oci.storage.DataTransfer` | `-` |
|
| `oci.storage.ElasticPerformanceWhite` | `-` |
|
| `oci.storage.ElasticPerformance` | `-` |
|
| `oci.storage.FileStorageWhite` | `-` |
|
| `oci.storage.FileStorage` | `-` |
|
| `oci.storage.ObjectStorageWhite` | `-` |
|
| `oci.storage.ObjectStorage` | `-` |
|
| `oci.storage.StorageGatewayWhite` | `-` |
|
| `oci.storage.StorageGateway` | `-` |
|
================================================
FILE: docs/resources/on_premise.md
================================================
## On-Premise
Table of Content:
* [Aggregator](#aggregator)
* [Analytics](#analytics)
* [Auth](#auth)
* [Cd](#cd)
* [Certificates](#certificates)
* [Ci](#ci)
* [Client](#client)
* [Compute](#compute)
* [Container](#container)
* [Database](#database)
* [Dns](#dns)
* [Etl](#etl)
* [Gitops](#gitops)
* [Groupware](#groupware)
* [Iac](#iac)
* [Identity](#identity)
* [Inmemory](#inmemory)
* [Logging](#logging)
* [Messaging](#messaging)
* [Mlops](#mlops)
* [Monitoring](#monitoring)
* [Network](#network)
* [Proxmox](#proxmox)
* [Queue](#queue)
* [Registry](#registry)
* [Search](#search)
* [Security](#security)
* [Storage](#storage)
* [Tracing](#tracing)
* [Vcs](#vcs)
* [Workflow](#workflow)
### Aggregator
| Type | Alias | Image |
|-----------------------------|-------|----------------------------------------------------------------------------------|
| `onprem.aggregator.Fluentd` | `-` |
|
| `onprem.aggregator.Vector` | `-` |
|
### Analytics
| Type | Alias | Image |
|-------------------------------|----------------------------|------------------------------------------------------------------------------------|
| `onprem.analytics.Beam` | `-` |
|
| `onprem.analytics.Databricks` | `-` |
|
| `onprem.analytics.Dbt` | `-` |
|
| `onprem.analytics.Dremio` | `-` |
|
| `onprem.analytics.Flink` | `-` |
|
| `onprem.analytics.Hadoop` | `-` |
|
| `onprem.analytics.Hive` | `-` |
|
| `onprem.analytics.Metabase` | `-` |
|
| `onprem.analytics.Norikra` | `-` |
|
| `onprem.analytics.Powerbi` | `onprem.analytics.PowerBI` |
|
| `onprem.analytics.Presto` | `-` |
|
| `onprem.analytics.Singer` | `-` |
|
| `onprem.analytics.Spark` | `-` |
|
| `onprem.analytics.Storm` | `-` |
|
| `onprem.analytics.Superset` | `-` |
|
| `onprem.analytics.Tableau` | `-` |
|
### Auth
| Type | Alias | Image |
|---------------------------|-------|---------------------------------------------------------------------------------|
| `onprem.auth.Boundary` | `-` |
|
| `onprem.auth.BuzzfeedSso` | `-` |
|
| `onprem.auth.Oauth2Proxy` | `-` |
|
### Cd
| Type | Alias | Image |
|-----------------------|-------|-----------------------------------------------------------------------------|
| `onprem.cd.Spinnaker` | `-` |
|
| `onprem.cd.TektonCli` | `-` |
|
| `onprem.cd.Tekton` | `-` |
|
### Certificates
| Type | Alias | Image |
|-----------------------------------|-------|-----------------------------------------------------------------------------------------|
| `onprem.certificates.CertManager` | `-` |
|
| `onprem.certificates.LetsEncrypt` | `-` |
|
### Ci
| Type | Alias | Image |
|---------------------------|-------------------------|---------------------------------------------------------------------------------|
| `onprem.ci.Circleci` | `onprem.ci.CircleCI` |
|
| `onprem.ci.Concourseci` | `onprem.ci.ConcourseCI` |
|
| `onprem.ci.Droneci` | `onprem.ci.DroneCI` |
|
| `onprem.ci.GithubActions` | `-` |
|
| `onprem.ci.Gitlabci` | `onprem.ci.GitlabCI` |
|
| `onprem.ci.Jenkins` | `-` |
|
| `onprem.ci.Teamcity` | `onprem.ci.TC` |
|
| `onprem.ci.Travisci` | `onprem.ci.TravisCI` |
|
| `onprem.ci.Zuulci` | `onprem.ci.ZuulCI` |
|
### Client
| Type | Alias | Image |
|------------------------|-------|-----------------------------------------------------------------------------|
| `onprem.client.Client` | `-` |
|
| `onprem.client.User` | `-` |
|
| `onprem.client.Users` | `-` |
|
### Compute
| Type | Alias | Image |
|-------------------------|-------|------------------------------------------------------------------------------|
| `onprem.compute.Nomad` | `-` |
|
| `onprem.compute.Server` | `-` |
|
### Container
| Type | Alias | Image |
|--------------------------------|------------------------|-------------------------------------------------------------------------------------|
| `onprem.container.Containerd` | `-` |
|
| `onprem.container.Crio` | `-` |
|
| `onprem.container.Docker` | `-` |
|
| `onprem.container.Firecracker` | `-` |
|
| `onprem.container.Gvisor` | `-` |
|
| `onprem.container.K3S` | `-` |
|
| `onprem.container.Lxc` | `onprem.container.LXC` |
|
| `onprem.container.Rkt` | `onprem.container.RKT` |
|
### Database
| Type | Alias | Image |
|-------------------------------|-------------------------------|------------------------------------------------------------------------------------|
| `onprem.database.Cassandra` | `-` |
|
| `onprem.database.Clickhouse` | `onprem.database.ClickHouse` |
|
| `onprem.database.Cockroachdb` | `onprem.database.CockroachDB` |
|
| `onprem.database.Couchbase` | `-` |
|
| `onprem.database.Couchdb` | `onprem.database.CouchDB` |
|
| `onprem.database.Dgraph` | `-` |
|
| `onprem.database.Druid` | `-` |
|
| `onprem.database.Hbase` | `onprem.database.HBase` |
|
| `onprem.database.Influxdb` | `onprem.database.InfluxDB` |
|
| `onprem.database.Janusgraph` | `onprem.database.JanusGraph` |
|
| `onprem.database.Mariadb` | `onprem.database.MariaDB` |
|
| `onprem.database.Mongodb` | `onprem.database.MongoDB` |
|
| `onprem.database.Mssql` | `onprem.database.MSSQL` |
|
| `onprem.database.Mysql` | `onprem.database.MySQL` |
|
| `onprem.database.Neo4J` | `-` |
|
| `onprem.database.Oracle` | `-` |
|
| `onprem.database.Postgresql` | `onprem.database.PostgreSQL` |
|
| `onprem.database.Scylla` | `-` |
|
### Dns
| Type | Alias | Image |
|-----------------------|-------|----------------------------------------------------------------------------|
| `onprem.dns.Coredns` | `-` |
|
| `onprem.dns.Powerdns` | `-` |
|
### Etl
| Type | Alias | Image |
|---------------------|-------|--------------------------------------------------------------------------|
| `onprem.etl.Embulk` | `-` |
|
### Gitops
| Type | Alias | Image |
|-------------------------|------------------------|------------------------------------------------------------------------------|
| `onprem.gitops.Argocd` | `onprem.gitops.ArgoCD` |
|
| `onprem.gitops.Flagger` | `-` |
|
| `onprem.gitops.Flux` | `-` |
|
### Groupware
| Type | Alias | Image |
|------------------------------|-------|-----------------------------------------------------------------------------------|
| `onprem.groupware.Nextcloud` | `-` |
|
### Iac
| Type | Alias | Image |
|------------------------|-------|-----------------------------------------------------------------------------|
| `onprem.iac.Ansible` | `-` |
|
| `onprem.iac.Atlantis` | `-` |
|
| `onprem.iac.Awx` | `-` |
|
| `onprem.iac.Puppet` | `-` |
|
| `onprem.iac.Terraform` | `-` |
|
### Identity
| Type | Alias | Image |
|-----------------------|-------|----------------------------------------------------------------------------|
| `onprem.identity.Dex` | `-` |
|
### Inmemory
| Type | Alias | Image |
|-----------------------------|-------|----------------------------------------------------------------------------------|
| `onprem.inmemory.Aerospike` | `-` |
|
| `onprem.inmemory.Hazelcast` | `-` |
|
| `onprem.inmemory.Memcached` | `-` |
|
| `onprem.inmemory.Redis` | `-` |
|
### Logging
| Type | Alias | Image |
|----------------------------|----------------------------|---------------------------------------------------------------------------------|
| `onprem.logging.Fluentbit` | `onprem.logging.FluentBit` |
|
| `onprem.logging.Graylog` | `-` |
|
| `onprem.logging.Loki` | `-` |
|
| `onprem.logging.Rsyslog` | `onprem.logging.RSyslog` |
|
| `onprem.logging.SyslogNg` | `-` |
|
### Messaging
| Type | Alias | Image |
|-------------------------------|-------|------------------------------------------------------------------------------------|
| `onprem.messaging.Centrifugo` | `-` |
|
### Mlops
| Type | Alias | Image |
|-------------------------|-------|------------------------------------------------------------------------------|
| `onprem.mlops.Mlflow` | `-` |
|
| `onprem.mlops.Polyaxon` | `-` |
|
### Monitoring
| Type | Alias | Image |
|----------------------------------------|-------|----------------------------------------------------------------------------------------------|
| `onprem.monitoring.Cortex` | `-` |
|
| `onprem.monitoring.Datadog` | `-` |
|
| `onprem.monitoring.Dynatrace` | `-` |
|
| `onprem.monitoring.Grafana` | `-` |
|
| `onprem.monitoring.Humio` | `-` |
|
| `onprem.monitoring.Mimir` | `-` |
|
| `onprem.monitoring.Nagios` | `-` |
|
| `onprem.monitoring.Newrelic` | `-` |
|
| `onprem.monitoring.PrometheusOperator` | `-` |
|
| `onprem.monitoring.Prometheus` | `-` |
|
| `onprem.monitoring.Sentry` | `-` |
|
| `onprem.monitoring.Splunk` | `-` |
|
| `onprem.monitoring.Thanos` | `-` |
|
| `onprem.monitoring.Zabbix` | `-` |
|
### Network
| Type | Alias | Image |
|----------------------------------|---------------------------|-----------------------------------------------------------------------------------------|
| `onprem.network.Ambassador` | `-` |
|
| `onprem.network.Apache` | `-` |
|
| `onprem.network.Bind9` | `-` |
|
| `onprem.network.Caddy` | `-` |
|
| `onprem.network.Consul` | `-` |
|
| `onprem.network.Envoy` | `-` |
|
| `onprem.network.Etcd` | `onprem.network.ETCD` |
|
| `onprem.network.Glassfish` | `-` |
|
| `onprem.network.Gunicorn` | `-` |
|
| `onprem.network.Haproxy` | `onprem.network.HAProxy` |
|
| `onprem.network.Internet` | `-` |
|
| `onprem.network.Istio` | `-` |
|
| `onprem.network.Jbossas` | `-` |
|
| `onprem.network.Jetty` | `-` |
|
| `onprem.network.Kong` | `-` |
|
| `onprem.network.Linkerd` | `-` |
|
| `onprem.network.Nginx` | `-` |
|
| `onprem.network.Ocelot` | `-` |
|
| `onprem.network.OpenServiceMesh` | `onprem.network.OSM` |
|
| `onprem.network.Opnsense` | `onprem.network.OPNSense` |
|
| `onprem.network.Pfsense` | `onprem.network.PFSense` |
|
| `onprem.network.Pomerium` | `-` |
|
| `onprem.network.Powerdns` | `-` |
|
| `onprem.network.Tomcat` | `-` |
|
| `onprem.network.Traefik` | `-` |
|
| `onprem.network.Tyk` | `-` |
|
| `onprem.network.Vyos` | `onprem.network.VyOS` |
|
| `onprem.network.Wildfly` | `-` |
|
| `onprem.network.Yarp` | `-` |
|
| `onprem.network.Zookeeper` | `-` |
|
### Proxmox
| Type | Alias | Image |
|----------------------|----------------------------|---------------------------------------------------------------------------|
| `onprem.proxmox.Pve` | `onprem.proxmox.ProxmoxVE` |
|
### Queue
| Type | Alias | Image |
|-------------------------|-------------------------|------------------------------------------------------------------------------|
| `onprem.queue.Activemq` | `onprem.queue.ActiveMQ` |
|
| `onprem.queue.Celery` | `-` |
|
| `onprem.queue.Emqx` | `onprem.queue.EMQX` |
|
| `onprem.queue.Kafka` | `-` |
|
| `onprem.queue.Nats` | `-` |
|
| `onprem.queue.Rabbitmq` | `onprem.queue.RabbitMQ` |
|
| `onprem.queue.Zeromq` | `onprem.queue.ZeroMQ` |
|
### Registry
| Type | Alias | Image |
|--------------------------|-------|-------------------------------------------------------------------------------|
| `onprem.registry.Harbor` | `-` |
|
| `onprem.registry.Jfrog` | `-` |
|
### Search
| Type | Alias | Image |
|----------------------|-------|---------------------------------------------------------------------------|
| `onprem.search.Solr` | `-` |
|
### Security
| Type | Alias | Image |
|-----------------------------|-------|----------------------------------------------------------------------------------|
| `onprem.security.Bitwarden` | `-` |
|
| `onprem.security.Trivy` | `-` |
|
| `onprem.security.Vault` | `-` |
|
### Storage
| Type | Alias | Image |
|----------------------------|---------------------------|---------------------------------------------------------------------------------|
| `onprem.storage.CephOsd` | `onprem.storage.CEPH_OSD` |
|
| `onprem.storage.Ceph` | `onprem.storage.CEPH` |
|
| `onprem.storage.Glusterfs` | `-` |
|
| `onprem.storage.Portworx` | `-` |
|
### Tracing
| Type | Alias | Image |
|-------------------------|-------|------------------------------------------------------------------------------|
| `onprem.tracing.Jaeger` | `-` |
|
| `onprem.tracing.Tempo` | `-` |
|
### Vcs
| Type | Alias | Image |
|---------------------|-------|--------------------------------------------------------------------------|
| `onprem.vcs.Git` | `-` |
|
| `onprem.vcs.Gitea` | `-` |
|
| `onprem.vcs.Github` | `-` |
|
| `onprem.vcs.Gitlab` | `-` |
|
| `onprem.vcs.Svn` | `-` |
|
### Workflow
| Type | Alias | Image |
|----------------------------|----------------------------|---------------------------------------------------------------------------------|
| `onprem.workflow.Airflow` | `-` |
|
| `onprem.workflow.Digdag` | `-` |
|
| `onprem.workflow.Kubeflow` | `onprem.workflow.KubeFlow` |
|
| `onprem.workflow.Nifi` | `onprem.workflow.NiFi` |
|
================================================
FILE: docs/resources/open_stack.md
================================================
## OpenStack
Table of Content:
* [API Proxies](#api-proxies)
* [Application Life Cycle](#application-life-cycle)
* [Bare Metal](#bare-metal)
* [Billing](#billing)
* [Compute](#compute)
* [Container Services](#container-services)
* [Deployment](#deployment)
* [Front-end](#front-end)
* [Monitoring](#monitoring)
* [Multiregion](#multiregion)
* [Networking](#networking)
* [NFV](#nfv)
* [Optimization](#optimization)
* [Orchestration](#orchestration)
* [Packaging](#packaging)
* [Shared Services](#shared-services)
* [Storage](#storage)
* [User](#user)
* [Workload Provisioning](#workload-provisioning)
### API Proxies
| Type | Alias | Image |
|-------------------------------|-------|------------------------------------------------------------------------------------|
| `openstack.apiproxies.EC2API` | `-` |
|
### Application Life Cycle
| Type | Alias | Image |
|-------------------------------------------|-------|------------------------------------------------------------------------------------------------|
| `openstack.applicationlifecycle.Freezer` | `-` |
|
| `openstack.applicationlifecycle.Masakari` | `-` |
|
| `openstack.applicationlifecycle.Murano` | `-` |
|
| `openstack.applicationlifecycle.Solum` | `-` |
|
### Bare Metal
| Type | Alias | Image |
|------------------------------|-------|-----------------------------------------------------------------------------------|
| `openstack.baremetal.Cyborg` | `-` |
|
| `openstack.baremetal.Ironic` | `-` |
|
### Billing
| Type | Alias | Image |
|--------------------------------|--------------------------------|-------------------------------------------------------------------------------------|
| `openstack.billing.Cloudkitty` | `openstack.billing.CloudKitty` |
|
### Compute
| Type | Alias | Image |
|-----------------------------|-------|----------------------------------------------------------------------------------|
| `openstack.compute.Nova` | `-` |
|
| `openstack.compute.Qinling` | `-` |
|
| `openstack.compute.Zun` | `-` |
|
### Container Services
| Type | Alias | Image |
|-------------------------------------|-------|------------------------------------------------------------------------------------------|
| `openstack.containerservices.Kuryr` | `-` |
|
### Deployment
| Type | Alias | Image |
|--------------------------------|-------------------------------------|-------------------------------------------------------------------------------------|
| `openstack.deployment.Ansible` | `-` |
|
| `openstack.deployment.Charms` | `-` |
|
| `openstack.deployment.Chef` | `-` |
|
| `openstack.deployment.Helm` | `-` |
|
| `openstack.deployment.Kolla` | `openstack.deployment.KollaAnsible` |
|
| `openstack.deployment.Tripleo` | `openstack.deployment.TripleO` |
|
### Front-end
| Type | Alias | Image |
|------------------------------|-------|-----------------------------------------------------------------------------------|
| `openstack.frontend.Horizon` | `-` |
|
### Monitoring
| Type | Alias | Image |
|----------------------------------|-------|---------------------------------------------------------------------------------------|
| `openstack.monitoring.Monasca` | `-` |
|
| `openstack.monitoring.Telemetry` | `-` |
|
### Multiregion
| Type | Alias | Image |
|-----------------------------------|-------|----------------------------------------------------------------------------------------|
| `openstack.multiregion.Tricircle` | `-` |
|
### Networking
| Type | Alias | Image |
|----------------------------------|-------|---------------------------------------------------------------------------------------|
| `openstack.networking.Designate` | `-` |
|
| `openstack.networking.Neutron` | `-` |
|
| `openstack.networking.Octavia` | `-` |
|
### NFV
| Type | Alias | Image |
|------------------------|-------|-----------------------------------------------------------------------------|
| `openstack.nfv.Tacker` | `-` |
|
### Optimization
| Type | Alias | Image |
|-----------------------------------|-------|----------------------------------------------------------------------------------------|
| `openstack.optimization.Congress` | `-` |
|
| `openstack.optimization.Rally` | `-` |
|
| `openstack.optimization.Vitrage` | `-` |
|
| `openstack.optimization.Watcher` | `-` |
|
### Orchestration
| Type | Alias | Image |
|-----------------------------------|-------|----------------------------------------------------------------------------------------|
| `openstack.orchestration.Blazar` | `-` |
|
| `openstack.orchestration.Heat` | `-` |
|
| `openstack.orchestration.Mistral` | `-` |
|
| `openstack.orchestration.Senlin` | `-` |
|
| `openstack.orchestration.Zaqar` | `-` |
|
### Packaging
| Type | Alias | Image |
|------------------------------|-------|-----------------------------------------------------------------------------------|
| `openstack.packaging.LOCI` | `-` |
|
| `openstack.packaging.Puppet` | `-` |
|
| `openstack.packaging.RPM` | `-` |
|
### Shared Services
| Type | Alias | Image |
|----------------------------------------|-------|---------------------------------------------------------------------------------------------|
| `openstack.sharedservices.Barbican` | `-` |
|
| `openstack.sharedservices.Glance` | `-` |
|
| `openstack.sharedservices.Karbor` | `-` |
|
| `openstack.sharedservices.Keystone` | `-` |
|
| `openstack.sharedservices.Searchlight` | `-` |
|
### Storage
| Type | Alias | Image |
|----------------------------|-------|---------------------------------------------------------------------------------|
| `openstack.storage.Cinder` | `-` |
|
| `openstack.storage.Manila` | `-` |
|
| `openstack.storage.Swift` | `-` |
|
### User
| Type | Alias | Image |
|----------------------------------|----------------------------------|---------------------------------------------------------------------------------------|
| `openstack.user.Openstackclient` | `openstack.user.OpenStackClient` |
|
### Workload Provisioning
| Type | Alias | Image |
|-----------------------------------------|-------|----------------------------------------------------------------------------------------------|
| `openstack.workloadprovisioning.Magnum` | `-` |
|
| `openstack.workloadprovisioning.Sahara` | `-` |
|
| `openstack.workloadprovisioning.Trove` | `-` |
|
================================================
FILE: docs/resources/outscale.md
================================================
## Outscale
Table of Content:
* [Compute](#compute)
* [Network](#network)
* [Security](#security)
* [Storage](#storage)
### Compute
| Type | Alias | Image |
|----------------------------------|-------|-----------------------------------------------------------------------------------------|
| `outscale.compute.Compute` | `-` |
|
| `outscale.compute.DirectConnect` | `-` |
|
### Network
| Type | Alias | Image |
|------------------------------------|-------|--------------------------------------------------------------------------------------------|
| `outscale.network.ClientVpn` | `-` |
|
| `outscale.network.InternetService` | `-` |
|
| `outscale.network.LoadBalancer` | `-` |
|
| `outscale.network.NatService` | `-` |
|
| `outscale.network.Net` | `-` |
|
| `outscale.network.SiteToSiteVpng` | `-` |
|
### Security
| Type | Alias | Image |
|-------------------------------------------------|-------|----------------------------------------------------------------------------------------------------------|
| `outscale.security.Firewall` | `-` |
|
| `outscale.security.IdentityAndAccessManagement` | `-` |
|
### Storage
| Type | Alias | Image |
|-----------------------------------------|-------|-------------------------------------------------------------------------------------------------|
| `outscale.storage.SimpleStorageService` | `-` |
|
| `outscale.storage.Storage` | `-` |
|
================================================
FILE: docs/resources/programming.md
================================================
## Programming
Table of Content:
* [Framework](#framework)
* [Language](#language)
* [Runtime](#runtime)
### Framework
| Type | Alias | Image |
|-----------------------------------|---------------------------------|----------------------------------------------------------------------------------------|
| `programming.framework.Angular` | `-` |
|
| `programming.framework.Backbone` | `-` |
|
| `programming.framework.Django` | `-` |
|
| `programming.framework.Ember` | `-` |
|
| `programming.framework.Fastapi` | `programming.framework.FastAPI` |
|
| `programming.framework.Flask` | `-` |
|
| `programming.framework.Flutter` | `-` |
|
| `programming.framework.Graphql` | `programming.framework.GraphQL` |
|
| `programming.framework.Laravel` | `-` |
|
| `programming.framework.Micronaut` | `-` |
|
| `programming.framework.Rails` | `-` |
|
| `programming.framework.React` | `-` |
|
| `programming.framework.Spring` | `-` |
|
| `programming.framework.Starlette` | `-` |
|
| `programming.framework.Svelte` | `-` |
|
| `programming.framework.Vue` | `-` |
|
### Language
| Type | Alias | Image |
|-----------------------------------|-----------------------------------|----------------------------------------------------------------------------------------|
| `programming.language.Bash` | `-` |
|
| `programming.language.C` | `-` |
|
| `programming.language.Cpp` | `-` |
|
| `programming.language.Csharp` | `-` |
|
| `programming.language.Dart` | `-` |
|
| `programming.language.Elixir` | `-` |
|
| `programming.language.Erlang` | `-` |
|
| `programming.language.Go` | `-` |
|
| `programming.language.Java` | `-` |
|
| `programming.language.Javascript` | `programming.language.JavaScript` |
|
| `programming.language.Kotlin` | `-` |
|
| `programming.language.Latex` | `-` |
|
| `programming.language.Matlab` | `-` |
|
| `programming.language.Nodejs ` | `programming.language.NodeJS` |
|
| `programming.language.Php` | `programming.language.PHP` |
|
| `programming.language.Python` | `-` |
|
| `programming.language.R` | `-` |
|
| `programming.language.Ruby` | `-` |
|
| `programming.language.Rust` | `-` |
|
| `programming.language.Scala` | `-` |
|
| `programming.language.Swift` | `-` |
|
| `programming.language.Typescript` | `programming.language.TypeScript` |
|
### Runtime
| Type | Alias | Image |
|----------------------------|-------|---------------------------------------------------------------------------------|
| `programming.runtime.Dapr` | `-` |
|
================================================
FILE: docs/resources/saas.md
================================================
## SaaS
Table of Content:
* [Alerting](#alerting)
* [Analytics](#analytics)
* [Cdn](#cdn)
* [Chat](#chat)
* [Communication](#communication)
* [Filesharing](#filesharing)
* [Identity](#identity)
* [Logging](#logging)
* [Media](#media)
* [Recommendation](#recommendation)
* [Social](#social)
### Alerting
| Type | Alias | Image |
|---------------------------|-------|--------------------------------------------------------------------------------|
| `saas.alerting.Newrelic` | `-` |
|
| `saas.alerting.Opsgenie` | `-` |
|
| `saas.alerting.Pushover` | `-` |
|
| `saas.alerting.Xmatters` | `-` |
|
| `saas.alerting.Pagerduty` | `-` |
|
### Analytics
| Type | Alias | Image |
|----------------------------|-------|---------------------------------------------------------------------------------|
| `saas.analytics.Dataform` | `-` |
|
| `saas.analytics.Snowflake` | `-` |
|
| `saas.analytics.Stitch` | `-` |
|
### Cdn
| Type | Alias | Image |
|-----------------------|-------|----------------------------------------------------------------------------|
| `saas.cdn.Akamai` | `-` |
|
| `saas.cdn.Cloudflare` | `-` |
|
| `saas.cdn.Fastly` | `-` |
|
### Chat
| Type | Alias | Image |
|------------------------|-------|------------------------------------------------------------------------------|
| `saas.chat.Discord` | `-` |
|
| `saas.chat.Line` | `-` |
|
| `saas.chat.Mattermost` | `-` |
|
| `saas.chat.Messenger` | `-` |
|
| `saas.chat.RocketChat` | `-` |
|
| `saas.chat.Slack` | `-` |
|
| `saas.chat.Teams` | `-` |
|
| `saas.chat.Telegram` | `-` |
|
### Communication
| Type | Alias | Image |
|-----------------------------|-------|----------------------------------------------------------------------------------|
| `saas.communication.Twilio` | `-` |
|
### Filesharing
| Type | Alias | Image |
|------------------------------|-------|-----------------------------------------------------------------------------------|
| `saas.filesharing.Nextcloud` | `-` |
|
### Identity
| Type | Alias | Image |
|-----------------------|-------|----------------------------------------------------------------------------|
| `saas.identity.Auth0` | `-` |
|
| `saas.identity.Okta` | `-` |
|
### Logging
| Type | Alias | Image |
|---------------------------|-------------------------|--------------------------------------------------------------------------------|
| `saas.logging.Datadog` | `saas.logging.DataDog` |
|
| `saas.logging.Newrelic` | `saas.logging.NewRelic` |
|
| `saas.logging.Papertrail` | `-` |
|
### Media
| Type | Alias | Image |
|-------------------------|-------|------------------------------------------------------------------------------|
| `saas.media.Cloudinary` | `-` |
|
### Recommendation
| Type | Alias | Image |
|--------------------------------|-------|-------------------------------------------------------------------------------------|
| `saas.recommendation.Recombee` | `-` |
|
### Social
| Type | Alias | Image |
|------------------------|-------|-----------------------------------------------------------------------------|
| `saas.social.Facebook` | `-` |
|
| `saas.social.Twitter` | `-` |
|
================================================
FILE: examples/all-fields.yaml
================================================
diagram:
name: Web Services Architecture on AWS
file_name: web-services-architecture-aws
format: jpg
direction: left-to-right
style:
graph:
splines: ortho
node:
shape: circle
edge:
color: '#000000'
label_resources: false
open: true
resources:
- id: dns
name: DNS
type: aws.network.Route53
relates:
- to: elb
direction: outgoing
label: Makes Request
color: brown
style: dotted
- id: elb
name: ELB
type: aws.network.ELB
relates:
- to: web-services.graphql-api
direction: outgoing
label: Proxy Request
color: firebrick
style: dashed
- id: web-services
name: Web Services
type: cluster
of:
- id: graphql-api
name: GraphQL API
type: group
of:
- id: first-ecs
name: GraphQL API №1
type: aws.compute.ECS
- id: second-ecs
name: GraphQL API №2
type: aws.compute.ECS
relates:
- to: databases.leader
direction: outgoing
- id: databases
name: Databases
type: cluster
of:
- id: leader
name: R/W Leader
type: aws.database.RDS
relates:
- to: databases.follower
direction: undirected
- id: follower
name: R/O Follower
type: aws.database.RDS
================================================
FILE: examples/events-processing-aws.yaml
================================================
diagram:
name: Events Processing Architecture on AWS
open: true
resources:
- id: web-service
name: Web Service (Source)
type: aws.compute.EKS
relates:
- to: events-flow.workers.workers
direction: outgoing
- id: storage
name: Events Storage
type: aws.storage.S3
- id: analytics
name: Events Analytics
type: aws.database.Redshift
- id: events-flow
name: Events Flow
type: cluster
of:
- id: queue
name: Events Queue
type: aws.integration.SQS
relates:
- to: events-flow.processing.lambdas
direction: outgoing
- id: workers
name: Workers
type: cluster
of:
- id: workers
name: Workers
type: group
of:
- id: first-worker
name: Worker №1
type: aws.compute.ECS
- id: second-worker
name: Worker №2
type: aws.compute.ECS
- id: third-worker
name: Worker №3
type: aws.compute.ECS
relates:
- to: events-flow.queue
direction: outgoing
- id: processing
name: Processing
type: cluster
of:
- id: lambdas
name: Lambdas
type: group
of:
- id: first-process
name: Lambda №1
type: aws.compute.Lambda
- id: second-process
name: Lambda №2
type: aws.compute.Lambda
- id: third-process
name: Lambda №3
type: aws.compute.Lambda
relates:
- to: storage
direction: outgoing
- to: analytics
direction: outgoing
================================================
FILE: examples/exposed-pods-kubernetes.yaml
================================================
diagram:
name: Exposed Pods Architecture on Kubernetes
open: true
resources:
- id: ingress
name: Ingress
type: k8s.network.Ingress
relates:
- to: service
direction: outgoing
- id: service
name: Service
type: k8s.network.Service
relates:
- to: pods
direction: outgoing
- id: pods
name: Pods
type: group
of:
- id: first-pod
name: Pod №1
type: k8s.compute.Pod
- id: second-pod
name: Pod №2
type: k8s.compute.Pod
- id: third-pod
name: Pod №3
type: k8s.compute.Pod
relates:
- to: replica-set
direction: incoming
- id: replica-set
name: Replica Set
type: k8s.compute.ReplicaSet
relates:
- to: deployment
direction: incoming
- id: deployment
name: Deployment
type: k8s.compute.Deployment
relates:
- to: hpa
direction: incoming
- id: hpa
name: HPA
type: k8s.clusterconfig.HPA
================================================
FILE: examples/message-collecting-gcp.yaml
================================================
diagram:
name: Message Collecting Architecture on GCP
open: true
resources:
- id: pubsub
name: Pubsub
type: gcp.analytics.PubSub
relates:
- to: targets.data-flows.data-flow
direction: outgoing
- id: source-of-data
name: Source of Data
type: cluster
of:
- id: iot
name: IoT
type: group
of:
- id: first-iot
name: Core №1
type: gcp.iot.IotCore
- id: second-iot
name: Core №2
type: gcp.iot.IotCore
- id: third-iot
name: Core №3
type: gcp.iot.IotCore
relates:
- to: pubsub
direction: outgoing
- id: targets
name: Targets
type: cluster
of:
- id: data-flows
name: Data Flow
type: cluster
of:
- id: data-flow
name: Data Flow
type: gcp.analytics.Dataflow
relates:
- to: targets.data-lake.data-lake-group
direction: outgoing
- to: targets.event-driven.processing.engine
direction: outgoing
- to: targets.event-driven.serverless.function
direction: outgoing
- id: data-lake
name: Data Lake
type: cluster
of:
- id: data-lake-group
name: Data Lake Group
type: group
of:
- id: big-query
name: Big Query
type: gcp.analytics.BigQuery
- id: storage
name: Storage
type: gcp.storage.GCS
- id: event-driven
name: Event Driven
type: cluster
of:
- id: processing
name: Processing
type: cluster
of:
- id: engine
name: Engine
type: gcp.compute.AppEngine
relates:
- to: targets.event-driven.processing.bigtable
direction: outgoing
- id: bigtable
name: Bigtable
type: gcp.database.BigTable
- id: serverless
name: Serverless
type: cluster
of:
- id: function
name: Function
type: gcp.compute.Functions
relates:
- to: targets.event-driven.serverless.application-engine
direction: outgoing
- id: application-engine
name: Application Engine
type: gcp.compute.AppEngine
================================================
FILE: examples/picture-in-readme.yaml
================================================
diagram:
name: Web Services Architecture on AWS
open: true
direction: top-to-bottom
resources:
- id: dns
name: DNS
type: aws.network.Route53
relates:
- to: elb
direction: outgoing
- id: elb
name: ELB
type: aws.network.ELB
relates:
- to: web-services.graphql-api
direction: outgoing
- id: web-services
name: Web Services
type: cluster
of:
- id: graphql-api
name: GraphQL API
type: group
of:
- id: first-ecs
name: GraphQL API №1
type: aws.compute.ECS
- id: second-ecs
name: GraphQL API №2
type: aws.compute.ECS
relates:
- to: databases.leader
direction: outgoing
- id: databases
name: Databases
type: cluster
of:
- id: leader
name: R/W Leader
type: aws.database.RDS
relates:
- to: databases.follower
direction: undirected
- id: follower
name: R/O Follower
type: aws.database.RDS
================================================
FILE: examples/web-services-aws.yaml
================================================
diagram:
name: Web Services Architecture on AWS
open: true
resources:
- id: dns
name: DNS
type: aws.network.Route53
relates:
- to: elb
direction: outgoing
- id: elb
name: ELB
type: aws.network.ELB
relates:
- to: web-services.graphql-api
direction: outgoing
- id: web-services
name: Web Services
type: cluster
of:
- id: graphql-api
name: GraphQL API
type: group
of:
- id: first-api
name: GraphQL API №1
type: aws.compute.ECS
- id: second-api
name: GraphQL API №2
type: aws.compute.ECS
- id: third-api
name: GraphQL API №3
type: aws.compute.ECS
relates:
- to: databases.leader
direction: outgoing
- to: memcached
direction: outgoing
- id: databases
name: Databases
type: cluster
of:
- id: leader
name: R/W Leader
type: aws.database.RDS
relates:
- to: databases.followers
direction: undirected
- id: followers
name: R/O Followers
type: group
of:
- id: first-follower
name: R/O Follower №1
type: aws.database.RDS
- id: second-follower
name: R/O Follower №2
type: aws.database.RDS
- id: memcached
name: Memcached
type: aws.database.ElastiCache
================================================
FILE: examples/web-services-on-premise.yaml
================================================
diagram:
name: Web Services Architecture On-Premise
open: true
resources:
- id: ingress
name: Ingress
type: onprem.network.Nginx
relates:
- to: web-services.graphql
direction: bidirectional
color: darkgreen
- id: metrics
name: Metrics
type: onprem.monitoring.Prometheus
relates:
- to: monitoring
direction: incoming
color: firebrick
style: dashed
- id: monitoring
name: Monitoring
type: onprem.monitoring.Grafana
- id: web-services
name: Web Services
type: cluster
of:
- id: graphql
name: GraphQL API
type: group
of:
- id: first-ecs
name: GraphQL API №1
type: onprem.compute.Server
- id: second-ecs
name: GraphQL API №2
type: onprem.compute.Server
- id: third-ecs
name: GraphQL API №3
type: onprem.compute.Server
relates:
- to: cache.leader
direction: outgoing
color: brown
- to: databases.leader
direction: outgoing
color: black
- to: logs-aggregator
direction: outgoing
color: black
- id: cache
name: Cache
type: cluster
of:
- id: leader
name: Leader
type: onprem.inmemory.Redis
relates:
- to: cache.follower
direction: undirected
color: brown
style: dashed
- id: follower
name: Follower
type: onprem.inmemory.Redis
relates:
- to: metrics
direction: incoming
label: collect
- id: databases
name: Databases
type: cluster
of:
- id: leader
name: Leader
type: onprem.database.PostgreSQL
relates:
- to: databases.follower
direction: undirected
color: brown
style: dotted
- id: follower
name: Follower
type: onprem.database.PostgreSQL
relates:
- to: metrics
direction: incoming
label: collect
- id: logs-aggregator
name: Logs Aggregator
type: onprem.aggregator.Fluentd
relates:
- to: message-queue
direction: outgoing
label: parse
- id: message-queue
name: Message Queue
type: onprem.queue.Kafka
relates:
- to: analytics
direction: outgoing
color: black
style: bold
- id: analytics
name: Analytics
type: onprem.analytics.Spark
================================================
FILE: examples/workers-aws.yaml
================================================
diagram:
name: Workers Architecture on AWS
direction: top-to-bottom
open: true
resources:
- id: elb
name: ELB
type: aws.network.ELB
relates:
- to: workers
direction: outgoing
- id: workers
name: Workers
type: group
of:
- id: first-worker
name: Worker №1
type: aws.compute.EC2
- id: second-worker
name: Worker №2
type: aws.compute.EC2
- id: third-worker
name: Worker №3
type: aws.compute.EC2
- id: fourth-worker
name: Worker №4
type: aws.compute.EC2
- id: fifth-worker
name: Worker №5
type: aws.compute.EC2
- id: sixth-worker
name: Worker №6
type: aws.compute.EC2
relates:
- to: database
direction: outgoing
- id: database
name: Events
type: aws.database.RDS
================================================
FILE: json-schemas/0.0.1.json
================================================
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Diagrams as code",
"description": "Diagrams as code's YAML JSON schema",
"$ref": "#/definitions/Welcome5",
"definitions": {
"Welcome5": {
"type": "object",
"additionalProperties": false,
"properties": {
"diagram": {
"$ref": "#/definitions/Diagram"
}
},
"required": [
"diagram"
],
"title": "Welcome5"
},
"Diagram": {
"type": "object",
"additionalProperties": false,
"properties": {
"name": {
"type": "string",
"description": "A name of the diagram which is shown in the image"
},
"file_name": {
"type": "string",
"description": "A file name of the image that would be created"
},
"format": {
"type": "string",
"description": "A format of the image that would be created",
"oneOf": [
{
"const": "png"
},
{
"const": "jpg"
},
{
"const": "svg"
},
{
"const": "pdf"
},
{
"const": "dot"
}
]
},
"direction": {
"type": "string",
"description": "A direction of the diagram's resource",
"oneOf": [
{
"const": "left-to-right"
},
{
"const": "right-to-left"
},
{
"const": "top-to-bottom"
},
{
"const": "bottom-to-top"
}
]
},
"style": {
"$ref": "#/definitions/Style",
"description": "Style of the diagram"
},
"label_resources": {
"type": "boolean",
"description": "Whether to label the diagram's resources"
},
"open": {
"type": "boolean",
"description": "Whether to open the diagram's image after creating it"
},
"resources": {
"type": "array",
"description": "Resources of the diagram",
"items": {
"$ref": "#/definitions/Resource"
}
}
},
"required": [
"name",
"resources"
],
"title": "Diagram"
},
"Resource": {
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "A unique identifier of the resource"
},
"name": {
"type": "string",
"description": "A name of the resource"
},
"type": {
"type": "string",
"description": "A type of the resource",
"oneOf": [
{
"const": "cluster"
},
{
"const": "group"
},
{
"const": "alibabacloud.analytics.AnalyticDb"
},
{
"const": "alibabacloud.analytics.ClickHouse"
},
{
"const": "alibabacloud.analytics.DataLakeAnalytics"
},
{
"const": "alibabacloud.analytics.ElaticMapReduce"
},
{
"const": "alibabacloud.analytics.OpenSearch"
},
{
"const": "alibabacloud.application.ApiGateway"
},
{
"const": "alibabacloud.application.BeeBot"
},
{
"const": "alibabacloud.application.BlockchainAsAService"
},
{
"const": "alibabacloud.application.CloudCallCenter"
},
{
"const": "alibabacloud.application.CodePipeline"
},
{
"const": "alibabacloud.application.DirectMail"
},
{
"const": "alibabacloud.application.LogService"
},
{
"const": "alibabacloud.application.SLS"
},
{
"const": "alibabacloud.application.MessageNotificationService"
},
{
"const": "alibabacloud.application.MNS"
},
{
"const": "alibabacloud.application.NodeJsPerformancePlatform"
},
{
"const": "alibabacloud.application.OpenSearch"
},
{
"const": "alibabacloud.application.PerformanceTestingService"
},
{
"const": "alibabacloud.application.PTS"
},
{
"const": "alibabacloud.application.RdCloud"
},
{
"const": "alibabacloud.application.SmartConversationAnalysis"
},
{
"const": "alibabacloud.application.SCA"
},
{
"const": "alibabacloud.application.Yida"
},
{
"const": "alibabacloud.communication.DirectMail"
},
{
"const": "alibabacloud.communication.MobilePush"
},
{
"const": "alibabacloud.compute.AutoScaling"
},
{
"const": "alibabacloud.compute.ESS"
},
{
"const": "alibabacloud.compute.BatchCompute"
},
{
"const": "alibabacloud.compute.ContainerRegistry"
},
{
"const": "alibabacloud.compute.ContainerService"
},
{
"const": "alibabacloud.compute.ElasticComputeService"
},
{
"const": "alibabacloud.compute.ECS"
},
{
"const": "alibabacloud.compute.ElasticContainerInstance"
},
{
"const": "alibabacloud.compute.ECI"
},
{
"const": "alibabacloud.compute.ElasticHighPerformanceComputing"
},
{
"const": "alibabacloud.compute.EHPC"
},
{
"const": "alibabacloud.compute.ElasticSearch"
},
{
"const": "alibabacloud.compute.FunctionCompute"
},
{
"const": "alibabacloud.compute.FC"
},
{
"const": "alibabacloud.compute.OperationOrchestrationService"
},
{
"const": "alibabacloud.compute.OOS"
},
{
"const": "alibabacloud.compute.ResourceOrchestrationService"
},
{
"const": "alibabacloud.compute.ROS"
},
{
"const": "alibabacloud.compute.ServerLoadBalancer"
},
{
"const": "alibabacloud.compute.SLB"
},
{
"const": "alibabacloud.compute.ServerlessAppEngine"
},
{
"const": "alibabacloud.compute.SAE"
},
{
"const": "alibabacloud.compute.SimpleApplicationServer"
},
{
"const": "alibabacloud.compute.SAS"
},
{
"const": "alibabacloud.compute.WebAppService"
},
{
"const": "alibabacloud.compute.WAS"
},
{
"const": "alibabacloud.database.ApsaradbCassandra"
},
{
"const": "alibabacloud.database.ApsaradbHbase"
},
{
"const": "alibabacloud.database.ApsaradbMemcache"
},
{
"const": "alibabacloud.database.ApsaradbMongodb"
},
{
"const": "alibabacloud.database.ApsaradbOceanbase"
},
{
"const": "alibabacloud.database.ApsaradbPolardb"
},
{
"const": "alibabacloud.database.ApsaradbPostgresql"
},
{
"const": "alibabacloud.database.ApsaradbPpas"
},
{
"const": "alibabacloud.database.ApsaradbRedis"
},
{
"const": "alibabacloud.database.ApsaradbSqlserver"
},
{
"const": "alibabacloud.database.DataManagementService"
},
{
"const": "alibabacloud.database.DMS"
},
{
"const": "alibabacloud.database.DataTransmissionService"
},
{
"const": "alibabacloud.database.DTS"
},
{
"const": "alibabacloud.database.DatabaseBackupService"
},
{
"const": "alibabacloud.database.DBS"
},
{
"const": "alibabacloud.database.DisributeRelationalDatabaseService"
},
{
"const": "alibabacloud.database.DRDS"
},
{
"const": "alibabacloud.database.GraphDatabaseService"
},
{
"const": "alibabacloud.database.GDS"
},
{
"const": "alibabacloud.database.HybriddbForMysql"
},
{
"const": "alibabacloud.database.RelationalDatabaseService"
},
{
"const": "alibabacloud.database.RDS"
},
{
"const": "alibabacloud.iot.IotInternetDeviceId"
},
{
"const": "alibabacloud.iot.IotLinkWan"
},
{
"const": "alibabacloud.iot.IotMobileConnectionPackage"
},
{
"const": "alibabacloud.iot.IotPlatform"
},
{
"const": "alibabacloud.network.Cdn"
},
{
"const": "alibabacloud.network.CloudEnterpriseNetwork"
},
{
"const": "alibabacloud.network.CEN"
},
{
"const": "alibabacloud.network.ElasticIpAddress"
},
{
"const": "alibabacloud.network.EIP"
},
{
"const": "alibabacloud.network.ExpressConnect"
},
{
"const": "alibabacloud.network.NatGateway"
},
{
"const": "alibabacloud.network.ServerLoadBalancer"
},
{
"const": "alibabacloud.network.SLB"
},
{
"const": "alibabacloud.network.SmartAccessGateway"
},
{
"const": "alibabacloud.network.VirtualPrivateCloud"
},
{
"const": "alibabacloud.network.VPC"
},
{
"const": "alibabacloud.network.VpnGateway"
},
{
"const": "alibabacloud.security.AntiBotService"
},
{
"const": "alibabacloud.security.ABS"
},
{
"const": "alibabacloud.security.AntiDdosBasic"
},
{
"const": "alibabacloud.security.AntiDdosPro"
},
{
"const": "alibabacloud.security.AntifraudService"
},
{
"const": "alibabacloud.security.AS"
},
{
"const": "alibabacloud.security.BastionHost"
},
{
"const": "alibabacloud.security.CloudFirewall"
},
{
"const": "alibabacloud.security.CFW"
},
{
"const": "alibabacloud.security.CloudSecurityScanner"
},
{
"const": "alibabacloud.security.ContentModeration"
},
{
"const": "alibabacloud.security.CM"
},
{
"const": "alibabacloud.security.CrowdsourcedSecurityTesting"
},
{
"const": "alibabacloud.security.DataEncryptionService"
},
{
"const": "alibabacloud.security.DES"
},
{
"const": "alibabacloud.security.DbAudit"
},
{
"const": "alibabacloud.security.GameShield"
},
{
"const": "alibabacloud.security.IdVerification"
},
{
"const": "alibabacloud.security.ManagedSecurityService"
},
{
"const": "alibabacloud.security.SecurityCenter"
},
{
"const": "alibabacloud.security.ServerGuard"
},
{
"const": "alibabacloud.security.SslCertificates"
},
{
"const": "alibabacloud.security.WebApplicationFirewall"
},
{
"const": "alibabacloud.security.WAF"
},
{
"const": "alibabacloud.storage.CloudStorageGateway"
},
{
"const": "alibabacloud.storage.FileStorageHdfs"
},
{
"const": "alibabacloud.storage.HDFS"
},
{
"const": "alibabacloud.storage.FileStorageNas"
},
{
"const": "alibabacloud.storage.NAS"
},
{
"const": "alibabacloud.storage.HybridBackupRecovery"
},
{
"const": "alibabacloud.storage.HBR"
},
{
"const": "alibabacloud.storage.HybridCloudDisasterRecovery"
},
{
"const": "alibabacloud.storage.HDR"
},
{
"const": "alibabacloud.storage.Imm"
},
{
"const": "alibabacloud.storage.ObjectStorageService"
},
{
"const": "alibabacloud.storage.OSS"
},
{
"const": "alibabacloud.storage.ObjectTableStore"
},
{
"const": "alibabacloud.storage.OTS"
},
{
"const": "alibabacloud.web.Dns"
},
{
"const": "alibabacloud.web.Domain"
},
{
"const": "aws.analytics.Analytics"
},
{
"const": "aws.analytics.Athena"
},
{
"const": "aws.analytics.CloudsearchSearchDocuments"
},
{
"const": "aws.analytics.Cloudsearch"
},
{
"const": "aws.analytics.DataLakeResource"
},
{
"const": "aws.analytics.DataPipeline"
},
{
"const": "aws.analytics.ElasticsearchService"
},
{
"const": "aws.analytics.ES"
},
{
"const": "aws.analytics.EMRCluster"
},
{
"const": "aws.analytics.EMREngineMaprM3"
},
{
"const": "aws.analytics.EMREngineMaprM5"
},
{
"const": "aws.analytics.EMREngineMaprM7"
},
{
"const": "aws.analytics.EMREngine"
},
{
"const": "aws.analytics.EMRHdfsCluster"
},
{
"const": "aws.analytics.EMR"
},
{
"const": "aws.analytics.GlueCrawlers"
},
{
"const": "aws.analytics.GlueDataCatalog"
},
{
"const": "aws.analytics.Glue"
},
{
"const": "aws.analytics.KinesisDataAnalytics"
},
{
"const": "aws.analytics.KinesisDataFirehose"
},
{
"const": "aws.analytics.KinesisDataStreams"
},
{
"const": "aws.analytics.KinesisVideoStreams"
},
{
"const": "aws.analytics.Kinesis"
},
{
"const": "aws.analytics.LakeFormation"
},
{
"const": "aws.analytics.ManagedStreamingForKafka"
},
{
"const": "aws.analytics.Quicksight"
},
{
"const": "aws.analytics.RedshiftDenseComputeNode"
},
{
"const": "aws.analytics.RedshiftDenseStorageNode"
},
{
"const": "aws.analytics.Redshift"
},
{
"const": "aws.ar.ArVr"
},
{
"const": "aws.ar.Sumerian"
},
{
"const": "aws.blockchain.BlockchainResource"
},
{
"const": "aws.blockchain.Blockchain"
},
{
"const": "aws.blockchain.ManagedBlockchain"
},
{
"const": "aws.blockchain.QuantumLedgerDatabaseQldb"
},
{
"const": "aws.blockchain.QLDB"
},
{
"const": "aws.business.AlexaForBusiness"
},
{
"const": "aws.business.A4B"
},
{
"const": "aws.business.BusinessApplications"
},
{
"const": "aws.business.Chime"
},
{
"const": "aws.business.Workmail"
},
{
"const": "aws.compute.AppRunner"
},
{
"const": "aws.compute.ApplicationAutoScaling"
},
{
"const": "aws.compute.AutoScaling"
},
{
"const": "aws.compute.Batch"
},
{
"const": "aws.compute.ComputeOptimizer"
},
{
"const": "aws.compute.Compute"
},
{
"const": "aws.compute.EC2Ami"
},
{
"const": "aws.compute.AMI"
},
{
"const": "aws.compute.EC2AutoScaling"
},
{
"const": "aws.compute.EC2ContainerRegistryImage"
},
{
"const": "aws.compute.EC2ContainerRegistryRegistry"
},
{
"const": "aws.compute.EC2ContainerRegistry"
},
{
"const": "aws.compute.ECR"
},
{
"const": "aws.compute.EC2ElasticIpAddress"
},
{
"const": "aws.compute.EC2ImageBuilder"
},
{
"const": "aws.compute.EC2Instance"
},
{
"const": "aws.compute.EC2Instances"
},
{
"const": "aws.compute.EC2Rescue"
},
{
"const": "aws.compute.EC2SpotInstance"
},
{
"const": "aws.compute.EC2"
},
{
"const": "aws.compute.ElasticBeanstalkApplication"
},
{
"const": "aws.compute.ElasticBeanstalkDeployment"
},
{
"const": "aws.compute.ElasticBeanstalk"
},
{
"const": "aws.compute.EB"
},
{
"const": "aws.compute.ElasticContainerServiceContainer"
},
{
"const": "aws.compute.ElasticContainerServiceService"
},
{
"const": "aws.compute.ElasticContainerService"
},
{
"const": "aws.compute.ECS"
},
{
"const": "aws.compute.ElasticKubernetesService"
},
{
"const": "aws.compute.EKS"
},
{
"const": "aws.compute.Fargate"
},
{
"const": "aws.compute.LambdaFunction"
},
{
"const": "aws.compute.Lambda"
},
{
"const": "aws.compute.Lightsail"
},
{
"const": "aws.compute.LocalZones"
},
{
"const": "aws.compute.Outposts"
},
{
"const": "aws.compute.ServerlessApplicationRepository"
},
{
"const": "aws.compute.SAR"
},
{
"const": "aws.compute.ThinkboxDeadline"
},
{
"const": "aws.compute.ThinkboxDraft"
},
{
"const": "aws.compute.ThinkboxFrost"
},
{
"const": "aws.compute.ThinkboxKrakatoa"
},
{
"const": "aws.compute.ThinkboxSequoia"
},
{
"const": "aws.compute.ThinkboxStoke"
},
{
"const": "aws.compute.ThinkboxXmesh"
},
{
"const": "aws.compute.VmwareCloudOnAWS"
},
{
"const": "aws.compute.Wavelength"
},
{
"const": "aws.cost.Budgets"
},
{
"const": "aws.cost.CostAndUsageReport"
},
{
"const": "aws.cost.CostExplorer"
},
{
"const": "aws.cost.CostManagement"
},
{
"const": "aws.cost.ReservedInstanceReporting"
},
{
"const": "aws.cost.SavingsPlans"
},
{
"const": "aws.database.AuroraInstance"
},
{
"const": "aws.database.Aurora"
},
{
"const": "aws.database.DatabaseMigrationServiceDatabaseMigrationWorkflow"
},
{
"const": "aws.database.DatabaseMigrationService"
},
{
"const": "aws.database.DMS"
},
{
"const": "aws.database.Database"
},
{
"const": "aws.database.DB"
},
{
"const": "aws.database.DocumentdbMongodbCompatibility"
},
{
"const": "aws.database.DocumentDB"
},
{
"const": "aws.database.DynamodbAttribute"
},
{
"const": "aws.database.DynamodbAttributes"
},
{
"const": "aws.database.DynamodbDax"
},
{
"const": "aws.database.DAX"
},
{
"const": "aws.database.DynamodbGlobalSecondaryIndex"
},
{
"const": "aws.database.DynamodbGSI"
},
{
"const": "aws.database.DynamodbItem"
},
{
"const": "aws.database.DynamodbItems"
},
{
"const": "aws.database.DynamodbTable"
},
{
"const": "aws.database.Dynamodb"
},
{
"const": "aws.database.DDB"
},
{
"const": "aws.database.ElasticacheCacheNode"
},
{
"const": "aws.database.ElasticacheForMemcached"
},
{
"const": "aws.database.ElasticacheForRedis"
},
{
"const": "aws.database.Elasticache"
},
{
"const": "aws.database.ElastiCache"
},
{
"const": "aws.database.KeyspacesManagedApacheCassandraService"
},
{
"const": "aws.database.Neptune"
},
{
"const": "aws.database.QuantumLedgerDatabaseQldb"
},
{
"const": "aws.database.QLDB"
},
{
"const": "aws.database.RDSInstance"
},
{
"const": "aws.database.RDSMariadbInstance"
},
{
"const": "aws.database.RDSMysqlInstance"
},
{
"const": "aws.database.RDSOnVmware"
},
{
"const": "aws.database.RDSOracleInstance"
},
{
"const": "aws.database.RDSPostgresqlInstance"
},
{
"const": "aws.database.RDSSqlServerInstance"
},
{
"const": "aws.database.RDS"
},
{
"const": "aws.database.RedshiftDenseComputeNode"
},
{
"const": "aws.database.RedshiftDenseStorageNode"
},
{
"const": "aws.database.Redshift"
},
{
"const": "aws.database.Timestream"
},
{
"const": "aws.devtools.CloudDevelopmentKit"
},
{
"const": "aws.devtools.Cloud9Resource"
},
{
"const": "aws.devtools.Cloud9"
},
{
"const": "aws.devtools.Codebuild"
},
{
"const": "aws.devtools.Codecommit"
},
{
"const": "aws.devtools.Codedeploy"
},
{
"const": "aws.devtools.Codepipeline"
},
{
"const": "aws.devtools.Codestar"
},
{
"const": "aws.devtools.CommandLineInterface"
},
{
"const": "aws.devtools.CLI"
},
{
"const": "aws.devtools.DeveloperTools"
},
{
"const": "aws.devtools.DevTools"
},
{
"const": "aws.devtools.ToolsAndSdks"
},
{
"const": "aws.devtools.XRay"
},
{
"const": "aws.enablement.CustomerEnablement"
},
{
"const": "aws.enablement.Iq"
},
{
"const": "aws.enablement.ManagedServices"
},
{
"const": "aws.enablement.ProfessionalServices"
},
{
"const": "aws.enablement.Support"
},
{
"const": "aws.enduser.Appstream20"
},
{
"const": "aws.enduser.DesktopAndAppStreaming"
},
{
"const": "aws.enduser.Workdocs"
},
{
"const": "aws.enduser.Worklink"
},
{
"const": "aws.enduser.Workspaces"
},
{
"const": "aws.engagement.Connect"
},
{
"const": "aws.engagement.CustomerEngagement"
},
{
"const": "aws.engagement.Pinpoint"
},
{
"const": "aws.engagement.SimpleEmailServiceSesEmail"
},
{
"const": "aws.engagement.SimpleEmailServiceSes"
},
{
"const": "aws.engagement.SES"
},
{
"const": "aws.game.GameTech"
},
{
"const": "aws.game.Gamelift"
},
{
"const": "aws.general.Client"
},
{
"const": "aws.general.Disk"
},
{
"const": "aws.general.Forums"
},
{
"const": "aws.general.General"
},
{
"const": "aws.general.GenericDatabase"
},
{
"const": "aws.general.GenericFirewall"
},
{
"const": "aws.general.GenericOfficeBuilding"
},
{
"const": "aws.general.OfficeBuilding"
},
{
"const": "aws.general.GenericSamlToken"
},
{
"const": "aws.general.GenericSDK"
},
{
"const": "aws.general.InternetAlt1"
},
{
"const": "aws.general.InternetAlt2"
},
{
"const": "aws.general.InternetGateway"
},
{
"const": "aws.general.Marketplace"
},
{
"const": "aws.general.MobileClient"
},
{
"const": "aws.general.Multimedia"
},
{
"const": "aws.general.OfficeBuilding"
},
{
"const": "aws.general.SamlToken"
},
{
"const": "aws.general.SDK"
},
{
"const": "aws.general.SslPadlock"
},
{
"const": "aws.general.TapeStorage"
},
{
"const": "aws.general.Toolkit"
},
{
"const": "aws.general.TraditionalServer"
},
{
"const": "aws.general.User"
},
{
"const": "aws.general.Users"
},
{
"const": "aws.integration.ApplicationIntegration"
},
{
"const": "aws.integration.Appsync"
},
{
"const": "aws.integration.ConsoleMobileApplication"
},
{
"const": "aws.integration.EventResource"
},
{
"const": "aws.integration.EventbridgeCustomEventBusResource"
},
{
"const": "aws.integration.EventbridgeDefaultEventBusResource"
},
{
"const": "aws.integration.EventbridgeSaasPartnerEventBusResource"
},
{
"const": "aws.integration.Eventbridge"
},
{
"const": "aws.integration.ExpressWorkflows"
},
{
"const": "aws.integration.MQ"
},
{
"const": "aws.integration.SimpleNotificationServiceSnsEmailNotification"
},
{
"const": "aws.integration.SimpleNotificationServiceSnsHttpNotification"
},
{
"const": "aws.integration.SimpleNotificationServiceSnsTopic"
},
{
"const": "aws.integration.SimpleNotificationServiceSns"
},
{
"const": "aws.integration.SNS"
},
{
"const": "aws.integration.SimpleQueueServiceSqsMessage"
},
{
"const": "aws.integration.SimpleQueueServiceSqsQueue"
},
{
"const": "aws.integration.SimpleQueueServiceSqs"
},
{
"const": "aws.integration.SQS"
},
{
"const": "aws.integration.StepFunctions"
},
{
"const": "aws.integration.SF"
},
{
"const": "aws.iot.Freertos"
},
{
"const": "aws.iot.FreeRTOS"
},
{
"const": "aws.iot.InternetOfThings"
},
{
"const": "aws.iot.Iot1Click"
},
{
"const": "aws.iot.IotAction"
},
{
"const": "aws.iot.IotActuator"
},
{
"const": "aws.iot.IotAlexaEcho"
},
{
"const": "aws.iot.IotAlexaEnabledDevice"
},
{
"const": "aws.iot.IotAlexaSkill"
},
{
"const": "aws.iot.IotAlexaVoiceService"
},
{
"const": "aws.iot.IotAnalyticsChannel"
},
{
"const": "aws.iot.IotAnalyticsDataSet"
},
{
"const": "aws.iot.IotAnalyticsDataStore"
},
{
"const": "aws.iot.IotAnalyticsNotebook"
},
{
"const": "aws.iot.IotAnalyticsPipeline"
},
{
"const": "aws.iot.IotAnalytics"
},
{
"const": "aws.iot.IotBank"
},
{
"const": "aws.iot.IotBicycle"
},
{
"const": "aws.iot.IotButton"
},
{
"const": "aws.iot.IotCamera"
},
{
"const": "aws.iot.IotCar"
},
{
"const": "aws.iot.IotCart"
},
{
"const": "aws.iot.IotCertificate"
},
{
"const": "aws.iot.IotCoffeePot"
},
{
"const": "aws.iot.IotCore"
},
{
"const": "aws.iot.IotDesiredState"
},
{
"const": "aws.iot.IotDeviceDefender"
},
{
"const": "aws.iot.IotDeviceGateway"
},
{
"const": "aws.iot.IotDeviceManagement"
},
{
"const": "aws.iot.IotDoorLock"
},
{
"const": "aws.iot.IotEvents"
},
{
"const": "aws.iot.IotFactory"
},
{
"const": "aws.iot.IotFireTvStick"
},
{
"const": "aws.iot.IotFireTv"
},
{
"const": "aws.iot.IotGeneric"
},
{
"const": "aws.iot.IotGreengrassConnector"
},
{
"const": "aws.iot.IotGreengrass"
},
{
"const": "aws.iot.IotHardwareBoard"
},
{
"const": "aws.iot.IotBoard"
},
{
"const": "aws.iot.IotHouse"
},
{
"const": "aws.iot.IotHttp"
},
{
"const": "aws.iot.IotHttp2"
},
{
"const": "aws.iot.IotJobs"
},
{
"const": "aws.iot.IotLambda"
},
{
"const": "aws.iot.IotLightbulb"
},
{
"const": "aws.iot.IotMedicalEmergency"
},
{
"const": "aws.iot.IotMqtt"
},
{
"const": "aws.iot.IotOverTheAirUpdate"
},
{
"const": "aws.iot.IotPolicyEmergency"
},
{
"const": "aws.iot.IotPolicy"
},
{
"const": "aws.iot.IotReportedState"
},
{
"const": "aws.iot.IotRule"
},
{
"const": "aws.iot.IotSensor"
},
{
"const": "aws.iot.IotServo"
},
{
"const": "aws.iot.IotShadow"
},
{
"const": "aws.iot.IotSimulator"
},
{
"const": "aws.iot.IotSitewise"
},
{
"const": "aws.iot.IotThermostat"
},
{
"const": "aws.iot.IotThingsGraph"
},
{
"const": "aws.iot.IotTopic"
},
{
"const": "aws.iot.IotTravel"
},
{
"const": "aws.iot.IotUtility"
},
{
"const": "aws.iot.IotWindfarm"
},
{
"const": "aws.management.AutoScaling"
},
{
"const": "aws.management.Chatbot"
},
{
"const": "aws.management.CloudformationChangeSet"
},
{
"const": "aws.management.CloudformationStack"
},
{
"const": "aws.management.CloudformationTemplate"
},
{
"const": "aws.management.Cloudformation"
},
{
"const": "aws.management.Cloudtrail"
},
{
"const": "aws.management.CloudwatchAlarm"
},
{
"const": "aws.management.CloudwatchEventEventBased"
},
{
"const": "aws.management.CloudwatchEventTimeBased"
},
{
"const": "aws.management.CloudwatchRule"
},
{
"const": "aws.management.Cloudwatch"
},
{
"const": "aws.management.Codeguru"
},
{
"const": "aws.management.CommandLineInterface"
},
{
"const": "aws.management.Config"
},
{
"const": "aws.management.ControlTower"
},
{
"const": "aws.management.LicenseManager"
},
{
"const": "aws.management.ManagedServices"
},
{
"const": "aws.management.ManagementAndGovernance"
},
{
"const": "aws.management.ManagementConsole"
},
{
"const": "aws.management.OpsworksApps"
},
{
"const": "aws.management.OpsworksDeployments"
},
{
"const": "aws.management.OpsworksInstances"
},
{
"const": "aws.management.OpsworksLayers"
},
{
"const": "aws.management.OpsworksMonitoring"
},
{
"const": "aws.management.OpsworksPermissions"
},
{
"const": "aws.management.OpsworksResources"
},
{
"const": "aws.management.OpsworksStack"
},
{
"const": "aws.management.Opsworks"
},
{
"const": "aws.management.OrganizationsAccount"
},
{
"const": "aws.management.OrganizationsOrganizationalUnit"
},
{
"const": "aws.management.Organizations"
},
{
"const": "aws.management.PersonalHealthDashboard"
},
{
"const": "aws.management.ServiceCatalog"
},
{
"const": "aws.management.SystemsManagerAutomation"
},
{
"const": "aws.management.SystemsManagerDocuments"
},
{
"const": "aws.management.SystemsManagerInventory"
},
{
"const": "aws.management.SystemsManagerMaintenanceWindows"
},
{
"const": "aws.management.SystemsManagerOpscenter"
},
{
"const": "aws.management.SystemsManagerParameterStore"
},
{
"const": "aws.management.ParameterStore"
},
{
"const": "aws.management.SystemsManagerPatchManager"
},
{
"const": "aws.management.SystemsManagerRunCommand"
},
{
"const": "aws.management.SystemsManagerStateManager"
},
{
"const": "aws.management.SystemsManager"
},
{
"const": "aws.management.SSM"
},
{
"const": "aws.management.TrustedAdvisorChecklistCost"
},
{
"const": "aws.management.TrustedAdvisorChecklistFaultTolerant"
},
{
"const": "aws.management.TrustedAdvisorChecklistPerformance"
},
{
"const": "aws.management.TrustedAdvisorChecklistSecurity"
},
{
"const": "aws.management.TrustedAdvisorChecklist"
},
{
"const": "aws.management.TrustedAdvisor"
},
{
"const": "aws.management.WellArchitectedTool"
},
{
"const": "aws.media.ElasticTranscoder"
},
{
"const": "aws.media.ElementalConductor"
},
{
"const": "aws.media.ElementalDelta"
},
{
"const": "aws.media.ElementalLive"
},
{
"const": "aws.media.ElementalMediaconnect"
},
{
"const": "aws.media.ElementalMediaconvert"
},
{
"const": "aws.media.ElementalMedialive"
},
{
"const": "aws.media.ElementalMediapackage"
},
{
"const": "aws.media.ElementalMediastore"
},
{
"const": "aws.media.ElementalMediatailor"
},
{
"const": "aws.media.ElementalServer"
},
{
"const": "aws.media.KinesisVideoStreams"
},
{
"const": "aws.media.MediaServices"
},
{
"const": "aws.migration.ApplicationDiscoveryService"
},
{
"const": "aws.migration.ADS"
},
{
"const": "aws.migration.CloudendureMigration"
},
{
"const": "aws.migration.CEM"
},
{
"const": "aws.migration.DatabaseMigrationService"
},
{
"const": "aws.migration.DMS"
},
{
"const": "aws.migration.DatasyncAgent"
},
{
"const": "aws.migration.Datasync"
},
{
"const": "aws.migration.MigrationAndTransfer"
},
{
"const": "aws.migration.MAT"
},
{
"const": "aws.migration.MigrationHub"
},
{
"const": "aws.migration.ServerMigrationService"
},
{
"const": "aws.migration.SMS"
},
{
"const": "aws.migration.SnowballEdge"
},
{
"const": "aws.migration.Snowball"
},
{
"const": "aws.migration.Snowmobile"
},
{
"const": "aws.migration.TransferForSftp"
},
{
"const": "aws.ml.ApacheMxnetOnAWS"
},
{
"const": "aws.ml.AugmentedAi"
},
{
"const": "aws.ml.Comprehend"
},
{
"const": "aws.ml.DeepLearningAmis"
},
{
"const": "aws.ml.DeepLearningContainers"
},
{
"const": "aws.ml.DLC"
},
{
"const": "aws.ml.Deepcomposer"
},
{
"const": "aws.ml.Deeplens"
},
{
"const": "aws.ml.Deepracer"
},
{
"const": "aws.ml.ElasticInference"
},
{
"const": "aws.ml.Forecast"
},
{
"const": "aws.ml.FraudDetector"
},
{
"const": "aws.ml.Kendra"
},
{
"const": "aws.ml.Lex"
},
{
"const": "aws.ml.MachineLearning"
},
{
"const": "aws.ml.Personalize"
},
{
"const": "aws.ml.Polly"
},
{
"const": "aws.ml.RekognitionImage"
},
{
"const": "aws.ml.RekognitionVideo"
},
{
"const": "aws.ml.Rekognition"
},
{
"const": "aws.ml.SagemakerGroundTruth"
},
{
"const": "aws.ml.SagemakerModel"
},
{
"const": "aws.ml.SagemakerNotebook"
},
{
"const": "aws.ml.SagemakerTrainingJob"
},
{
"const": "aws.ml.Sagemaker"
},
{
"const": "aws.ml.TensorflowOnAWS"
},
{
"const": "aws.ml.Textract"
},
{
"const": "aws.ml.Transcribe"
},
{
"const": "aws.ml.Translate"
},
{
"const": "aws.mobile.Amplify"
},
{
"const": "aws.mobile.APIGatewayEndpoint"
},
{
"const": "aws.mobile.APIGateway"
},
{
"const": "aws.mobile.Appsync"
},
{
"const": "aws.mobile.DeviceFarm"
},
{
"const": "aws.mobile.Mobile"
},
{
"const": "aws.mobile.Pinpoint"
},
{
"const": "aws.network.APIGatewayEndpoint"
},
{
"const": "aws.network.APIGateway"
},
{
"const": "aws.network.AppMesh"
},
{
"const": "aws.network.ClientVpn"
},
{
"const": "aws.network.CloudMap"
},
{
"const": "aws.network.CloudFrontDownloadDistribution"
},
{
"const": "aws.network.CloudFrontEdgeLocation"
},
{
"const": "aws.network.CloudFrontStreamingDistribution"
},
{
"const": "aws.network.CloudFront"
},
{
"const": "aws.network.CF"
},
{
"const": "aws.network.DirectConnect"
},
{
"const": "aws.network.ElasticLoadBalancing"
},
{
"const": "aws.network.ELB"
},
{
"const": "aws.network.ElbApplicationLoadBalancer"
},
{
"const": "aws.network.ALB"
},
{
"const": "aws.network.ElbClassicLoadBalancer"
},
{
"const": "aws.network.CLB"
},
{
"const": "aws.network.ElbNetworkLoadBalancer"
},
{
"const": "aws.network.NLB"
},
{
"const": "aws.network.Endpoint"
},
{
"const": "aws.network.GlobalAccelerator"
},
{
"const": "aws.network.GAX"
},
{
"const": "aws.network.InternetGateway"
},
{
"const": "aws.network.Nacl"
},
{
"const": "aws.network.NATGateway"
},
{
"const": "aws.network.NetworkingAndContentDelivery"
},
{
"const": "aws.network.PrivateSubnet"
},
{
"const": "aws.network.Privatelink"
},
{
"const": "aws.network.PublicSubnet"
},
{
"const": "aws.network.Route53HostedZone"
},
{
"const": "aws.network.Route53"
},
{
"const": "aws.network.RouteTable"
},
{
"const": "aws.network.SiteToSiteVpn"
},
{
"const": "aws.network.TransitGateway"
},
{
"const": "aws.network.VPCCustomerGateway"
},
{
"const": "aws.network.VPCElasticNetworkAdapter"
},
{
"const": "aws.network.VPCElasticNetworkInterface"
},
{
"const": "aws.network.VPCFlowLogs"
},
{
"const": "aws.network.VPCPeering"
},
{
"const": "aws.network.VPCRouter"
},
{
"const": "aws.network.VPCTrafficMirroring"
},
{
"const": "aws.network.VPC"
},
{
"const": "aws.network.VpnConnection"
},
{
"const": "aws.network.VpnGateway"
},
{
"const": "aws.quantum.Braket"
},
{
"const": "aws.quantum.QuantumTechnologies"
},
{
"const": "aws.robotics.RobomakerCloudExtensionRos"
},
{
"const": "aws.robotics.RobomakerDevelopmentEnvironment"
},
{
"const": "aws.robotics.RobomakerFleetManagement"
},
{
"const": "aws.robotics.RobomakerSimulator"
},
{
"const": "aws.robotics.Robomaker"
},
{
"const": "aws.robotics.Robotics"
},
{
"const": "aws.satellite.GroundStation"
},
{
"const": "aws.satellite.Satellite"
},
{
"const": "aws.security.AdConnector"
},
{
"const": "aws.security.Artifact"
},
{
"const": "aws.security.CertificateAuthority"
},
{
"const": "aws.security.CertificateManager"
},
{
"const": "aws.security.ACM"
},
{
"const": "aws.security.CloudDirectory"
},
{
"const": "aws.security.Cloudhsm"
},
{
"const": "aws.security.CloudHSM"
},
{
"const": "aws.security.Cognito"
},
{
"const": "aws.security.Detective"
},
{
"const": "aws.security.DirectoryService"
},
{
"const": "aws.security.DS"
},
{
"const": "aws.security.FirewallManager"
},
{
"const": "aws.security.FMS"
},
{
"const": "aws.security.Guardduty"
},
{
"const": "aws.security.IdentityAndAccessManagementIamAccessAnalyzer"
},
{
"const": "aws.security.IAMAccessAnalyzer"
},
{
"const": "aws.security.IdentityAndAccessManagementIamAddOn"
},
{
"const": "aws.security.IdentityAndAccessManagementIamAWSStsAlternate"
},
{
"const": "aws.security.IdentityAndAccessManagementIamAWSSts"
},
{
"const": "aws.security.IAMAWSSts"
},
{
"const": "aws.security.IdentityAndAccessManagementIamDataEncryptionKey"
},
{
"const": "aws.security.IdentityAndAccessManagementIamEncryptedData"
},
{
"const": "aws.security.IdentityAndAccessManagementIamLongTermSecurityCredential"
},
{
"const": "aws.security.IdentityAndAccessManagementIamMfaToken"
},
{
"const": "aws.security.IdentityAndAccessManagementIamPermissions"
},
{
"const": "aws.security.IAMPermissions"
},
{
"const": "aws.security.IdentityAndAccessManagementIamRole"
},
{
"const": "aws.security.IAMRole"
},
{
"const": "aws.security.IdentityAndAccessManagementIamTemporarySecurityCredential"
},
{
"const": "aws.security.IdentityAndAccessManagementIam"
},
{
"const": "aws.security.IAM"
},
{
"const": "aws.security.InspectorAgent"
},
{
"const": "aws.security.Inspector"
},
{
"const": "aws.security.KeyManagementService"
},
{
"const": "aws.security.KMS"
},
{
"const": "aws.security.Macie"
},
{
"const": "aws.security.ManagedMicrosoftAd"
},
{
"const": "aws.security.ResourceAccessManager"
},
{
"const": "aws.security.RAM"
},
{
"const": "aws.security.SecretsManager"
},
{
"const": "aws.security.SecurityHubFinding"
},
{
"const": "aws.security.SecurityHub"
},
{
"const": "aws.security.SecurityIdentityAndCompliance"
},
{
"const": "aws.security.ShieldAdvanced"
},
{
"const": "aws.security.Shield"
},
{
"const": "aws.security.SimpleAd"
},
{
"const": "aws.security.SingleSignOn"
},
{
"const": "aws.security.WAFFilteringRule"
},
{
"const": "aws.security.WAF"
},
{
"const": "aws.storage.Backup"
},
{
"const": "aws.storage.CloudendureDisasterRecovery"
},
{
"const": "aws.storage.CDR"
},
{
"const": "aws.storage.EFSInfrequentaccessPrimaryBg"
},
{
"const": "aws.storage.EFSStandardPrimaryBg"
},
{
"const": "aws.storage.ElasticBlockStoreEBSSnapshot"
},
{
"const": "aws.storage.ElasticBlockStoreEBSVolume"
},
{
"const": "aws.storage.ElasticBlockStoreEBS"
},
{
"const": "aws.storage.EBS"
},
{
"const": "aws.storage.ElasticFileSystemEFSFileSystem"
},
{
"const": "aws.storage.ElasticFileSystemEFS"
},
{
"const": "aws.storage.EFS"
},
{
"const": "aws.storage.FsxForLustre"
},
{
"const": "aws.storage.FsxForWindowsFileServer"
},
{
"const": "aws.storage.Fsx"
},
{
"const": "aws.storage.FSx"
},
{
"const": "aws.storage.MultipleVolumesResource"
},
{
"const": "aws.storage.S3GlacierArchive"
},
{
"const": "aws.storage.S3GlacierVault"
},
{
"const": "aws.storage.S3Glacier"
},
{
"const": "aws.storage.SimpleStorageServiceS3BucketWithObjects"
},
{
"const": "aws.storage.SimpleStorageServiceS3Bucket"
},
{
"const": "aws.storage.SimpleStorageServiceS3Object"
},
{
"const": "aws.storage.SimpleStorageServiceS3"
},
{
"const": "aws.storage.S3"
},
{
"const": "aws.storage.SnowFamilySnowballImportExport"
},
{
"const": "aws.storage.SnowballEdge"
},
{
"const": "aws.storage.Snowball"
},
{
"const": "aws.storage.Snowmobile"
},
{
"const": "aws.storage.StorageGatewayCachedVolume"
},
{
"const": "aws.storage.StorageGatewayNonCachedVolume"
},
{
"const": "aws.storage.StorageGatewayVirtualTapeLibrary"
},
{
"const": "aws.storage.StorageGateway"
},
{
"const": "aws.storage.Storage"
},
{
"const": "azure.analytics.AnalysisServices"
},
{
"const": "azure.analytics.DataExplorerClusters"
},
{
"const": "azure.analytics.DataFactories"
},
{
"const": "azure.analytics.DataLakeAnalytics"
},
{
"const": "azure.analytics.DataLakeStoreGen1"
},
{
"const": "azure.analytics.Databricks"
},
{
"const": "azure.analytics.EventHubClusters"
},
{
"const": "azure.analytics.EventHubs"
},
{
"const": "azure.analytics.Hdinsightclusters"
},
{
"const": "azure.analytics.LogAnalyticsWorkspaces"
},
{
"const": "azure.analytics.StreamAnalyticsJobs"
},
{
"const": "azure.analytics.SynapseAnalytics"
},
{
"const": "azure.compute.AppServices"
},
{
"const": "azure.compute.AutomanagedVM"
},
{
"const": "azure.compute.AvailabilitySets"
},
{
"const": "azure.compute.BatchAccounts"
},
{
"const": "azure.compute.CitrixVirtualDesktopsEssentials"
},
{
"const": "azure.compute.CloudServicesClassic"
},
{
"const": "azure.compute.CloudServices"
},
{
"const": "azure.compute.CloudsimpleVirtualMachines"
},
{
"const": "azure.compute.ContainerInstances"
},
{
"const": "azure.compute.ContainerRegistries**, **ACR"
},
{
"const": "azure.compute.ACR"
},
{
"const": "azure.compute.DiskEncryptionSets"
},
{
"const": "azure.compute.DiskSnapshots"
},
{
"const": "azure.compute.Disks"
},
{
"const": "azure.compute.FunctionApps"
},
{
"const": "azure.compute.ImageDefinitions"
},
{
"const": "azure.compute.ImageVersions"
},
{
"const": "azure.compute.KubernetesServices"
},
{
"const": "azure.compute.AKS"
},
{
"const": "azure.compute.MeshApplications"
},
{
"const": "azure.compute.OsImages"
},
{
"const": "azure.compute.SAPHANAOnAzure"
},
{
"const": "azure.compute.ServiceFabricClusters"
},
{
"const": "azure.compute.SharedImageGalleries"
},
{
"const": "azure.compute.SpringCloud"
},
{
"const": "azure.compute.VMClassic"
},
{
"const": "azure.compute.VMImages"
},
{
"const": "azure.compute.VMLinux"
},
{
"const": "azure.compute.VMScaleSet"
},
{
"const": "azure.compute.VMSS"
},
{
"const": "azure.compute.VMWindows"
},
{
"const": "azure.compute.VM"
},
{
"const": "azure.compute.Workspaces"
},
{
"const": "azure.database.BlobStorage"
},
{
"const": "azure.database.CacheForRedis"
},
{
"const": "azure.database.CosmosDb"
},
{
"const": "azure.database.DataExplorerClusters"
},
{
"const": "azure.database.DataFactory"
},
{
"const": "azure.database.DataLake"
},
{
"const": "azure.database.DatabaseForMariadbServers"
},
{
"const": "azure.database.DatabaseForMysqlServers"
},
{
"const": "azure.database.DatabaseForPostgresqlServers"
},
{
"const": "azure.database.ElasticDatabasePools"
},
{
"const": "azure.database.ElasticJobAgents"
},
{
"const": "azure.database.InstancePools"
},
{
"const": "azure.database.ManagedDatabases"
},
{
"const": "azure.database.SQLDatabases"
},
{
"const": "azure.database.SQLDatawarehouse"
},
{
"const": "azure.database.SQLManagedInstances"
},
{
"const": "azure.database.SQLServerStretchDatabases"
},
{
"const": "azure.database.SQLServers"
},
{
"const": "azure.database.SQLVM"
},
{
"const": "azure.database.SQL"
},
{
"const": "azure.database.SsisLiftAndShiftIr"
},
{
"const": "azure.database.SynapseAnalytics"
},
{
"const": "azure.database.VirtualClusters"
},
{
"const": "azure.database.VirtualDatacenter"
},
{
"const": "azure.devops.ApplicationInsights"
},
{
"const": "azure.devops.Artifacts"
},
{
"const": "azure.devops.Boards"
},
{
"const": "azure.devops.Devops"
},
{
"const": "azure.devops.DevtestLabs"
},
{
"const": "azure.devops.LabServices"
},
{
"const": "azure.devops.Pipelines"
},
{
"const": "azure.devops.Repos"
},
{
"const": "azure.devops.TestPlans"
},
{
"const": "azure.general.Allresources"
},
{
"const": "azure.general.Azurehome"
},
{
"const": "azure.general.Developertools"
},
{
"const": "azure.general.Helpsupport"
},
{
"const": "azure.general.Information"
},
{
"const": "azure.general.Managementgroups"
},
{
"const": "azure.general.Marketplace"
},
{
"const": "azure.general.Quickstartcenter"
},
{
"const": "azure.general.Recent"
},
{
"const": "azure.general.Reservations"
},
{
"const": "azure.general.Resource"
},
{
"const": "azure.general.Resourcegroups"
},
{
"const": "azure.general.Servicehealth"
},
{
"const": "azure.general.Shareddashboard"
},
{
"const": "azure.general.Subscriptions"
},
{
"const": "azure.general.Support"
},
{
"const": "azure.general.Supportrequests"
},
{
"const": "azure.general.Tag"
},
{
"const": "azure.general.Tags"
},
{
"const": "azure.general.Templates"
},
{
"const": "azure.general.Twousericon"
},
{
"const": "azure.general.Userhealthicon"
},
{
"const": "azure.general.Usericon"
},
{
"const": "azure.general.Userprivacy"
},
{
"const": "azure.general.Userresource"
},
{
"const": "azure.general.Whatsnew"
},
{
"const": "azure.identity.AccessReview"
},
{
"const": "azure.identity.ActiveDirectoryConnectHealth"
},
{
"const": "azure.identity.ActiveDirectory"
},
{
"const": "azure.identity.ADB2C"
},
{
"const": "azure.identity.ADDomainServices"
},
{
"const": "azure.identity.ADIdentityProtection"
},
{
"const": "azure.identity.ADPrivilegedIdentityManagement"
},
{
"const": "azure.identity.AppRegistrations"
},
{
"const": "azure.identity.ConditionalAccess"
},
{
"const": "azure.identity.EnterpriseApplications"
},
{
"const": "azure.identity.Groups"
},
{
"const": "azure.identity.IdentityGovernance"
},
{
"const": "azure.identity.InformationProtection"
},
{
"const": "azure.identity.ManagedIdentities"
},
{
"const": "azure.identity.Users"
},
{
"const": "azure.integration.APIForFhir"
},
{
"const": "azure.integration.APIManagement"
},
{
"const": "azure.integration.AppConfiguration"
},
{
"const": "azure.integration.DataCatalog"
},
{
"const": "azure.integration.EventGridDomains"
},
{
"const": "azure.integration.EventGridSubscriptions"
},
{
"const": "azure.integration.EventGridTopics"
},
{
"const": "azure.integration.IntegrationAccounts"
},
{
"const": "azure.integration.IntegrationServiceEnvironments"
},
{
"const": "azure.integration.LogicAppsCustomConnector"
},
{
"const": "azure.integration.LogicApps"
},
{
"const": "azure.integration.PartnerTopic"
},
{
"const": "azure.integration.SendgridAccounts"
},
{
"const": "azure.integration.ServiceBusRelays"
},
{
"const": "azure.integration.ServiceBus"
},
{
"const": "azure.integration.ServiceCatalogManagedApplicationDefinitions"
},
{
"const": "azure.integration.SoftwareAsAService"
},
{
"const": "azure.integration.StorsimpleDeviceManagers"
},
{
"const": "azure.integration.SystemTopic"
},
{
"const": "azure.iot.DeviceProvisioningServices"
},
{
"const": "azure.iot.DigitalTwins"
},
{
"const": "azure.iot.IotCentralApplications"
},
{
"const": "azure.iot.IotHubSecurity"
},
{
"const": "azure.iot.IotHub"
},
{
"const": "azure.iot.Maps"
},
{
"const": "azure.iot.Sphere"
},
{
"const": "azure.iot.TimeSeriesInsightsEnvironments"
},
{
"const": "azure.iot.TimeSeriesInsightsEventsSources"
},
{
"const": "azure.iot.Windows10IotCoreServices"
},
{
"const": "azure.migration.DataBoxEdge"
},
{
"const": "azure.migration.DataBox"
},
{
"const": "azure.migration.DatabaseMigrationServices"
},
{
"const": "azure.migration.MigrationProjects"
},
{
"const": "azure.migration.RecoveryServicesVaults"
},
{
"const": "azure.ml.BatchAI"
},
{
"const": "azure.ml.BotServices"
},
{
"const": "azure.ml.CognitiveServices"
},
{
"const": "azure.ml.GenomicsAccounts"
},
{
"const": "azure.ml.MachineLearningServiceWorkspaces"
},
{
"const": "azure.ml.MachineLearningStudioWebServicePlans"
},
{
"const": "azure.ml.MachineLearningStudioWebServices"
},
{
"const": "azure.ml.MachineLearningStudioWorkspaces"
},
{
"const": "azure.mobile.AppServiceMobile"
},
{
"const": "azure.mobile.MobileEngagement"
},
{
"const": "azure.mobile.NotificationHubs"
},
{
"const": "azure.network.ApplicationGateway"
},
{
"const": "azure.network.ApplicationSecurityGroups"
},
{
"const": "azure.network.CDNProfiles"
},
{
"const": "azure.network.Connections"
},
{
"const": "azure.network.DDOSProtectionPlans"
},
{
"const": "azure.network.DNSPrivateZones"
},
{
"const": "azure.network.DNSZones"
},
{
"const": "azure.network.ExpressrouteCircuits"
},
{
"const": "azure.network.Firewall"
},
{
"const": "azure.network.FrontDoors"
},
{
"const": "azure.network.LoadBalancers"
},
{
"const": "azure.network.LocalNetworkGateways"
},
{
"const": "azure.network.NetworkInterfaces"
},
{
"const": "azure.network.NetworkSecurityGroupsClassic"
},
{
"const": "azure.network.NetworkWatcher"
},
{
"const": "azure.network.OnPremisesDataGateways"
},
{
"const": "azure.network.PublicIpAddresses"
},
{
"const": "azure.network.ReservedIpAddressesClassic"
},
{
"const": "azure.network.RouteFilters"
},
{
"const": "azure.network.RouteTables"
},
{
"const": "azure.network.ServiceEndpointPolicies"
},
{
"const": "azure.network.Subnets"
},
{
"const": "azure.network.TrafficManagerProfiles"
},
{
"const": "azure.network.VirtualNetworkClassic"
},
{
"const": "azure.network.VirtualNetworkGateways"
},
{
"const": "azure.network.VirtualNetworks"
},
{
"const": "azure.network.VirtualWans"
},
{
"const": "azure.security.ApplicationSecurityGroups"
},
{
"const": "azure.security.ConditionalAccess"
},
{
"const": "azure.security.Defender"
},
{
"const": "azure.security.ExtendedSecurityUpdates"
},
{
"const": "azure.security.KeyVaults"
},
{
"const": "azure.security.SecurityCenter"
},
{
"const": "azure.security.Sentinel"
},
{
"const": "azure.storage.ArchiveStorage"
},
{
"const": "azure.storage.Azurefxtedgefiler"
},
{
"const": "azure.storage.BlobStorage"
},
{
"const": "azure.storage.DataBoxEdgeDataBoxGateway"
},
{
"const": "azure.storage.DataBox"
},
{
"const": "azure.storage.DataLakeStorage"
},
{
"const": "azure.storage.GeneralStorage"
},
{
"const": "azure.storage.NetappFiles"
},
{
"const": "azure.storage.QueuesStorage"
},
{
"const": "azure.storage.StorageAccountsClassic"
},
{
"const": "azure.storage.StorageAccounts"
},
{
"const": "azure.storage.StorageExplorer"
},
{
"const": "azure.storage.StorageSyncServices"
},
{
"const": "azure.storage.StorsimpleDataManagers"
},
{
"const": "azure.storage.StorsimpleDeviceManagers"
},
{
"const": "azure.storage.TableStorage"
},
{
"const": "azure.web.APIConnections"
},
{
"const": "azure.web.AppServiceCertificates"
},
{
"const": "azure.web.AppServiceDomains"
},
{
"const": "azure.web.AppServiceEnvironments"
},
{
"const": "azure.web.AppServicePlans"
},
{
"const": "azure.web.AppServices"
},
{
"const": "azure.web.MediaServices"
},
{
"const": "azure.web.NotificationHubNamespaces"
},
{
"const": "azure.web.Search"
},
{
"const": "azure.web.Signalr"
},
{
"const": "digitalocean.compute.Containers"
},
{
"const": "digitalocean.compute.Docker"
},
{
"const": "digitalocean.compute.DropletConnect"
},
{
"const": "digitalocean.compute.DropletSnapshot"
},
{
"const": "digitalocean.compute.Droplet"
},
{
"const": "digitalocean.compute.K8SCluster"
},
{
"const": "digitalocean.compute.K8SNodePool"
},
{
"const": "digitalocean.compute.K8SNode"
},
{
"const": "digitalocean.database.DbaasPrimaryStandbyMore"
},
{
"const": "digitalocean.database.DbaasPrimary"
},
{
"const": "digitalocean.database.DbaasReadOnly"
},
{
"const": "digitalocean.database.DbaasStandby"
},
{
"const": "digitalocean.network.Certificate"
},
{
"const": "digitalocean.network.DomainRegistration"
},
{
"const": "digitalocean.network.Domain"
},
{
"const": "digitalocean.network.Firewall"
},
{
"const": "digitalocean.network.FloatingIp"
},
{
"const": "digitalocean.network.InternetGateway"
},
{
"const": "digitalocean.network.LoadBalancer"
},
{
"const": "digitalocean.network.ManagedVpn"
},
{
"const": "digitalocean.network.Vpc"
},
{
"const": "digitalocean.storage.Folder"
},
{
"const": "digitalocean.storage.Space"
},
{
"const": "digitalocean.storage.VolumeSnapshot"
},
{
"const": "digitalocean.storage.Volume"
},
{
"const": "elastic.agent.Agent"
},
{
"const": "elastic.agent.Endpoint"
},
{
"const": "elastic.agent.Fleet"
},
{
"const": "elastic.agent.Integrations"
},
{
"const": "elastic.beats.APM"
},
{
"const": "elastic.beats.Auditbeat"
},
{
"const": "elastic.beats.Filebeat"
},
{
"const": "elastic.beats.Functionbeat"
},
{
"const": "elastic.beats.Heartbeat"
},
{
"const": "elastic.beats.Metricbeat"
},
{
"const": "elastic.beats.Packetbeat"
},
{
"const": "elastic.beats.Winlogbeat"
},
{
"const": "elastic.elasticsearch.Alerting"
},
{
"const": "elastic.elasticsearch.Beats"
},
{
"const": "elastic.elasticsearch.Elasticsearch"
},
{
"const": "elastic.elasticsearch.ElasticSearch"
},
{
"const": "elastic.elasticsearch.Kibana"
},
{
"const": "elastic.elasticsearch.LogstashPipeline"
},
{
"const": "elastic.elasticsearch.Logstash"
},
{
"const": "elastic.elasticsearch.LogStash"
},
{
"const": "elastic.elasticsearch.MachineLearning"
},
{
"const": "elastic.elasticsearch.ML"
},
{
"const": "elastic.elasticsearch.MapServices"
},
{
"const": "elastic.elasticsearch.Maps"
},
{
"const": "elastic.elasticsearch.Monitoring"
},
{
"const": "elastic.elasticsearch.SearchableSnapshots"
},
{
"const": "elastic.elasticsearch.SecuritySettings"
},
{
"const": "elastic.elasticsearch.SQL"
},
{
"const": "elastic.elasticsearch.Stack"
},
{
"const": "elastic.enterprisesearch.AppSearch"
},
{
"const": "elastic.enterprisesearch.Crawler"
},
{
"const": "elastic.enterprisesearch.EnterpriseSearch"
},
{
"const": "elastic.enterprisesearch.SiteSearch"
},
{
"const": "elastic.enterprisesearch.WorkplaceSearch"
},
{
"const": "elastic.observability.APM"
},
{
"const": "elastic.observability.Logs"
},
{
"const": "elastic.observability.Metrics"
},
{
"const": "elastic.observability.Observability"
},
{
"const": "elastic.observability.Uptime"
},
{
"const": "elastic.orchestration.ECE"
},
{
"const": "elastic.orchestration.ECK"
},
{
"const": "elastic.saas.Cloud"
},
{
"const": "elastic.saas.Elastic"
},
{
"const": "elastic.security.Endpoint"
},
{
"const": "elastic.security.Security"
},
{
"const": "elastic.security.SIEM"
},
{
"const": "elastic.security.Xdr"
},
{
"const": "firebase.base.Firebase"
},
{
"const": "firebase.develop.Authentication"
},
{
"const": "firebase.develop.Firestore"
},
{
"const": "firebase.develop.Functions"
},
{
"const": "firebase.develop.Hosting"
},
{
"const": "firebase.develop.MLKit"
},
{
"const": "firebase.develop.RealtimeDatabase"
},
{
"const": "firebase.develop.Storage"
},
{
"const": "firebase.extentions.Extensions"
},
{
"const": "firebase.grow.ABTesting"
},
{
"const": "firebase.grow.AppIndexing"
},
{
"const": "firebase.grow.DynamicLinks"
},
{
"const": "firebase.grow.InAppMessaging"
},
{
"const": "firebase.grow.Invites"
},
{
"const": "firebase.grow.Messaging"
},
{
"const": "firebase.grow.FCM"
},
{
"const": "firebase.grow.Predictions"
},
{
"const": "firebase.grow.RemoteConfig"
},
{
"const": "firebase.quality.AppDistribution"
},
{
"const": "firebase.quality.CrashReporting"
},
{
"const": "firebase.quality.Crashlytics"
},
{
"const": "firebase.quality.PerformanceMonitoring"
},
{
"const": "firebase.quality.TestLab"
},
{
"const": "gcp.analytics.Bigquery"
},
{
"const": "gcp.analytics.BigQuery"
},
{
"const": "gcp.analytics.Composer"
},
{
"const": "gcp.analytics.DataCatalog"
},
{
"const": "gcp.analytics.DataFusion"
},
{
"const": "gcp.analytics.Dataflow"
},
{
"const": "gcp.analytics.Datalab"
},
{
"const": "gcp.analytics.Dataprep"
},
{
"const": "gcp.analytics.Dataproc"
},
{
"const": "gcp.analytics.Genomics"
},
{
"const": "gcp.analytics.Pubsub"
},
{
"const": "gcp.analytics.PubSub"
},
{
"const": "gcp.api.APIGateway"
},
{
"const": "gcp.api.Endpoints"
},
{
"const": "gcp.compute.AppEngine"
},
{
"const": "gcp.compute.GAE"
},
{
"const": "gcp.compute.ComputeEngine"
},
{
"const": "gcp.compute.GCE"
},
{
"const": "gcp.compute.ContainerOptimizedOS"
},
{
"const": "gcp.compute.Functions"
},
{
"const": "gcp.compute.GCF"
},
{
"const": "gcp.compute.GKEOnPrem"
},
{
"const": "gcp.compute.GPU"
},
{
"const": "gcp.compute.KubernetesEngine"
},
{
"const": "gcp.compute.GKE"
},
{
"const": "gcp.compute.Run"
},
{
"const": "gcp.database.Bigtable"
},
{
"const": "gcp.database.BigTable"
},
{
"const": "gcp.database.Datastore"
},
{
"const": "gcp.database.Firestore"
},
{
"const": "gcp.database.Memorystore"
},
{
"const": "gcp.database.Spanner"
},
{
"const": "gcp.database.SQL"
},
{
"const": "gcp.devtools.Build"
},
{
"const": "gcp.devtools.CodeForIntellij"
},
{
"const": "gcp.devtools.Code"
},
{
"const": "gcp.devtools.ContainerRegistry"
},
{
"const": "gcp.devtools.GCR"
},
{
"const": "gcp.devtools.GradleAppEnginePlugin"
},
{
"const": "gcp.devtools.IdePlugins"
},
{
"const": "gcp.devtools.MavenAppEnginePlugin"
},
{
"const": "gcp.devtools.Scheduler"
},
{
"const": "gcp.devtools.SDK"
},
{
"const": "gcp.devtools.SourceRepositories"
},
{
"const": "gcp.devtools.Tasks"
},
{
"const": "gcp.devtools.TestLab"
},
{
"const": "gcp.devtools.ToolsForEclipse"
},
{
"const": "gcp.devtools.ToolsForPowershell"
},
{
"const": "gcp.devtools.ToolsForVisualStudio"
},
{
"const": "gcp.iot.IotCore"
},
{
"const": "gcp.migration.TransferAppliance"
},
{
"const": "gcp.ml.AdvancedSolutionsLab"
},
{
"const": "gcp.ml.AIHub"
},
{
"const": "gcp.ml.AIPlatformDataLabelingService"
},
{
"const": "gcp.ml.AIPlatform"
},
{
"const": "gcp.ml.AutomlNaturalLanguage"
},
{
"const": "gcp.ml.AutomlTables"
},
{
"const": "gcp.ml.AutomlTranslation"
},
{
"const": "gcp.ml.AutomlVideoIntelligence"
},
{
"const": "gcp.ml.AutomlVision"
},
{
"const": "gcp.ml.Automl"
},
{
"const": "gcp.ml.AutoML"
},
{
"const": "gcp.ml.DialogFlowEnterpriseEdition"
},
{
"const": "gcp.ml.InferenceAPI"
},
{
"const": "gcp.ml.JobsAPI"
},
{
"const": "gcp.ml.NaturalLanguageAPI"
},
{
"const": "gcp.ml.NLAPI"
},
{
"const": "gcp.ml.RecommendationsAI"
},
{
"const": "gcp.ml.SpeechToText"
},
{
"const": "gcp.ml.STT"
},
{
"const": "gcp.ml.TextToSpeech"
},
{
"const": "gcp.ml.TTS"
},
{
"const": "gcp.ml.TPU"
},
{
"const": "gcp.ml.TranslationAPI"
},
{
"const": "gcp.ml.VideoIntelligenceAPI"
},
{
"const": "gcp.ml.VisionAPI"
},
{
"const": "gcp.network.Armor"
},
{
"const": "gcp.network.CDN"
},
{
"const": "gcp.network.DedicatedInterconnect"
},
{
"const": "gcp.network.DNS"
},
{
"const": "gcp.network.ExternalIpAddresses"
},
{
"const": "gcp.network.FirewallRules"
},
{
"const": "gcp.network.LoadBalancing"
},
{
"const": "gcp.network.NAT"
},
{
"const": "gcp.network.Network"
},
{
"const": "gcp.network.PartnerInterconnect"
},
{
"const": "gcp.network.PremiumNetworkTier"
},
{
"const": "gcp.network.Router"
},
{
"const": "gcp.network.Routes"
},
{
"const": "gcp.network.StandardNetworkTier"
},
{
"const": "gcp.network.TrafficDirector"
},
{
"const": "gcp.network.VirtualPrivateCloud"
},
{
"const": "gcp.network.VPC"
},
{
"const": "gcp.network.VPN"
},
{
"const": "gcp.operations.Monitoring"
},
{
"const": "gcp.security.Iam"
},
{
"const": "gcp.security.IAP"
},
{
"const": "gcp.security.KeyManagementService"
},
{
"const": "gcp.security.KMS"
},
{
"const": "gcp.security.ResourceManager"
},
{
"const": "gcp.security.SecurityCommandCenter"
},
{
"const": "gcp.security.SCC"
},
{
"const": "gcp.security.SecurityScanner"
},
{
"const": "gcp.storage.Filestore"
},
{
"const": "gcp.storage.PersistentDisk"
},
{
"const": "gcp.storage.Storage"
},
{
"const": "gcp.storage.GCS"
},
{
"const": "generic.blank.Blank"
},
{
"const": "generic.compute.Rack"
},
{
"const": "generic.database.SQL"
},
{
"const": "generic.device.Mobile"
},
{
"const": "generic.device.Tablet"
},
{
"const": "generic.network.Firewall"
},
{
"const": "generic.network.Router"
},
{
"const": "generic.network.Subnet"
},
{
"const": "generic.network.Switch"
},
{
"const": "generic.network.VPN"
},
{
"const": "generic.os.Android"
},
{
"const": "generic.os.Centos"
},
{
"const": "generic.os.Debian"
},
{
"const": "generic.os.IOS"
},
{
"const": "generic.os.LinuxGeneral"
},
{
"const": "generic.os.Raspbian"
},
{
"const": "generic.os.RedHat"
},
{
"const": "generic.os.Suse"
},
{
"const": "generic.os.Ubuntu"
},
{
"const": "generic.os.Windows"
},
{
"const": "generic.place.Datacenter"
},
{
"const": "generic.storage.Storage"
},
{
"const": "generic.virtualization.Virtualbox"
},
{
"const": "generic.virtualization.Vmware"
},
{
"const": "generic.virtualization.XEN"
},
{
"const": "ibm.analytics.Analytics"
},
{
"const": "ibm.analytics.DataIntegration"
},
{
"const": "ibm.analytics.DataRepositories"
},
{
"const": "ibm.analytics.DeviceAnalytics"
},
{
"const": "ibm.analytics.StreamingComputing"
},
{
"const": "ibm.applications.ActionableInsight"
},
{
"const": "ibm.applications.Annotate"
},
{
"const": "ibm.applications.ApiDeveloperPortal"
},
{
"const": "ibm.applications.ApiPolyglotRuntimes"
},
{
"const": "ibm.applications.AppServer"
},
{
"const": "ibm.applications.ApplicationLogic"
},
{
"const": "ibm.applications.EnterpriseApplications"
},
{
"const": "ibm.applications.Index"
},
{
"const": "ibm.applications.IotApplication"
},
{
"const": "ibm.applications.Microservice"
},
{
"const": "ibm.applications.MobileApp"
},
{
"const": "ibm.applications.Ontology"
},
{
"const": "ibm.applications.OpenSourceTools"
},
{
"const": "ibm.applications.RuntimeServices"
},
{
"const": "ibm.applications.SaasApplications"
},
{
"const": "ibm.applications.ServiceBroker"
},
{
"const": "ibm.applications.SpeechToText"
},
{
"const": "ibm.applications.VisualRecognition"
},
{
"const": "ibm.applications.Visualization"
},
{
"const": "ibm.blockchain.BlockchainDeveloper"
},
{
"const": "ibm.blockchain.Blockchain"
},
{
"const": "ibm.blockchain.CertificateAuthority"
},
{
"const": "ibm.blockchain.ClientApplication"
},
{
"const": "ibm.blockchain.Communication"
},
{
"const": "ibm.blockchain.Consensus"
},
{
"const": "ibm.blockchain.EventListener"
},
{
"const": "ibm.blockchain.Event"
},
{
"const": "ibm.blockchain.ExistingEnterpriseSystems"
},
{
"const": "ibm.blockchain.HyperledgerFabric"
},
{
"const": "ibm.blockchain.KeyManagement"
},
{
"const": "ibm.blockchain.Ledger"
},
{
"const": "ibm.blockchain.MembershipServicesProviderApi"
},
{
"const": "ibm.blockchain.Membership"
},
{
"const": "ibm.blockchain.MessageBus"
},
{
"const": "ibm.blockchain.Node"
},
{
"const": "ibm.blockchain.Services"
},
{
"const": "ibm.blockchain.SmartContract"
},
{
"const": "ibm.blockchain.TransactionManager"
},
{
"const": "ibm.blockchain.Wallet"
},
{
"const": "ibm.compute.BareMetalServer"
},
{
"const": "ibm.compute.ImageService"
},
{
"const": "ibm.compute.Instance"
},
{
"const": "ibm.compute.Key"
},
{
"const": "ibm.compute.PowerInstance"
},
{
"const": "ibm.data.Caches"
},
{
"const": "ibm.data.Cloud"
},
{
"const": "ibm.data.ConversationTrainedDeployed"
},
{
"const": "ibm.data.DataServices"
},
{
"const": "ibm.data.DataSources"
},
{
"const": "ibm.data.DeviceIdentityService"
},
{
"const": "ibm.data.DeviceRegistry"
},
{
"const": "ibm.data.EnterpriseData"
},
{
"const": "ibm.data.EnterpriseUserDirectory"
},
{
"const": "ibm.data.FileRepository"
},
{
"const": "ibm.data.GroundTruth"
},
{
"const": "ibm.data.Model"
},
{
"const": "ibm.data.TmsDataInterface"
},
{
"const": "ibm.devops.ArtifactManagement"
},
{
"const": "ibm.devops.BuildTest"
},
{
"const": "ibm.devops.CodeEditor"
},
{
"const": "ibm.devops.CollaborativeDevelopment"
},
{
"const": "ibm.devops.ConfigurationManagement"
},
{
"const": "ibm.devops.ContinuousDeploy"
},
{
"const": "ibm.devops.ContinuousTesting"
},
{
"const": "ibm.devops.Devops"
},
{
"const": "ibm.devops.Provision"
},
{
"const": "ibm.devops.ReleaseManagement"
},
{
"const": "ibm.general.CloudMessaging"
},
{
"const": "ibm.general.CloudServices"
},
{
"const": "ibm.general.Cloudant"
},
{
"const": "ibm.general.CognitiveServices"
},
{
"const": "ibm.general.DataSecurity"
},
{
"const": "ibm.general.Enterprise"
},
{
"const": "ibm.general.GovernanceRiskCompliance"
},
{
"const": "ibm.general.IBMContainers"
},
{
"const": "ibm.general.IBMPublicCloud"
},
{
"const": "ibm.general.IdentityAccessManagement"
},
{
"const": "ibm.general.IdentityProvider"
},
{
"const": "ibm.general.InfrastructureSecurity"
},
{
"const": "ibm.general.Internet"
},
{
"const": "ibm.general.IotCloud"
},
{
"const": "ibm.general.MicroservicesApplication"
},
{
"const": "ibm.general.MicroservicesMesh"
},
{
"const": "ibm.general.MonitoringLogging"
},
{
"const": "ibm.general.Monitoring"
},
{
"const": "ibm.general.ObjectStorage"
},
{
"const": "ibm.general.OfflineCapabilities"
},
{
"const": "ibm.general.Openwhisk"
},
{
"const": "ibm.general.PeerCloud"
},
{
"const": "ibm.general.RetrieveRank"
},
{
"const": "ibm.general.Scalable"
},
{
"const": "ibm.general.ServiceDiscoveryConfiguration"
},
{
"const": "ibm.general.TextToSpeech"
},
{
"const": "ibm.general.TransformationConnectivity"
},
{
"const": "ibm.infrastructure.Channels"
},
{
"const": "ibm.infrastructure.CloudMessaging"
},
{
"const": "ibm.infrastructure.Dashboard"
},
{
"const": "ibm.infrastructure.Diagnostics"
},
{
"const": "ibm.infrastructure.EdgeServices"
},
{
"const": "ibm.infrastructure.EnterpriseMessaging"
},
{
"const": "ibm.infrastructure.EventFeed"
},
{
"const": "ibm.infrastructure.InfrastructureServices"
},
{
"const": "ibm.infrastructure.InterserviceCommunication"
},
{
"const": "ibm.infrastructure.LoadBalancingRouting"
},
{
"const": "ibm.infrastructure.MicroservicesMesh"
},
{
"const": "ibm.infrastructure.MobileBackend"
},
{
"const": "ibm.infrastructure.MobileProviderNetwork"
},
{
"const": "ibm.infrastructure.MonitoringLogging"
},
{
"const": "ibm.infrastructure.Monitoring"
},
{
"const": "ibm.infrastructure.PeerServices"
},
{
"const": "ibm.infrastructure.ServiceDiscoveryConfiguration"
},
{
"const": "ibm.infrastructure.TransformationConnectivity"
},
{
"const": "ibm.management.AlertNotification"
},
{
"const": "ibm.management.ApiManagement"
},
{
"const": "ibm.management.CloudManagement"
},
{
"const": "ibm.management.ClusterManagement"
},
{
"const": "ibm.management.ContentManagement"
},
{
"const": "ibm.management.DataServices"
},
{
"const": "ibm.management.DeviceManagement"
},
{
"const": "ibm.management.InformationGovernance"
},
{
"const": "ibm.management.ItServiceManagement"
},
{
"const": "ibm.management.Management"
},
{
"const": "ibm.management.MonitoringMetrics"
},
{
"const": "ibm.management.ProcessManagement"
},
{
"const": "ibm.management.ProviderCloudPortalService"
},
{
"const": "ibm.management.PushNotifications"
},
{
"const": "ibm.management.ServiceManagementTools"
},
{
"const": "ibm.network.Bridge"
},
{
"const": "ibm.network.DirectLink"
},
{
"const": "ibm.network.Enterprise"
},
{
"const": "ibm.network.Firewall"
},
{
"const": "ibm.network.FloatingIp"
},
{
"const": "ibm.network.Gateway"
},
{
"const": "ibm.network.InternetServices"
},
{
"const": "ibm.network.LoadBalancerListener"
},
{
"const": "ibm.network.LoadBalancerPool"
},
{
"const": "ibm.network.LoadBalancer"
},
{
"const": "ibm.network.LoadBalancingRouting"
},
{
"const": "ibm.network.PublicGateway"
},
{
"const": "ibm.network.Region"
},
{
"const": "ibm.network.Router"
},
{
"const": "ibm.network.Rules"
},
{
"const": "ibm.network.Subnet"
},
{
"const": "ibm.network.TransitGateway"
},
{
"const": "ibm.network.Vpc"
},
{
"const": "ibm.network.VpnConnection"
},
{
"const": "ibm.network.VpnGateway"
},
{
"const": "ibm.network.VpnPolicy"
},
{
"const": "ibm.security.ApiSecurity"
},
{
"const": "ibm.security.BlockchainSecurityService"
},
{
"const": "ibm.security.DataSecurity"
},
{
"const": "ibm.security.Firewall"
},
{
"const": "ibm.security.Gateway"
},
{
"const": "ibm.security.GovernanceRiskCompliance"
},
{
"const": "ibm.security.IdentityAccessManagement"
},
{
"const": "ibm.security.IdentityProvider"
},
{
"const": "ibm.security.InfrastructureSecurity"
},
{
"const": "ibm.security.PhysicalSecurity"
},
{
"const": "ibm.security.SecurityMonitoringIntelligence"
},
{
"const": "ibm.security.SecurityServices"
},
{
"const": "ibm.security.TrustendComputing"
},
{
"const": "ibm.security.Vpn"
},
{
"const": "ibm.social.Communities"
},
{
"const": "ibm.social.FileSync"
},
{
"const": "ibm.social.LiveCollaboration"
},
{
"const": "ibm.social.Messaging"
},
{
"const": "ibm.social.Networking"
},
{
"const": "ibm.storage.BlockStorage"
},
{
"const": "ibm.storage.ObjectStorage"
},
{
"const": "ibm.user.Browser"
},
{
"const": "ibm.user.Device"
},
{
"const": "ibm.user.IntegratedDigitalExperiences"
},
{
"const": "ibm.user.PhysicalEntity"
},
{
"const": "ibm.user.Sensor"
},
{
"const": "ibm.user.User"
},
{
"const": "k8s.chaos.ChaosMesh"
},
{
"const": "k8s.chaos.LitmusChaos"
},
{
"const": "k8s.clusterconfig.HPA"
},
{
"const": "k8s.clusterconfig.HorizontalPodAutoscaler"
},
{
"const": "k8s.clusterconfig.Limits"
},
{
"const": "k8s.clusterconfig.LimitRange"
},
{
"const": "k8s.clusterconfig.Quota"
},
{
"const": "k8s.compute.Cronjob"
},
{
"const": "k8s.compute.Deploy"
},
{
"const": "k8s.compute.Deployment"
},
{
"const": "k8s.compute.DS"
},
{
"const": "k8s.compute.DaemonSet"
},
{
"const": "k8s.compute.Job"
},
{
"const": "k8s.compute.Pod"
},
{
"const": "k8s.compute.RS"
},
{
"const": "k8s.compute.ReplicaSet"
},
{
"const": "k8s.compute.STS"
},
{
"const": "k8s.compute.StatefulSet"
},
{
"const": "k8s.controlplane.API"
},
{
"const": "k8s.controlplane.APIServer"
},
{
"const": "k8s.controlplane.CCM"
},
{
"const": "k8s.controlplane.CM"
},
{
"const": "k8s.controlplane.ControllerManager"
},
{
"const": "k8s.controlplane.KProxy"
},
{
"const": "k8s.controlplane.KubeProxy"
},
{
"const": "k8s.controlplane.Kubelet"
},
{
"const": "k8s.controlplane.Sched"
},
{
"const": "k8s.controlplane.Scheduler"
},
{
"const": "k8s.ecosystem.ExternalDns"
},
{
"const": "k8s.ecosystem.Helm"
},
{
"const": "k8s.ecosystem.Krew"
},
{
"const": "k8s.ecosystem.Kustomize"
},
{
"const": "k8s.group.NS"
},
{
"const": "k8s.group.Namespace"
},
{
"const": "k8s.infra.ETCD"
},
{
"const": "k8s.infra.Master"
},
{
"const": "k8s.infra.Node"
},
{
"const": "k8s.network.Ep"
},
{
"const": "k8s.network.Endpoint"
},
{
"const": "k8s.network.Ing"
},
{
"const": "k8s.network.Ingress"
},
{
"const": "k8s.network.Netpol"
},
{
"const": "k8s.network.NetworkPolicy"
},
{
"const": "k8s.network.SVC"
},
{
"const": "k8s.network.Service"
},
{
"const": "k8s.others.CRD"
},
{
"const": "k8s.others.PSP"
},
{
"const": "k8s.podconfig.CM"
},
{
"const": "k8s.podconfig.ConfigMap"
},
{
"const": "k8s.podconfig.Secret"
},
{
"const": "k8s.rbac.CRole"
},
{
"const": "k8s.rbac.ClusterRole"
},
{
"const": "k8s.rbac.CRB"
},
{
"const": "k8s.rbac.ClusterRoleBinding"
},
{
"const": "k8s.rbac.Group"
},
{
"const": "k8s.rbac.RB"
},
{
"const": "k8s.rbac.RoleBinding"
},
{
"const": "k8s.rbac.Role"
},
{
"const": "k8s.rbac.SA"
},
{
"const": "k8s.rbac.ServiceAccount"
},
{
"const": "k8s.rbac.User"
},
{
"const": "k8s.storage.PV"
},
{
"const": "k8s.storage.PersistentVolume"
},
{
"const": "k8s.storage.PVC"
},
{
"const": "k8s.storage.PersistentVolumeClaim"
},
{
"const": "k8s.storage.SC"
},
{
"const": "k8s.storage.StorageClass"
},
{
"const": "k8s.storage.Vol"
},
{
"const": "k8s.storage.Volume"
},
{
"const": "oci.compute.AutoscaleWhite"
},
{
"const": "oci.compute.Autoscale"
},
{
"const": "oci.compute.BMWhite"
},
{
"const": "oci.compute.BareMetalWhite"
},
{
"const": "oci.compute.BM"
},
{
"const": "oci.compute.BareMetal"
},
{
"const": "oci.compute.ContainerWhite"
},
{
"const": "oci.compute.Container"
},
{
"const": "oci.compute.FunctionsWhite"
},
{
"const": "oci.compute.Functions"
},
{
"const": "oci.compute.InstancePoolsWhite"
},
{
"const": "oci.compute.InstancePools"
},
{
"const": "oci.compute.OCIRWhite"
},
{
"const": "oci.compute.OCIRegistryWhite"
},
{
"const": "oci.compute.OCIR"
},
{
"const": "oci.compute.OCIRegistry"
},
{
"const": "oci.compute.OKEWhite"
},
{
"const": "oci.compute.ContainerEngineWhite"
},
{
"const": "oci.compute.OKE"
},
{
"const": "oci.compute.ContainerEngine"
},
{
"const": "oci.compute.VMWhite"
},
{
"const": "oci.compute.VirtualMachineWhite"
},
{
"const": "oci.compute.VM"
},
{
"const": "oci.compute.VirtualMachine"
},
{
"const": "oci.connectivity.BackboneWhite"
},
{
"const": "oci.connectivity.Backbone"
},
{
"const": "oci.connectivity.CDNWhite"
},
{
"const": "oci.connectivity.CDN"
},
{
"const": "oci.connectivity.CustomerDatacenter"
},
{
"const": "oci.connectivity.CustomerDatacntrWhite"
},
{
"const": "oci.connectivity.CustomerPremiseWhite"
},
{
"const": "oci.connectivity.CustomerPremise"
},
{
"const": "oci.connectivity.DisconnectedRegionsWhite"
},
{
"const": "oci.connectivity.DisconnectedRegions"
},
{
"const": "oci.connectivity.DNSWhite"
},
{
"const": "oci.connectivity.DNS"
},
{
"const": "oci.connectivity.FastConnectWhite"
},
{
"const": "oci.connectivity.FastConnect"
},
{
"const": "oci.connectivity.NATGatewayWhite"
},
{
"const": "oci.connectivity.NATGateway"
},
{
"const": "oci.connectivity.VPNWhite"
},
{
"const": "oci.connectivity.VPN"
},
{
"const": "oci.database.AutonomousWhite"
},
{
"const": "oci.database.ADBWhite"
},
{
"const": "oci.database.Autonomous"
},
{
"const": "oci.database.ADB"
},
{
"const": "oci.database.BigdataServiceWhite"
},
{
"const": "oci.database.BigdataService"
},
{
"const": "oci.database.DatabaseServiceWhite"
},
{
"const": "oci.database.DBServiceWhite"
},
{
"const": "oci.database.DatabaseService"
},
{
"const": "oci.database.DBService"
},
{
"const": "oci.database.DataflowApacheWhite"
},
{
"const": "oci.database.DataflowApache"
},
{
"const": "oci.database.DcatWhite"
},
{
"const": "oci.database.Dcat"
},
{
"const": "oci.database.DisWhite"
},
{
"const": "oci.database.Dis"
},
{
"const": "oci.database.DMSWhite"
},
{
"const": "oci.database.DMS"
},
{
"const": "oci.database.ScienceWhite"
},
{
"const": "oci.database.Science"
},
{
"const": "oci.database.StreamWhite"
},
{
"const": "oci.database.Stream"
},
{
"const": "oci.devops.APIGatewayWhite"
},
{
"const": "oci.devops.APIGateway"
},
{
"const": "oci.devops.APIServiceWhite"
},
{
"const": "oci.devops.APIService"
},
{
"const": "oci.devops.ResourceMgmtWhite"
},
{
"const": "oci.devops.ResourceMgmt"
},
{
"const": "oci.governance.AuditWhite"
},
{
"const": "oci.governance.Audit"
},
{
"const": "oci.governance.CompartmentsWhite"
},
{
"const": "oci.governance.Compartments"
},
{
"const": "oci.governance.GroupsWhite"
},
{
"const": "oci.governance.Groups"
},
{
"const": "oci.governance.LoggingWhite"
},
{
"const": "oci.governance.Logging"
},
{
"const": "oci.governance.OCIDWhite"
},
{
"const": "oci.governance.OCID"
},
{
"const": "oci.governance.PoliciesWhite"
},
{
"const": "oci.governance.Policies"
},
{
"const": "oci.governance.TaggingWhite"
},
{
"const": "oci.governance.Tagging"
},
{
"const": "oci.monitoring.AlarmWhite"
},
{
"const": "oci.monitoring.Alarm"
},
{
"const": "oci.monitoring.EmailWhite"
},
{
"const": "oci.monitoring.Email"
},
{
"const": "oci.monitoring.EventsWhite"
},
{
"const": "oci.monitoring.Events"
},
{
"const": "oci.monitoring.HealthCheckWhite"
},
{
"const": "oci.monitoring.HealthCheck"
},
{
"const": "oci.monitoring.NotificationsWhite"
},
{
"const": "oci.monitoring.Notifications"
},
{
"const": "oci.monitoring.QueueWhite"
},
{
"const": "oci.monitoring.Queue"
},
{
"const": "oci.monitoring.SearchWhite"
},
{
"const": "oci.monitoring.Search"
},
{
"const": "oci.monitoring.TelemetryWhite"
},
{
"const": "oci.monitoring.Telemetry"
},
{
"const": "oci.monitoring.WorkflowWhite"
},
{
"const": "oci.monitoring.Workflow"
},
{
"const": "oci.network.DrgWhite"
},
{
"const": "oci.network.Drg"
},
{
"const": "oci.network.FirewallWhite"
},
{
"const": "oci.network.Firewall"
},
{
"const": "oci.network.InternetGatewayWhite"
},
{
"const": "oci.network.InternetGateway"
},
{
"const": "oci.network.LoadBalancerWhite"
},
{
"const": "oci.network.LoadBalancer"
},
{
"const": "oci.network.RouteTableWhite"
},
{
"const": "oci.network.RouteTable"
},
{
"const": "oci.network.SecurityListsWhite"
},
{
"const": "oci.network.SecurityLists"
},
{
"const": "oci.network.ServiceGatewayWhite"
},
{
"const": "oci.network.ServiceGateway"
},
{
"const": "oci.network.VcnWhite"
},
{
"const": "oci.network.Vcn"
},
{
"const": "oci.security.CloudGuardWhite"
},
{
"const": "oci.security.CloudGuard"
},
{
"const": "oci.security.DDOSWhite"
},
{
"const": "oci.security.DDOS"
},
{
"const": "oci.security.EncryptionWhite"
},
{
"const": "oci.security.Encryption"
},
{
"const": "oci.security.IDAccessWhite"
},
{
"const": "oci.security.IDAccess"
},
{
"const": "oci.security.KeyManagementWhite"
},
{
"const": "oci.security.KeyManagement"
},
{
"const": "oci.security.MaxSecurityZoneWhite"
},
{
"const": "oci.security.MaxSecurityZone"
},
{
"const": "oci.security.VaultWhite"
},
{
"const": "oci.security.Vault"
},
{
"const": "oci.security.WAFWhite"
},
{
"const": "oci.security.WAF"
},
{
"const": "oci.storage.BackupRestoreWhite"
},
{
"const": "oci.storage.BackupRestore"
},
{
"const": "oci.storage.BlockStorageCloneWhite"
},
{
"const": "oci.storage.BlockStorageClone"
},
{
"const": "oci.storage.BlockStorageWhite"
},
{
"const": "oci.storage.BlockStorage"
},
{
"const": "oci.storage.BucketsWhite"
},
{
"const": "oci.storage.Buckets"
},
{
"const": "oci.storage.DataTransferWhite"
},
{
"const": "oci.storage.DataTransfer"
},
{
"const": "oci.storage.ElasticPerformanceWhite"
},
{
"const": "oci.storage.ElasticPerformance"
},
{
"const": "oci.storage.FileStorageWhite"
},
{
"const": "oci.storage.FileStorage"
},
{
"const": "oci.storage.ObjectStorageWhite"
},
{
"const": "oci.storage.ObjectStorage"
},
{
"const": "oci.storage.StorageGatewayWhite"
},
{
"const": "oci.storage.StorageGateway"
},
{
"const": "onprem.aggregator.Fluentd"
},
{
"const": "onprem.aggregator.Vector"
},
{
"const": "onprem.analytics.Beam"
},
{
"const": "onprem.analytics.Databricks"
},
{
"const": "onprem.analytics.Dbt"
},
{
"const": "onprem.analytics.Dremio"
},
{
"const": "onprem.analytics.Flink"
},
{
"const": "onprem.analytics.Hadoop"
},
{
"const": "onprem.analytics.Hive"
},
{
"const": "onprem.analytics.Metabase"
},
{
"const": "onprem.analytics.Norikra"
},
{
"const": "onprem.analytics.Powerbi"
},
{
"const": "onprem.analytics.PowerBI"
},
{
"const": "onprem.analytics.Presto"
},
{
"const": "onprem.analytics.Singer"
},
{
"const": "onprem.analytics.Spark"
},
{
"const": "onprem.analytics.Storm"
},
{
"const": "onprem.analytics.Superset"
},
{
"const": "onprem.analytics.Tableau"
},
{
"const": "onprem.auth.Boundary"
},
{
"const": "onprem.auth.BuzzfeedSso"
},
{
"const": "onprem.auth.Oauth2Proxy"
},
{
"const": "onprem.cd.Spinnaker"
},
{
"const": "onprem.cd.TektonCli"
},
{
"const": "onprem.cd.Tekton"
},
{
"const": "onprem.certificates.CertManager"
},
{
"const": "onprem.certificates.LetsEncrypt"
},
{
"const": "onprem.ci.Circleci"
},
{
"const": "onprem.ci.CircleCI"
},
{
"const": "onprem.ci.Concourseci"
},
{
"const": "onprem.ci.ConcourseCI"
},
{
"const": "onprem.ci.Droneci"
},
{
"const": "onprem.ci.DroneCI"
},
{
"const": "onprem.ci.GithubActions"
},
{
"const": "onprem.ci.Gitlabci"
},
{
"const": "onprem.ci.GitlabCI"
},
{
"const": "onprem.ci.Jenkins"
},
{
"const": "onprem.ci.Teamcity"
},
{
"const": "onprem.ci.TC"
},
{
"const": "onprem.ci.Travisci"
},
{
"const": "onprem.ci.TravisCI"
},
{
"const": "onprem.ci.Zuulci"
},
{
"const": "onprem.ci.ZuulCI"
},
{
"const": "onprem.client.Client"
},
{
"const": "onprem.client.User"
},
{
"const": "onprem.client.Users"
},
{
"const": "onprem.compute.Nomad"
},
{
"const": "onprem.compute.Server"
},
{
"const": "onprem.container.Containerd"
},
{
"const": "onprem.container.Crio"
},
{
"const": "onprem.container.Docker"
},
{
"const": "onprem.container.Firecracker"
},
{
"const": "onprem.container.Gvisor"
},
{
"const": "onprem.container.K3S"
},
{
"const": "onprem.container.Lxc"
},
{
"const": "onprem.container.LXC"
},
{
"const": "onprem.container.Rkt"
},
{
"const": "onprem.container.RKT"
},
{
"const": "onprem.database.Cassandra"
},
{
"const": "onprem.database.Clickhouse"
},
{
"const": "onprem.database.ClickHouse"
},
{
"const": "onprem.database.Cockroachdb"
},
{
"const": "onprem.database.CockroachDB"
},
{
"const": "onprem.database.Couchbase"
},
{
"const": "onprem.database.Couchdb"
},
{
"const": "onprem.database.CouchDB"
},
{
"const": "onprem.database.Dgraph"
},
{
"const": "onprem.database.Druid"
},
{
"const": "onprem.database.Hbase"
},
{
"const": "onprem.database.HBase"
},
{
"const": "onprem.database.Influxdb"
},
{
"const": "onprem.database.InfluxDB"
},
{
"const": "onprem.database.Janusgraph"
},
{
"const": "onprem.database.JanusGraph"
},
{
"const": "onprem.database.Mariadb"
},
{
"const": "onprem.database.MariaDB"
},
{
"const": "onprem.database.Mongodb"
},
{
"const": "onprem.database.MongoDB"
},
{
"const": "onprem.database.Mssql"
},
{
"const": "onprem.database.MSSQL"
},
{
"const": "onprem.database.Mysql"
},
{
"const": "onprem.database.MySQL"
},
{
"const": "onprem.database.Neo4J"
},
{
"const": "onprem.database.Oracle"
},
{
"const": "onprem.database.Postgresql"
},
{
"const": "onprem.database.PostgreSQL"
},
{
"const": "onprem.database.Scylla"
},
{
"const": "onprem.dns.Coredns"
},
{
"const": "onprem.dns.Powerdns"
},
{
"const": "onprem.etl.Embulk"
},
{
"const": "onprem.gitops.Argocd"
},
{
"const": "onprem.gitops.ArgoCD"
},
{
"const": "onprem.gitops.Flagger"
},
{
"const": "onprem.gitops.Flux"
},
{
"const": "onprem.groupware.Nextcloud"
},
{
"const": "onprem.iac.Ansible"
},
{
"const": "onprem.iac.Atlantis"
},
{
"const": "onprem.iac.Awx"
},
{
"const": "onprem.iac.Puppet"
},
{
"const": "onprem.iac.Terraform"
},
{
"const": "onprem.identity.Dex"
},
{
"const": "onprem.inmemory.Aerospike"
},
{
"const": "onprem.inmemory.Hazelcast"
},
{
"const": "onprem.inmemory.Memcached"
},
{
"const": "onprem.inmemory.Redis"
},
{
"const": "onprem.logging.Fluentbit"
},
{
"const": "onprem.logging.FluentBit"
},
{
"const": "onprem.logging.Graylog"
},
{
"const": "onprem.logging.Loki"
},
{
"const": "onprem.logging.Rsyslog"
},
{
"const": "onprem.logging.RSyslog"
},
{
"const": "onprem.logging.SyslogNg"
},
{
"const": "onprem.messaging.Centrifugo"
},
{
"const": "onprem.mlops.Mlflow"
},
{
"const": "onprem.mlops.Polyaxon"
},
{
"const": "onprem.monitoring.Cortex"
},
{
"const": "onprem.monitoring.Datadog"
},
{
"const": "onprem.monitoring.Dynatrace"
},
{
"const": "onprem.monitoring.Grafana"
},
{
"const": "onprem.monitoring.Humio"
},
{
"const": "onprem.monitoring.Mimir"
},
{
"const": "onprem.monitoring.Nagios"
},
{
"const": "onprem.monitoring.Newrelic"
},
{
"const": "onprem.monitoring.PrometheusOperator"
},
{
"const": "onprem.monitoring.Prometheus"
},
{
"const": "onprem.monitoring.Sentry"
},
{
"const": "onprem.monitoring.Splunk"
},
{
"const": "onprem.monitoring.Thanos"
},
{
"const": "onprem.monitoring.Zabbix"
},
{
"const": "onprem.network.Ambassador"
},
{
"const": "onprem.network.Apache"
},
{
"const": "onprem.network.Bind9"
},
{
"const": "onprem.network.Caddy"
},
{
"const": "onprem.network.Consul"
},
{
"const": "onprem.network.Envoy"
},
{
"const": "onprem.network.Etcd"
},
{
"const": "onprem.network.ETCD"
},
{
"const": "onprem.network.Glassfish"
},
{
"const": "onprem.network.Gunicorn"
},
{
"const": "onprem.network.Haproxy"
},
{
"const": "onprem.network.HAProxy"
},
{
"const": "onprem.network.Internet"
},
{
"const": "onprem.network.Istio"
},
{
"const": "onprem.network.Jbossas"
},
{
"const": "onprem.network.Jetty"
},
{
"const": "onprem.network.Kong"
},
{
"const": "onprem.network.Linkerd"
},
{
"const": "onprem.network.Nginx"
},
{
"const": "onprem.network.Ocelot"
},
{
"const": "onprem.network.OpenServiceMesh"
},
{
"const": "onprem.network.OSM"
},
{
"const": "onprem.network.Opnsense"
},
{
"const": "onprem.network.OPNSense"
},
{
"const": "onprem.network.Pfsense"
},
{
"const": "onprem.network.PFSense"
},
{
"const": "onprem.network.Pomerium"
},
{
"const": "onprem.network.Powerdns"
},
{
"const": "onprem.network.Tomcat"
},
{
"const": "onprem.network.Traefik"
},
{
"const": "onprem.network.Tyk"
},
{
"const": "onprem.network.Vyos"
},
{
"const": "onprem.network.VyOS"
},
{
"const": "onprem.network.Wildfly"
},
{
"const": "onprem.network.Yarp"
},
{
"const": "onprem.network.Zookeeper"
},
{
"const": "onprem.proxmox.Pve"
},
{
"const": "onprem.proxmox.ProxmoxVE"
},
{
"const": "onprem.queue.Activemq"
},
{
"const": "onprem.queue.ActiveMQ"
},
{
"const": "onprem.queue.Celery"
},
{
"const": "onprem.queue.Emqx"
},
{
"const": "onprem.queue.EMQX"
},
{
"const": "onprem.queue.Kafka"
},
{
"const": "onprem.queue.Nats"
},
{
"const": "onprem.queue.Rabbitmq"
},
{
"const": "onprem.queue.RabbitMQ"
},
{
"const": "onprem.queue.Zeromq"
},
{
"const": "onprem.queue.ZeroMQ"
},
{
"const": "onprem.registry.Harbor"
},
{
"const": "onprem.registry.Jfrog"
},
{
"const": "onprem.search.Solr"
},
{
"const": "onprem.security.Bitwarden"
},
{
"const": "onprem.security.Trivy"
},
{
"const": "onprem.security.Vault"
},
{
"const": "onprem.storage.CephOsd"
},
{
"const": "onprem.storage.CEPH_OSD"
},
{
"const": "onprem.storage.Ceph"
},
{
"const": "onprem.storage.CEPH"
},
{
"const": "onprem.storage.Glusterfs"
},
{
"const": "onprem.storage.Portworx"
},
{
"const": "onprem.tracing.Jaeger"
},
{
"const": "onprem.tracing.Tempo"
},
{
"const": "onprem.vcs.Git"
},
{
"const": "onprem.vcs.Gitea"
},
{
"const": "onprem.vcs.Github"
},
{
"const": "onprem.vcs.Gitlab"
},
{
"const": "onprem.vcs.Svn"
},
{
"const": "onprem.workflow.Airflow"
},
{
"const": "onprem.workflow.Digdag"
},
{
"const": "onprem.workflow.Kubeflow"
},
{
"const": "onprem.workflow.KubeFlow"
},
{
"const": "onprem.workflow.Nifi"
},
{
"const": "onprem.workflow.NiFi"
},
{
"const": "openstack.apiproxies.EC2API"
},
{
"const": "openstack.applicationlifecycle.Freezer"
},
{
"const": "openstack.applicationlifecycle.Masakari"
},
{
"const": "openstack.applicationlifecycle.Murano"
},
{
"const": "openstack.applicationlifecycle.Solum"
},
{
"const": "openstack.baremetal.Cyborg"
},
{
"const": "openstack.baremetal.Ironic"
},
{
"const": "openstack.billing.Cloudkitty"
},
{
"const": "openstack.billing.CloudKitty"
},
{
"const": "openstack.compute.Nova"
},
{
"const": "openstack.compute.Qinling"
},
{
"const": "openstack.compute.Zun"
},
{
"const": "openstack.containerservices.Kuryr"
},
{
"const": "openstack.deployment.Ansible"
},
{
"const": "openstack.deployment.Charms"
},
{
"const": "openstack.deployment.Chef"
},
{
"const": "openstack.deployment.Helm"
},
{
"const": "openstack.deployment.Kolla"
},
{
"const": "openstack.deployment.KollaAnsible"
},
{
"const": "openstack.deployment.Tripleo"
},
{
"const": "openstack.deployment.TripleO"
},
{
"const": "openstack.frontend.Horizon"
},
{
"const": "openstack.monitoring.Monasca"
},
{
"const": "openstack.monitoring.Telemetry"
},
{
"const": "openstack.multiregion.Tricircle"
},
{
"const": "openstack.networking.Designate"
},
{
"const": "openstack.networking.Neutron"
},
{
"const": "openstack.networking.Octavia"
},
{
"const": "openstack.nfv.Tacker"
},
{
"const": "openstack.optimization.Congress"
},
{
"const": "openstack.optimization.Rally"
},
{
"const": "openstack.optimization.Vitrage"
},
{
"const": "openstack.optimization.Watcher"
},
{
"const": "openstack.orchestration.Blazar"
},
{
"const": "openstack.orchestration.Heat"
},
{
"const": "openstack.orchestration.Mistral"
},
{
"const": "openstack.orchestration.Senlin"
},
{
"const": "openstack.orchestration.Zaqar"
},
{
"const": "openstack.packaging.LOCI"
},
{
"const": "openstack.packaging.Puppet"
},
{
"const": "openstack.packaging.RPM"
},
{
"const": "openstack.sharedservices.Barbican"
},
{
"const": "openstack.sharedservices.Glance"
},
{
"const": "openstack.sharedservices.Karbor"
},
{
"const": "openstack.sharedservices.Keystone"
},
{
"const": "openstack.sharedservices.Searchlight"
},
{
"const": "openstack.storage.Cinder"
},
{
"const": "openstack.storage.Manila"
},
{
"const": "openstack.storage.Swift"
},
{
"const": "openstack.user.Openstackclient"
},
{
"const": "openstack.user.OpenStackClient"
},
{
"const": "openstack.workloadprovisioning.Magnum"
},
{
"const": "openstack.workloadprovisioning.Sahara"
},
{
"const": "openstack.workloadprovisioning.Trove"
},
{
"const": "outscale.compute.Compute"
},
{
"const": "outscale.compute.DirectConnect"
},
{
"const": "outscale.network.ClientVpn"
},
{
"const": "outscale.network.InternetService"
},
{
"const": "outscale.network.LoadBalancer"
},
{
"const": "outscale.network.NatService"
},
{
"const": "outscale.network.Net"
},
{
"const": "outscale.network.SiteToSiteVpng"
},
{
"const": "outscale.security.Firewall"
},
{
"const": "outscale.security.IdentityAndAccessManagement"
},
{
"const": "outscale.storage.SimpleStorageService"
},
{
"const": "outscale.storage.Storage"
},
{
"const": "programming.flowchart.Action"
},
{
"const": "programming.flowchart.Collate"
},
{
"const": "programming.flowchart.Database"
},
{
"const": "programming.flowchart.Decision"
},
{
"const": "programming.flowchart.Delay"
},
{
"const": "programming.flowchart.Display"
},
{
"const": "programming.flowchart.Document"
},
{
"const": "programming.flowchart.InputOutput"
},
{
"const": "programming.flowchart.Inspection"
},
{
"const": "programming.flowchart.InternalStorage"
},
{
"const": "programming.flowchart.LoopLimit"
},
{
"const": "programming.flowchart.ManualInput"
},
{
"const": "programming.flowchart.ManualLoop"
},
{
"const": "programming.flowchart.Merge"
},
{
"const": "programming.flowchart.MultipleDocuments"
},
{
"const": "programming.flowchart.OffPageConnectorLeft"
},
{
"const": "programming.flowchart.OffPageConnectorRight"
},
{
"const": "programming.flowchart.Or"
},
{
"const": "programming.flowchart.PredefinedProcess"
},
{
"const": "programming.flowchart.Preparation"
},
{
"const": "programming.flowchart.Sort"
},
{
"const": "programming.flowchart.StartEnd"
},
{
"const": "programming.flowchart.StoredData"
},
{
"const": "programming.flowchart.SummingJunction"
},
{
"const": "programming.framework.Angular"
},
{
"const": "programming.framework.Backbone"
},
{
"const": "programming.framework.Django"
},
{
"const": "programming.framework.Ember"
},
{
"const": "programming.framework.Fastapi"
},
{
"const": "programming.framework.FastAPI"
},
{
"const": "programming.framework.Flask"
},
{
"const": "programming.framework.Flutter"
},
{
"const": "programming.framework.Graphql"
},
{
"const": "programming.framework.GraphQL"
},
{
"const": "programming.framework.Laravel"
},
{
"const": "programming.framework.Micronaut"
},
{
"const": "programming.framework.Rails"
},
{
"const": "programming.framework.React"
},
{
"const": "programming.framework.Spring"
},
{
"const": "programming.framework.Starlette"
},
{
"const": "programming.framework.Svelte"
},
{
"const": "programming.framework.Vue"
},
{
"const": "programming.language.Bash"
},
{
"const": "programming.language.C"
},
{
"const": "programming.language.Cpp"
},
{
"const": "programming.language.Csharp"
},
{
"const": "programming.language.Dart"
},
{
"const": "programming.language.Elixir"
},
{
"const": "programming.language.Erlang"
},
{
"const": "programming.language.Go"
},
{
"const": "programming.language.Java"
},
{
"const": "programming.language.Javascript"
},
{
"const": "programming.language.JavaScript"
},
{
"const": "programming.language.Kotlin"
},
{
"const": "programming.language.Latex"
},
{
"const": "programming.language.Matlab"
},
{
"const": "programming.language.Nodejs"
},
{
"const": "programming.language.NodeJS"
},
{
"const": "programming.language.Php"
},
{
"const": "programming.language.PHP"
},
{
"const": "programming.language.Python"
},
{
"const": "programming.language.R"
},
{
"const": "programming.language.Ruby"
},
{
"const": "programming.language.Rust"
},
{
"const": "programming.language.Scala"
},
{
"const": "programming.language.Swift"
},
{
"const": "programming.language.Typescript"
},
{
"const": "programming.language.TypeScript"
},
{
"const": "programming.runtime.Dapr"
},
{
"const": "saas.alerting.Newrelic"
},
{
"const": "saas.alerting.Opsgenie"
},
{
"const": "saas.alerting.Pushover"
},
{
"const": "saas.alerting.Xmatters"
},
{
"const": "saas.alerting.Pagerduty"
},
{
"const": "saas.analytics.Dataform"
},
{
"const": "saas.analytics.Snowflake"
},
{
"const": "saas.analytics.Stitch"
},
{
"const": "saas.cdn.Akamai"
},
{
"const": "saas.cdn.Cloudflare"
},
{
"const": "saas.cdn.Fastly"
},
{
"const": "saas.chat.Discord"
},
{
"const": "saas.chat.Line"
},
{
"const": "saas.chat.Mattermost"
},
{
"const": "saas.chat.Messenger"
},
{
"const": "saas.chat.RocketChat"
},
{
"const": "saas.chat.Slack"
},
{
"const": "saas.chat.Teams"
},
{
"const": "saas.chat.Telegram"
},
{
"const": "saas.communication.Twilio"
},
{
"const": "saas.filesharing.Nextcloud"
},
{
"const": "saas.identity.Auth0"
},
{
"const": "saas.identity.Okta"
},
{
"const": "saas.logging.Datadog"
},
{
"const": "saas.logging.DataDog"
},
{
"const": "saas.logging.Newrelic"
},
{
"const": "saas.logging.NewRelic"
},
{
"const": "saas.logging.Papertrail"
},
{
"const": "saas.media.Cloudinary"
},
{
"const": "saas.recommendation.Recombee"
},
{
"const": "saas.social.Facebook"
},
{
"const": "saas.social.Twitter"
}
]
},
"relates": {
"type": "array",
"description": "Relations of the resource",
"items": {
"$ref": "#/definitions/Relates"
}
},
"of": {
"type": "array",
"description": "Clusters and groups can have a list of resources inside them",
"items": {
"$ref": "#/definitions/Resource"
}
}
},
"required": [
"id",
"name",
"type"
],
"title": "Resource"
},
"Relates": {
"type": "object",
"additionalProperties": false,
"properties": {
"to": {
"type": "string",
"description": "A chain of identifiers to a resource via a dot from root"
},
"direction": {
"type": "string",
"description": "A direction of a relationship",
"oneOf": [
{
"const": "incoming"
},
{
"const": "outgoing"
},
{
"const": "bidirectional"
},
{
"const": "undirected"
}
]
},
"label": {
"type": "string",
"description": "A label of a relationship"
},
"color": {
"type": "string",
"description": "A color of a relationship"
},
"style": {
"type": "string",
"description": "A style of a relationship"
}
},
"required": [
"to",
"direction"
],
"title": "Relate"
},
"Style": {
"type": "object",
"additionalProperties": false,
"properties": {
"graph": {
"$ref": "#/definitions/Graph"
},
"node": {
"$ref": "#/definitions/Node"
},
"edge": {
"$ref": "#/definitions/Edge"
}
},
"title": "Style"
},
"Node": {
"type": "object",
"additionalProperties": false,
"properties": {
"area": {
"type": "number",
"description": "Indicates the preferred area for a node or empty cluster. For patchwork only"
},
"class": {
"type": "string",
"description": "Classnames to attach to the node, edge, graph, or cluster's SVG element. For svg only"
},
"color": {
"type": "string",
"description": "Basic drawing color for graphics, not text"
},
"colorscheme": {
"type": "string",
"description": "A color scheme namespace: the context for interpreting color names"
},
"comment": {
"type": "string",
"description": "Comments are inserted into output"
},
"distortion": {
"type": "number",
"description": "Distortion factor for shape=polygon"
},
"fillcolor": {
"type": "string",
"description": "Color used to fill the background of a node or cluster"
},
"fixedsize": {
"type": "boolean",
"description": "Whether to use the specified width and height attributes to choose node size (rather than sizing to fit the node contents)"
},
"fontcolor": {
"type": "string",
"description": "Color used for text"
},
"fontname": {
"type": "string",
"description": "Font used for text"
},
"fontsize": {
"type": "number",
"description": "Font size, in points, used for text"
},
"gradientangle": {
"type": "number",
"description": "If a gradient fill is being used, this determines the angle of the fill"
},
"group": {
"type": "string",
"description": "Name for a group of nodes, for bundling edges avoiding crossings. For dot only"
},
"height": {
"type": "string",
"description": "Height of node, in inches"
},
"href": {
"type": "string",
"description": "Synonym for URL. For map, postscript, svg only"
},
"id": {
"type": "string",
"description": "Identifier for graph objects. For map, postscript, svg only"
},
"image": {
"type": "string",
"description": "Gives the name of a file containing an image to be displayed inside a node"
},
"imagepos": {
"type": "string",
"description": "Controls how an image is positioned within its containing node"
},
"imagescale": {
"type": "boolean",
"description": "Controls how an image fills its containing node"
},
"label": {
"type": "string",
"description": "Text label attached to objects"
},
"labelloc": {
"type": "string",
"description": "Vertical placement of labels for nodes, root graphs and clusters"
},
"layer": {
"type": "string",
"description": "Specifies layers in which the node, edge or cluster is present"
},
"margin": {
"type": "number",
"description": "For graphs, this sets x and y margins of canvas, in inches"
},
"nojustify": {
"type": "boolean",
"description": "Whether to justify multiline text vs the previous text line (rather than the side of the container)"
},
"ordering": {
"type": "string",
"description": "Constrains the left-to-right ordering of node edges. For dot only"
},
"orientation": {
"type": "number",
"description": "node shape rotation angle, or graph orientation"
},
"penwidth": {
"type": "number",
"description": "Specifies the width of the pen, in points, used to draw lines and curves"
},
"peripheries": {
"type": "number",
"description": "Set number of peripheries used in polygonal shapes and cluster boundaries"
},
"pin": {
"type": "boolean",
"description": "Keeps the node at the node's given input position. For neato, fdp only"
},
"pos": {
"type": "string",
"description": "Position of node, or spline control points. For neato, fdp only"
},
"rects": {
"type": "string",
"description": "Rectangles for fields of records, in points. For write only"
},
"regular": {
"type": "boolean",
"description": "If true, force polygon to be regular"
},
"root": {
"type": "string",
"description": "Specifies nodes to be used as the center of the layout. For twopi, circo only"
},
"samplepoints": {
"type": "number",
"description": "Gives the number of points used for a circle/ellipse node"
},
"shape": {
"type": "string",
"description": "Sets the shape of a node"
},
"shapefile": {
"type": "string",
"description": "A file containing user-supplied node content"
},
"showboxes": {
"type": "number",
"description": "Print guide boxes for debugging. For dot only"
},
"sides": {
"type": "number",
"description": "Number of sides when shape=polygon"
},
"skew": {
"type": "number",
"description": "Skew factor for shape=polygon"
},
"sortv": {
"type": "number",
"description": "Sort order of graph components for ordering packmode packing"
},
"style": {
"type": "string",
"description": "Set style information for components of the graph"
},
"target": {
"type": "string",
"description": "If the object has a URL, this attribute determines which window of the browser is used for the URL. For map, svg only"
},
"tooltip": {
"type": "string",
"description": "Tooltip (mouse hover text) attached to the node, edge, cluster, or graph. For cmap, svg only"
},
"URL": {
"type": "string",
"description": "Hyperlinks incorporated into device-dependent output. For map, postscript, svg only"
},
"vertices": {
"type": "array",
"description": "Sets the coordinates of the vertices of the node's polygon, in inches. For write only"
},
"width": {
"type": "number",
"description": "Width of node, in inches"
},
"xlabel": {
"type": "string",
"description": "External label for a node or edge"
},
"xlp": {
"type": "string",
"description": "Position of an exterior label, in points. For write only"
},
"z": {
"type": "number",
"description": "Z-coordinate value for 3D layouts and displays"
}
},
"title": "Node"
},
"Graph": {
"type": "object",
"additionalProperties": false,
"properties": {
"_background": {
"type": "string",
"description": "A string in the xdot format specifying an arbitrary background"
},
"bb": {
"type": "string",
"description": "Bounding box of drawing in points. For write only"
},
"beautify": {
"type": "boolean",
"description": "Whether to draw leaf nodes uniformly in a circle around the root node in sfdp. For sfdp only"
},
"bgcolor": {
"type": "string",
"description": "Canvas background color"
},
"center": {
"type": "boolean",
"description": "Whether to center the drawing in the output canvas"
},
"charset": {
"type": "string",
"description": "Character encoding used when interpreting string input as a text label"
},
"class": {
"type": "string",
"description": "Classnames to attach to the node, edge, graph, or cluster's SVG element. For svg only"
},
"clusterrank": {
"type": "string",
"description": "Mode used for handling clusters. For dot only"
},
"colorscheme": {
"type": "string",
"description": "A color scheme namespace: the context for interpreting color names"
},
"comment": {
"type": "string",
"description": "Comments are inserted into output"
},
"compound": {
"type": "boolean",
"description": "If true, allow edges between clusters. For dot only"
},
"concentrate": {
"type": "boolean",
"description": "If true, use edge concentrators"
},
"Damping": {
"type": "number",
"description": "Factor damping force motions. For neato only"
},
"defaultdist": {
"type": "number",
"description": "The distance between nodes in separate connected components. For neato only"
},
"dim": {
"type": "number",
"description": "Set the number of dimensions used for the layout. For neato, fdp, sfdp only"
},
"dimen": {
"type": "number",
"description": "Set the number of dimensions used for rendering. For neato, fdp, sfdp only"
},
"diredgeconstraints": {
"type": "string",
"description": "Whether to constrain most edges to point downwards. For neato only"
},
"dpi": {
"type": "number",
"description": "Specifies the expected number of pixels per inch on a display device. For bitmap output, svg only"
},
"epsilon": {
"type": "number",
"description": "Terminating condition. For neato only"
},
"esep": {
"type": "number",
"description": "Margin used around polygons for purposes of spline edge routing. For neato only"
},
"fontcolor": {
"type": "string",
"description": "Color used for text"
},
"fontname": {
"type": "string",
"description": "Font used for text"
},
"fontnames": {
"type": "string",
"description": "Allows user control of how basic fontnames are represented in SVG output. For svg only"
},
"fontpath": {
"type": "string",
"description": "Directory list used by libgd to search for bitmap fonts"
},
"fontsize": {
"type": "number",
"description": "Font size, in points, used for text"
},
"forcelabels": {
"type": "boolean",
"description": "Whether to force placement of all xlabels, even if overlapping"
},
"gradientangle": {
"type": "number",
"description": "If a gradient fill is being used, this determines the angle of the fill"
},
"href": {
"type": "string",
"description": "Synonym for URL. For map, postscript, svg only"
},
"id": {
"type": "string",
"description": "Identifier for graph objects. For map, postscript, svg only"
},
"imagepath": {
"type": "string",
"description": "A list of directories in which to look for image files"
},
"inputscale": {
"type": "number",
"description": "Scales the input positions to convert between length units. For neato, fdp only"
},
"K": {
"type": "number",
"description": "Spring constant used in virtual physical model. For fdp, sfdp only"
},
"label": {
"type": "string",
"description": "Text label attached to objects"
},
"label_scheme": {
"type": "number",
"description": "Whether to treat a node whose name has the form |edgelabel|* as a special node representing an edge label. For sfdp only"
},
"labeljust": {
"type": "string",
"description": "Justification for graph & cluster labels"
},
"labelloc": {
"type": "string",
"description": "Vertical placement of labels for nodes, root graphs and clusters"
},
"landscape": {
"type": "boolean",
"description": "If true, the graph is rendered in landscape mode"
},
"layerlistsep": {
"type": "string",
"description": "The separator characters used to split attributes of type layerRange into a list of ranges"
},
"layers": {
"type": "array",
"description": "A linearly ordered list of layer names attached to the graph"
},
"layerselect": {
"type": "string",
"description": "Selects a list of layers to be emitted"
},
"layersep": {
"type": "string",
"description": "The separator characters for splitting the layers attribute into a list of layer names"
},
"layout": {
"type": "string",
"description": "Which layout engine to use"
},
"levels": {
"type": "number",
"description": "Number of levels allowed in the multilevel scheme. For sfdp only"
},
"levelsgap": {
"type": "number",
"description": "strictness of neato level constraints. For neato only"
},
"lheight": {
"type": "number",
"description": "Height of graph or cluster label, in inches. For write only"
},
"linelength": {
"type": "number",
"description": "How long strings should get before overflowing to next line, for text output"
},
"lp": {
"type": "string",
"description": "Label center position. For write only"
},
"lwidth": {
"type": "number",
"description": "Width of graph or cluster label, in inches. For write only"
},
"margin": {
"type": "number",
"description": "For graphs, this sets x and y margins of canvas, in inches"
},
"maxiter": {
"type": "number",
"description": "Sets the number of iterations used. For neato, fdp only"
},
"mclimit": {
"type": "number",
"description": "Scale factor for mincross (mc) edge crossing minimiser parameters. For dot only"
},
"mindist": {
"type": "number",
"description": "Specifies the minimum separation between all nodes. For circo only"
},
"mode": {
"type": "string",
"description": "Technique for optimizing the layout. For neato only"
},
"model": {
"type": "string",
"description": "Specifies how the distance matrix is computed for the input graph. For neato only"
},
"newrank": {
"type": "boolean",
"description": "Whether to use a single global ranking, ignoring clusters. For dot only"
},
"nodesep": {
"type": "number",
"description": "In dot, nodesep specifies the minimum space between two adjacent nodes in the same rank, in inches"
},
"nojustify": {
"type": "boolean",
"description": "Whether to justify multiline text vs the previous text line (rather than the side of the container)"
},
"normalize": {
"type": "number",
"description": "normalizes coordinates of final layout. For neato, fdp, sfdp, twopi, circo only"
},
"notranslate": {
"type": "boolean",
"description": "Whether to avoid translating layout to the origin point. For neato only"
},
"nslimit": {
"type": "number",
"description": "Sets number of iterations in network simplex applications. For dot only"
},
"nslimit1": {
"type": "number",
"description": "Sets number of iterations in network simplex applications. For dot only"
},
"oneblock": {
"type": "boolean",
"description": "Whether to draw circo graphs around one circle. For circo only"
},
"ordering": {
"type": "string",
"description": "Constrains the left-to-right ordering of node edges. For dot only"
},
"orientation": {
"type": "number",
"description": "node shape rotation angle, or graph orientation"
},
"outputorder": {
"type": "string",
"description": "Specify order in which nodes and edges are drawn"
},
"overlap": {
"type": "string",
"description": "Determines if and how node overlaps should be removed. For fdp, neato only"
},
"overlap_scaling": {
"type": "number",
"description": "Scale layout by factor, to reduce node overlap. For prism, neato, sfdp, fdp, circo, twopi only"
},
"overlap_shrink": {
"type": "boolean",
"description": "Whether the overlap removal algorithm should perform a compression pass to reduce the size of the layout. For prism only"
},
"pack": {
"type": "boolean",
"description": "Whether each connected component of the graph should be laid out separately, and then the graphs packed together"
},
"packmode": {
"type": "string",
"description": "How connected components should be packed"
},
"pad": {
"type": "number",
"description": "Inches to extend the drawing area around the minimal area needed to draw the graph"
},
"page": {
"type": "number",
"description": "Width and height of output pages, in inches"
},
"pagedir": {
"type": "string",
"description": "The order in which pages are emitted"
},
"quadtree": {
"type": "string",
"description": "Quadtree scheme to use. For sfdp only"
},
"quantum": {
"type": "number",
"description": "If quantum > 0.0, node label dimensions will be rounded to integral multiples of the quantum"
},
"rankdir": {
"type": "string",
"description": "Sets direction of graph layout. For dot only"
},
"ranksep": {
"type": "number",
"description": "Specifies separation between ranks. For dot, twopi only"
},
"ratio": {
"type": "number",
"description": "Sets the aspect ratio (drawing height/drawing width) for the drawing"
},
"remincross": {
"type": "boolean",
"description": "If there are multiple clusters, whether to run edge crossing minimization a second time. For dot only"
},
"repulsiveforce": {
"type": "number",
"description": "The power of the repulsive force used in an extended Fruchterman-Reingold. For sfdp only"
},
"resolution": {
"type": "number",
"description": "Synonym for dpi. For bitmap output, svg only"
},
"root": {
"type": "string",
"description": "Specifies nodes to be used as the center of the layout. For twopi, circo only"
},
"rotate": {
"type": "number",
"description": "If rotate=90, sets drawing orientation to landscape"
},
"rotation": {
"type": "number",
"description": "Rotates the final layout counter-clockwise by the specified number of degrees. For sfdp only"
},
"scale": {
"type": "number",
"description": "Scales layout by the given factor after the initial layout. For neato, twopi only"
},
"searchsize": {
"type": "number",
"description": "During network simplex, the maximum number of edges with negative cut values to search when looking for an edge with minimum cut value. For dot only"
},
"sep": {
"type": "string",
"description": "Margin to leave around nodes when removing node overlap. For fdp, neato only"
},
"showboxes": {
"type": "number",
"description": "Print guide boxes for debugging. For dot only"
},
"size": {
"type": "number",
"description": "Maximum width and height of drawing, in inches"
},
"smoothing": {
"type": "string",
"description": "Specifies a post-processing step used to smooth out an uneven distribution of nodes. For sfdp only"
},
"sortv": {
"type": "number",
"description": "Sort order of graph components for ordering packmode packing"
},
"splines": {
"type": ["boolean", "string"],
"description": "Controls how, and if, edges are represented"
},
"start": {
"type": "string",
"description": "Parameter used to determine the initial layout of nodes. For neato, fdp, sfdp only"
},
"style": {
"type": "string",
"description": "Set style information for components of the graph"
},
"stylesheet": {
"type": "string",
"description": "A URL or pathname specifying an XML style sheet, used in SVG output. For svg only"
},
"target": {
"type": "string",
"description": "If the object has a URL, this attribute determines which window of the browser is used for the URL. For map, svg only"
},
"TBbalance": {
"type": "string",
"description": "Which rank to move floating (loose) nodes to. For dot only"
},
"tooltip": {
"type": "string",
"description": "Tooltip (mouse hover text) attached to the node, edge, cluster, or graph. For cmap, svg only"
},
"truecolor": {
"type": "boolean",
"description": "Whether internal bitmap rendering relies on a truecolor color model or uses. For bitmap output only"
},
"URL": {
"type": "string",
"description": "Hyperlinks incorporated into device-dependent output. For map, postscript, svg only"
},
"viewport": {
"type": "string",
"description": "Clipping window on final drawing"
},
"voro_margin": {
"type": "number",
"description": "Tuning margin of Voronoi technique. For neato, fdp, sfdp, twopi, circo only"
},
"xdotversion": {
"type": "string",
"description": "Determines the version of xdot used in output. For xdot only"
}
},
"title": "Graph"
},
"Edge": {
"type": "object",
"additionalProperties": false,
"properties": {
"arrowhead": {
"type": "string",
"description": "Style of arrowhead on the head node of an edge"
},
"arrowsize": {
"type": "number",
"description": "Multiplicative scale factor for arrowheads"
},
"arrowtail": {
"type": "string",
"description": "Style of arrowhead on the tail node of an edge"
},
"class": {
"type": "string",
"description": "Classnames to attach to the node, edge, graph, or cluster's SVG element. For svg only"
},
"color": {
"type": "string",
"description": "Basic drawing color for graphics, not text"
},
"colorscheme":{
"type": "string",
"description": "A color scheme namespace: the context for interpreting color names"
},
"comment": {
"type": "string",
"description": "Comments are inserted into output"
},
"constraint": {
"type": "boolean",
"description": "If false, the edge is not used in ranking the nodes. For dot only"
},
"decorate": {
"type": "boolean",
"description": "Whether to connect the edge label to the edge with a line"
},
"dir": {
"type": "string",
"description": "Edge type for drawing arrowheads"
},
"edgehref": {
"type": "string",
"description": "Synonym for edgeURL. For map, svg only"
},
"edgetarget": {
"type": "string",
"description": "Browser window to use for the edgeURL link. For map, svg only"
},
"edgetooltip": {
"type": "string",
"description": "Tooltip annotation attached to the non-label part of an edge. For cmap, svg only"
},
"edgeURL": {
"type": "string",
"description": "The link for the non-label parts of an edge. For map, svg only"
},
"fillcolor": {
"type": "string",
"description": "Color used to fill the background of a node or cluster"
},
"fontcolor": {
"type": "string",
"description": "Color used for text"
},
"fontname": {
"type": "string",
"description": "Font used for text"
},
"fontsize": {
"type": "number",
"description": "Font size, in points, used for text"
},
"head_lp": {
"type": "string",
"description": "Center position of an edge's head label. For write only"
},
"headclip": {
"type": "boolean",
"description": "If true, the head of an edge is clipped to the boundary of the head node"
},
"headhref": {
"type": "string",
"description": "Synonym for headURL. For map, svg only"
},
"headlabel": {
"type": "string",
"description": "Text label to be placed near head of edge"
},
"headport": {
"type": "string",
"description": "Indicates where on the head node to attach the head of the edge"
},
"headtarget": {
"type": "string",
"description": "Browser window to use for the headURL link. For map, svg only"
},
"headtooltip": {
"type": "string",
"description": "Tooltip annotation attached to the head of an edge. For cmap, svg only"
},
"headURL": {
"type": "string",
"description": "If defined, headURL is output as part of the head label of the edge. For map, svg only"
},
"href": {
"type": "string",
"description": "Synonym for URL. For map, postscript, svg only"
},
"id": {
"type": "string",
"description": "Identifier for graph objects. For map, postscript, svg only"
},
"label": {
"type": "string",
"description": "Text label attached to objects"
},
"labelangle": {
"type": "number",
"description": "The angle (in degrees) in polar coordinates of the head & tail edge labels"
},
"labeldistance": {
"type": "number",
"description": "Scaling factor for the distance of headlabel / taillabel from the head / tail nodes"
},
"labelfloat": {
"type": "boolean",
"description": "If true, allows edge labels to be less constrained in position"
},
"labelfontcolor": {
"type": "string",
"description": "Color used for headlabel and taillabel"
},
"labelfontname": {
"type": "string",
"description": "Font for headlabel and taillabel"
},
"labelfontsize": {
"type": "number",
"description": "Font size of headlabel and taillabel"
},
"labelhref": {
"type": "string",
"description": "Synonym for labelURL. For map, svg only"
},
"labeltarget": {
"type": "string",
"description": "Browser window to open labelURL links in. For map, svg only"
},
"labeltooltip": {
"type": "string",
"description": "Tooltip annotation attached to label of an edge. For cmap, svg only"
},
"labelURL": {
"type": "string",
"description": "If defined, labelURL is the link used for the label of an edge. For map, svg only"
},
"layer": {
"type": "string",
"description": "Specifies layers in which the node, edge or cluster is present"
},
"len": {
"type": "number",
"description": "Preferred edge length, in inches. For neato, fdp only"
},
"lhead": {
"type": "string",
"description": "Logical head of an edge. For dot only"
},
"lp": {
"type": "string",
"description": "Label center position. For write only"
},
"ltail": {
"type": "string",
"description": "Logical tail of an edge. For dot only"
},
"minlen": {
"type": "number",
"description": "Minimum edge length (rank difference between head and tail). For dot only"
},
"nojustify": {
"type": "boolean",
"description": "Whether to justify multiline text vs the previous text line (rather than the side of the container)"
},
"penwidth": {
"type": "number",
"description": "Specifies the width of the pen, in points, used to draw lines and curves"
},
"pos": {
"type": "string",
"description": "Position of node, or spline control points. For neato, fdp only"
},
"samehead": {
"type": "string",
"description": "Edges with the same head and the same samehead value are aimed at the same point on the head. For dot only"
},
"sametail": {
"type": "string",
"description": "Edges with the same tail and the same sametail value are aimed at the same point on the tail. For dot only"
},
"showboxes": {
"type": "number",
"description": "Print guide boxes for debugging. For dot only"
},
"style": {
"type": "string",
"description": "Set style information for components of the graph"
},
"tail_lp": {
"type": "string",
"description": "Position of an edge's tail label, in points. For write only"
},
"tailclip": {
"type": "boolean",
"description": "If true, the tail of an edge is clipped to the boundary of the tail node"
},
"tailhref": {
"type": "string",
"description": "Synonym for tailURL. For map, svg only"
},
"taillabel": {
"type": "string",
"description": "Text label to be placed near tail of edge"
},
"tailport": {
"type": "string",
"description": "Indicates where on the tail node to attach the tail of the edge"
},
"tailtarget": {
"type": "string",
"description": "Browser window to use for the tailURL link. For map, svg only"
},
"tailtooltip":{
"type": "string",
"description": "Tooltip annotation attached to the tail of an edge. For cmap, svg only"
},
"tailURL": {
"type": "string",
"description": "If defined, tailURL is output as part of the tail label of the edge. For map, svg only"
},
"target": {
"type": "string",
"description": "If the object has a URL, this attribute determines which window of the browser is used for the URL. For map, svg only"
},
"tooltip": {
"type": "string",
"description": "Tooltip (mouse hover text) attached to the node, edge, cluster, or graph. For cmap, svg only"
},
"URL": {
"type": "string",
"description": "Hyperlinks incorporated into device-dependent output. For map, postscript, svg only"
},
"weight": {
"type": "number",
"description": "Weight of edge"
},
"xlabel": {
"type": "string",
"description": "External label for a node or edge"
},
"xlp": {
"type": "string",
"description": "Position of an exterior label, in points. For write only"
}
},
"title": "Edge"
}
}
}
================================================
FILE: pyproject.toml
================================================
[tool.ruff]
target-version = "py39"
src = ["src"]
select = ["ALL"]
line-length = 120
ignore = [
"A002",
"D",
"EM101",
"I",
"PTH123",
"TRY003",
"RET504",
"S113",
"S311",
"UP007",
"C901",
"PTH109",
]
[tool.ruff.per-file-ignores]
"__init__.py" = [
"D104",
"F401",
]
"schema.py" = [
"A003",
]
[tool.ruff.flake8-quotes]
docstring-quotes = "double"
inline-quotes = "single"
================================================
FILE: requirements/dev.txt
================================================
isort==5.9.3
darglint==1.8.1
ruff==0.0.278
yamllint==1.26.3
================================================
FILE: requirements/ops.txt
================================================
project-version==0.7.3
setuptools==59.6.0
twine==3.7.1
wheel==0.37.1
================================================
FILE: requirements/project.txt
================================================
diagrams==0.23.3
pydantic==2.0.3
pyyaml==6.0.1
================================================
FILE: setup.cfg
================================================
[isort]
known_local_folder=threads
line_length=120
multi_line_output=3
include_trailing_comma=True
force_grid_wrap=True
combine_as_imports=True
================================================
FILE: setup.py
================================================
"""
Setup the package.
"""
from setuptools import (
find_packages,
setup,
)
with open('README.md', 'r', encoding='utf-8') as read_me:
long_description = read_me.read()
with open('requirements/project.txt', 'r') as f:
requirements = f.read().splitlines()
with open('.project-version', 'r') as project_version_file:
project_version = project_version_file.read().strip()
setup(
version=project_version,
name='diagrams-as-code',
description='Diagrams as code: declarative configurations using YAML for drawing cloud system architectures.',
long_description=long_description,
long_description_content_type='text/markdown',
url='https://github.com/dmytrostriletskyi/diagrams-as-code',
project_urls={
'Issue Tracker': 'https://github.com/dmytrostriletskyi/diagrams-as-code/issues',
'Source Code': 'https://github.com/dmytrostriletskyi/diagrams-as-code',
'Download': 'https://github.com/dmytrostriletskyi/diagrams-as-code/tags',
},
license='MIT',
author='Dmytro Striletskyi',
author_email='dmytro.striletskyi@gmail.com',
packages=find_packages(),
install_requires=requirements,
classifiers=[
'Operating System :: OS Independent',
'Intended Audience :: Developers',
'License :: OSI Approved :: MIT License',
'Programming Language :: Python :: 3.10',
'Programming Language :: Python :: 3.11',
],
entry_points={
'console_scripts': [
'diagrams-as-code = diagrams_as_code.entrypoint:entrypoint',
],
},
)