Merge branch 'master' into gitops

pull/147/head
Matteo Ruina 5 years ago committed by GitHub
commit 73148f15cf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -4,7 +4,7 @@ set -e
app_root_dir="diagrams"
# NOTE: azure icon set is not latest version
providers=("onprem" "aws" "azure" "gcp" "k8s" "alibabacloud" "oci" "programming")
providers=("onprem" "aws" "azure" "gcp" "firebase" "k8s" "alibabacloud" "oci" "programming" "saas")
if ! [ -x "$(command -v round)" ]; then
echo 'round is not installed'

@ -11,7 +11,7 @@ DIR_APP_ROOT = "diagrams"
DIR_RESOURCE = "resources"
DIR_TEMPLATE = "templates"
PROVIDERS = ("base", "onprem", "aws", "azure", "gcp", "k8s", "alibabacloud", "oci", "programming")
PROVIDERS = ("base", "onprem", "aws", "azure", "gcp", "firebase", "k8s", "alibabacloud", "oci", "programming", "saas")
#########################
# Resource Processing #
@ -29,10 +29,12 @@ FILE_PREFIXES = {
"aws": ("Amazon-", "AWS-"),
"azure": ("Azure-",),
"gcp": ("Cloud-",),
"firebase": ("Cloud-",),
"k8s": (),
"alibabacloud": (),
"oci": ("OCI-",),
"programming": (),
"saas": (),
}
#########################
@ -51,6 +53,7 @@ UPPER_WORDS = {
"aws": ("aws", "api", "ebs", "ec2", "efs", "emr", "rds", "ml", "mq", "nat", "vpc", "waf", "sdk"),
"azure": ("ad", "b2c", "ai", "api", "cdn", "ddos", "dns", "fxt", "hana", "hd", "id", "sap", "sql", "vm"),
"gcp": ("gcp", "ai", "api", "cdn", "dns", "gke", "gpu", "iap", "ml", "nat", "os", "sdk", "sql", "tpu", "vpn"),
"firebase": ("ab", "fcm", "ml"),
"k8s": (
"api", "cm", "ccm", "crb", "crd", "ds", "etcd", "hpa", "k8s", "ns", "psp", "pv", "pvc", "rb", "rs",
"sa", "sc", "sts", "svc",
@ -78,6 +81,7 @@ ALIASES = {
"Gitlabci": "GitlabCI",
"Travisci": "TravisCI",
"Teamcity": "TC",
"Zuulci": "ZuulCI",
},
"container": {
"Rkt": "RKT",
@ -233,6 +237,11 @@ ALIASES = {
"Storage": "GCS",
},
},
"firebase": {
"grow": {
"Messaging": "FCM"
}
},
"k8s": {
"clusterconfig": {
"Limits": "LimitRange",
@ -346,4 +355,5 @@ ALIASES = {
"Typescript": "TypeScript"
},
},
"saas": {},
}

@ -0,0 +1,15 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _Firebase
class _Base(_Firebase):
_type = "base"
_icon_dir = "resources/firebase/base"
class Firebase(_Base):
_icon = "firebase.png"
# Aliases

@ -0,0 +1,39 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _Firebase
class _Develop(_Firebase):
_type = "develop"
_icon_dir = "resources/firebase/develop"
class Authentication(_Develop):
_icon = "authentication.png"
class Firestore(_Develop):
_icon = "firestore.png"
class Functions(_Develop):
_icon = "functions.png"
class Hosting(_Develop):
_icon = "hosting.png"
class MLKit(_Develop):
_icon = "ml-kit.png"
class RealtimeDatabase(_Develop):
_icon = "realtime-database.png"
class Storage(_Develop):
_icon = "storage.png"
# Aliases

@ -0,0 +1,15 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _Firebase
class _Extentions(_Firebase):
_type = "extentions"
_icon_dir = "resources/firebase/extentions"
class Extensions(_Extentions):
_icon = "extensions.png"
# Aliases

@ -0,0 +1,45 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _Firebase
class _Grow(_Firebase):
_type = "grow"
_icon_dir = "resources/firebase/grow"
class ABTesting(_Grow):
_icon = "ab-testing.png"
class AppIndexing(_Grow):
_icon = "app-indexing.png"
class DynamicLinks(_Grow):
_icon = "dynamic-links.png"
class InAppMessaging(_Grow):
_icon = "in-app-messaging.png"
class Invites(_Grow):
_icon = "invites.png"
class Messaging(_Grow):
_icon = "messaging.png"
class Predictions(_Grow):
_icon = "predictions.png"
class RemoteConfig(_Grow):
_icon = "remote-config.png"
# Aliases
FCM = Messaging

@ -0,0 +1,31 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _Firebase
class _Quality(_Firebase):
_type = "quality"
_icon_dir = "resources/firebase/quality"
class AppDistribution(_Quality):
_icon = "app-distribution.png"
class CrashReporting(_Quality):
_icon = "crash-reporting.png"
class Crashlytics(_Quality):
_icon = "crashlytics.png"
class PerformanceMonitoring(_Quality):
_icon = "performance-monitoring.png"
class TestLab(_Quality):
_icon = "test-lab.png"
# Aliases

@ -28,9 +28,14 @@ class Travisci(_Ci):
_icon = "travisci.png"
class Zuulci(_Ci):
_icon = "zuulci.png"
# Aliases
CircleCI = Circleci
GitlabCI = Gitlabci
TravisCI = Travisci
TC = Teamcity
ZuulCI = Zuulci

@ -0,0 +1,12 @@
"""
Saas provides a set of general saas services.
"""
from diagrams import Node
class _Saas(Node):
_provider = "saas"
_icon_dir = "resources/saas"
fontcolor = "#ffffff"

@ -0,0 +1,19 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _Saas
class _Chat(_Saas):
_type = "chat"
_icon_dir = "resources/saas/chat"
class Slack(_Chat):
_icon = "slack.png"
class Telegram(_Chat):
_icon = "telegram.png"
# Aliases

@ -0,0 +1,19 @@
# This module is automatically generated by autogen.sh. DO NOT EDIT.
from . import _Saas
class _Social(_Saas):
_type = "social"
_icon_dir = "resources/saas/social"
class Facebook(_Social):
_icon = "facebook.png"
class Twitter(_Social):
_icon = "twitter.png"
# Aliases

@ -5,6 +5,43 @@ title: Azure
Node classes list of azure provider.
## azure.analytics
- **diagrams.azure.analytics.AnalysisServices**
- **diagrams.azure.analytics.DataExplorerClusters**
- **diagrams.azure.analytics.DataFactories**
- **diagrams.azure.analytics.DataLakeAnalytics**
- **diagrams.azure.analytics.DataLakeStoreGen1**
- **diagrams.azure.analytics.Databricks**
- **diagrams.azure.analytics.EventHubClusters**
- **diagrams.azure.analytics.EventHubs**
- **diagrams.azure.analytics.Hdinsightclusters**
- **diagrams.azure.analytics.LogAnalyticsWorkspaces**
- **diagrams.azure.analytics.StreamAnalyticsJobs**
## azure.compute
- **diagrams.azure.compute.AvailabilitySets**
- **diagrams.azure.compute.BatchAccounts**
- **diagrams.azure.compute.CitrixVirtualDesktopsEssentials**
- **diagrams.azure.compute.CloudServicesClassic**
- **diagrams.azure.compute.CloudServices**
- **diagrams.azure.compute.CloudsimpleVirtualMachines**
- **diagrams.azure.compute.ContainerInstances**
- **diagrams.azure.compute.ContainerRegistries**, **ACR** (alias)
- **diagrams.azure.compute.DiskSnapshots**
- **diagrams.azure.compute.Disks**
- **diagrams.azure.compute.FunctionApps**
- **diagrams.azure.compute.KubernetesServices**, **AKS** (alias)
- **diagrams.azure.compute.MeshApplications**
- **diagrams.azure.compute.SAPHANAOnAzure**
- **diagrams.azure.compute.ServiceFabricClusters**
- **diagrams.azure.compute.VMClassic**
- **diagrams.azure.compute.VMImages**
- **diagrams.azure.compute.VMLinux**
- **diagrams.azure.compute.VMWindows**
- **diagrams.azure.compute.VM**
## azure.database
- **diagrams.azure.database.BlobStorage**
@ -36,28 +73,6 @@ Node classes list of azure provider.
- **diagrams.azure.devops.Repos**
- **diagrams.azure.devops.TestPlans**
## azure.identity
- **diagrams.azure.identity.AccessReview**
- **diagrams.azure.identity.ActiveDirectoryConnectHealth**
- **diagrams.azure.identity.ActiveDirectory**
- **diagrams.azure.identity.ADB2C**
- **diagrams.azure.identity.ADDomainServices**
- **diagrams.azure.identity.ADIdentityProtection**
- **diagrams.azure.identity.ADPrivilegedIdentityManagement**
- **diagrams.azure.identity.AppRegistrations**
- **diagrams.azure.identity.ConditionalAccess**
- **diagrams.azure.identity.EnterpriseApplications**
- **diagrams.azure.identity.IdentityGovernance**
- **diagrams.azure.identity.InformationProtection**
- **diagrams.azure.identity.ManagedIdentities**
## azure.security
- **diagrams.azure.security.KeyVaults**
- **diagrams.azure.security.SecurityCenter**
- **diagrams.azure.security.Sentinel**
## azure.general
- **diagrams.azure.general.Allresources**
@ -87,18 +102,21 @@ Node classes list of azure provider.
- **diagrams.azure.general.Userresource**
- **diagrams.azure.general.Whatsnew**
## azure.web
## azure.identity
- **diagrams.azure.web.APIConnections**
- **diagrams.azure.web.AppServiceCertificates**
- **diagrams.azure.web.AppServiceDomains**
- **diagrams.azure.web.AppServiceEnvironments**
- **diagrams.azure.web.AppServicePlans**
- **diagrams.azure.web.AppServices**
- **diagrams.azure.web.MediaServices**
- **diagrams.azure.web.NotificationHubNamespaces**
- **diagrams.azure.web.Search**
- **diagrams.azure.web.Signalr**
- **diagrams.azure.identity.AccessReview**
- **diagrams.azure.identity.ActiveDirectoryConnectHealth**
- **diagrams.azure.identity.ActiveDirectory**
- **diagrams.azure.identity.ADB2C**
- **diagrams.azure.identity.ADDomainServices**
- **diagrams.azure.identity.ADIdentityProtection**
- **diagrams.azure.identity.ADPrivilegedIdentityManagement**
- **diagrams.azure.identity.AppRegistrations**
- **diagrams.azure.identity.ConditionalAccess**
- **diagrams.azure.identity.EnterpriseApplications**
- **diagrams.azure.identity.IdentityGovernance**
- **diagrams.azure.identity.InformationProtection**
- **diagrams.azure.identity.ManagedIdentities**
## azure.integration
@ -120,6 +138,42 @@ Node classes list of azure provider.
- **diagrams.azure.integration.SoftwareAsAService**
- **diagrams.azure.integration.StorsimpleDeviceManagers**
## azure.iot
- **diagrams.azure.iot.DeviceProvisioningServices**
- **diagrams.azure.iot.DigitalTwins**
- **diagrams.azure.iot.IotCentralApplications**
- **diagrams.azure.iot.IotHubSecurity**
- **diagrams.azure.iot.IotHub**
- **diagrams.azure.iot.Maps**
- **diagrams.azure.iot.Sphere**
- **diagrams.azure.iot.TimeSeriesInsightsEnvironments**
- **diagrams.azure.iot.TimeSeriesInsightsEventsSources**
- **diagrams.azure.iot.Windows10IotCoreServices**
## azure.migration
- **diagrams.azure.migration.DatabaseMigrationServices**
- **diagrams.azure.migration.MigrationProjects**
- **diagrams.azure.migration.RecoveryServicesVaults**
## azure.ml
- **diagrams.azure.ml.BatchAI**
- **diagrams.azure.ml.BotServices**
- **diagrams.azure.ml.CognitiveServices**
- **diagrams.azure.ml.GenomicsAccounts**
- **diagrams.azure.ml.MachineLearningServiceWorkspaces**
- **diagrams.azure.ml.MachineLearningStudioWebServicePlans**
- **diagrams.azure.ml.MachineLearningStudioWebServices**
- **diagrams.azure.ml.MachineLearningStudioWorkspaces**
## azure.mobile
- **diagrams.azure.mobile.AppServiceMobile**
- **diagrams.azure.mobile.MobileEngagement**
- **diagrams.azure.mobile.NotificationHubs**
## azure.network
- **diagrams.azure.network.ApplicationGateway**
@ -149,6 +203,12 @@ Node classes list of azure provider.
- **diagrams.azure.network.VirtualNetworks**
- **diagrams.azure.network.VirtualWans**
## azure.security
- **diagrams.azure.security.KeyVaults**
- **diagrams.azure.security.SecurityCenter**
- **diagrams.azure.security.Sentinel**
## azure.storage
- **diagrams.azure.storage.ArchiveStorage**
@ -168,75 +228,15 @@ Node classes list of azure provider.
- **diagrams.azure.storage.StorsimpleDeviceManagers**
- **diagrams.azure.storage.TableStorage**
## azure.iot
- **diagrams.azure.iot.DeviceProvisioningServices**
- **diagrams.azure.iot.DigitalTwins**
- **diagrams.azure.iot.IotCentralApplications**
- **diagrams.azure.iot.IotHubSecurity**
- **diagrams.azure.iot.IotHub**
- **diagrams.azure.iot.Maps**
- **diagrams.azure.iot.Sphere**
- **diagrams.azure.iot.TimeSeriesInsightsEnvironments**
- **diagrams.azure.iot.TimeSeriesInsightsEventsSources**
- **diagrams.azure.iot.Windows10IotCoreServices**
## azure.compute
- **diagrams.azure.compute.AvailabilitySets**
- **diagrams.azure.compute.BatchAccounts**
- **diagrams.azure.compute.CitrixVirtualDesktopsEssentials**
- **diagrams.azure.compute.CloudServicesClassic**
- **diagrams.azure.compute.CloudServices**
- **diagrams.azure.compute.CloudsimpleVirtualMachines**
- **diagrams.azure.compute.ContainerInstances**
- **diagrams.azure.compute.ContainerRegistries**, **ACR** (alias)
- **diagrams.azure.compute.DiskSnapshots**
- **diagrams.azure.compute.Disks**
- **diagrams.azure.compute.FunctionApps**
- **diagrams.azure.compute.KubernetesServices**, **AKS** (alias)
- **diagrams.azure.compute.MeshApplications**
- **diagrams.azure.compute.SAPHANAOnAzure**
- **diagrams.azure.compute.ServiceFabricClusters**
- **diagrams.azure.compute.VMClassic**
- **diagrams.azure.compute.VMImages**
- **diagrams.azure.compute.VMLinux**
- **diagrams.azure.compute.VMWindows**
- **diagrams.azure.compute.VM**
## azure.ml
- **diagrams.azure.ml.BatchAI**
- **diagrams.azure.ml.BotServices**
- **diagrams.azure.ml.CognitiveServices**
- **diagrams.azure.ml.GenomicsAccounts**
- **diagrams.azure.ml.MachineLearningServiceWorkspaces**
- **diagrams.azure.ml.MachineLearningStudioWebServicePlans**
- **diagrams.azure.ml.MachineLearningStudioWebServices**
- **diagrams.azure.ml.MachineLearningStudioWorkspaces**
## azure.mobile
- **diagrams.azure.mobile.AppServiceMobile**
- **diagrams.azure.mobile.MobileEngagement**
- **diagrams.azure.mobile.NotificationHubs**
## azure.migration
- **diagrams.azure.migration.DatabaseMigrationServices**
- **diagrams.azure.migration.MigrationProjects**
- **diagrams.azure.migration.RecoveryServicesVaults**
## azure.analytics
## azure.web
- **diagrams.azure.analytics.AnalysisServices**
- **diagrams.azure.analytics.DataExplorerClusters**
- **diagrams.azure.analytics.DataFactories**
- **diagrams.azure.analytics.DataLakeAnalytics**
- **diagrams.azure.analytics.DataLakeStoreGen1**
- **diagrams.azure.analytics.Databricks**
- **diagrams.azure.analytics.EventHubClusters**
- **diagrams.azure.analytics.EventHubs**
- **diagrams.azure.analytics.Hdinsightclusters**
- **diagrams.azure.analytics.LogAnalyticsWorkspaces**
- **diagrams.azure.analytics.StreamAnalyticsJobs**
- **diagrams.azure.web.APIConnections**
- **diagrams.azure.web.AppServiceCertificates**
- **diagrams.azure.web.AppServiceDomains**
- **diagrams.azure.web.AppServiceEnvironments**
- **diagrams.azure.web.AppServicePlans**
- **diagrams.azure.web.AppServices**
- **diagrams.azure.web.MediaServices**
- **diagrams.azure.web.NotificationHubNamespaces**
- **diagrams.azure.web.Search**
- **diagrams.azure.web.Signalr**

@ -0,0 +1,43 @@
---
id: firebase
title: Firebase
---
Node classes list of firebase provider.
## firebase.base
- **diagrams.firebase.base.Firebase**
## firebase.develop
- **diagrams.firebase.develop.Authentication**
- **diagrams.firebase.develop.Firestore**
- **diagrams.firebase.develop.Functions**
- **diagrams.firebase.develop.Hosting**
- **diagrams.firebase.develop.MLKit**
- **diagrams.firebase.develop.RealtimeDatabase**
- **diagrams.firebase.develop.Storage**
## firebase.extentions
- **diagrams.firebase.extentions.Extensions**
## firebase.grow
- **diagrams.firebase.grow.ABTesting**
- **diagrams.firebase.grow.AppIndexing**
- **diagrams.firebase.grow.DynamicLinks**
- **diagrams.firebase.grow.InAppMessaging**
- **diagrams.firebase.grow.Invites**
- **diagrams.firebase.grow.Messaging**, **FCM** (alias)
- **diagrams.firebase.grow.Predictions**
- **diagrams.firebase.grow.RemoteConfig**
## firebase.quality
- **diagrams.firebase.quality.AppDistribution**
- **diagrams.firebase.quality.CrashReporting**
- **diagrams.firebase.quality.Crashlytics**
- **diagrams.firebase.quality.PerformanceMonitoring**
- **diagrams.firebase.quality.TestLab**

@ -5,6 +5,47 @@ title: OnPrem
Node classes list of onprem provider.
## onprem.analytics
- **diagrams.onprem.analytics.Beam**
- **diagrams.onprem.analytics.Flink**
- **diagrams.onprem.analytics.Hadoop**
- **diagrams.onprem.analytics.Hive**
- **diagrams.onprem.analytics.Metabase**
- **diagrams.onprem.analytics.Norikra**
- **diagrams.onprem.analytics.Spark**
- **diagrams.onprem.analytics.Storm**
- **diagrams.onprem.analytics.Tableau**
## onprem.cd
- **diagrams.onprem.cd.Spinnaker**
## onprem.ci
- **diagrams.onprem.ci.Circleci**, **CircleCI** (alias)
- **diagrams.onprem.ci.Gitlabci**, **GitlabCI** (alias)
- **diagrams.onprem.ci.Jenkins**
- **diagrams.onprem.ci.Teamcity**, **TC** (alias)
- **diagrams.onprem.ci.Travisci**, **TravisCI** (alias)
- **diagrams.onprem.ci.Zuulci**, **ZuulCI** (alias)
## onprem.client
- **diagrams.onprem.client.Client**
- **diagrams.onprem.client.User**
- **diagrams.onprem.client.Users**
## onprem.compute
- **diagrams.onprem.compute.Nomad**
- **diagrams.onprem.compute.Server**
## onprem.container
- **diagrams.onprem.container.Docker**
- **diagrams.onprem.container.Rkt**, **RKT** (alias)
## onprem.database
- **diagrams.onprem.database.Cassandra**

@ -0,0 +1,16 @@
---
id: saas
title: Saas
---
Node classes list of saas provider.
## saas.chat
- **diagrams.saas.chat.Slack**
- **diagrams.saas.chat.Telegram**
## saas.social
- **diagrams.saas.social.Facebook**
- **diagrams.saas.social.Twitter**

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

@ -7,7 +7,7 @@ from jinja2 import Environment, FileSystemLoader, Template
import config as cfg
from . import app_root_dir, doc_root_dir, resource_dir, template_dir
_usage = "Usage: generate.py <onprem|aws|gcp|azure|k8s|alibabacloud|oci|programming>"
_usage = "Usage: generate.py <onprem|aws|gcp|azure|k8s|alibabacloud|oci|programming|saas>"
def load_tmpl(tmpl: str) -> Template:
@ -50,7 +50,7 @@ def gen_apidoc(pvd: str, typ_paths: dict) -> str:
return name
typ_classes = {}
for typ, paths in typ_paths.items():
for typ, paths in sorted(typ_paths.items()):
typ_classes[typ] = []
for name in map(_gen_class_name, paths):
alias = cfg.ALIASES[pvd].get(typ, {}).get(name)

@ -53,6 +53,16 @@ def cleaner_gcp(f):
return f.lower()
def cleaner_firebase(f):
f = f.replace("_", "-")
f = "-".join(f.split())
for p in cfg.FILE_PREFIXES["firebase"]:
if f.startswith(p):
f = f[len(p) :]
break
return f.lower()
def cleaner_k8s(f):
f = f.replace("-256", "")
for p in cfg.FILE_PREFIXES["k8s"]:
@ -84,15 +94,21 @@ def cleaner_programming(f):
return f.lower()
def cleaner_saas(f):
return f.lower()
cleaners = {
"onprem": cleaner_onprem,
"aws": cleaner_aws,
"azure": cleaner_azure,
"gcp": cleaner_gcp,
"firebase": cleaner_firebase,
"k8s": cleaner_k8s,
"alibabacloud": cleaner_alibabacloud,
"oci": cleaner_oci,
"programming": cleaner_programming,
"saas": cleaner_saas,
}

Loading…
Cancel
Save