diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 00000000..2c39972c --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1,29 @@ +# use latest python 3 alpine image. +FROM python:3-alpine + +# install system dependencies. +RUN apk update && apk add --no-cache \ + gcc libc-dev g++ graphviz git bash go imagemagick inkscape ttf-opensans curl fontconfig xdg-utils \ + nodejs npm + +# install go package. +RUN go install github.com/mingrammer/round@latest + +# install fonts +RUN curl -O https://noto-website.storage.googleapis.com/pkgs/NotoSansCJKjp-hinted.zip \ +&& mkdir -p /usr/share/fonts/NotoSansCJKjp \ +&& unzip NotoSansCJKjp-hinted.zip -d /usr/share/fonts/NotoSansCJKjp/ \ +&& rm NotoSansCJKjp-hinted.zip \ +&& fc-cache -fv + +# add go bin to path. +ENV PATH "$PATH:/root/go/bin" + +# project directory. +WORKDIR /usr/src/diagrams + +# Copy the rest of your app's source code from your host to your image filesystem. +COPY . . + +# install python requirements. +RUN pip install black graphviz jinja2 diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index b4389183..4b8064a2 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -22,10 +22,17 @@ // Configure tool-specific properties. "customizations": { "vscode": { - "extensions": ["ms-python.python"] + "extensions": [ + "ms-python.python", + "ms-python.debugpy", + "mhutchie.git-graph", + "mutantdino.resourcemonitor", + "tehpeng.diagramspreviewer" + ] } } - + "workspaceMount": "source=${localWorkspaceFolder},target=/usr/src/diagrams,type=bind", + "workspaceFolder": "/usr/src/diagrams" // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. // "remoteUser": "root" -} +} \ No newline at end of file diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml new file mode 100644 index 00000000..2b11178b --- /dev/null +++ b/.github/workflows/pre-commit.yml @@ -0,0 +1,14 @@ +name: pre-commit + +on: + pull_request: + push: + branches: [main] + +jobs: + pre-commit: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-python@v3 + - uses: pre-commit/action@v3.0.1 diff --git a/.isort.cfg b/.isort.cfg new file mode 100644 index 00000000..8112570b --- /dev/null +++ b/.isort.cfg @@ -0,0 +1,5 @@ +[settings] +line_length = 120 +multi_line_output = 3 +include_trailing_comma = True +known_third_party = graphviz,jinja2 diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 00000000..21cef885 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,23 @@ +repos: +- repo: https://github.com/pre-commit/pre-commit-hooks + rev: v3.2.0 + hooks: + - id: check-yaml + - id: end-of-file-fixer + - id: trailing-whitespace + +- repo: https://github.com/asottile/seed-isort-config + rev: v2.2.0 + hooks: + - id: seed-isort-config + +- repo: https://github.com/pre-commit/mirrors-isort + rev: v5.10.1 + hooks: + - id: isort + +- repo: https://github.com/hhatto/autopep8 + rev: v2.3.1 + hooks: + - id: autopep8 + args: [--in-place, --aggressive, --aggressive, --max-line-length=120] diff --git a/CHANGELOG.md b/CHANGELOG.md index fe71dd9a..8a832169 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -407,4 +407,4 @@ The following import changes: | Old import path | New import path | | -------------------------------------------------------------------| --------------------------------------------------------------| | `from diagrams.oci.connectivity import CustomerPremiseWhite` | `from diagrams.oci.connectivity import CustomerPremisesWhite` | -| `from diagrams.oci.connectivity import CustomerPremises` | `from diagrams.oci.connectivity import CustomerPremises` | \ No newline at end of file +| `from diagrams.oci.connectivity import CustomerPremises` | `from diagrams.oci.connectivity import CustomerPremises` | diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index 575806a4..0cd0e908 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -59,7 +59,8 @@ To be able to develop and run diagrams locally on you Mac device, you should hav ```shell brew install imagemagick inkscape black - go get github.com/mingrammer/round + go install github.com/mingrammer/round@latest + # ln -sf ~/go/bin/round ~/.local/bin/round ``` 5. Run unit tests to confirm that it's working. @@ -74,4 +75,4 @@ To be able to develop and run diagrams locally on you Mac device, you should hav ./autogen.sh ``` -7. If the unit tests and the bash script `autogen.sh` is working correctly, then your system is now ready for development. \ No newline at end of file +7. If the unit tests and the bash script `autogen.sh` is working correctly, then your system is now ready for development. diff --git a/README.md b/README.md index a24d11f0..500e4f88 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ [![license](https://img.shields.io/badge/license-MIT-blue.svg)](/LICENSE) [![pypi version](https://badge.fury.io/py/diagrams.svg)](https://badge.fury.io/py/diagrams) -![python version](https://img.shields.io/badge/python-%3E%3D%203.6-blue?logo=python) +![python version](https://img.shields.io/badge/python-%3E%3D%203.9-blue?logo=python) ![Run tests](https://github.com/mingrammer/diagrams/workflows/Run%20tests/badge.svg?branch=master) [![todos](https://badgen.net/https/api.tickgit.com/badgen/github.com/mingrammer/diagrams?label=todos)](https://www.tickgit.com/browse?repo=github.com/mingrammer/diagrams) ![contributors](https://img.shields.io/github/contributors/mingrammer/diagrams) @@ -41,7 +41,7 @@ Diagrams lets you draw the cloud system architecture **in Python code**. It was ## Getting Started -It requires **Python 3.7** or higher, check your Python version first. +It requires **Python 3.9** or higher, check your Python version first. It uses [Graphviz](https://www.graphviz.org/) to render the diagram, so you need to [install Graphviz](https://graphviz.gitlab.io/download/) to use **diagrams**. After installing graphviz (or already have it), install the **diagrams**. diff --git a/config.py b/config.py index 58c44755..86a58342 100644 --- a/config.py +++ b/config.py @@ -246,6 +246,9 @@ ALIASES = { "ElbClassicLoadBalancer": "CLB", "ElbNetworkLoadBalancer": "NLB", "GlobalAccelerator": "GAX", + "InternetGateway": "IGW", + "TransitGateway": "TGW", + "TransitGatewayAttachment": "TGWAttach", }, "security": { "CertificateManager": "ACM", diff --git a/diagrams/__init__.py b/diagrams/__init__.py index 7b6d2461..8625cd5d 100644 --- a/diagrams/__init__.py +++ b/diagrams/__init__.py @@ -139,7 +139,8 @@ class Diagram: if isinstance(outformat, list): for one_format in outformat: if not self._validate_outformat(one_format): - raise ValueError(f'"{one_format}" is not a valid output format') + raise ValueError( + f'"{one_format}" is not a valid output format') else: if not self._validate_outformat(outformat): raise ValueError(f'"{outformat}" is not a valid output format') @@ -478,7 +479,8 @@ class Edge: if label: # Graphviz complaining about using label for edges, so replace it with xlabel. - # Update: xlabel option causes the misaligned label position: https://github.com/mingrammer/diagrams/issues/83 + # Update: xlabel option causes the misaligned label position: + # https://github.com/mingrammer/diagrams/issues/83 self._attrs["label"] = label if color: self._attrs["color"] = color @@ -490,7 +492,8 @@ class Edge: """Implement Self - Node or Edge and Self - [Nodes]""" return self.connect(other) - def __rsub__(self, other: Union[List["Node"], List["Edge"]]) -> List["Edge"]: + def __rsub__(self, other: Union[List["Node"], + List["Edge"]]) -> List["Edge"]: """Called for [Nodes] or [Edges] - Self because list don't have __sub__ operators.""" return self.append(other) @@ -504,15 +507,23 @@ class Edge: self.reverse = True return self.connect(other) - def __rrshift__(self, other: Union[List["Node"], List["Edge"]]) -> List["Edge"]: + def __rrshift__(self, + other: Union[List["Node"], + List["Edge"]]) -> List["Edge"]: """Called for [Nodes] or [Edges] >> Self because list of Edges don't have __rshift__ operators.""" return self.append(other, forward=True) - def __rlshift__(self, other: Union[List["Node"], List["Edge"]]) -> List["Edge"]: + def __rlshift__(self, + other: Union[List["Node"], + List["Edge"]]) -> List["Edge"]: """Called for [Nodes] or [Edges] << Self because list of Edges don't have __lshift__ operators.""" return self.append(other, reverse=True) - def append(self, other: Union[List["Node"], List["Edge"]], forward=None, reverse=None) -> List["Edge"]: + def append(self, + other: Union[List["Node"], + List["Edge"]], + forward=None, + reverse=None) -> List["Edge"]: result = [] for o in other: if isinstance(o, Edge): @@ -521,7 +532,12 @@ class Edge: self._attrs = o.attrs.copy() result.append(o) else: - result.append(Edge(o, forward=forward, reverse=reverse, **self._attrs)) + result.append( + Edge( + o, + forward=forward, + reverse=reverse, + **self._attrs)) return result def connect(self, other: Union["Node", "Edge", List["Node"]]): diff --git a/diagrams/alibabacloud/__init__.py b/diagrams/alibabacloud/__init__.py index a64c2002..7d4fa2b5 100644 --- a/diagrams/alibabacloud/__init__.py +++ b/diagrams/alibabacloud/__init__.py @@ -10,3 +10,7 @@ class _AlibabaCloud(Node): _icon_dir = "resources/alibabacloud" fontcolor = "#ffffff" + + +class AlibabaCloud(_AlibabaCloud): + _icon = "alibabacloud.png" diff --git a/diagrams/aws/__init__.py b/diagrams/aws/__init__.py index 1550a0df..cdf31c3c 100644 --- a/diagrams/aws/__init__.py +++ b/diagrams/aws/__init__.py @@ -10,3 +10,7 @@ class _AWS(Node): _icon_dir = "resources/aws" fontcolor = "#ffffff" + + +class AWS(_AWS): + _icon = "aws.png" diff --git a/diagrams/aws/database.py b/diagrams/aws/database.py index 38c84f11..cbdb34d9 100644 --- a/diagrams/aws/database.py +++ b/diagrams/aws/database.py @@ -56,6 +56,10 @@ class DynamodbItems(_Database): _icon = "dynamodb-items.png" +class DynamodbStreams(_Database): + _icon = "dynamodb-streams.png" + + class DynamodbTable(_Database): _icon = "dynamodb-table.png" diff --git a/diagrams/aws/management.py b/diagrams/aws/management.py index 730a68cd..f6710686 100644 --- a/diagrams/aws/management.py +++ b/diagrams/aws/management.py @@ -64,6 +64,10 @@ class CloudwatchEventTimeBased(_Management): _icon = "cloudwatch-event-time-based.png" +class CloudwatchLogs(_Management): + _icon = "cloudwatch-logs.png" + + class CloudwatchRule(_Management): _icon = "cloudwatch-rule.png" diff --git a/diagrams/aws/network.py b/diagrams/aws/network.py index e9291a5e..4f072756 100644 --- a/diagrams/aws/network.py +++ b/diagrams/aws/network.py @@ -120,6 +120,10 @@ class SiteToSiteVpn(_Network): _icon = "site-to-site-vpn.png" +class TransitGatewayAttachment(_Network): + _icon = "transit-gateway-attachment.png" + + class TransitGateway(_Network): _icon = "transit-gateway.png" @@ -172,3 +176,6 @@ ALB = ElbApplicationLoadBalancer CLB = ElbClassicLoadBalancer NLB = ElbNetworkLoadBalancer GAX = GlobalAccelerator +IGW = InternetGateway +TGW = TransitGateway +TGWAttach = TransitGatewayAttachment diff --git a/diagrams/aws/storage.py b/diagrams/aws/storage.py index 564c07ab..a573d1e2 100644 --- a/diagrams/aws/storage.py +++ b/diagrams/aws/storage.py @@ -60,6 +60,10 @@ class MultipleVolumesResource(_Storage): _icon = "multiple-volumes-resource.png" +class S3AccessPoints(_Storage): + _icon = "s3-access-points.png" + + class S3GlacierArchive(_Storage): _icon = "s3-glacier-archive.png" @@ -72,6 +76,10 @@ class S3Glacier(_Storage): _icon = "s3-glacier.png" +class S3ObjectLambdaAccessPoints(_Storage): + _icon = "s3-object-lambda-access-points.png" + + class SimpleStorageServiceS3BucketWithObjects(_Storage): _icon = "simple-storage-service-s3-bucket-with-objects.png" diff --git a/diagrams/azure/__init__.py b/diagrams/azure/__init__.py index 0b80ace0..5f7c2b29 100644 --- a/diagrams/azure/__init__.py +++ b/diagrams/azure/__init__.py @@ -10,3 +10,7 @@ class _Azure(Node): _icon_dir = "resources/azure" fontcolor = "#ffffff" + + +class Azure(_Azure): + _icon = "azure.png" diff --git a/diagrams/azure/ml.py b/diagrams/azure/ml.py index 295a261e..eb0c474e 100644 --- a/diagrams/azure/ml.py +++ b/diagrams/azure/ml.py @@ -8,6 +8,14 @@ class _Ml(_Azure): _icon_dir = "resources/azure/ml" +class AzureOpenAI(_Ml): + _icon = "azure-open-ai.png" + + +class AzureSpeedToText(_Ml): + _icon = "azure-speed-to-text.png" + + class BatchAI(_Ml): _icon = "batch-ai.png" diff --git a/diagrams/c4/__init__.py b/diagrams/c4/__init__.py index f53a65bc..9bc2bf98 100644 --- a/diagrams/c4/__init__.py +++ b/diagrams/c4/__init__.py @@ -4,7 +4,8 @@ A set of nodes and edges to visualize software architecture using the C4 model. import html import textwrap -from diagrams import Cluster, Node, Edge + +from diagrams import Cluster, Edge, Node def _format_node_label(name, key, description): @@ -26,7 +27,8 @@ def _format_description(description): """ wrapper = textwrap.TextWrapper(width=40, max_lines=3) lines = [html.escape(line) for line in wrapper.wrap(description)] - lines += [""] * (3 - len(lines)) # fill up with empty lines so it is always three + # fill up with empty lines so it is always three + lines += [""] * (3 - len(lines)) return "
".join(lines) diff --git a/diagrams/digitalocean/__init__.py b/diagrams/digitalocean/__init__.py index 29daae0b..e9557d1b 100644 --- a/diagrams/digitalocean/__init__.py +++ b/diagrams/digitalocean/__init__.py @@ -10,3 +10,7 @@ class _DigitalOcean(Node): _icon_dir = "resources/digitalocean" fontcolor = "#ffffff" + + +class DigitalOcean(_DigitalOcean): + _icon = "digitalocean.png" diff --git a/diagrams/elastic/__init__.py b/diagrams/elastic/__init__.py index 786fa60e..17b86961 100644 --- a/diagrams/elastic/__init__.py +++ b/diagrams/elastic/__init__.py @@ -10,3 +10,7 @@ class _Elastic(Node): _icon_dir = "resources/elastic" fontcolor = "#ffffff" + + +class Elastic(_Elastic): + _icon = "elastic.png" diff --git a/diagrams/firebase/__init__.py b/diagrams/firebase/__init__.py index 5cd693ec..11c65802 100644 --- a/diagrams/firebase/__init__.py +++ b/diagrams/firebase/__init__.py @@ -10,3 +10,7 @@ class _Firebase(Node): _icon_dir = "resources/firebase" fontcolor = "#ffffff" + + +class Firebase(_Firebase): + _icon = "firebase.png" diff --git a/diagrams/gcp/__init__.py b/diagrams/gcp/__init__.py index 1188a8d0..2ca41aed 100644 --- a/diagrams/gcp/__init__.py +++ b/diagrams/gcp/__init__.py @@ -10,3 +10,7 @@ class _GCP(Node): _icon_dir = "resources/gcp" fontcolor = "#2d3436" + + +class GCP(_GCP): + _icon = "gcp.png" diff --git a/diagrams/generic/__init__.py b/diagrams/generic/__init__.py index 70db6868..de86d4f5 100644 --- a/diagrams/generic/__init__.py +++ b/diagrams/generic/__init__.py @@ -10,3 +10,7 @@ class _Generic(Node): _icon_dir = "resources/generic" fontcolor = "#ffffff" + + +class Generic(_Generic): + _icon = "generic.png" diff --git a/diagrams/ibm/__init__.py b/diagrams/ibm/__init__.py index 450fa366..31896d6e 100644 --- a/diagrams/ibm/__init__.py +++ b/diagrams/ibm/__init__.py @@ -10,3 +10,7 @@ class _IBM(Node): _icon_dir = "resources/ibm" fontcolor = "#ffffff" + + +class IBM(_IBM): + _icon = "ibm.png" diff --git a/diagrams/k8s/__init__.py b/diagrams/k8s/__init__.py index 6a137b4b..871bd2d3 100644 --- a/diagrams/k8s/__init__.py +++ b/diagrams/k8s/__init__.py @@ -10,3 +10,7 @@ class _K8S(Node): _icon_dir = "resources/k8s" fontcolor = "#2d3436" + + +class K8S(_K8S): + _icon = "k8s.png" diff --git a/diagrams/oci/__init__.py b/diagrams/oci/__init__.py index 7613b884..8dacc920 100644 --- a/diagrams/oci/__init__.py +++ b/diagrams/oci/__init__.py @@ -10,3 +10,7 @@ class _OCI(Node): _icon_dir = "resources/oci" fontcolor = "#312D2A" + + +class OCI(_OCI): + _icon = "oci.png" diff --git a/diagrams/onprem/__init__.py b/diagrams/onprem/__init__.py index 73d3e1fb..232c0630 100644 --- a/diagrams/onprem/__init__.py +++ b/diagrams/onprem/__init__.py @@ -10,3 +10,7 @@ class _OnPrem(Node): _icon_dir = "resources/onprem" fontcolor = "#ffffff" + + +class OnPrem(_OnPrem): + _icon = "onprem.png" diff --git a/diagrams/onprem/network.py b/diagrams/onprem/network.py index 15d81b24..7ef068b5 100644 --- a/diagrams/onprem/network.py +++ b/diagrams/onprem/network.py @@ -72,6 +72,10 @@ class Linkerd(_Network): _icon = "linkerd.png" +class Mikrotik(_Network): + _icon = "mikrotik.png" + + class Nginx(_Network): _icon = "nginx.png" diff --git a/diagrams/openstack/__init__.py b/diagrams/openstack/__init__.py index 7b36e1bb..46541103 100644 --- a/diagrams/openstack/__init__.py +++ b/diagrams/openstack/__init__.py @@ -10,3 +10,7 @@ class _OpenStack(Node): _icon_dir = "resources/openstack" fontcolor = "#ffffff" + + +class OpenStack(_OpenStack): + _icon = "openstack.png" diff --git a/diagrams/outscale/__init__.py b/diagrams/outscale/__init__.py index 917b4bfe..391ac4dd 100644 --- a/diagrams/outscale/__init__.py +++ b/diagrams/outscale/__init__.py @@ -6,3 +6,7 @@ class _Outscale(Node): _icon_dir = "resources/outscale" fontcolor = "#ffffff" + + +class Outscale(_Outscale): + _icon = "outscale.png" diff --git a/diagrams/programming/__init__.py b/diagrams/programming/__init__.py index 7a846e12..504cea66 100644 --- a/diagrams/programming/__init__.py +++ b/diagrams/programming/__init__.py @@ -10,3 +10,7 @@ class _Programming(Node): _icon_dir = "resources/programming" fontcolor = "#ffffff" + + +class Programming(_Programming): + _icon = "programming.png" diff --git a/diagrams/programming/framework.py b/diagrams/programming/framework.py index 10b184b9..5b2cc3ea 100644 --- a/diagrams/programming/framework.py +++ b/diagrams/programming/framework.py @@ -53,7 +53,7 @@ class Hibernate(_Framework): class Jhipster(_Framework): - _icon = "jhipster.png" + _icon = "jhipster.png" class Laravel(_Framework): @@ -68,6 +68,10 @@ class Nextjs(_Framework): _icon = "nextjs.png" +class Phoenix(_Framework): + _icon = "phoenix.png" + + class Quarkus(_Framework): _icon = "quarkus.png" @@ -84,6 +88,10 @@ class Spring(_Framework): _icon = "spring.png" +class Sqlpage(_Framework): + _icon = "sqlpage.png" + + class Starlette(_Framework): _icon = "starlette.png" @@ -106,4 +114,3 @@ FastAPI = Fastapi GraphQL = Graphql DotNet = Dotnet NextJs = Nextjs -JHipster = Jhipster diff --git a/diagrams/programming/language.py b/diagrams/programming/language.py index 5503c7b6..a747dbfc 100644 --- a/diagrams/programming/language.py +++ b/diagrams/programming/language.py @@ -88,6 +88,10 @@ class Scala(_Language): _icon = "scala.png" +class Sql(_Language): + _icon = "sql.png" + + class Swift(_Language): _icon = "swift.png" diff --git a/diagrams/saas/__init__.py b/diagrams/saas/__init__.py index ecae1d80..e0acaccd 100644 --- a/diagrams/saas/__init__.py +++ b/diagrams/saas/__init__.py @@ -10,3 +10,7 @@ class _Saas(Node): _icon_dir = "resources/saas" fontcolor = "#ffffff" + + +class Saas(_Saas): + _icon = "saas.png" diff --git a/diagrams/saas/crm.py b/diagrams/saas/crm.py new file mode 100644 index 00000000..56b1bef2 --- /dev/null +++ b/diagrams/saas/crm.py @@ -0,0 +1,19 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _Saas + + +class _Crm(_Saas): + _type = "crm" + _icon_dir = "resources/saas/crm" + + +class Intercom(_Crm): + _icon = "intercom.png" + + +class Zendesk(_Crm): + _icon = "zendesk.png" + + +# Aliases diff --git a/diagrams/saas/security.py b/diagrams/saas/security.py index 4fc316ed..ff844f84 100644 --- a/diagrams/saas/security.py +++ b/diagrams/saas/security.py @@ -4,10 +4,14 @@ from . import _Saas class _Security(_Saas): - _type = "alerting" + _type = "security" _icon_dir = "resources/saas/security" +class Crowdstrike(_Security): + _icon = "crowdstrike.png" + + class Sonarqube(_Security): _icon = "sonarqube.png" diff --git a/docker/dev/Dockerfile b/docker/dev/Dockerfile index 8ec78b36..bc6e76ae 100644 --- a/docker/dev/Dockerfile +++ b/docker/dev/Dockerfile @@ -1,5 +1,5 @@ -# use latest python 3 alpine image. -FROM python:3-alpine +# use latest python alpine image. +FROM python:3.13.1-alpine3.20 # install system dependencies. RUN apk update && apk add --no-cache \ @@ -9,14 +9,14 @@ RUN apk update && apk add --no-cache \ RUN go install github.com/mingrammer/round@latest # install fonts -RUN curl -O https://noto-website.storage.googleapis.com/pkgs/NotoSansCJKjp-hinted.zip \ +RUN curl -O https://noto-website-2.storage.googleapis.com/pkgs/NotoSansCJKjp-hinted.zip \ && mkdir -p /usr/share/fonts/NotoSansCJKjp \ && unzip NotoSansCJKjp-hinted.zip -d /usr/share/fonts/NotoSansCJKjp/ \ && rm NotoSansCJKjp-hinted.zip \ && fc-cache -fv # add go bin to path. -ENV PATH "$PATH:/root/go/bin" +ENV PATH="$PATH:/root/go/bin" # project directory. WORKDIR /usr/src/diagrams diff --git a/docs/nodes/aws.md b/docs/nodes/aws.md index cf9e2cf6..7abb578a 100644 --- a/docs/nodes/aws.md +++ b/docs/nodes/aws.md @@ -317,6 +317,9 @@ Node classes list of the aws provider. DynamodbItems **diagrams.aws.database.DynamodbItems** +DynamodbStreams +**diagrams.aws.database.DynamodbStreams** + DynamodbTable **diagrams.aws.database.DynamodbTable** @@ -848,6 +851,9 @@ Node classes list of the aws provider. CloudwatchEventTimeBased **diagrams.aws.management.CloudwatchEventTimeBased** +CloudwatchLogs +**diagrams.aws.management.CloudwatchLogs** + CloudwatchRule **diagrams.aws.management.CloudwatchRule** @@ -1221,7 +1227,7 @@ Node classes list of the aws provider. **diagrams.aws.network.GlobalAccelerator**, **GAX** (alias) InternetGateway -**diagrams.aws.network.InternetGateway** +**diagrams.aws.network.InternetGateway**, **IGW** (alias) Nacl **diagrams.aws.network.Nacl** @@ -1256,8 +1262,11 @@ Node classes list of the aws provider. SiteToSiteVpn **diagrams.aws.network.SiteToSiteVpn** +TransitGatewayAttachment +**diagrams.aws.network.TransitGatewayAttachment**, **TGWAttach** (alias) + TransitGateway -**diagrams.aws.network.TransitGateway** +**diagrams.aws.network.TransitGateway**, **TGW** (alias) VPCCustomerGateway **diagrams.aws.network.VPCCustomerGateway** @@ -1490,6 +1499,9 @@ Node classes list of the aws provider. MultipleVolumesResource **diagrams.aws.storage.MultipleVolumesResource** +S3AccessPoints +**diagrams.aws.storage.S3AccessPoints** + S3GlacierArchive **diagrams.aws.storage.S3GlacierArchive** @@ -1499,6 +1511,9 @@ Node classes list of the aws provider. S3Glacier **diagrams.aws.storage.S3Glacier** +S3ObjectLambdaAccessPoints +**diagrams.aws.storage.S3ObjectLambdaAccessPoints** + SimpleStorageServiceS3BucketWithObjects **diagrams.aws.storage.SimpleStorageServiceS3BucketWithObjects** diff --git a/docs/nodes/azure.md b/docs/nodes/azure.md index dbb62a14..5a91236f 100644 --- a/docs/nodes/azure.md +++ b/docs/nodes/azure.md @@ -1568,6 +1568,12 @@ Node classes list of azure provider. ## azure.ml +AzureOpenAI +**diagrams.azure.ml.AzureOpenAI** + +AzureSpeedToText +**diagrams.azure.ml.AzureSpeedToText** + BatchAI **diagrams.azure.ml.BatchAI** diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index d382f0ad..149ebf90 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -437,6 +437,9 @@ Node classes list of the onprem provider. Linkerd **diagrams.onprem.network.Linkerd** +Mikrotik +**diagrams.onprem.network.Mikrotik** + Nginx **diagrams.onprem.network.Nginx** diff --git a/docs/nodes/programming.md b/docs/nodes/programming.md index 44843c71..3816f203 100644 --- a/docs/nodes/programming.md +++ b/docs/nodes/programming.md @@ -117,7 +117,7 @@ Node classes list of the programming provider. **diagrams.programming.framework.Hibernate** Jhipster -**diagrams.programming.framework.Jhipster**, **JHipster** (alias) +**diagrams.programming.framework.Jhipster** Laravel **diagrams.programming.framework.Laravel** @@ -128,6 +128,9 @@ Node classes list of the programming provider. Nextjs **diagrams.programming.framework.Nextjs**, **NextJs** (alias) +Phoenix +**diagrams.programming.framework.Phoenix** + Quarkus **diagrams.programming.framework.Quarkus** @@ -140,6 +143,9 @@ Node classes list of the programming provider. Spring **diagrams.programming.framework.Spring** +Sqlpage +**diagrams.programming.framework.Sqlpage** + Starlette **diagrams.programming.framework.Starlette** @@ -215,6 +221,9 @@ Node classes list of the programming provider. Scala **diagrams.programming.language.Scala** +Sql +**diagrams.programming.language.Sql** + Swift **diagrams.programming.language.Swift** diff --git a/docs/nodes/saas.md b/docs/nodes/saas.md index a44702c7..54f236d3 100644 --- a/docs/nodes/saas.md +++ b/docs/nodes/saas.md @@ -80,6 +80,15 @@ Node classes list of the saas provider. Twilio **diagrams.saas.communication.Twilio** +## saas.crm + + +Intercom +**diagrams.saas.crm.Intercom** + +Zendesk +**diagrams.saas.crm.Zendesk** + ## saas.filesharing @@ -119,6 +128,15 @@ Node classes list of the saas provider. Recombee **diagrams.saas.recommendation.Recombee** +## saas.security + + +Crowdstrike +**diagrams.saas.security.Crowdstrike** + +Sonarqube +**diagrams.saas.security.Sonarqube** + ## saas.social diff --git a/poetry.lock b/poetry.lock index 02f04d8d..d6c4f138 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,14 +1,14 @@ -# This file is automatically @generated by Poetry 1.8.4 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.8.5 and should not be changed by hand. [[package]] name = "astroid" -version = "3.2.4" +version = "3.3.8" description = "An abstract syntax tree for Python with inference support." optional = false -python-versions = ">=3.8.0" +python-versions = ">=3.9.0" files = [ - {file = "astroid-3.2.4-py3-none-any.whl", hash = "sha256:413658a61eeca6202a59231abb473f932038fbcbf1666587f66d482083413a25"}, - {file = "astroid-3.2.4.tar.gz", hash = "sha256:0e14202810b30da1b735827f78f5157be2bbd4a7a59b7707ca0bfc2fb4c0063a"}, + {file = "astroid-3.3.8-py3-none-any.whl", hash = "sha256:187ccc0c248bfbba564826c26f070494f7bc964fd286b6d9fff4420e55de828c"}, + {file = "astroid-3.3.8.tar.gz", hash = "sha256:a88c7994f914a4ea8572fac479459f4955eeccc877be3f2d959a33273b0cf40b"}, ] [package.dependencies] @@ -16,33 +16,33 @@ typing-extensions = {version = ">=4.0.0", markers = "python_version < \"3.11\""} [[package]] name = "black" -version = "24.8.0" +version = "24.10.0" description = "The uncompromising code formatter." optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "black-24.8.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:09cdeb74d494ec023ded657f7092ba518e8cf78fa8386155e4a03fdcc44679e6"}, - {file = "black-24.8.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:81c6742da39f33b08e791da38410f32e27d632260e599df7245cccee2064afeb"}, - {file = "black-24.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:707a1ca89221bc8a1a64fb5e15ef39cd755633daa672a9db7498d1c19de66a42"}, - {file = "black-24.8.0-cp310-cp310-win_amd64.whl", hash = "sha256:d6417535d99c37cee4091a2f24eb2b6d5ec42b144d50f1f2e436d9fe1916fe1a"}, - {file = "black-24.8.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:fb6e2c0b86bbd43dee042e48059c9ad7830abd5c94b0bc518c0eeec57c3eddc1"}, - {file = "black-24.8.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:837fd281f1908d0076844bc2b801ad2d369c78c45cf800cad7b61686051041af"}, - {file = "black-24.8.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:62e8730977f0b77998029da7971fa896ceefa2c4c4933fcd593fa599ecbf97a4"}, - {file = "black-24.8.0-cp311-cp311-win_amd64.whl", hash = "sha256:72901b4913cbac8972ad911dc4098d5753704d1f3c56e44ae8dce99eecb0e3af"}, - {file = "black-24.8.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:7c046c1d1eeb7aea9335da62472481d3bbf3fd986e093cffd35f4385c94ae368"}, - {file = "black-24.8.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:649f6d84ccbae73ab767e206772cc2d7a393a001070a4c814a546afd0d423aed"}, - {file = "black-24.8.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2b59b250fdba5f9a9cd9d0ece6e6d993d91ce877d121d161e4698af3eb9c1018"}, - {file = "black-24.8.0-cp312-cp312-win_amd64.whl", hash = "sha256:6e55d30d44bed36593c3163b9bc63bf58b3b30e4611e4d88a0c3c239930ed5b2"}, - {file = "black-24.8.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:505289f17ceda596658ae81b61ebbe2d9b25aa78067035184ed0a9d855d18afd"}, - {file = "black-24.8.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b19c9ad992c7883ad84c9b22aaa73562a16b819c1d8db7a1a1a49fb7ec13c7d2"}, - {file = "black-24.8.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1f13f7f386f86f8121d76599114bb8c17b69d962137fc70efe56137727c7047e"}, - {file = "black-24.8.0-cp38-cp38-win_amd64.whl", hash = "sha256:f490dbd59680d809ca31efdae20e634f3fae27fba3ce0ba3208333b713bc3920"}, - {file = "black-24.8.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:eab4dd44ce80dea27dc69db40dab62d4ca96112f87996bca68cd75639aeb2e4c"}, - {file = "black-24.8.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3c4285573d4897a7610054af5a890bde7c65cb466040c5f0c8b732812d7f0e5e"}, - {file = "black-24.8.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9e84e33b37be070ba135176c123ae52a51f82306def9f7d063ee302ecab2cf47"}, - {file = "black-24.8.0-cp39-cp39-win_amd64.whl", hash = "sha256:73bbf84ed136e45d451a260c6b73ed674652f90a2b3211d6a35e78054563a9bb"}, - {file = "black-24.8.0-py3-none-any.whl", hash = "sha256:972085c618ee94f402da1af548a4f218c754ea7e5dc70acb168bfaca4c2542ed"}, - {file = "black-24.8.0.tar.gz", hash = "sha256:2500945420b6784c38b9ee885af039f5e7471ef284ab03fa35ecdde4688cd83f"}, + {file = "black-24.10.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e6668650ea4b685440857138e5fe40cde4d652633b1bdffc62933d0db4ed9812"}, + {file = "black-24.10.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1c536fcf674217e87b8cc3657b81809d3c085d7bf3ef262ead700da345bfa6ea"}, + {file = "black-24.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:649fff99a20bd06c6f727d2a27f401331dc0cc861fb69cde910fe95b01b5928f"}, + {file = "black-24.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:fe4d6476887de70546212c99ac9bd803d90b42fc4767f058a0baa895013fbb3e"}, + {file = "black-24.10.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5a2221696a8224e335c28816a9d331a6c2ae15a2ee34ec857dcf3e45dbfa99ad"}, + {file = "black-24.10.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f9da3333530dbcecc1be13e69c250ed8dfa67f43c4005fb537bb426e19200d50"}, + {file = "black-24.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4007b1393d902b48b36958a216c20c4482f601569d19ed1df294a496eb366392"}, + {file = "black-24.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:394d4ddc64782e51153eadcaaca95144ac4c35e27ef9b0a42e121ae7e57a9175"}, + {file = "black-24.10.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b5e39e0fae001df40f95bd8cc36b9165c5e2ea88900167bddf258bacef9bbdc3"}, + {file = "black-24.10.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d37d422772111794b26757c5b55a3eade028aa3fde43121ab7b673d050949d65"}, + {file = "black-24.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:14b3502784f09ce2443830e3133dacf2c0110d45191ed470ecb04d0f5f6fcb0f"}, + {file = "black-24.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:30d2c30dc5139211dda799758559d1b049f7f14c580c409d6ad925b74a4208a8"}, + {file = "black-24.10.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:1cbacacb19e922a1d75ef2b6ccaefcd6e93a2c05ede32f06a21386a04cedb981"}, + {file = "black-24.10.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1f93102e0c5bb3907451063e08b9876dbeac810e7da5a8bfb7aeb5a9ef89066b"}, + {file = "black-24.10.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ddacb691cdcdf77b96f549cf9591701d8db36b2f19519373d60d31746068dbf2"}, + {file = "black-24.10.0-cp313-cp313-win_amd64.whl", hash = "sha256:680359d932801c76d2e9c9068d05c6b107f2584b2a5b88831c83962eb9984c1b"}, + {file = "black-24.10.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:17374989640fbca88b6a448129cd1745c5eb8d9547b464f281b251dd00155ccd"}, + {file = "black-24.10.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:63f626344343083322233f175aaf372d326de8436f5928c042639a4afbbf1d3f"}, + {file = "black-24.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ccfa1d0cb6200857f1923b602f978386a3a2758a65b52e0950299ea014be6800"}, + {file = "black-24.10.0-cp39-cp39-win_amd64.whl", hash = "sha256:2cd9c95431d94adc56600710f8813ee27eea544dd118d45896bb734e9d7a0dc7"}, + {file = "black-24.10.0-py3-none-any.whl", hash = "sha256:3bb2b7a1f7b685f85b11fed1ef10f8a9148bceb49853e47a294a3dd963c1dd7d"}, + {file = "black-24.10.0.tar.gz", hash = "sha256:846ea64c97afe3bc677b761787993be4991810ecc7a4a937816dd6bddedc4875"}, ] [package.dependencies] @@ -56,10 +56,21 @@ typing-extensions = {version = ">=4.0.1", markers = "python_version < \"3.11\""} [package.extras] colorama = ["colorama (>=0.4.3)"] -d = ["aiohttp (>=3.7.4)", "aiohttp (>=3.7.4,!=3.9.0)"] +d = ["aiohttp (>=3.10)"] jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] uvloop = ["uvloop (>=0.15.2)"] +[[package]] +name = "cfgv" +version = "3.4.0" +description = "Validate configuration and produce human readable error messages." +optional = false +python-versions = ">=3.8" +files = [ + {file = "cfgv-3.4.0-py2.py3-none-any.whl", hash = "sha256:b7265b1f29fd3316bfcd2b330d63d024f2bfd8bcb8b0272f8e19a504856c48f9"}, + {file = "cfgv-3.4.0.tar.gz", hash = "sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560"}, +] + [[package]] name = "click" version = "8.1.7" @@ -100,6 +111,17 @@ files = [ graph = ["objgraph (>=1.7.2)"] profile = ["gprof2dot (>=2022.7.29)"] +[[package]] +name = "distlib" +version = "0.3.9" +description = "Distribution utilities" +optional = false +python-versions = "*" +files = [ + {file = "distlib-0.3.9-py2.py3-none-any.whl", hash = "sha256:47f8c22fd27c27e25a65601af709b38e4f0a45ea4fc2e710f65755fa8caaaf87"}, + {file = "distlib-0.3.9.tar.gz", hash = "sha256:a60f20dea646b8a33f3e7772f74dc0b2d0772d2837ee1342a00645c81edf9403"}, +] + [[package]] name = "exceptiongroup" version = "1.2.2" @@ -114,6 +136,22 @@ files = [ [package.extras] test = ["pytest (>=6)"] +[[package]] +name = "filelock" +version = "3.16.1" +description = "A platform independent file lock." +optional = false +python-versions = ">=3.8" +files = [ + {file = "filelock-3.16.1-py3-none-any.whl", hash = "sha256:2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0"}, + {file = "filelock-3.16.1.tar.gz", hash = "sha256:c249fbfcd5db47e5e2d6d62198e565475ee65e4831e2561c8e313fa7eb961435"}, +] + +[package.extras] +docs = ["furo (>=2024.8.6)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4.1)"] +testing = ["covdefaults (>=2.3)", "coverage (>=7.6.1)", "diff-cover (>=9.2)", "pytest (>=8.3.3)", "pytest-asyncio (>=0.24)", "pytest-cov (>=5)", "pytest-mock (>=3.14)", "pytest-timeout (>=2.3.1)", "virtualenv (>=20.26.4)"] +typing = ["typing-extensions (>=4.12.2)"] + [[package]] name = "graphviz" version = "0.20.3" @@ -130,6 +168,20 @@ dev = ["flake8", "pep8-naming", "tox (>=3)", "twine", "wheel"] docs = ["sphinx (>=5,<7)", "sphinx-autodoc-typehints", "sphinx-rtd-theme"] test = ["coverage", "pytest (>=7,<8.1)", "pytest-cov", "pytest-mock (>=3)"] +[[package]] +name = "identify" +version = "2.6.2" +description = "File identification library for Python" +optional = false +python-versions = ">=3.9" +files = [ + {file = "identify-2.6.2-py2.py3-none-any.whl", hash = "sha256:c097384259f49e372f4ea00a19719d95ae27dd5ff0fd77ad630aa891306b82f3"}, + {file = "identify-2.6.2.tar.gz", hash = "sha256:fab5c716c24d7a789775228823797296a2994b075fb6080ac83a102772a98cbd"}, +] + +[package.extras] +license = ["ukkonen"] + [[package]] name = "iniconfig" version = "2.0.0" @@ -174,71 +226,72 @@ i18n = ["Babel (>=2.7)"] [[package]] name = "markupsafe" -version = "2.1.5" +version = "3.0.2" description = "Safely add untrusted strings to HTML/XML markup." optional = false -python-versions = ">=3.7" +python-versions = ">=3.9" files = [ - {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c8b29db45f8fe46ad280a7294f5c3ec36dbac9491f2d1c17345be8e69cc5928f"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec6a563cff360b50eed26f13adc43e61bc0c04d94b8be985e6fb24b81f6dcfdf"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a549b9c31bec33820e885335b451286e2969a2d9e24879f83fe904a5ce59d70a"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4f11aa001c540f62c6166c7726f71f7573b52c68c31f014c25cc7901deea0b52"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7b2e5a267c855eea6b4283940daa6e88a285f5f2a67f2220203786dfa59b37e9"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:2d2d793e36e230fd32babe143b04cec8a8b3eb8a3122d2aceb4a371e6b09b8df"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ce409136744f6521e39fd8e2a24c53fa18ad67aa5bc7c2cf83645cce5b5c4e50"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-win32.whl", hash = "sha256:4096e9de5c6fdf43fb4f04c26fb114f61ef0bf2e5604b6ee3019d51b69e8c371"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-win_amd64.whl", hash = "sha256:4275d846e41ecefa46e2015117a9f491e57a71ddd59bbead77e904dc02b1bed2"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-win32.whl", hash = "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-win32.whl", hash = "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5"}, - {file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:38a9ef736c01fccdd6600705b09dc574584b89bea478200c5fbf112a6b0d5579"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbcb445fa71794da8f178f0f6d66789a28d7319071af7a496d4d507ed566270d"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57cb5a3cf367aeb1d316576250f65edec5bb3be939e9247ae594b4bcbc317dfb"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3809ede931876f5b2ec92eef964286840ed3540dadf803dd570c3b7e13141a3b"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e07c3764494e3776c602c1e78e298937c3315ccc9043ead7e685b7f2b8d47b3c"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b424c77b206d63d500bcb69fa55ed8d0e6a3774056bdc4839fc9298a7edca171"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-win32.whl", hash = "sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-win32.whl", hash = "sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:eaa0a10b7f72326f1372a713e73c3f739b524b3af41feb43e4921cb529f5929a"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:48032821bbdf20f5799ff537c7ac3d1fba0ba032cfc06194faffa8cda8b560ff"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a9d3f5f0901fdec14d8d2f66ef7d035f2157240a433441719ac9a3fba440b13"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88b49a3b9ff31e19998750c38e030fc7bb937398b1f78cfa599aaef92d693144"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cfad01eed2c2e0c01fd0ecd2ef42c492f7f93902e39a42fc9ee1692961443a29"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:1225beacc926f536dc82e45f8a4d68502949dc67eea90eab715dea3a21c1b5f0"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:3169b1eefae027567d1ce6ee7cae382c57fe26e82775f460f0b2778beaad66c0"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:eb7972a85c54febfb25b5c4b4f3af4dcc731994c7da0d8a0b4a6eb0640e1d178"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-win32.whl", hash = "sha256:8c4e8c3ce11e1f92f6536ff07154f9d49677ebaaafc32db9db4620bc11ed480f"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a"}, + {file = "markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0"}, ] [[package]] @@ -263,15 +316,26 @@ files = [ {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, ] +[[package]] +name = "nodeenv" +version = "1.9.1" +description = "Node.js virtual environment builder" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" +files = [ + {file = "nodeenv-1.9.1-py2.py3-none-any.whl", hash = "sha256:ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9"}, + {file = "nodeenv-1.9.1.tar.gz", hash = "sha256:6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f"}, +] + [[package]] name = "packaging" -version = "24.1" +version = "24.2" description = "Core utilities for Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "packaging-24.1-py3-none-any.whl", hash = "sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124"}, - {file = "packaging-24.1.tar.gz", hash = "sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002"}, + {file = "packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759"}, + {file = "packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f"}, ] [[package]] @@ -316,19 +380,37 @@ files = [ dev = ["pre-commit", "tox"] testing = ["pytest", "pytest-benchmark"] +[[package]] +name = "pre-commit" +version = "4.0.1" +description = "A framework for managing and maintaining multi-language pre-commit hooks." +optional = false +python-versions = ">=3.9" +files = [ + {file = "pre_commit-4.0.1-py2.py3-none-any.whl", hash = "sha256:efde913840816312445dc98787724647c65473daefe420785f885e8ed9a06878"}, + {file = "pre_commit-4.0.1.tar.gz", hash = "sha256:80905ac375958c0444c65e9cebebd948b3cdb518f335a091a670a89d652139d2"}, +] + +[package.dependencies] +cfgv = ">=2.0.0" +identify = ">=1.0.0" +nodeenv = ">=0.11.1" +pyyaml = ">=5.1" +virtualenv = ">=20.10.0" + [[package]] name = "pylint" -version = "3.2.7" +version = "3.3.3" description = "python code static checker" optional = false -python-versions = ">=3.8.0" +python-versions = ">=3.9.0" files = [ - {file = "pylint-3.2.7-py3-none-any.whl", hash = "sha256:02f4aedeac91be69fb3b4bea997ce580a4ac68ce58b89eaefeaf06749df73f4b"}, - {file = "pylint-3.2.7.tar.gz", hash = "sha256:1b7a721b575eaeaa7d39db076b6e7743c993ea44f57979127c517c6c572c803e"}, + {file = "pylint-3.3.3-py3-none-any.whl", hash = "sha256:26e271a2bc8bce0fc23833805a9076dd9b4d5194e2a02164942cb3cdc37b4183"}, + {file = "pylint-3.3.3.tar.gz", hash = "sha256:07c607523b17e6d16e2ae0d7ef59602e332caa762af64203c24b41c27139f36a"}, ] [package.dependencies] -astroid = ">=3.2.4,<=3.3.0-dev0" +astroid = ">=3.3.8,<=3.4.0-dev0" colorama = {version = ">=0.4.5", markers = "sys_platform == \"win32\""} dill = [ {version = ">=0.2", markers = "python_version < \"3.11\""}, @@ -348,13 +430,13 @@ testutils = ["gitpython (>3)"] [[package]] name = "pytest" -version = "8.3.3" +version = "8.3.4" description = "pytest: simple powerful testing with Python" optional = false python-versions = ">=3.8" files = [ - {file = "pytest-8.3.3-py3-none-any.whl", hash = "sha256:a6853c7375b2663155079443d2e45de913a911a11d669df02a50814944db57b2"}, - {file = "pytest-8.3.3.tar.gz", hash = "sha256:70b98107bd648308a7952b06e6ca9a50bc660be218d53c257cc1fc94fda10181"}, + {file = "pytest-8.3.4-py3-none-any.whl", hash = "sha256:50e16d954148559c9a74109af1eaf0c945ba2d8f30f0a3d3335edde19788b6f6"}, + {file = "pytest-8.3.4.tar.gz", hash = "sha256:965370d062bce11e73868e0335abac31b4d3de0e82f4007408d242b4f8610761"}, ] [package.dependencies] @@ -390,6 +472,68 @@ gendocs = ["pytoolconfig[doc]", "sphinx (>=7.1.2)", "sphinx-autodoc-typehints (> global = ["platformdirs (>=3.11.0)"] validation = ["pydantic (>=2.5.3)"] +[[package]] +name = "pyyaml" +version = "6.0.2" +description = "YAML parser and emitter for Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086"}, + {file = "PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed"}, + {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180"}, + {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68"}, + {file = "PyYAML-6.0.2-cp310-cp310-win32.whl", hash = "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99"}, + {file = "PyYAML-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e"}, + {file = "PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774"}, + {file = "PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85"}, + {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4"}, + {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e"}, + {file = "PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5"}, + {file = "PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44"}, + {file = "PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab"}, + {file = "PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476"}, + {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48"}, + {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b"}, + {file = "PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4"}, + {file = "PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8"}, + {file = "PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba"}, + {file = "PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5"}, + {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc"}, + {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652"}, + {file = "PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183"}, + {file = "PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563"}, + {file = "PyYAML-6.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a"}, + {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5"}, + {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d"}, + {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083"}, + {file = "PyYAML-6.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706"}, + {file = "PyYAML-6.0.2-cp38-cp38-win32.whl", hash = "sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a"}, + {file = "PyYAML-6.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff"}, + {file = "PyYAML-6.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d"}, + {file = "PyYAML-6.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19"}, + {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e"}, + {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725"}, + {file = "PyYAML-6.0.2-cp39-cp39-win32.whl", hash = "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631"}, + {file = "PyYAML-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8"}, + {file = "pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e"}, +] + [[package]] name = "rope" version = "1.13.0" @@ -411,13 +555,13 @@ release = ["pip-tools (>=6.12.1)", "toml (>=0.10.2)", "twine (>=4.0.2)"] [[package]] name = "tomli" -version = "2.0.2" +version = "2.1.0" description = "A lil' TOML parser" optional = false python-versions = ">=3.8" files = [ - {file = "tomli-2.0.2-py3-none-any.whl", hash = "sha256:2ebe24485c53d303f690b0ec092806a085f07af5a5aa1464f3931eec36caaa38"}, - {file = "tomli-2.0.2.tar.gz", hash = "sha256:d46d457a85337051c36524bc5349dd91b1877838e2979ac5ced3e710ed8a60ed"}, + {file = "tomli-2.1.0-py3-none-any.whl", hash = "sha256:a5c57c3d1c56f5ccdf89f6523458f60ef716e210fc47c4cfb188c5ba473e0391"}, + {file = "tomli-2.1.0.tar.gz", hash = "sha256:3f646cae2aec94e17d04973e4249548320197cfabdf130015d023de4b74d8ab8"}, ] [[package]] @@ -442,7 +586,27 @@ files = [ {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"}, ] +[[package]] +name = "virtualenv" +version = "20.27.1" +description = "Virtual Python Environment builder" +optional = false +python-versions = ">=3.8" +files = [ + {file = "virtualenv-20.27.1-py3-none-any.whl", hash = "sha256:f11f1b8a29525562925f745563bfd48b189450f61fb34c4f9cc79dd5aa32a1f4"}, + {file = "virtualenv-20.27.1.tar.gz", hash = "sha256:142c6be10212543b32c6c45d3d3893dff89112cc588b7d0879ae5a1ec03a47ba"}, +] + +[package.dependencies] +distlib = ">=0.3.7,<1" +filelock = ">=3.12.2,<4" +platformdirs = ">=3.9.1,<5" + +[package.extras] +docs = ["furo (>=2023.7.26)", "proselint (>=0.13)", "sphinx (>=7.1.2,!=7.3)", "sphinx-argparse (>=0.4)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=23.6)"] +test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess (>=1)", "flaky (>=3.7)", "packaging (>=23.1)", "pytest (>=7.4)", "pytest-env (>=0.8.2)", "pytest-freezer (>=0.4.8)", "pytest-mock (>=3.11.1)", "pytest-randomly (>=3.12)", "pytest-timeout (>=2.1)", "setuptools (>=68)", "time-machine (>=2.10)"] + [metadata] lock-version = "2.0" -python-versions = "^3.8" -content-hash = "03a0a3902229c2c740ab7cea26e79fa78d81d5faa90d35973ff5174b95be3abc" +python-versions = "^3.9" +content-hash = "64d8272592088d0e7a3aee3d7318d26acd2de67d7875b5bd00f10a593aec84dc" diff --git a/pyproject.toml b/pyproject.toml index 46957ee1..bcb1e65e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -13,17 +13,18 @@ include = ["resources/**/*"] diagrams="diagrams.cli:main" [tool.poetry.dependencies] -python = "^3.8" +python = "^3.9" graphviz = ">=0.13.2,<0.21.0" jinja2 = ">=2.10,<4.0" typed-ast = {version="^1.5.5", markers="python_version<'3.8'"} +pre-commit = "^4.0.1" [tool.poetry.dev-dependencies] -pytest = "^8.2" -pylint = "^3.2" +pytest = "^8.3" +pylint = "^3.3" rope = "^1.13" isort = "^5.13" black = "^24.4" [tool.black] -line-length=120 \ No newline at end of file +line-length=120 diff --git a/resources/alibabacloud/alibabacloud.png b/resources/alibabacloud/alibabacloud.png new file mode 100644 index 00000000..39a59598 Binary files /dev/null and b/resources/alibabacloud/alibabacloud.png differ diff --git a/resources/aws/aws.png b/resources/aws/aws.png new file mode 100644 index 00000000..c1dd36fc Binary files /dev/null and b/resources/aws/aws.png differ diff --git a/resources/aws/database/dynamodb-streams.png b/resources/aws/database/dynamodb-streams.png new file mode 100644 index 00000000..4e3a0251 Binary files /dev/null and b/resources/aws/database/dynamodb-streams.png differ diff --git a/resources/aws/management/cloudwatch-logs.png b/resources/aws/management/cloudwatch-logs.png new file mode 100644 index 00000000..7368a95d Binary files /dev/null and b/resources/aws/management/cloudwatch-logs.png differ diff --git a/resources/aws/network/transit-gateway-attachment.png b/resources/aws/network/transit-gateway-attachment.png new file mode 100644 index 00000000..1e3fdaed Binary files /dev/null and b/resources/aws/network/transit-gateway-attachment.png differ diff --git a/resources/aws/storage/s3-access-points.png b/resources/aws/storage/s3-access-points.png new file mode 100644 index 00000000..3c62c617 Binary files /dev/null and b/resources/aws/storage/s3-access-points.png differ diff --git a/resources/aws/storage/s3-object-lambda-access-points.png b/resources/aws/storage/s3-object-lambda-access-points.png new file mode 100644 index 00000000..138fc50f Binary files /dev/null and b/resources/aws/storage/s3-object-lambda-access-points.png differ diff --git a/resources/azure/azure.png b/resources/azure/azure.png new file mode 100644 index 00000000..e4c60a50 Binary files /dev/null and b/resources/azure/azure.png differ diff --git a/resources/azure/ml/azure-open-ai.png b/resources/azure/ml/azure-open-ai.png new file mode 100644 index 00000000..f617791d Binary files /dev/null and b/resources/azure/ml/azure-open-ai.png differ diff --git a/resources/azure/ml/azure-speed-to-text.png b/resources/azure/ml/azure-speed-to-text.png new file mode 100644 index 00000000..ca331f12 Binary files /dev/null and b/resources/azure/ml/azure-speed-to-text.png differ diff --git a/resources/digitalocean/digitalocean.png b/resources/digitalocean/digitalocean.png new file mode 100644 index 00000000..a6638dbd Binary files /dev/null and b/resources/digitalocean/digitalocean.png differ diff --git a/resources/elastic/elastic.png b/resources/elastic/elastic.png new file mode 100644 index 00000000..d311d639 Binary files /dev/null and b/resources/elastic/elastic.png differ diff --git a/resources/firebase/firebase.png b/resources/firebase/firebase.png new file mode 100644 index 00000000..2cfd1dfe Binary files /dev/null and b/resources/firebase/firebase.png differ diff --git a/resources/gcp/gcp.png b/resources/gcp/gcp.png new file mode 100644 index 00000000..ca3d5fa0 Binary files /dev/null and b/resources/gcp/gcp.png differ diff --git a/resources/generic/generic.png b/resources/generic/generic.png new file mode 100644 index 00000000..351705eb Binary files /dev/null and b/resources/generic/generic.png differ diff --git a/resources/ibm/ibm.png b/resources/ibm/ibm.png new file mode 100644 index 00000000..26db1bc1 Binary files /dev/null and b/resources/ibm/ibm.png differ diff --git a/resources/k8s/k8s.png b/resources/k8s/k8s.png new file mode 100644 index 00000000..66bd45fa Binary files /dev/null and b/resources/k8s/k8s.png differ diff --git a/resources/oci/compute/autoscale-white.png b/resources/oci/compute/autoscale-white.png index dc64d11b..6dd68b2a 100644 Binary files a/resources/oci/compute/autoscale-white.png and b/resources/oci/compute/autoscale-white.png differ diff --git a/resources/oci/compute/autoscale.png b/resources/oci/compute/autoscale.png index f5374d3a..819ac5ac 100644 Binary files a/resources/oci/compute/autoscale.png and b/resources/oci/compute/autoscale.png differ diff --git a/resources/oci/compute/bm-white.png b/resources/oci/compute/bm-white.png index c33833d7..3d135036 100644 Binary files a/resources/oci/compute/bm-white.png and b/resources/oci/compute/bm-white.png differ diff --git a/resources/oci/compute/bm.png b/resources/oci/compute/bm.png index e9d50b0a..1480c07a 100644 Binary files a/resources/oci/compute/bm.png and b/resources/oci/compute/bm.png differ diff --git a/resources/oci/compute/container-white.png b/resources/oci/compute/container-white.png index ba6b09a0..f0049b86 100644 Binary files a/resources/oci/compute/container-white.png and b/resources/oci/compute/container-white.png differ diff --git a/resources/oci/compute/container.png b/resources/oci/compute/container.png index 949b46bd..53b61e19 100644 Binary files a/resources/oci/compute/container.png and b/resources/oci/compute/container.png differ diff --git a/resources/oci/compute/functions-white.png b/resources/oci/compute/functions-white.png index 6296e39b..d509c17e 100644 Binary files a/resources/oci/compute/functions-white.png and b/resources/oci/compute/functions-white.png differ diff --git a/resources/oci/compute/functions.png b/resources/oci/compute/functions.png index ec13a2dc..3961aa5f 100644 Binary files a/resources/oci/compute/functions.png and b/resources/oci/compute/functions.png differ diff --git a/resources/oci/compute/instance-pools-white.png b/resources/oci/compute/instance-pools-white.png index 397bc276..fbcc1036 100644 Binary files a/resources/oci/compute/instance-pools-white.png and b/resources/oci/compute/instance-pools-white.png differ diff --git a/resources/oci/compute/instance-pools.png b/resources/oci/compute/instance-pools.png index d1eacf12..18a4729d 100644 Binary files a/resources/oci/compute/instance-pools.png and b/resources/oci/compute/instance-pools.png differ diff --git a/resources/oci/compute/ocir-white.png b/resources/oci/compute/ocir-white.png index 55105058..4199ea67 100644 Binary files a/resources/oci/compute/ocir-white.png and b/resources/oci/compute/ocir-white.png differ diff --git a/resources/oci/compute/ocir.png b/resources/oci/compute/ocir.png index 4f6d9ee2..c8d1fd8b 100644 Binary files a/resources/oci/compute/ocir.png and b/resources/oci/compute/ocir.png differ diff --git a/resources/oci/compute/oke-white.png b/resources/oci/compute/oke-white.png index 64517535..28778d9f 100644 Binary files a/resources/oci/compute/oke-white.png and b/resources/oci/compute/oke-white.png differ diff --git a/resources/oci/compute/oke.png b/resources/oci/compute/oke.png index 61dcd839..3e7c9f10 100644 Binary files a/resources/oci/compute/oke.png and b/resources/oci/compute/oke.png differ diff --git a/resources/oci/compute/vm-white.png b/resources/oci/compute/vm-white.png index 1af7e0e7..4bbe5f1a 100644 Binary files a/resources/oci/compute/vm-white.png and b/resources/oci/compute/vm-white.png differ diff --git a/resources/oci/compute/vm.png b/resources/oci/compute/vm.png index 1b680b63..15fcaaab 100644 Binary files a/resources/oci/compute/vm.png and b/resources/oci/compute/vm.png differ diff --git a/resources/oci/connectivity/backbone-white.png b/resources/oci/connectivity/backbone-white.png index bfe31e80..8d8a4c0f 100644 Binary files a/resources/oci/connectivity/backbone-white.png and b/resources/oci/connectivity/backbone-white.png differ diff --git a/resources/oci/connectivity/backbone.png b/resources/oci/connectivity/backbone.png index 106b1594..5fe3389d 100644 Binary files a/resources/oci/connectivity/backbone.png and b/resources/oci/connectivity/backbone.png differ diff --git a/resources/oci/connectivity/cdn-white.png b/resources/oci/connectivity/cdn-white.png index 605b695c..7f5d26d3 100644 Binary files a/resources/oci/connectivity/cdn-white.png and b/resources/oci/connectivity/cdn-white.png differ diff --git a/resources/oci/connectivity/cdn.png b/resources/oci/connectivity/cdn.png index 839012b7..e1f41147 100644 Binary files a/resources/oci/connectivity/cdn.png and b/resources/oci/connectivity/cdn.png differ diff --git a/resources/oci/connectivity/customer-datacenter.png b/resources/oci/connectivity/customer-datacenter.png index 8937f7d4..a3dcb1c8 100644 Binary files a/resources/oci/connectivity/customer-datacenter.png and b/resources/oci/connectivity/customer-datacenter.png differ diff --git a/resources/oci/connectivity/customer-datacntr-white.png b/resources/oci/connectivity/customer-datacntr-white.png index 70b7c8d5..a51c557e 100644 Binary files a/resources/oci/connectivity/customer-datacntr-white.png and b/resources/oci/connectivity/customer-datacntr-white.png differ diff --git a/resources/oci/connectivity/customer-premises-white.png b/resources/oci/connectivity/customer-premises-white.png index d557206c..95a197f8 100644 Binary files a/resources/oci/connectivity/customer-premises-white.png and b/resources/oci/connectivity/customer-premises-white.png differ diff --git a/resources/oci/connectivity/customer-premises.png b/resources/oci/connectivity/customer-premises.png index 59dbaf93..9ec4bc09 100644 Binary files a/resources/oci/connectivity/customer-premises.png and b/resources/oci/connectivity/customer-premises.png differ diff --git a/resources/oci/connectivity/disconnected-regions-white.png b/resources/oci/connectivity/disconnected-regions-white.png index 329d2956..abead332 100644 Binary files a/resources/oci/connectivity/disconnected-regions-white.png and b/resources/oci/connectivity/disconnected-regions-white.png differ diff --git a/resources/oci/connectivity/disconnected-regions.png b/resources/oci/connectivity/disconnected-regions.png index 59f6df90..c7602ea4 100644 Binary files a/resources/oci/connectivity/disconnected-regions.png and b/resources/oci/connectivity/disconnected-regions.png differ diff --git a/resources/oci/connectivity/dns-white.png b/resources/oci/connectivity/dns-white.png index 831f6628..334d56b0 100644 Binary files a/resources/oci/connectivity/dns-white.png and b/resources/oci/connectivity/dns-white.png differ diff --git a/resources/oci/connectivity/dns.png b/resources/oci/connectivity/dns.png index 374c1bb5..961b13d2 100644 Binary files a/resources/oci/connectivity/dns.png and b/resources/oci/connectivity/dns.png differ diff --git a/resources/oci/connectivity/fast-connect-white.png b/resources/oci/connectivity/fast-connect-white.png index 57827bb9..12538457 100644 Binary files a/resources/oci/connectivity/fast-connect-white.png and b/resources/oci/connectivity/fast-connect-white.png differ diff --git a/resources/oci/connectivity/fast-connect.png b/resources/oci/connectivity/fast-connect.png index 9fb1a532..cdce6f04 100644 Binary files a/resources/oci/connectivity/fast-connect.png and b/resources/oci/connectivity/fast-connect.png differ diff --git a/resources/oci/connectivity/nat-gateway-white.png b/resources/oci/connectivity/nat-gateway-white.png index 2c4d84ba..75e698e6 100644 Binary files a/resources/oci/connectivity/nat-gateway-white.png and b/resources/oci/connectivity/nat-gateway-white.png differ diff --git a/resources/oci/connectivity/nat-gateway.png b/resources/oci/connectivity/nat-gateway.png index b472878c..831f0e71 100644 Binary files a/resources/oci/connectivity/nat-gateway.png and b/resources/oci/connectivity/nat-gateway.png differ diff --git a/resources/oci/connectivity/vpn-white.png b/resources/oci/connectivity/vpn-white.png index be80a991..2dc116a9 100644 Binary files a/resources/oci/connectivity/vpn-white.png and b/resources/oci/connectivity/vpn-white.png differ diff --git a/resources/oci/connectivity/vpn.png b/resources/oci/connectivity/vpn.png index 03374859..3b90d7db 100644 Binary files a/resources/oci/connectivity/vpn.png and b/resources/oci/connectivity/vpn.png differ diff --git a/resources/oci/database/autonomous-white.png b/resources/oci/database/autonomous-white.png index 69395109..846f945e 100644 Binary files a/resources/oci/database/autonomous-white.png and b/resources/oci/database/autonomous-white.png differ diff --git a/resources/oci/database/autonomous.png b/resources/oci/database/autonomous.png index e9859e2d..2636bd26 100644 Binary files a/resources/oci/database/autonomous.png and b/resources/oci/database/autonomous.png differ diff --git a/resources/oci/database/bigdata-service-white.png b/resources/oci/database/bigdata-service-white.png index 76b26db4..cb560928 100644 Binary files a/resources/oci/database/bigdata-service-white.png and b/resources/oci/database/bigdata-service-white.png differ diff --git a/resources/oci/database/bigdata-service.png b/resources/oci/database/bigdata-service.png index ebb395da..36dbc5e4 100644 Binary files a/resources/oci/database/bigdata-service.png and b/resources/oci/database/bigdata-service.png differ diff --git a/resources/oci/database/database-service-white.png b/resources/oci/database/database-service-white.png index 552c56c7..d6b0aa00 100644 Binary files a/resources/oci/database/database-service-white.png and b/resources/oci/database/database-service-white.png differ diff --git a/resources/oci/database/database-service.png b/resources/oci/database/database-service.png index 5442cecd..82f04b41 100644 Binary files a/resources/oci/database/database-service.png and b/resources/oci/database/database-service.png differ diff --git a/resources/oci/database/dataflow-apache-white.png b/resources/oci/database/dataflow-apache-white.png index cf69c3b5..85855118 100644 Binary files a/resources/oci/database/dataflow-apache-white.png and b/resources/oci/database/dataflow-apache-white.png differ diff --git a/resources/oci/database/dataflow-apache.png b/resources/oci/database/dataflow-apache.png index c04b65ba..42c29f05 100644 Binary files a/resources/oci/database/dataflow-apache.png and b/resources/oci/database/dataflow-apache.png differ diff --git a/resources/oci/database/dcat-white.png b/resources/oci/database/dcat-white.png index dbff953e..4e34eaf9 100644 Binary files a/resources/oci/database/dcat-white.png and b/resources/oci/database/dcat-white.png differ diff --git a/resources/oci/database/dcat.png b/resources/oci/database/dcat.png index c1bc05b1..301234bc 100644 Binary files a/resources/oci/database/dcat.png and b/resources/oci/database/dcat.png differ diff --git a/resources/oci/database/dis-white.png b/resources/oci/database/dis-white.png index 63ab6638..4c4a7619 100644 Binary files a/resources/oci/database/dis-white.png and b/resources/oci/database/dis-white.png differ diff --git a/resources/oci/database/dis.png b/resources/oci/database/dis.png index 1e0dcfe4..36f34a2d 100644 Binary files a/resources/oci/database/dis.png and b/resources/oci/database/dis.png differ diff --git a/resources/oci/database/dms-white.png b/resources/oci/database/dms-white.png index 4fcf1fe7..43a8f648 100644 Binary files a/resources/oci/database/dms-white.png and b/resources/oci/database/dms-white.png differ diff --git a/resources/oci/database/dms.png b/resources/oci/database/dms.png index dd76cb20..a640305a 100644 Binary files a/resources/oci/database/dms.png and b/resources/oci/database/dms.png differ diff --git a/resources/oci/database/science-white.png b/resources/oci/database/science-white.png index 99d8d203..6acb82a5 100644 Binary files a/resources/oci/database/science-white.png and b/resources/oci/database/science-white.png differ diff --git a/resources/oci/database/science.png b/resources/oci/database/science.png index c720667c..f0d581a8 100644 Binary files a/resources/oci/database/science.png and b/resources/oci/database/science.png differ diff --git a/resources/oci/database/stream-white.png b/resources/oci/database/stream-white.png index 1406b306..ed1062d7 100644 Binary files a/resources/oci/database/stream-white.png and b/resources/oci/database/stream-white.png differ diff --git a/resources/oci/database/stream.png b/resources/oci/database/stream.png index 5624c168..cd5feb98 100644 Binary files a/resources/oci/database/stream.png and b/resources/oci/database/stream.png differ diff --git a/resources/oci/devops/api-gateway-white.png b/resources/oci/devops/api-gateway-white.png index 767a98ff..44a2c156 100644 Binary files a/resources/oci/devops/api-gateway-white.png and b/resources/oci/devops/api-gateway-white.png differ diff --git a/resources/oci/devops/api-gateway.png b/resources/oci/devops/api-gateway.png index d244cabf..63176a0d 100644 Binary files a/resources/oci/devops/api-gateway.png and b/resources/oci/devops/api-gateway.png differ diff --git a/resources/oci/devops/api-service-white.png b/resources/oci/devops/api-service-white.png index ab50a5d6..1b2d0c83 100644 Binary files a/resources/oci/devops/api-service-white.png and b/resources/oci/devops/api-service-white.png differ diff --git a/resources/oci/devops/api-service.png b/resources/oci/devops/api-service.png index 208047b9..7ff4363d 100644 Binary files a/resources/oci/devops/api-service.png and b/resources/oci/devops/api-service.png differ diff --git a/resources/oci/devops/resource-mgmt-white.png b/resources/oci/devops/resource-mgmt-white.png index ccf19009..fd63eb40 100644 Binary files a/resources/oci/devops/resource-mgmt-white.png and b/resources/oci/devops/resource-mgmt-white.png differ diff --git a/resources/oci/devops/resource-mgmt.png b/resources/oci/devops/resource-mgmt.png index 97cc3975..6cf36622 100644 Binary files a/resources/oci/devops/resource-mgmt.png and b/resources/oci/devops/resource-mgmt.png differ diff --git a/resources/oci/governance/audit-white.png b/resources/oci/governance/audit-white.png index dc861eb5..37a4a0de 100644 Binary files a/resources/oci/governance/audit-white.png and b/resources/oci/governance/audit-white.png differ diff --git a/resources/oci/governance/audit.png b/resources/oci/governance/audit.png index d5d7b617..492ad440 100644 Binary files a/resources/oci/governance/audit.png and b/resources/oci/governance/audit.png differ diff --git a/resources/oci/governance/compartments-white.png b/resources/oci/governance/compartments-white.png index c4271c34..47e540a6 100644 Binary files a/resources/oci/governance/compartments-white.png and b/resources/oci/governance/compartments-white.png differ diff --git a/resources/oci/governance/compartments.png b/resources/oci/governance/compartments.png index 8b9a9de6..1af5181a 100644 Binary files a/resources/oci/governance/compartments.png and b/resources/oci/governance/compartments.png differ diff --git a/resources/oci/governance/groups-white.png b/resources/oci/governance/groups-white.png index 3052cef6..d25027eb 100644 Binary files a/resources/oci/governance/groups-white.png and b/resources/oci/governance/groups-white.png differ diff --git a/resources/oci/governance/groups.png b/resources/oci/governance/groups.png index 34f1064b..e313e3e9 100644 Binary files a/resources/oci/governance/groups.png and b/resources/oci/governance/groups.png differ diff --git a/resources/oci/governance/logging-white.png b/resources/oci/governance/logging-white.png index 99b5db2d..178cc968 100644 Binary files a/resources/oci/governance/logging-white.png and b/resources/oci/governance/logging-white.png differ diff --git a/resources/oci/governance/logging.png b/resources/oci/governance/logging.png index 50e6836a..99dd25d3 100644 Binary files a/resources/oci/governance/logging.png and b/resources/oci/governance/logging.png differ diff --git a/resources/oci/governance/ocid-white.png b/resources/oci/governance/ocid-white.png index a69576ae..97ee4bf3 100644 Binary files a/resources/oci/governance/ocid-white.png and b/resources/oci/governance/ocid-white.png differ diff --git a/resources/oci/governance/ocid.png b/resources/oci/governance/ocid.png index c5200b34..8dfc4c39 100644 Binary files a/resources/oci/governance/ocid.png and b/resources/oci/governance/ocid.png differ diff --git a/resources/oci/governance/policies-white.png b/resources/oci/governance/policies-white.png index 936271cb..48501e36 100644 Binary files a/resources/oci/governance/policies-white.png and b/resources/oci/governance/policies-white.png differ diff --git a/resources/oci/governance/policies.png b/resources/oci/governance/policies.png index 988efa23..b8c5a0c3 100644 Binary files a/resources/oci/governance/policies.png and b/resources/oci/governance/policies.png differ diff --git a/resources/oci/governance/tagging-white.png b/resources/oci/governance/tagging-white.png index 1d27cc47..c7e51907 100644 Binary files a/resources/oci/governance/tagging-white.png and b/resources/oci/governance/tagging-white.png differ diff --git a/resources/oci/governance/tagging.png b/resources/oci/governance/tagging.png index d8bfb7eb..bf02b018 100644 Binary files a/resources/oci/governance/tagging.png and b/resources/oci/governance/tagging.png differ diff --git a/resources/oci/monitoring/alarm-white.png b/resources/oci/monitoring/alarm-white.png index e91831b2..27e01b4c 100644 Binary files a/resources/oci/monitoring/alarm-white.png and b/resources/oci/monitoring/alarm-white.png differ diff --git a/resources/oci/monitoring/alarm.png b/resources/oci/monitoring/alarm.png index 372e3590..85a37300 100644 Binary files a/resources/oci/monitoring/alarm.png and b/resources/oci/monitoring/alarm.png differ diff --git a/resources/oci/monitoring/email-white.png b/resources/oci/monitoring/email-white.png index a9201a7a..0b0420fb 100644 Binary files a/resources/oci/monitoring/email-white.png and b/resources/oci/monitoring/email-white.png differ diff --git a/resources/oci/monitoring/email.png b/resources/oci/monitoring/email.png index f8d843c8..241e4222 100644 Binary files a/resources/oci/monitoring/email.png and b/resources/oci/monitoring/email.png differ diff --git a/resources/oci/monitoring/events-white.png b/resources/oci/monitoring/events-white.png index 6445a224..3a9f5ea0 100644 Binary files a/resources/oci/monitoring/events-white.png and b/resources/oci/monitoring/events-white.png differ diff --git a/resources/oci/monitoring/events.png b/resources/oci/monitoring/events.png index 465be4b6..1e96e731 100644 Binary files a/resources/oci/monitoring/events.png and b/resources/oci/monitoring/events.png differ diff --git a/resources/oci/monitoring/health-check-white.png b/resources/oci/monitoring/health-check-white.png index 4b1dea4e..39fad826 100644 Binary files a/resources/oci/monitoring/health-check-white.png and b/resources/oci/monitoring/health-check-white.png differ diff --git a/resources/oci/monitoring/health-check.png b/resources/oci/monitoring/health-check.png index 96794e87..4882b22e 100644 Binary files a/resources/oci/monitoring/health-check.png and b/resources/oci/monitoring/health-check.png differ diff --git a/resources/oci/monitoring/notifications-white.png b/resources/oci/monitoring/notifications-white.png index bf74ef70..6a2cedcb 100644 Binary files a/resources/oci/monitoring/notifications-white.png and b/resources/oci/monitoring/notifications-white.png differ diff --git a/resources/oci/monitoring/notifications.png b/resources/oci/monitoring/notifications.png index 059ca8f5..878aa1fb 100644 Binary files a/resources/oci/monitoring/notifications.png and b/resources/oci/monitoring/notifications.png differ diff --git a/resources/oci/monitoring/queue-white.png b/resources/oci/monitoring/queue-white.png index 9f8751dd..23f6ff0b 100644 Binary files a/resources/oci/monitoring/queue-white.png and b/resources/oci/monitoring/queue-white.png differ diff --git a/resources/oci/monitoring/queue.png b/resources/oci/monitoring/queue.png index 38da334b..9b96cc09 100644 Binary files a/resources/oci/monitoring/queue.png and b/resources/oci/monitoring/queue.png differ diff --git a/resources/oci/monitoring/search-white.png b/resources/oci/monitoring/search-white.png index 44f6f7cc..f2b04934 100644 Binary files a/resources/oci/monitoring/search-white.png and b/resources/oci/monitoring/search-white.png differ diff --git a/resources/oci/monitoring/search.png b/resources/oci/monitoring/search.png index af5f951d..eadc2375 100644 Binary files a/resources/oci/monitoring/search.png and b/resources/oci/monitoring/search.png differ diff --git a/resources/oci/monitoring/telemetry-white.png b/resources/oci/monitoring/telemetry-white.png index 9421c90b..0eaf64ff 100644 Binary files a/resources/oci/monitoring/telemetry-white.png and b/resources/oci/monitoring/telemetry-white.png differ diff --git a/resources/oci/monitoring/telemetry.png b/resources/oci/monitoring/telemetry.png index a5d4931a..34f6dc2f 100644 Binary files a/resources/oci/monitoring/telemetry.png and b/resources/oci/monitoring/telemetry.png differ diff --git a/resources/oci/monitoring/workflow-white.png b/resources/oci/monitoring/workflow-white.png index 0971ed5e..c5548f45 100644 Binary files a/resources/oci/monitoring/workflow-white.png and b/resources/oci/monitoring/workflow-white.png differ diff --git a/resources/oci/monitoring/workflow.png b/resources/oci/monitoring/workflow.png index 9ce2300e..d5719f99 100644 Binary files a/resources/oci/monitoring/workflow.png and b/resources/oci/monitoring/workflow.png differ diff --git a/resources/oci/network/drg-white.png b/resources/oci/network/drg-white.png index 34848977..8fb70e47 100644 Binary files a/resources/oci/network/drg-white.png and b/resources/oci/network/drg-white.png differ diff --git a/resources/oci/network/drg.png b/resources/oci/network/drg.png index b1aaba9b..82752e2d 100644 Binary files a/resources/oci/network/drg.png and b/resources/oci/network/drg.png differ diff --git a/resources/oci/network/firewall-white.png b/resources/oci/network/firewall-white.png index 40f6631e..deca4530 100644 Binary files a/resources/oci/network/firewall-white.png and b/resources/oci/network/firewall-white.png differ diff --git a/resources/oci/network/firewall.png b/resources/oci/network/firewall.png index 6c572b43..c2aa56ac 100644 Binary files a/resources/oci/network/firewall.png and b/resources/oci/network/firewall.png differ diff --git a/resources/oci/network/internet-gateway-white.png b/resources/oci/network/internet-gateway-white.png index b7a8a01e..7cc5921d 100644 Binary files a/resources/oci/network/internet-gateway-white.png and b/resources/oci/network/internet-gateway-white.png differ diff --git a/resources/oci/network/internet-gateway.png b/resources/oci/network/internet-gateway.png index 1762239a..5f3194c0 100644 Binary files a/resources/oci/network/internet-gateway.png and b/resources/oci/network/internet-gateway.png differ diff --git a/resources/oci/network/load-balancer-white.png b/resources/oci/network/load-balancer-white.png index 12a3d33c..264b0372 100644 Binary files a/resources/oci/network/load-balancer-white.png and b/resources/oci/network/load-balancer-white.png differ diff --git a/resources/oci/network/load-balancer.png b/resources/oci/network/load-balancer.png index 504a5acd..a50d90d6 100644 Binary files a/resources/oci/network/load-balancer.png and b/resources/oci/network/load-balancer.png differ diff --git a/resources/oci/network/route-table-white.png b/resources/oci/network/route-table-white.png index 0826ba4d..44df2146 100644 Binary files a/resources/oci/network/route-table-white.png and b/resources/oci/network/route-table-white.png differ diff --git a/resources/oci/network/route-table.png b/resources/oci/network/route-table.png index 3733e06b..57a4be57 100644 Binary files a/resources/oci/network/route-table.png and b/resources/oci/network/route-table.png differ diff --git a/resources/oci/network/security-lists-white.png b/resources/oci/network/security-lists-white.png index 6151b8b2..1ec7bdd8 100644 Binary files a/resources/oci/network/security-lists-white.png and b/resources/oci/network/security-lists-white.png differ diff --git a/resources/oci/network/security-lists.png b/resources/oci/network/security-lists.png index 8bcc72fe..8c91b76d 100644 Binary files a/resources/oci/network/security-lists.png and b/resources/oci/network/security-lists.png differ diff --git a/resources/oci/network/service-gateway-white.png b/resources/oci/network/service-gateway-white.png index b0d820d3..a2321bbe 100644 Binary files a/resources/oci/network/service-gateway-white.png and b/resources/oci/network/service-gateway-white.png differ diff --git a/resources/oci/network/service-gateway.png b/resources/oci/network/service-gateway.png index 548c87af..8b099f40 100644 Binary files a/resources/oci/network/service-gateway.png and b/resources/oci/network/service-gateway.png differ diff --git a/resources/oci/network/vcn-white.png b/resources/oci/network/vcn-white.png index e217effe..93359319 100644 Binary files a/resources/oci/network/vcn-white.png and b/resources/oci/network/vcn-white.png differ diff --git a/resources/oci/network/vcn.png b/resources/oci/network/vcn.png index aefa7004..169da0e3 100644 Binary files a/resources/oci/network/vcn.png and b/resources/oci/network/vcn.png differ diff --git a/resources/oci/oci.png b/resources/oci/oci.png new file mode 100644 index 00000000..97e0109b Binary files /dev/null and b/resources/oci/oci.png differ diff --git a/resources/oci/security/cloud-guard-white.png b/resources/oci/security/cloud-guard-white.png index db4a78d1..4e1b11be 100644 Binary files a/resources/oci/security/cloud-guard-white.png and b/resources/oci/security/cloud-guard-white.png differ diff --git a/resources/oci/security/cloud-guard.png b/resources/oci/security/cloud-guard.png index 8c7c8a5e..ee4f22db 100644 Binary files a/resources/oci/security/cloud-guard.png and b/resources/oci/security/cloud-guard.png differ diff --git a/resources/oci/security/ddos-white.png b/resources/oci/security/ddos-white.png index 6657c0b9..cec9df53 100644 Binary files a/resources/oci/security/ddos-white.png and b/resources/oci/security/ddos-white.png differ diff --git a/resources/oci/security/ddos.png b/resources/oci/security/ddos.png index e2fafae4..e01ac36c 100644 Binary files a/resources/oci/security/ddos.png and b/resources/oci/security/ddos.png differ diff --git a/resources/oci/security/encryption-white.png b/resources/oci/security/encryption-white.png index f85f3577..83c7bd81 100644 Binary files a/resources/oci/security/encryption-white.png and b/resources/oci/security/encryption-white.png differ diff --git a/resources/oci/security/encryption.png b/resources/oci/security/encryption.png index 16c1b125..2f7e750b 100644 Binary files a/resources/oci/security/encryption.png and b/resources/oci/security/encryption.png differ diff --git a/resources/oci/security/id-access-white.png b/resources/oci/security/id-access-white.png index 597db448..308c626a 100644 Binary files a/resources/oci/security/id-access-white.png and b/resources/oci/security/id-access-white.png differ diff --git a/resources/oci/security/id-access.png b/resources/oci/security/id-access.png index 0beebb1b..38e67863 100644 Binary files a/resources/oci/security/id-access.png and b/resources/oci/security/id-access.png differ diff --git a/resources/oci/security/key-management-white.png b/resources/oci/security/key-management-white.png index 26cdeeae..8137cb02 100644 Binary files a/resources/oci/security/key-management-white.png and b/resources/oci/security/key-management-white.png differ diff --git a/resources/oci/security/key-management.png b/resources/oci/security/key-management.png index 83e43330..e19adef7 100644 Binary files a/resources/oci/security/key-management.png and b/resources/oci/security/key-management.png differ diff --git a/resources/oci/security/max-security-zone-white.png b/resources/oci/security/max-security-zone-white.png index 27da254a..bcac3562 100644 Binary files a/resources/oci/security/max-security-zone-white.png and b/resources/oci/security/max-security-zone-white.png differ diff --git a/resources/oci/security/max-security-zone.png b/resources/oci/security/max-security-zone.png index 71f98d52..a15a9949 100644 Binary files a/resources/oci/security/max-security-zone.png and b/resources/oci/security/max-security-zone.png differ diff --git a/resources/oci/security/vault-white.png b/resources/oci/security/vault-white.png index 74c18ff8..800b0bde 100644 Binary files a/resources/oci/security/vault-white.png and b/resources/oci/security/vault-white.png differ diff --git a/resources/oci/security/vault.png b/resources/oci/security/vault.png index 68789b9c..a2098b61 100644 Binary files a/resources/oci/security/vault.png and b/resources/oci/security/vault.png differ diff --git a/resources/oci/security/waf-white.png b/resources/oci/security/waf-white.png index c938ec28..2a555729 100644 Binary files a/resources/oci/security/waf-white.png and b/resources/oci/security/waf-white.png differ diff --git a/resources/oci/security/waf.png b/resources/oci/security/waf.png index e268c965..1d25c0f8 100644 Binary files a/resources/oci/security/waf.png and b/resources/oci/security/waf.png differ diff --git a/resources/oci/storage/backup-restore-white.png b/resources/oci/storage/backup-restore-white.png index e322b6aa..e86aa3e9 100644 Binary files a/resources/oci/storage/backup-restore-white.png and b/resources/oci/storage/backup-restore-white.png differ diff --git a/resources/oci/storage/backup-restore.png b/resources/oci/storage/backup-restore.png index 5d9c3415..23988414 100644 Binary files a/resources/oci/storage/backup-restore.png and b/resources/oci/storage/backup-restore.png differ diff --git a/resources/oci/storage/block-storage-clone-white.png b/resources/oci/storage/block-storage-clone-white.png index a372e484..f5586096 100644 Binary files a/resources/oci/storage/block-storage-clone-white.png and b/resources/oci/storage/block-storage-clone-white.png differ diff --git a/resources/oci/storage/block-storage-clone.png b/resources/oci/storage/block-storage-clone.png index f97b3da8..6d1ce573 100644 Binary files a/resources/oci/storage/block-storage-clone.png and b/resources/oci/storage/block-storage-clone.png differ diff --git a/resources/oci/storage/block-storage-white.png b/resources/oci/storage/block-storage-white.png index d78a1aaa..b15fd5c7 100644 Binary files a/resources/oci/storage/block-storage-white.png and b/resources/oci/storage/block-storage-white.png differ diff --git a/resources/oci/storage/block-storage.png b/resources/oci/storage/block-storage.png index c2408c4e..88a95637 100644 Binary files a/resources/oci/storage/block-storage.png and b/resources/oci/storage/block-storage.png differ diff --git a/resources/oci/storage/buckets-white.png b/resources/oci/storage/buckets-white.png index 2607e45f..75ba2415 100644 Binary files a/resources/oci/storage/buckets-white.png and b/resources/oci/storage/buckets-white.png differ diff --git a/resources/oci/storage/buckets.png b/resources/oci/storage/buckets.png index c93e6910..ba008e03 100644 Binary files a/resources/oci/storage/buckets.png and b/resources/oci/storage/buckets.png differ diff --git a/resources/oci/storage/data-transfer-white.png b/resources/oci/storage/data-transfer-white.png index 06e72e0c..6b0795c0 100644 Binary files a/resources/oci/storage/data-transfer-white.png and b/resources/oci/storage/data-transfer-white.png differ diff --git a/resources/oci/storage/data-transfer.png b/resources/oci/storage/data-transfer.png index ebdfe816..81c7eca2 100644 Binary files a/resources/oci/storage/data-transfer.png and b/resources/oci/storage/data-transfer.png differ diff --git a/resources/oci/storage/elastic-performance-white.png b/resources/oci/storage/elastic-performance-white.png index ce8116f9..25dd1dae 100644 Binary files a/resources/oci/storage/elastic-performance-white.png and b/resources/oci/storage/elastic-performance-white.png differ diff --git a/resources/oci/storage/elastic-performance.png b/resources/oci/storage/elastic-performance.png index 627e2397..44d6f0ad 100644 Binary files a/resources/oci/storage/elastic-performance.png and b/resources/oci/storage/elastic-performance.png differ diff --git a/resources/oci/storage/file-storage-white.png b/resources/oci/storage/file-storage-white.png index 0380d32b..253c986b 100644 Binary files a/resources/oci/storage/file-storage-white.png and b/resources/oci/storage/file-storage-white.png differ diff --git a/resources/oci/storage/file-storage.png b/resources/oci/storage/file-storage.png index c3cb4d9b..10165c69 100644 Binary files a/resources/oci/storage/file-storage.png and b/resources/oci/storage/file-storage.png differ diff --git a/resources/oci/storage/object-storage-white.png b/resources/oci/storage/object-storage-white.png index 838b5353..2ca1bbec 100644 Binary files a/resources/oci/storage/object-storage-white.png and b/resources/oci/storage/object-storage-white.png differ diff --git a/resources/oci/storage/object-storage.png b/resources/oci/storage/object-storage.png index 6bba0aa6..ae1df86f 100644 Binary files a/resources/oci/storage/object-storage.png and b/resources/oci/storage/object-storage.png differ diff --git a/resources/oci/storage/storage-gateway-white.png b/resources/oci/storage/storage-gateway-white.png index 8b5dad4f..fd400bda 100644 Binary files a/resources/oci/storage/storage-gateway-white.png and b/resources/oci/storage/storage-gateway-white.png differ diff --git a/resources/oci/storage/storage-gateway.png b/resources/oci/storage/storage-gateway.png index 642e47af..b9271afe 100644 Binary files a/resources/oci/storage/storage-gateway.png and b/resources/oci/storage/storage-gateway.png differ diff --git a/resources/onprem/network/mikrotik.png b/resources/onprem/network/mikrotik.png new file mode 100644 index 00000000..515b685e Binary files /dev/null and b/resources/onprem/network/mikrotik.png differ diff --git a/resources/onprem/onprem.png b/resources/onprem/onprem.png new file mode 100644 index 00000000..6230344b Binary files /dev/null and b/resources/onprem/onprem.png differ diff --git a/resources/outscale/outscale.png b/resources/outscale/outscale.png new file mode 100644 index 00000000..526b7f04 Binary files /dev/null and b/resources/outscale/outscale.png differ diff --git a/resources/programming/framework/phoenix.png b/resources/programming/framework/phoenix.png new file mode 100644 index 00000000..ca32175f Binary files /dev/null and b/resources/programming/framework/phoenix.png differ diff --git a/resources/programming/framework/sqlpage.png b/resources/programming/framework/sqlpage.png new file mode 100644 index 00000000..1486241f Binary files /dev/null and b/resources/programming/framework/sqlpage.png differ diff --git a/resources/programming/language/elixir.png b/resources/programming/language/elixir.png index 86e7bddd..2ef4cafa 100644 Binary files a/resources/programming/language/elixir.png and b/resources/programming/language/elixir.png differ diff --git a/resources/programming/language/sql.png b/resources/programming/language/sql.png new file mode 100644 index 00000000..aab80a12 Binary files /dev/null and b/resources/programming/language/sql.png differ diff --git a/resources/programming/programming.png b/resources/programming/programming.png new file mode 100644 index 00000000..13b669ba Binary files /dev/null and b/resources/programming/programming.png differ diff --git a/resources/saas/crm/intercom.png b/resources/saas/crm/intercom.png new file mode 100644 index 00000000..c49ab848 Binary files /dev/null and b/resources/saas/crm/intercom.png differ diff --git a/resources/saas/crm/zendesk.png b/resources/saas/crm/zendesk.png new file mode 100644 index 00000000..f2b09840 Binary files /dev/null and b/resources/saas/crm/zendesk.png differ diff --git a/resources/saas/logging/newrelic.png b/resources/saas/logging/newrelic.png index 908ccd08..98b5e928 100644 Binary files a/resources/saas/logging/newrelic.png and b/resources/saas/logging/newrelic.png differ diff --git a/resources/saas/saas.png b/resources/saas/saas.png new file mode 100644 index 00000000..589c329d Binary files /dev/null and b/resources/saas/saas.png differ diff --git a/resources/saas/security/crowdstrike.png b/resources/saas/security/crowdstrike.png new file mode 100644 index 00000000..4b2dc92e Binary files /dev/null and b/resources/saas/security/crowdstrike.png differ diff --git a/scripts/generate.py b/scripts/generate.py index 299f3941..f9032227 100644 --- a/scripts/generate.py +++ b/scripts/generate.py @@ -5,7 +5,8 @@ from typing import Iterable from jinja2 import Environment, FileSystemLoader, Template, exceptions import config as cfg -from . import app_root_dir, doc_root_dir, resource_dir, template_dir, base_dir + +from . import app_root_dir, base_dir, doc_root_dir, resource_dir, template_dir _usage = "Usage: generate.py " @@ -42,11 +43,11 @@ def gen_classes(pvd: str, typ: str, paths: Iterable[str]) -> str: def gen_apidoc(pvd: str, typ_paths: dict) -> str: try: - default_tmp = cfg.TMPL_APIDOC.split('.') - tmpl_file = f"{default_tmp[0]}_{pvd}.{default_tmp[1]}" - tmpl = load_tmpl(tmpl_file) + default_tmp = cfg.TMPL_APIDOC.split(".") + tmpl_file = f"{default_tmp[0]}_{pvd}.{default_tmp[1]}" + tmpl = load_tmpl(tmpl_file) except exceptions.TemplateNotFound: - tmpl = load_tmpl(cfg.TMPL_APIDOC) + tmpl = load_tmpl(cfg.TMPL_APIDOC) # TODO: remove def _gen_class_name(path: str) -> str: @@ -61,7 +62,8 @@ def gen_apidoc(pvd: str, typ_paths: dict) -> str: name = _gen_class_name(path) resource_path = os.path.join(resource_root, path) alias = cfg.ALIASES[pvd].get(typ, {}).get(name) - typ_classes[typ].append({"name": name, "alias": alias, "resource_path": resource_path}) + typ_classes[typ].append( + {"name": name, "alias": alias, "resource_path": resource_path}) return tmpl.render(pvd=pvd, typ_classes=typ_classes) diff --git a/scripts/resource.py b/scripts/resource.py index cdea9379..bc98a72c 100644 --- a/scripts/resource.py +++ b/scripts/resource.py @@ -11,6 +11,7 @@ import subprocess import sys import config as cfg + from . import resource_dir _usage = "Usage: resource.py " @@ -30,7 +31,7 @@ def cleaner_aws(f): f = f.replace("-light-bg", "") for p in cfg.FILE_PREFIXES["aws"]: if f.startswith(p): - f = f[len(p) :] + f = f[len(p):] break return f.lower() @@ -41,7 +42,7 @@ def cleaner_azure(f): f = "-".join(f.split()) for p in cfg.FILE_PREFIXES["azure"]: if f.startswith(p): - f = f[len(p) :] + f = f[len(p):] break return f.lower() @@ -51,7 +52,7 @@ def cleaner_gcp(f): f = "-".join(f.split()) for p in cfg.FILE_PREFIXES["gcp"]: if f.startswith(p): - f = f[len(p) :] + f = f[len(p):] break return f.lower() @@ -61,7 +62,7 @@ def cleaner_ibm(f): f = "-".join(f.split()) for p in cfg.FILE_PREFIXES["ibm"]: if f.startswith(p): - f = f[len(p) :] + f = f[len(p):] break return f.lower() @@ -71,7 +72,7 @@ def cleaner_firebase(f): f = "-".join(f.split()) for p in cfg.FILE_PREFIXES["firebase"]: if f.startswith(p): - f = f[len(p) :] + f = f[len(p):] break return f.lower() @@ -80,15 +81,16 @@ def cleaner_k8s(f): f = f.replace("-256", "") for p in cfg.FILE_PREFIXES["k8s"]: if f.startswith(p): - f = f[len(p) :] + f = f[len(p):] break return f.lower() + def cleaner_digitalocean(f): f = f.replace("-32", "") for p in cfg.FILE_PREFIXES["digitalocean"]: if f.startswith(p): - f = f[len(p) :] + f = f[len(p):] break return f.lower() @@ -96,7 +98,7 @@ def cleaner_digitalocean(f): def cleaner_alibabacloud(f): for p in cfg.FILE_PREFIXES["alibabacloud"]: if f.startswith(p): - f = f[len(p) :] + f = f[len(p):] break return f.lower() @@ -106,7 +108,7 @@ def cleaner_oci(f): f = f.replace("_", "-") for p in cfg.FILE_PREFIXES["oci"]: if f.startswith(p): - f = f[len(p) :] + f = f[len(p):] break return f.lower() @@ -201,7 +203,8 @@ def svg2png2(pvd: str) -> None: def _convert(base: str, path: str): path_src = os.path.join(base, path) path_dest = path_src.replace(".svg", ".png") - subprocess.run([cfg.CMD_SVG2PNG_IM, *cfg.CMD_SVG2PNG_IM_OPTS, path_src, path_dest]) + subprocess.run([cfg.CMD_SVG2PNG_IM, * + cfg.CMD_SVG2PNG_IM_OPTS, path_src, path_dest]) subprocess.run(["rm", path_src]) for root, _, files in os.walk(resource_dir(pvd)): diff --git a/tests/test_c4.py b/tests/test_c4.py index 3877ec0f..f2713811 100644 --- a/tests/test_c4.py +++ b/tests/test_c4.py @@ -3,14 +3,14 @@ import random import string import unittest -from diagrams import Diagram -from diagrams import setcluster, setdiagram -from diagrams.c4 import Person, Container, Database, System, SystemBoundary, Relationship +from diagrams import Diagram, setcluster, setdiagram +from diagrams.c4 import Container, Database, Person, Relationship, System, SystemBoundary class C4Test(unittest.TestCase): def setUp(self): - self.name = "diagram-" + "".join([random.choice(string.hexdigits) for n in range(7)]).lower() + self.name = "diagram-" + \ + "".join([random.choice(string.hexdigits) for n in range(7)]).lower() def tearDown(self): setdiagram(None) @@ -23,8 +23,14 @@ class C4Test(unittest.TestCase): def test_nodes(self): with Diagram(name=self.name, show=False): person = Person("person", "A person.") - container = Container("container", "Java application", "The application.") - database = Database("database", "Oracle database", "Stores information.") + container = Container( + "container", + "Java application", + "The application.") + database = Database( + "database", + "Oracle database", + "Stores information.") def test_external_nodes(self): with Diagram(name=self.name, show=False): diff --git a/tests/test_diagram.py b/tests/test_diagram.py index 00bdacc6..0760709e 100644 --- a/tests/test_diagram.py +++ b/tests/test_diagram.py @@ -1,10 +1,9 @@ import os +import pathlib import shutil import unittest -import pathlib -from diagrams import Cluster, Diagram, Edge, Node -from diagrams import getcluster, getdiagram, setcluster, setdiagram +from diagrams import Cluster, Diagram, Edge, Node, getcluster, getdiagram, setcluster, setdiagram class DiagramTest(unittest.TestCase): @@ -103,20 +102,19 @@ class DiagramTest(unittest.TestCase): def test_empty_name(self): """Check that providing an empty name don't crash, but save in a diagrams_image.xxx file.""" - self.name = 'diagrams_image' + self.name = "diagrams_image" with Diagram(show=False): Node("node1") self.assertTrue(os.path.exists(f"{self.name}.png")) - + def test_autolabel(self): with Diagram(name=os.path.join(self.name, "nodes_to_node"), show=False): node1 = Node("node1") - self.assertTrue(node1.label,"Node\nnode1") - + self.assertTrue(node1.label, "Node\nnode1") def test_outformat_list(self): """Check that outformat render all the files from the list.""" - self.name = 'diagrams_image' + self.name = "diagrams_image" with Diagram(show=False, outformat=["dot", "png"]): Node("node1") # both files must exist @@ -240,56 +238,122 @@ class EdgeTest(unittest.TestCase): with Cluster(): node1 = Node("node1") nodes = [Node("node2"), Node("node3")] - self.assertEqual(nodes - Edge(color="red") - Edge(color="green") - node1, node1) + self.assertEqual( + nodes - + Edge( + color="red") - + Edge( + color="green") - + node1, + node1) def test_node_to_node_with_attributes(self): with Diagram(name=os.path.join(self.name, "node_to_node_with_attributes"), show=False): with Cluster(): node1 = Node("node1") node2 = Node("node2") - self.assertEqual(node1 << Edge(color="red", label="1.1") << node2, node2) - self.assertEqual(node1 >> Edge(color="green", label="1.2") >> node2, node2) - self.assertEqual(node1 << Edge(color="blue", label="1.3") >> node2, node2) + self.assertEqual( + node1 << Edge( + color="red", + label="1.1") << node2, + node2) + self.assertEqual( + node1 >> Edge( + color="green", + label="1.2") >> node2, + node2) + self.assertEqual( + node1 << Edge( + color="blue", + label="1.3") >> node2, + node2) def test_node_to_node_with_additional_attributes(self): with Diagram(name=os.path.join(self.name, "node_to_node_with_additional_attributes"), show=False): with Cluster(): node1 = Node("node1") node2 = Node("node2") - self.assertEqual(node1 << Edge(color="red", label="2.1") << Edge(color="blue") << node2, node2) - self.assertEqual(node1 >> Edge(color="green", label="2.2") >> Edge(color="red") >> node2, node2) - self.assertEqual(node1 << Edge(color="blue", label="2.3") >> Edge(color="black") >> node2, node2) + self.assertEqual( + node1 << Edge( + color="red", + label="2.1") << Edge( + color="blue") << node2, + node2) + self.assertEqual( + node1 >> Edge( + color="green", + label="2.2") >> Edge( + color="red") >> node2, + node2) + self.assertEqual( + node1 << Edge( + color="blue", + label="2.3") >> Edge( + color="black") >> node2, + node2) def test_nodes_to_node_with_attributes_loop(self): with Diagram(name=os.path.join(self.name, "nodes_to_node_with_attributes_loop"), show=False): with Cluster(): node = Node("node") - self.assertEqual(node >> Edge(color="red", label="3.1") >> node, node) - self.assertEqual(node << Edge(color="green", label="3.2") << node, node) - self.assertEqual(node >> Edge(color="blue", label="3.3") << node, node) - self.assertEqual(node << Edge(color="pink", label="3.4") >> node, node) + self.assertEqual( + node >> Edge( + color="red", + label="3.1") >> node, + node) + self.assertEqual( + node << Edge( + color="green", + label="3.2") << node, + node) + self.assertEqual( + node >> Edge( + color="blue", + label="3.3") << node, + node) + self.assertEqual( + node << Edge( + color="pink", + label="3.4") >> node, + node) def test_nodes_to_node_with_attributes_bothdirectional(self): with Diagram(name=os.path.join(self.name, "nodes_to_node_with_attributes_bothdirectional"), show=False): with Cluster(): node1 = Node("node1") nodes = [Node("node2"), Node("node3")] - self.assertEqual(nodes << Edge(color="green", label="4") >> node1, node1) + self.assertEqual( + nodes << Edge( + color="green", + label="4") >> node1, + node1) def test_nodes_to_node_with_attributes_bidirectional(self): with Diagram(name=os.path.join(self.name, "nodes_to_node_with_attributes_bidirectional"), show=False): with Cluster(): node1 = Node("node1") nodes = [Node("node2"), Node("node3")] - self.assertEqual(nodes << Edge(color="blue", label="5") >> node1, node1) + self.assertEqual( + nodes << Edge( + color="blue", + label="5") >> node1, + node1) def test_nodes_to_node_with_attributes_onedirectional(self): with Diagram(name=os.path.join(self.name, "nodes_to_node_with_attributes_onedirectional"), show=False): with Cluster(): node1 = Node("node1") nodes = [Node("node2"), Node("node3")] - self.assertEqual(nodes >> Edge(color="red", label="6.1") >> node1, node1) - self.assertEqual(nodes << Edge(color="green", label="6.2") << node1, node1) + self.assertEqual( + nodes >> Edge( + color="red", + label="6.1") >> node1, + node1) + self.assertEqual( + nodes << Edge( + color="green", + label="6.2") << node1, + node1) def test_nodes_to_node_with_additional_attributes_directional(self): with Diagram(name=os.path.join(self.name, "nodes_to_node_with_additional_attributes_directional"), show=False): @@ -297,11 +361,19 @@ class EdgeTest(unittest.TestCase): node1 = Node("node1") nodes = [Node("node2"), Node("node3")] self.assertEqual( - nodes >> Edge(color="red", label="6.1") >> Edge(color="blue", label="6.2") >> node1, node1 - ) + nodes >> Edge( + color="red", + label="6.1") >> Edge( + color="blue", + label="6.2") >> node1, + node1) self.assertEqual( - nodes << Edge(color="green", label="6.3") << Edge(color="pink", label="6.4") << node1, node1 - ) + nodes << Edge( + color="green", + label="6.3") << Edge( + color="pink", + label="6.4") << node1, + node1) class ResourcesTest(unittest.TestCase): @@ -311,7 +383,13 @@ class ResourcesTest(unittest.TestCase): i.e. resources///, so check that this depth isn't exceeded. """ - resources_dir = pathlib.Path(__file__).parent.parent / 'resources' - max_depth = max(os.path.relpath(d, resources_dir).count(os.sep) + 1 - for d, _, _ in os.walk(resources_dir)) + resources_dir = pathlib.Path(__file__).parent.parent / "resources" + max_depth = max( + os.path.relpath( + d, + resources_dir).count( + os.sep) + + 1 for d, + _, + _ in os.walk(resources_dir)) self.assertLessEqual(max_depth, 2) diff --git a/website/sidebars.json b/website/sidebars.json index 6693b599..97086c08 100644 --- a/website/sidebars.json +++ b/website/sidebars.json @@ -31,4 +31,4 @@ "nodes/custom" ] } -} \ No newline at end of file +} diff --git a/website/static/css/custom.css b/website/static/css/custom.css index 235f6269..3d6682ae 100644 --- a/website/static/css/custom.css +++ b/website/static/css/custom.css @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ - + /* your custom css */ @media only screen and (min-device-width: 360px) and (max-device-width: 736px) { @@ -24,4 +24,4 @@ #buymeacoffee { height: 50px; -} \ No newline at end of file +} diff --git a/website/static/img/resources/alibabacloud/alibabacloud.png b/website/static/img/resources/alibabacloud/alibabacloud.png new file mode 100644 index 00000000..39a59598 Binary files /dev/null and b/website/static/img/resources/alibabacloud/alibabacloud.png differ diff --git a/website/static/img/resources/aws/aws.png b/website/static/img/resources/aws/aws.png new file mode 100644 index 00000000..c1dd36fc Binary files /dev/null and b/website/static/img/resources/aws/aws.png differ diff --git a/website/static/img/resources/aws/database/dynamodb-streams.png b/website/static/img/resources/aws/database/dynamodb-streams.png new file mode 100644 index 00000000..4e3a0251 Binary files /dev/null and b/website/static/img/resources/aws/database/dynamodb-streams.png differ diff --git a/website/static/img/resources/aws/management/cloudwatch-logs.png b/website/static/img/resources/aws/management/cloudwatch-logs.png new file mode 100644 index 00000000..7368a95d Binary files /dev/null and b/website/static/img/resources/aws/management/cloudwatch-logs.png differ diff --git a/website/static/img/resources/aws/network/transit-gateway-attachment.png b/website/static/img/resources/aws/network/transit-gateway-attachment.png new file mode 100644 index 00000000..1e3fdaed Binary files /dev/null and b/website/static/img/resources/aws/network/transit-gateway-attachment.png differ diff --git a/website/static/img/resources/aws/storage/s3-access-points.png b/website/static/img/resources/aws/storage/s3-access-points.png new file mode 100644 index 00000000..3c62c617 Binary files /dev/null and b/website/static/img/resources/aws/storage/s3-access-points.png differ diff --git a/website/static/img/resources/aws/storage/s3-object-lambda-access-points.png b/website/static/img/resources/aws/storage/s3-object-lambda-access-points.png new file mode 100644 index 00000000..138fc50f Binary files /dev/null and b/website/static/img/resources/aws/storage/s3-object-lambda-access-points.png differ diff --git a/website/static/img/resources/azure/azure.png b/website/static/img/resources/azure/azure.png new file mode 100644 index 00000000..e4c60a50 Binary files /dev/null and b/website/static/img/resources/azure/azure.png differ diff --git a/website/static/img/resources/azure/ml/azure-open-ai.png b/website/static/img/resources/azure/ml/azure-open-ai.png new file mode 100644 index 00000000..f617791d Binary files /dev/null and b/website/static/img/resources/azure/ml/azure-open-ai.png differ diff --git a/website/static/img/resources/azure/ml/azure-speed-to-text.png b/website/static/img/resources/azure/ml/azure-speed-to-text.png new file mode 100644 index 00000000..ca331f12 Binary files /dev/null and b/website/static/img/resources/azure/ml/azure-speed-to-text.png differ diff --git a/website/static/img/resources/digitalocean/digitalocean.png b/website/static/img/resources/digitalocean/digitalocean.png new file mode 100644 index 00000000..a6638dbd Binary files /dev/null and b/website/static/img/resources/digitalocean/digitalocean.png differ diff --git a/website/static/img/resources/elastic/elastic.png b/website/static/img/resources/elastic/elastic.png new file mode 100644 index 00000000..d311d639 Binary files /dev/null and b/website/static/img/resources/elastic/elastic.png differ diff --git a/website/static/img/resources/firebase/firebase.png b/website/static/img/resources/firebase/firebase.png new file mode 100644 index 00000000..2cfd1dfe Binary files /dev/null and b/website/static/img/resources/firebase/firebase.png differ diff --git a/website/static/img/resources/gcp/gcp.png b/website/static/img/resources/gcp/gcp.png new file mode 100644 index 00000000..ca3d5fa0 Binary files /dev/null and b/website/static/img/resources/gcp/gcp.png differ diff --git a/website/static/img/resources/generic/generic.png b/website/static/img/resources/generic/generic.png new file mode 100644 index 00000000..351705eb Binary files /dev/null and b/website/static/img/resources/generic/generic.png differ diff --git a/website/static/img/resources/ibm/ibm.png b/website/static/img/resources/ibm/ibm.png new file mode 100644 index 00000000..26db1bc1 Binary files /dev/null and b/website/static/img/resources/ibm/ibm.png differ diff --git a/website/static/img/resources/k8s/k8s.png b/website/static/img/resources/k8s/k8s.png new file mode 100644 index 00000000..66bd45fa Binary files /dev/null and b/website/static/img/resources/k8s/k8s.png differ diff --git a/website/static/img/resources/oci/compute/autoscale-white.png b/website/static/img/resources/oci/compute/autoscale-white.png index dc64d11b..6dd68b2a 100644 Binary files a/website/static/img/resources/oci/compute/autoscale-white.png and b/website/static/img/resources/oci/compute/autoscale-white.png differ diff --git a/website/static/img/resources/oci/compute/autoscale.png b/website/static/img/resources/oci/compute/autoscale.png index f5374d3a..819ac5ac 100644 Binary files a/website/static/img/resources/oci/compute/autoscale.png and b/website/static/img/resources/oci/compute/autoscale.png differ diff --git a/website/static/img/resources/oci/compute/bm-white.png b/website/static/img/resources/oci/compute/bm-white.png index c33833d7..3d135036 100644 Binary files a/website/static/img/resources/oci/compute/bm-white.png and b/website/static/img/resources/oci/compute/bm-white.png differ diff --git a/website/static/img/resources/oci/compute/bm.png b/website/static/img/resources/oci/compute/bm.png index e9d50b0a..1480c07a 100644 Binary files a/website/static/img/resources/oci/compute/bm.png and b/website/static/img/resources/oci/compute/bm.png differ diff --git a/website/static/img/resources/oci/compute/container-white.png b/website/static/img/resources/oci/compute/container-white.png index ba6b09a0..f0049b86 100644 Binary files a/website/static/img/resources/oci/compute/container-white.png and b/website/static/img/resources/oci/compute/container-white.png differ diff --git a/website/static/img/resources/oci/compute/container.png b/website/static/img/resources/oci/compute/container.png index 949b46bd..53b61e19 100644 Binary files a/website/static/img/resources/oci/compute/container.png and b/website/static/img/resources/oci/compute/container.png differ diff --git a/website/static/img/resources/oci/compute/functions-white.png b/website/static/img/resources/oci/compute/functions-white.png index 6296e39b..d509c17e 100644 Binary files a/website/static/img/resources/oci/compute/functions-white.png and b/website/static/img/resources/oci/compute/functions-white.png differ diff --git a/website/static/img/resources/oci/compute/functions.png b/website/static/img/resources/oci/compute/functions.png index ec13a2dc..3961aa5f 100644 Binary files a/website/static/img/resources/oci/compute/functions.png and b/website/static/img/resources/oci/compute/functions.png differ diff --git a/website/static/img/resources/oci/compute/instance-pools-white.png b/website/static/img/resources/oci/compute/instance-pools-white.png index 397bc276..fbcc1036 100644 Binary files a/website/static/img/resources/oci/compute/instance-pools-white.png and b/website/static/img/resources/oci/compute/instance-pools-white.png differ diff --git a/website/static/img/resources/oci/compute/instance-pools.png b/website/static/img/resources/oci/compute/instance-pools.png index d1eacf12..18a4729d 100644 Binary files a/website/static/img/resources/oci/compute/instance-pools.png and b/website/static/img/resources/oci/compute/instance-pools.png differ diff --git a/website/static/img/resources/oci/compute/ocir-white.png b/website/static/img/resources/oci/compute/ocir-white.png index 55105058..4199ea67 100644 Binary files a/website/static/img/resources/oci/compute/ocir-white.png and b/website/static/img/resources/oci/compute/ocir-white.png differ diff --git a/website/static/img/resources/oci/compute/ocir.png b/website/static/img/resources/oci/compute/ocir.png index 4f6d9ee2..c8d1fd8b 100644 Binary files a/website/static/img/resources/oci/compute/ocir.png and b/website/static/img/resources/oci/compute/ocir.png differ diff --git a/website/static/img/resources/oci/compute/oke-white.png b/website/static/img/resources/oci/compute/oke-white.png index 64517535..28778d9f 100644 Binary files a/website/static/img/resources/oci/compute/oke-white.png and b/website/static/img/resources/oci/compute/oke-white.png differ diff --git a/website/static/img/resources/oci/compute/oke.png b/website/static/img/resources/oci/compute/oke.png index 61dcd839..3e7c9f10 100644 Binary files a/website/static/img/resources/oci/compute/oke.png and b/website/static/img/resources/oci/compute/oke.png differ diff --git a/website/static/img/resources/oci/compute/vm-white.png b/website/static/img/resources/oci/compute/vm-white.png index 1af7e0e7..4bbe5f1a 100644 Binary files a/website/static/img/resources/oci/compute/vm-white.png and b/website/static/img/resources/oci/compute/vm-white.png differ diff --git a/website/static/img/resources/oci/compute/vm.png b/website/static/img/resources/oci/compute/vm.png index 1b680b63..15fcaaab 100644 Binary files a/website/static/img/resources/oci/compute/vm.png and b/website/static/img/resources/oci/compute/vm.png differ diff --git a/website/static/img/resources/oci/connectivity/backbone-white.png b/website/static/img/resources/oci/connectivity/backbone-white.png index bfe31e80..8d8a4c0f 100644 Binary files a/website/static/img/resources/oci/connectivity/backbone-white.png and b/website/static/img/resources/oci/connectivity/backbone-white.png differ diff --git a/website/static/img/resources/oci/connectivity/backbone.png b/website/static/img/resources/oci/connectivity/backbone.png index 106b1594..5fe3389d 100644 Binary files a/website/static/img/resources/oci/connectivity/backbone.png and b/website/static/img/resources/oci/connectivity/backbone.png differ diff --git a/website/static/img/resources/oci/connectivity/cdn-white.png b/website/static/img/resources/oci/connectivity/cdn-white.png index 605b695c..7f5d26d3 100644 Binary files a/website/static/img/resources/oci/connectivity/cdn-white.png and b/website/static/img/resources/oci/connectivity/cdn-white.png differ diff --git a/website/static/img/resources/oci/connectivity/cdn.png b/website/static/img/resources/oci/connectivity/cdn.png index 839012b7..e1f41147 100644 Binary files a/website/static/img/resources/oci/connectivity/cdn.png and b/website/static/img/resources/oci/connectivity/cdn.png differ diff --git a/website/static/img/resources/oci/connectivity/customer-datacenter.png b/website/static/img/resources/oci/connectivity/customer-datacenter.png index 8937f7d4..a3dcb1c8 100644 Binary files a/website/static/img/resources/oci/connectivity/customer-datacenter.png and b/website/static/img/resources/oci/connectivity/customer-datacenter.png differ diff --git a/website/static/img/resources/oci/connectivity/customer-datacntr-white.png b/website/static/img/resources/oci/connectivity/customer-datacntr-white.png index 70b7c8d5..a51c557e 100644 Binary files a/website/static/img/resources/oci/connectivity/customer-datacntr-white.png and b/website/static/img/resources/oci/connectivity/customer-datacntr-white.png differ diff --git a/website/static/img/resources/oci/connectivity/customer-premises-white.png b/website/static/img/resources/oci/connectivity/customer-premises-white.png new file mode 100644 index 00000000..95a197f8 Binary files /dev/null and b/website/static/img/resources/oci/connectivity/customer-premises-white.png differ diff --git a/website/static/img/resources/oci/connectivity/customer-premises.png b/website/static/img/resources/oci/connectivity/customer-premises.png new file mode 100644 index 00000000..9ec4bc09 Binary files /dev/null and b/website/static/img/resources/oci/connectivity/customer-premises.png differ diff --git a/website/static/img/resources/oci/connectivity/disconnected-regions-white.png b/website/static/img/resources/oci/connectivity/disconnected-regions-white.png index 329d2956..abead332 100644 Binary files a/website/static/img/resources/oci/connectivity/disconnected-regions-white.png and b/website/static/img/resources/oci/connectivity/disconnected-regions-white.png differ diff --git a/website/static/img/resources/oci/connectivity/disconnected-regions.png b/website/static/img/resources/oci/connectivity/disconnected-regions.png index 59f6df90..c7602ea4 100644 Binary files a/website/static/img/resources/oci/connectivity/disconnected-regions.png and b/website/static/img/resources/oci/connectivity/disconnected-regions.png differ diff --git a/website/static/img/resources/oci/connectivity/dns-white.png b/website/static/img/resources/oci/connectivity/dns-white.png index 831f6628..334d56b0 100644 Binary files a/website/static/img/resources/oci/connectivity/dns-white.png and b/website/static/img/resources/oci/connectivity/dns-white.png differ diff --git a/website/static/img/resources/oci/connectivity/dns.png b/website/static/img/resources/oci/connectivity/dns.png index 374c1bb5..961b13d2 100644 Binary files a/website/static/img/resources/oci/connectivity/dns.png and b/website/static/img/resources/oci/connectivity/dns.png differ diff --git a/website/static/img/resources/oci/connectivity/fast-connect-white.png b/website/static/img/resources/oci/connectivity/fast-connect-white.png index 57827bb9..12538457 100644 Binary files a/website/static/img/resources/oci/connectivity/fast-connect-white.png and b/website/static/img/resources/oci/connectivity/fast-connect-white.png differ diff --git a/website/static/img/resources/oci/connectivity/fast-connect.png b/website/static/img/resources/oci/connectivity/fast-connect.png index 9fb1a532..cdce6f04 100644 Binary files a/website/static/img/resources/oci/connectivity/fast-connect.png and b/website/static/img/resources/oci/connectivity/fast-connect.png differ diff --git a/website/static/img/resources/oci/connectivity/nat-gateway-white.png b/website/static/img/resources/oci/connectivity/nat-gateway-white.png index 2c4d84ba..75e698e6 100644 Binary files a/website/static/img/resources/oci/connectivity/nat-gateway-white.png and b/website/static/img/resources/oci/connectivity/nat-gateway-white.png differ diff --git a/website/static/img/resources/oci/connectivity/nat-gateway.png b/website/static/img/resources/oci/connectivity/nat-gateway.png index b472878c..831f0e71 100644 Binary files a/website/static/img/resources/oci/connectivity/nat-gateway.png and b/website/static/img/resources/oci/connectivity/nat-gateway.png differ diff --git a/website/static/img/resources/oci/connectivity/vpn-white.png b/website/static/img/resources/oci/connectivity/vpn-white.png index be80a991..2dc116a9 100644 Binary files a/website/static/img/resources/oci/connectivity/vpn-white.png and b/website/static/img/resources/oci/connectivity/vpn-white.png differ diff --git a/website/static/img/resources/oci/connectivity/vpn.png b/website/static/img/resources/oci/connectivity/vpn.png index 03374859..3b90d7db 100644 Binary files a/website/static/img/resources/oci/connectivity/vpn.png and b/website/static/img/resources/oci/connectivity/vpn.png differ diff --git a/website/static/img/resources/oci/database/autonomous-white.png b/website/static/img/resources/oci/database/autonomous-white.png index 69395109..846f945e 100644 Binary files a/website/static/img/resources/oci/database/autonomous-white.png and b/website/static/img/resources/oci/database/autonomous-white.png differ diff --git a/website/static/img/resources/oci/database/autonomous.png b/website/static/img/resources/oci/database/autonomous.png index e9859e2d..2636bd26 100644 Binary files a/website/static/img/resources/oci/database/autonomous.png and b/website/static/img/resources/oci/database/autonomous.png differ diff --git a/website/static/img/resources/oci/database/bigdata-service-white.png b/website/static/img/resources/oci/database/bigdata-service-white.png index 76b26db4..cb560928 100644 Binary files a/website/static/img/resources/oci/database/bigdata-service-white.png and b/website/static/img/resources/oci/database/bigdata-service-white.png differ diff --git a/website/static/img/resources/oci/database/bigdata-service.png b/website/static/img/resources/oci/database/bigdata-service.png index ebb395da..36dbc5e4 100644 Binary files a/website/static/img/resources/oci/database/bigdata-service.png and b/website/static/img/resources/oci/database/bigdata-service.png differ diff --git a/website/static/img/resources/oci/database/database-service-white.png b/website/static/img/resources/oci/database/database-service-white.png index 552c56c7..d6b0aa00 100644 Binary files a/website/static/img/resources/oci/database/database-service-white.png and b/website/static/img/resources/oci/database/database-service-white.png differ diff --git a/website/static/img/resources/oci/database/database-service.png b/website/static/img/resources/oci/database/database-service.png index 5442cecd..82f04b41 100644 Binary files a/website/static/img/resources/oci/database/database-service.png and b/website/static/img/resources/oci/database/database-service.png differ diff --git a/website/static/img/resources/oci/database/dataflow-apache-white.png b/website/static/img/resources/oci/database/dataflow-apache-white.png index cf69c3b5..85855118 100644 Binary files a/website/static/img/resources/oci/database/dataflow-apache-white.png and b/website/static/img/resources/oci/database/dataflow-apache-white.png differ diff --git a/website/static/img/resources/oci/database/dataflow-apache.png b/website/static/img/resources/oci/database/dataflow-apache.png index c04b65ba..42c29f05 100644 Binary files a/website/static/img/resources/oci/database/dataflow-apache.png and b/website/static/img/resources/oci/database/dataflow-apache.png differ diff --git a/website/static/img/resources/oci/database/dcat-white.png b/website/static/img/resources/oci/database/dcat-white.png index dbff953e..4e34eaf9 100644 Binary files a/website/static/img/resources/oci/database/dcat-white.png and b/website/static/img/resources/oci/database/dcat-white.png differ diff --git a/website/static/img/resources/oci/database/dcat.png b/website/static/img/resources/oci/database/dcat.png index c1bc05b1..301234bc 100644 Binary files a/website/static/img/resources/oci/database/dcat.png and b/website/static/img/resources/oci/database/dcat.png differ diff --git a/website/static/img/resources/oci/database/dis-white.png b/website/static/img/resources/oci/database/dis-white.png index 63ab6638..4c4a7619 100644 Binary files a/website/static/img/resources/oci/database/dis-white.png and b/website/static/img/resources/oci/database/dis-white.png differ diff --git a/website/static/img/resources/oci/database/dis.png b/website/static/img/resources/oci/database/dis.png index 1e0dcfe4..36f34a2d 100644 Binary files a/website/static/img/resources/oci/database/dis.png and b/website/static/img/resources/oci/database/dis.png differ diff --git a/website/static/img/resources/oci/database/dms-white.png b/website/static/img/resources/oci/database/dms-white.png index 4fcf1fe7..43a8f648 100644 Binary files a/website/static/img/resources/oci/database/dms-white.png and b/website/static/img/resources/oci/database/dms-white.png differ diff --git a/website/static/img/resources/oci/database/dms.png b/website/static/img/resources/oci/database/dms.png index dd76cb20..a640305a 100644 Binary files a/website/static/img/resources/oci/database/dms.png and b/website/static/img/resources/oci/database/dms.png differ diff --git a/website/static/img/resources/oci/database/science-white.png b/website/static/img/resources/oci/database/science-white.png index 99d8d203..6acb82a5 100644 Binary files a/website/static/img/resources/oci/database/science-white.png and b/website/static/img/resources/oci/database/science-white.png differ diff --git a/website/static/img/resources/oci/database/science.png b/website/static/img/resources/oci/database/science.png index c720667c..f0d581a8 100644 Binary files a/website/static/img/resources/oci/database/science.png and b/website/static/img/resources/oci/database/science.png differ diff --git a/website/static/img/resources/oci/database/stream-white.png b/website/static/img/resources/oci/database/stream-white.png index 1406b306..ed1062d7 100644 Binary files a/website/static/img/resources/oci/database/stream-white.png and b/website/static/img/resources/oci/database/stream-white.png differ diff --git a/website/static/img/resources/oci/database/stream.png b/website/static/img/resources/oci/database/stream.png index 5624c168..cd5feb98 100644 Binary files a/website/static/img/resources/oci/database/stream.png and b/website/static/img/resources/oci/database/stream.png differ diff --git a/website/static/img/resources/oci/devops/api-gateway-white.png b/website/static/img/resources/oci/devops/api-gateway-white.png index 767a98ff..44a2c156 100644 Binary files a/website/static/img/resources/oci/devops/api-gateway-white.png and b/website/static/img/resources/oci/devops/api-gateway-white.png differ diff --git a/website/static/img/resources/oci/devops/api-gateway.png b/website/static/img/resources/oci/devops/api-gateway.png index d244cabf..63176a0d 100644 Binary files a/website/static/img/resources/oci/devops/api-gateway.png and b/website/static/img/resources/oci/devops/api-gateway.png differ diff --git a/website/static/img/resources/oci/devops/api-service-white.png b/website/static/img/resources/oci/devops/api-service-white.png index ab50a5d6..1b2d0c83 100644 Binary files a/website/static/img/resources/oci/devops/api-service-white.png and b/website/static/img/resources/oci/devops/api-service-white.png differ diff --git a/website/static/img/resources/oci/devops/api-service.png b/website/static/img/resources/oci/devops/api-service.png index 208047b9..7ff4363d 100644 Binary files a/website/static/img/resources/oci/devops/api-service.png and b/website/static/img/resources/oci/devops/api-service.png differ diff --git a/website/static/img/resources/oci/devops/resource-mgmt-white.png b/website/static/img/resources/oci/devops/resource-mgmt-white.png index ccf19009..fd63eb40 100644 Binary files a/website/static/img/resources/oci/devops/resource-mgmt-white.png and b/website/static/img/resources/oci/devops/resource-mgmt-white.png differ diff --git a/website/static/img/resources/oci/devops/resource-mgmt.png b/website/static/img/resources/oci/devops/resource-mgmt.png index 97cc3975..6cf36622 100644 Binary files a/website/static/img/resources/oci/devops/resource-mgmt.png and b/website/static/img/resources/oci/devops/resource-mgmt.png differ diff --git a/website/static/img/resources/oci/governance/audit-white.png b/website/static/img/resources/oci/governance/audit-white.png index dc861eb5..37a4a0de 100644 Binary files a/website/static/img/resources/oci/governance/audit-white.png and b/website/static/img/resources/oci/governance/audit-white.png differ diff --git a/website/static/img/resources/oci/governance/audit.png b/website/static/img/resources/oci/governance/audit.png index d5d7b617..492ad440 100644 Binary files a/website/static/img/resources/oci/governance/audit.png and b/website/static/img/resources/oci/governance/audit.png differ diff --git a/website/static/img/resources/oci/governance/compartments-white.png b/website/static/img/resources/oci/governance/compartments-white.png index c4271c34..47e540a6 100644 Binary files a/website/static/img/resources/oci/governance/compartments-white.png and b/website/static/img/resources/oci/governance/compartments-white.png differ diff --git a/website/static/img/resources/oci/governance/compartments.png b/website/static/img/resources/oci/governance/compartments.png index 8b9a9de6..1af5181a 100644 Binary files a/website/static/img/resources/oci/governance/compartments.png and b/website/static/img/resources/oci/governance/compartments.png differ diff --git a/website/static/img/resources/oci/governance/groups-white.png b/website/static/img/resources/oci/governance/groups-white.png index 3052cef6..d25027eb 100644 Binary files a/website/static/img/resources/oci/governance/groups-white.png and b/website/static/img/resources/oci/governance/groups-white.png differ diff --git a/website/static/img/resources/oci/governance/groups.png b/website/static/img/resources/oci/governance/groups.png index 34f1064b..e313e3e9 100644 Binary files a/website/static/img/resources/oci/governance/groups.png and b/website/static/img/resources/oci/governance/groups.png differ diff --git a/website/static/img/resources/oci/governance/logging-white.png b/website/static/img/resources/oci/governance/logging-white.png index 99b5db2d..178cc968 100644 Binary files a/website/static/img/resources/oci/governance/logging-white.png and b/website/static/img/resources/oci/governance/logging-white.png differ diff --git a/website/static/img/resources/oci/governance/logging.png b/website/static/img/resources/oci/governance/logging.png index 50e6836a..99dd25d3 100644 Binary files a/website/static/img/resources/oci/governance/logging.png and b/website/static/img/resources/oci/governance/logging.png differ diff --git a/website/static/img/resources/oci/governance/ocid-white.png b/website/static/img/resources/oci/governance/ocid-white.png index a69576ae..97ee4bf3 100644 Binary files a/website/static/img/resources/oci/governance/ocid-white.png and b/website/static/img/resources/oci/governance/ocid-white.png differ diff --git a/website/static/img/resources/oci/governance/ocid.png b/website/static/img/resources/oci/governance/ocid.png index c5200b34..8dfc4c39 100644 Binary files a/website/static/img/resources/oci/governance/ocid.png and b/website/static/img/resources/oci/governance/ocid.png differ diff --git a/website/static/img/resources/oci/governance/policies-white.png b/website/static/img/resources/oci/governance/policies-white.png index 936271cb..48501e36 100644 Binary files a/website/static/img/resources/oci/governance/policies-white.png and b/website/static/img/resources/oci/governance/policies-white.png differ diff --git a/website/static/img/resources/oci/governance/policies.png b/website/static/img/resources/oci/governance/policies.png index 988efa23..b8c5a0c3 100644 Binary files a/website/static/img/resources/oci/governance/policies.png and b/website/static/img/resources/oci/governance/policies.png differ diff --git a/website/static/img/resources/oci/governance/tagging-white.png b/website/static/img/resources/oci/governance/tagging-white.png index 1d27cc47..c7e51907 100644 Binary files a/website/static/img/resources/oci/governance/tagging-white.png and b/website/static/img/resources/oci/governance/tagging-white.png differ diff --git a/website/static/img/resources/oci/governance/tagging.png b/website/static/img/resources/oci/governance/tagging.png index d8bfb7eb..bf02b018 100644 Binary files a/website/static/img/resources/oci/governance/tagging.png and b/website/static/img/resources/oci/governance/tagging.png differ diff --git a/website/static/img/resources/oci/monitoring/alarm-white.png b/website/static/img/resources/oci/monitoring/alarm-white.png index e91831b2..27e01b4c 100644 Binary files a/website/static/img/resources/oci/monitoring/alarm-white.png and b/website/static/img/resources/oci/monitoring/alarm-white.png differ diff --git a/website/static/img/resources/oci/monitoring/alarm.png b/website/static/img/resources/oci/monitoring/alarm.png index 372e3590..85a37300 100644 Binary files a/website/static/img/resources/oci/monitoring/alarm.png and b/website/static/img/resources/oci/monitoring/alarm.png differ diff --git a/website/static/img/resources/oci/monitoring/email-white.png b/website/static/img/resources/oci/monitoring/email-white.png index a9201a7a..0b0420fb 100644 Binary files a/website/static/img/resources/oci/monitoring/email-white.png and b/website/static/img/resources/oci/monitoring/email-white.png differ diff --git a/website/static/img/resources/oci/monitoring/email.png b/website/static/img/resources/oci/monitoring/email.png index f8d843c8..241e4222 100644 Binary files a/website/static/img/resources/oci/monitoring/email.png and b/website/static/img/resources/oci/monitoring/email.png differ diff --git a/website/static/img/resources/oci/monitoring/events-white.png b/website/static/img/resources/oci/monitoring/events-white.png index 6445a224..3a9f5ea0 100644 Binary files a/website/static/img/resources/oci/monitoring/events-white.png and b/website/static/img/resources/oci/monitoring/events-white.png differ diff --git a/website/static/img/resources/oci/monitoring/events.png b/website/static/img/resources/oci/monitoring/events.png index 465be4b6..1e96e731 100644 Binary files a/website/static/img/resources/oci/monitoring/events.png and b/website/static/img/resources/oci/monitoring/events.png differ diff --git a/website/static/img/resources/oci/monitoring/health-check-white.png b/website/static/img/resources/oci/monitoring/health-check-white.png index 4b1dea4e..39fad826 100644 Binary files a/website/static/img/resources/oci/monitoring/health-check-white.png and b/website/static/img/resources/oci/monitoring/health-check-white.png differ diff --git a/website/static/img/resources/oci/monitoring/health-check.png b/website/static/img/resources/oci/monitoring/health-check.png index 96794e87..4882b22e 100644 Binary files a/website/static/img/resources/oci/monitoring/health-check.png and b/website/static/img/resources/oci/monitoring/health-check.png differ diff --git a/website/static/img/resources/oci/monitoring/notifications-white.png b/website/static/img/resources/oci/monitoring/notifications-white.png index bf74ef70..6a2cedcb 100644 Binary files a/website/static/img/resources/oci/monitoring/notifications-white.png and b/website/static/img/resources/oci/monitoring/notifications-white.png differ diff --git a/website/static/img/resources/oci/monitoring/notifications.png b/website/static/img/resources/oci/monitoring/notifications.png index 059ca8f5..878aa1fb 100644 Binary files a/website/static/img/resources/oci/monitoring/notifications.png and b/website/static/img/resources/oci/monitoring/notifications.png differ diff --git a/website/static/img/resources/oci/monitoring/queue-white.png b/website/static/img/resources/oci/monitoring/queue-white.png index 9f8751dd..23f6ff0b 100644 Binary files a/website/static/img/resources/oci/monitoring/queue-white.png and b/website/static/img/resources/oci/monitoring/queue-white.png differ diff --git a/website/static/img/resources/oci/monitoring/queue.png b/website/static/img/resources/oci/monitoring/queue.png index 38da334b..9b96cc09 100644 Binary files a/website/static/img/resources/oci/monitoring/queue.png and b/website/static/img/resources/oci/monitoring/queue.png differ diff --git a/website/static/img/resources/oci/monitoring/search-white.png b/website/static/img/resources/oci/monitoring/search-white.png index 44f6f7cc..f2b04934 100644 Binary files a/website/static/img/resources/oci/monitoring/search-white.png and b/website/static/img/resources/oci/monitoring/search-white.png differ diff --git a/website/static/img/resources/oci/monitoring/search.png b/website/static/img/resources/oci/monitoring/search.png index af5f951d..eadc2375 100644 Binary files a/website/static/img/resources/oci/monitoring/search.png and b/website/static/img/resources/oci/monitoring/search.png differ diff --git a/website/static/img/resources/oci/monitoring/telemetry-white.png b/website/static/img/resources/oci/monitoring/telemetry-white.png index 9421c90b..0eaf64ff 100644 Binary files a/website/static/img/resources/oci/monitoring/telemetry-white.png and b/website/static/img/resources/oci/monitoring/telemetry-white.png differ diff --git a/website/static/img/resources/oci/monitoring/telemetry.png b/website/static/img/resources/oci/monitoring/telemetry.png index a5d4931a..34f6dc2f 100644 Binary files a/website/static/img/resources/oci/monitoring/telemetry.png and b/website/static/img/resources/oci/monitoring/telemetry.png differ diff --git a/website/static/img/resources/oci/monitoring/workflow-white.png b/website/static/img/resources/oci/monitoring/workflow-white.png index 0971ed5e..c5548f45 100644 Binary files a/website/static/img/resources/oci/monitoring/workflow-white.png and b/website/static/img/resources/oci/monitoring/workflow-white.png differ diff --git a/website/static/img/resources/oci/monitoring/workflow.png b/website/static/img/resources/oci/monitoring/workflow.png index 9ce2300e..d5719f99 100644 Binary files a/website/static/img/resources/oci/monitoring/workflow.png and b/website/static/img/resources/oci/monitoring/workflow.png differ diff --git a/website/static/img/resources/oci/network/drg-white.png b/website/static/img/resources/oci/network/drg-white.png index 34848977..8fb70e47 100644 Binary files a/website/static/img/resources/oci/network/drg-white.png and b/website/static/img/resources/oci/network/drg-white.png differ diff --git a/website/static/img/resources/oci/network/drg.png b/website/static/img/resources/oci/network/drg.png index b1aaba9b..82752e2d 100644 Binary files a/website/static/img/resources/oci/network/drg.png and b/website/static/img/resources/oci/network/drg.png differ diff --git a/website/static/img/resources/oci/network/firewall-white.png b/website/static/img/resources/oci/network/firewall-white.png index 40f6631e..deca4530 100644 Binary files a/website/static/img/resources/oci/network/firewall-white.png and b/website/static/img/resources/oci/network/firewall-white.png differ diff --git a/website/static/img/resources/oci/network/firewall.png b/website/static/img/resources/oci/network/firewall.png index 6c572b43..c2aa56ac 100644 Binary files a/website/static/img/resources/oci/network/firewall.png and b/website/static/img/resources/oci/network/firewall.png differ diff --git a/website/static/img/resources/oci/network/internet-gateway-white.png b/website/static/img/resources/oci/network/internet-gateway-white.png index b7a8a01e..7cc5921d 100644 Binary files a/website/static/img/resources/oci/network/internet-gateway-white.png and b/website/static/img/resources/oci/network/internet-gateway-white.png differ diff --git a/website/static/img/resources/oci/network/internet-gateway.png b/website/static/img/resources/oci/network/internet-gateway.png index 1762239a..5f3194c0 100644 Binary files a/website/static/img/resources/oci/network/internet-gateway.png and b/website/static/img/resources/oci/network/internet-gateway.png differ diff --git a/website/static/img/resources/oci/network/load-balancer-white.png b/website/static/img/resources/oci/network/load-balancer-white.png index 12a3d33c..264b0372 100644 Binary files a/website/static/img/resources/oci/network/load-balancer-white.png and b/website/static/img/resources/oci/network/load-balancer-white.png differ diff --git a/website/static/img/resources/oci/network/load-balancer.png b/website/static/img/resources/oci/network/load-balancer.png index 504a5acd..a50d90d6 100644 Binary files a/website/static/img/resources/oci/network/load-balancer.png and b/website/static/img/resources/oci/network/load-balancer.png differ diff --git a/website/static/img/resources/oci/network/route-table-white.png b/website/static/img/resources/oci/network/route-table-white.png index 0826ba4d..44df2146 100644 Binary files a/website/static/img/resources/oci/network/route-table-white.png and b/website/static/img/resources/oci/network/route-table-white.png differ diff --git a/website/static/img/resources/oci/network/route-table.png b/website/static/img/resources/oci/network/route-table.png index 3733e06b..57a4be57 100644 Binary files a/website/static/img/resources/oci/network/route-table.png and b/website/static/img/resources/oci/network/route-table.png differ diff --git a/website/static/img/resources/oci/network/security-lists-white.png b/website/static/img/resources/oci/network/security-lists-white.png index 6151b8b2..1ec7bdd8 100644 Binary files a/website/static/img/resources/oci/network/security-lists-white.png and b/website/static/img/resources/oci/network/security-lists-white.png differ diff --git a/website/static/img/resources/oci/network/security-lists.png b/website/static/img/resources/oci/network/security-lists.png index 8bcc72fe..8c91b76d 100644 Binary files a/website/static/img/resources/oci/network/security-lists.png and b/website/static/img/resources/oci/network/security-lists.png differ diff --git a/website/static/img/resources/oci/network/service-gateway-white.png b/website/static/img/resources/oci/network/service-gateway-white.png index b0d820d3..a2321bbe 100644 Binary files a/website/static/img/resources/oci/network/service-gateway-white.png and b/website/static/img/resources/oci/network/service-gateway-white.png differ diff --git a/website/static/img/resources/oci/network/service-gateway.png b/website/static/img/resources/oci/network/service-gateway.png index 548c87af..8b099f40 100644 Binary files a/website/static/img/resources/oci/network/service-gateway.png and b/website/static/img/resources/oci/network/service-gateway.png differ diff --git a/website/static/img/resources/oci/network/vcn-white.png b/website/static/img/resources/oci/network/vcn-white.png index e217effe..93359319 100644 Binary files a/website/static/img/resources/oci/network/vcn-white.png and b/website/static/img/resources/oci/network/vcn-white.png differ diff --git a/website/static/img/resources/oci/network/vcn.png b/website/static/img/resources/oci/network/vcn.png index aefa7004..169da0e3 100644 Binary files a/website/static/img/resources/oci/network/vcn.png and b/website/static/img/resources/oci/network/vcn.png differ diff --git a/website/static/img/resources/oci/oci.png b/website/static/img/resources/oci/oci.png new file mode 100644 index 00000000..97e0109b Binary files /dev/null and b/website/static/img/resources/oci/oci.png differ diff --git a/website/static/img/resources/oci/security/cloud-guard-white.png b/website/static/img/resources/oci/security/cloud-guard-white.png index db4a78d1..4e1b11be 100644 Binary files a/website/static/img/resources/oci/security/cloud-guard-white.png and b/website/static/img/resources/oci/security/cloud-guard-white.png differ diff --git a/website/static/img/resources/oci/security/cloud-guard.png b/website/static/img/resources/oci/security/cloud-guard.png index 8c7c8a5e..ee4f22db 100644 Binary files a/website/static/img/resources/oci/security/cloud-guard.png and b/website/static/img/resources/oci/security/cloud-guard.png differ diff --git a/website/static/img/resources/oci/security/ddos-white.png b/website/static/img/resources/oci/security/ddos-white.png index 6657c0b9..cec9df53 100644 Binary files a/website/static/img/resources/oci/security/ddos-white.png and b/website/static/img/resources/oci/security/ddos-white.png differ diff --git a/website/static/img/resources/oci/security/ddos.png b/website/static/img/resources/oci/security/ddos.png index e2fafae4..e01ac36c 100644 Binary files a/website/static/img/resources/oci/security/ddos.png and b/website/static/img/resources/oci/security/ddos.png differ diff --git a/website/static/img/resources/oci/security/encryption-white.png b/website/static/img/resources/oci/security/encryption-white.png index f85f3577..83c7bd81 100644 Binary files a/website/static/img/resources/oci/security/encryption-white.png and b/website/static/img/resources/oci/security/encryption-white.png differ diff --git a/website/static/img/resources/oci/security/encryption.png b/website/static/img/resources/oci/security/encryption.png index 16c1b125..2f7e750b 100644 Binary files a/website/static/img/resources/oci/security/encryption.png and b/website/static/img/resources/oci/security/encryption.png differ diff --git a/website/static/img/resources/oci/security/id-access-white.png b/website/static/img/resources/oci/security/id-access-white.png index 597db448..308c626a 100644 Binary files a/website/static/img/resources/oci/security/id-access-white.png and b/website/static/img/resources/oci/security/id-access-white.png differ diff --git a/website/static/img/resources/oci/security/id-access.png b/website/static/img/resources/oci/security/id-access.png index 0beebb1b..38e67863 100644 Binary files a/website/static/img/resources/oci/security/id-access.png and b/website/static/img/resources/oci/security/id-access.png differ diff --git a/website/static/img/resources/oci/security/key-management-white.png b/website/static/img/resources/oci/security/key-management-white.png index 26cdeeae..8137cb02 100644 Binary files a/website/static/img/resources/oci/security/key-management-white.png and b/website/static/img/resources/oci/security/key-management-white.png differ diff --git a/website/static/img/resources/oci/security/key-management.png b/website/static/img/resources/oci/security/key-management.png index 83e43330..e19adef7 100644 Binary files a/website/static/img/resources/oci/security/key-management.png and b/website/static/img/resources/oci/security/key-management.png differ diff --git a/website/static/img/resources/oci/security/max-security-zone-white.png b/website/static/img/resources/oci/security/max-security-zone-white.png index 27da254a..bcac3562 100644 Binary files a/website/static/img/resources/oci/security/max-security-zone-white.png and b/website/static/img/resources/oci/security/max-security-zone-white.png differ diff --git a/website/static/img/resources/oci/security/max-security-zone.png b/website/static/img/resources/oci/security/max-security-zone.png index 71f98d52..a15a9949 100644 Binary files a/website/static/img/resources/oci/security/max-security-zone.png and b/website/static/img/resources/oci/security/max-security-zone.png differ diff --git a/website/static/img/resources/oci/security/vault-white.png b/website/static/img/resources/oci/security/vault-white.png index 74c18ff8..800b0bde 100644 Binary files a/website/static/img/resources/oci/security/vault-white.png and b/website/static/img/resources/oci/security/vault-white.png differ diff --git a/website/static/img/resources/oci/security/vault.png b/website/static/img/resources/oci/security/vault.png index 68789b9c..a2098b61 100644 Binary files a/website/static/img/resources/oci/security/vault.png and b/website/static/img/resources/oci/security/vault.png differ diff --git a/website/static/img/resources/oci/security/waf-white.png b/website/static/img/resources/oci/security/waf-white.png index c938ec28..2a555729 100644 Binary files a/website/static/img/resources/oci/security/waf-white.png and b/website/static/img/resources/oci/security/waf-white.png differ diff --git a/website/static/img/resources/oci/security/waf.png b/website/static/img/resources/oci/security/waf.png index e268c965..1d25c0f8 100644 Binary files a/website/static/img/resources/oci/security/waf.png and b/website/static/img/resources/oci/security/waf.png differ diff --git a/website/static/img/resources/oci/storage/backup-restore-white.png b/website/static/img/resources/oci/storage/backup-restore-white.png index e322b6aa..e86aa3e9 100644 Binary files a/website/static/img/resources/oci/storage/backup-restore-white.png and b/website/static/img/resources/oci/storage/backup-restore-white.png differ diff --git a/website/static/img/resources/oci/storage/backup-restore.png b/website/static/img/resources/oci/storage/backup-restore.png index 5d9c3415..23988414 100644 Binary files a/website/static/img/resources/oci/storage/backup-restore.png and b/website/static/img/resources/oci/storage/backup-restore.png differ diff --git a/website/static/img/resources/oci/storage/block-storage-clone-white.png b/website/static/img/resources/oci/storage/block-storage-clone-white.png index a372e484..f5586096 100644 Binary files a/website/static/img/resources/oci/storage/block-storage-clone-white.png and b/website/static/img/resources/oci/storage/block-storage-clone-white.png differ diff --git a/website/static/img/resources/oci/storage/block-storage-clone.png b/website/static/img/resources/oci/storage/block-storage-clone.png index f97b3da8..6d1ce573 100644 Binary files a/website/static/img/resources/oci/storage/block-storage-clone.png and b/website/static/img/resources/oci/storage/block-storage-clone.png differ diff --git a/website/static/img/resources/oci/storage/block-storage-white.png b/website/static/img/resources/oci/storage/block-storage-white.png index d78a1aaa..b15fd5c7 100644 Binary files a/website/static/img/resources/oci/storage/block-storage-white.png and b/website/static/img/resources/oci/storage/block-storage-white.png differ diff --git a/website/static/img/resources/oci/storage/block-storage.png b/website/static/img/resources/oci/storage/block-storage.png index c2408c4e..88a95637 100644 Binary files a/website/static/img/resources/oci/storage/block-storage.png and b/website/static/img/resources/oci/storage/block-storage.png differ diff --git a/website/static/img/resources/oci/storage/buckets-white.png b/website/static/img/resources/oci/storage/buckets-white.png index 2607e45f..75ba2415 100644 Binary files a/website/static/img/resources/oci/storage/buckets-white.png and b/website/static/img/resources/oci/storage/buckets-white.png differ diff --git a/website/static/img/resources/oci/storage/buckets.png b/website/static/img/resources/oci/storage/buckets.png index c93e6910..ba008e03 100644 Binary files a/website/static/img/resources/oci/storage/buckets.png and b/website/static/img/resources/oci/storage/buckets.png differ diff --git a/website/static/img/resources/oci/storage/data-transfer-white.png b/website/static/img/resources/oci/storage/data-transfer-white.png index 06e72e0c..6b0795c0 100644 Binary files a/website/static/img/resources/oci/storage/data-transfer-white.png and b/website/static/img/resources/oci/storage/data-transfer-white.png differ diff --git a/website/static/img/resources/oci/storage/data-transfer.png b/website/static/img/resources/oci/storage/data-transfer.png index ebdfe816..81c7eca2 100644 Binary files a/website/static/img/resources/oci/storage/data-transfer.png and b/website/static/img/resources/oci/storage/data-transfer.png differ diff --git a/website/static/img/resources/oci/storage/elastic-performance-white.png b/website/static/img/resources/oci/storage/elastic-performance-white.png index ce8116f9..25dd1dae 100644 Binary files a/website/static/img/resources/oci/storage/elastic-performance-white.png and b/website/static/img/resources/oci/storage/elastic-performance-white.png differ diff --git a/website/static/img/resources/oci/storage/elastic-performance.png b/website/static/img/resources/oci/storage/elastic-performance.png index 627e2397..44d6f0ad 100644 Binary files a/website/static/img/resources/oci/storage/elastic-performance.png and b/website/static/img/resources/oci/storage/elastic-performance.png differ diff --git a/website/static/img/resources/oci/storage/file-storage-white.png b/website/static/img/resources/oci/storage/file-storage-white.png index 0380d32b..253c986b 100644 Binary files a/website/static/img/resources/oci/storage/file-storage-white.png and b/website/static/img/resources/oci/storage/file-storage-white.png differ diff --git a/website/static/img/resources/oci/storage/file-storage.png b/website/static/img/resources/oci/storage/file-storage.png index c3cb4d9b..10165c69 100644 Binary files a/website/static/img/resources/oci/storage/file-storage.png and b/website/static/img/resources/oci/storage/file-storage.png differ diff --git a/website/static/img/resources/oci/storage/object-storage-white.png b/website/static/img/resources/oci/storage/object-storage-white.png index 838b5353..2ca1bbec 100644 Binary files a/website/static/img/resources/oci/storage/object-storage-white.png and b/website/static/img/resources/oci/storage/object-storage-white.png differ diff --git a/website/static/img/resources/oci/storage/object-storage.png b/website/static/img/resources/oci/storage/object-storage.png index 6bba0aa6..ae1df86f 100644 Binary files a/website/static/img/resources/oci/storage/object-storage.png and b/website/static/img/resources/oci/storage/object-storage.png differ diff --git a/website/static/img/resources/oci/storage/storage-gateway-white.png b/website/static/img/resources/oci/storage/storage-gateway-white.png index 8b5dad4f..fd400bda 100644 Binary files a/website/static/img/resources/oci/storage/storage-gateway-white.png and b/website/static/img/resources/oci/storage/storage-gateway-white.png differ diff --git a/website/static/img/resources/oci/storage/storage-gateway.png b/website/static/img/resources/oci/storage/storage-gateway.png index 642e47af..b9271afe 100644 Binary files a/website/static/img/resources/oci/storage/storage-gateway.png and b/website/static/img/resources/oci/storage/storage-gateway.png differ diff --git a/website/static/img/resources/onprem/network/mikrotik.png b/website/static/img/resources/onprem/network/mikrotik.png new file mode 100644 index 00000000..515b685e Binary files /dev/null and b/website/static/img/resources/onprem/network/mikrotik.png differ diff --git a/website/static/img/resources/onprem/onprem.png b/website/static/img/resources/onprem/onprem.png new file mode 100644 index 00000000..6230344b Binary files /dev/null and b/website/static/img/resources/onprem/onprem.png differ diff --git a/website/static/img/resources/outscale/outscale.png b/website/static/img/resources/outscale/outscale.png new file mode 100644 index 00000000..526b7f04 Binary files /dev/null and b/website/static/img/resources/outscale/outscale.png differ diff --git a/website/static/img/resources/programming/framework/phoenix.png b/website/static/img/resources/programming/framework/phoenix.png new file mode 100644 index 00000000..ca32175f Binary files /dev/null and b/website/static/img/resources/programming/framework/phoenix.png differ diff --git a/website/static/img/resources/programming/framework/sqlpage.png b/website/static/img/resources/programming/framework/sqlpage.png new file mode 100644 index 00000000..1486241f Binary files /dev/null and b/website/static/img/resources/programming/framework/sqlpage.png differ diff --git a/website/static/img/resources/programming/language/elixir.png b/website/static/img/resources/programming/language/elixir.png index 86e7bddd..2ef4cafa 100644 Binary files a/website/static/img/resources/programming/language/elixir.png and b/website/static/img/resources/programming/language/elixir.png differ diff --git a/website/static/img/resources/programming/language/sql.png b/website/static/img/resources/programming/language/sql.png new file mode 100644 index 00000000..aab80a12 Binary files /dev/null and b/website/static/img/resources/programming/language/sql.png differ diff --git a/website/static/img/resources/programming/programming.png b/website/static/img/resources/programming/programming.png new file mode 100644 index 00000000..13b669ba Binary files /dev/null and b/website/static/img/resources/programming/programming.png differ diff --git a/website/static/img/resources/saas/crm/intercom.png b/website/static/img/resources/saas/crm/intercom.png new file mode 100644 index 00000000..c49ab848 Binary files /dev/null and b/website/static/img/resources/saas/crm/intercom.png differ diff --git a/website/static/img/resources/saas/crm/zendesk.png b/website/static/img/resources/saas/crm/zendesk.png new file mode 100644 index 00000000..f2b09840 Binary files /dev/null and b/website/static/img/resources/saas/crm/zendesk.png differ diff --git a/website/static/img/resources/saas/logging/newrelic.png b/website/static/img/resources/saas/logging/newrelic.png index 908ccd08..98b5e928 100644 Binary files a/website/static/img/resources/saas/logging/newrelic.png and b/website/static/img/resources/saas/logging/newrelic.png differ diff --git a/website/static/img/resources/saas/saas.png b/website/static/img/resources/saas/saas.png new file mode 100644 index 00000000..589c329d Binary files /dev/null and b/website/static/img/resources/saas/saas.png differ diff --git a/website/static/img/resources/saas/security/crowdstrike.png b/website/static/img/resources/saas/security/crowdstrike.png new file mode 100644 index 00000000..4b2dc92e Binary files /dev/null and b/website/static/img/resources/saas/security/crowdstrike.png differ