From c17bf1e2d292faa3891238eb371e43c13af1c852 Mon Sep 17 00:00:00 2001 From: Kenny Ho Date: Sun, 24 May 2020 22:02:30 -0400 Subject: [PATCH 1/2] Add ZuulCI as onprem CI resource (#145) Zuul is an open source program that drives continuous integration, delivery, and deployment systems with a focus on project gating and interrelated projects. https://zuul-ci.org/ --- config.py | 1 + diagrams/onprem/ci.py | 5 +++++ docs/nodes/onprem.md | 1 + resources/onprem/ci/zuulci.png | Bin 0 -> 6363 bytes 4 files changed, 7 insertions(+) create mode 100644 resources/onprem/ci/zuulci.png diff --git a/config.py b/config.py index 4a5c138d..0cb566a5 100644 --- a/config.py +++ b/config.py @@ -78,6 +78,7 @@ ALIASES = { "Gitlabci": "GitlabCI", "Travisci": "TravisCI", "Teamcity": "TC", + "Zuulci": "ZuulCI", }, "container": { "Rkt": "RKT", diff --git a/diagrams/onprem/ci.py b/diagrams/onprem/ci.py index fb7b42b0..896e5de6 100644 --- a/diagrams/onprem/ci.py +++ b/diagrams/onprem/ci.py @@ -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 diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index c79ea343..aedecdf3 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -28,6 +28,7 @@ Node classes list of onprem provider. - **diagrams.onprem.ci.Jenkins** - **diagrams.onprem.ci.Teamcity**, **TC** (alias) - **diagrams.onprem.ci.Travisci**, **TravisCI** (alias) +- **diagrams.onprem.ci.Zuulci**, **ZuulCI** (alias) ## onprem.client diff --git a/resources/onprem/ci/zuulci.png b/resources/onprem/ci/zuulci.png new file mode 100644 index 0000000000000000000000000000000000000000..40c0f2fa6793c2d2309875a7ffd5d98fc09b82b9 GIT binary patch literal 6363 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 Date: Mon, 25 May 2020 13:45:00 +0900 Subject: [PATCH 2/2] Add nodes for Firebase (#167) * Add nodes for Firebase * Fix sort * Fix position of configuration to keep order consistency * Fix class names --- autogen.sh | 2 +- config.py | 9 +- diagrams/firebase/base.py | 15 + diagrams/firebase/develop.py | 39 +++ diagrams/firebase/extentions.py | 15 + diagrams/firebase/grow.py | 45 +++ diagrams/firebase/quality.py | 31 ++ docs/nodes/azure.md | 270 +++++++++--------- docs/nodes/firebase.md | 43 +++ .../firebase => firebase/base}/firebase.png | Bin .../develop}/authentication.png | Bin .../develop/firestore.png} | Bin .../develop/functions.png} | Bin .../firebase => firebase/develop}/hosting.png | Bin .../firebase => firebase/develop}/ml-kit.png | Bin .../develop}/realtime-database.png | Bin .../develop/storage.png} | Bin .../extentions}/extensions.png | Bin .../firebase => firebase/grow}/ab-testing.png | Bin .../grow}/app-indexing.png | Bin .../grow}/dynamic-links.png | Bin .../grow}/in-app-messaging.png | Bin .../firebase => firebase/grow}/invites.png | Bin .../grow/messaging.png} | Bin .../grow}/predictions.png | Bin .../grow}/remote-config.png | Bin .../quality}/app-distribution.png | Bin .../quality}/crash-reporting.png | Bin .../quality}/crashlytics.png | Bin .../quality}/performance-monitoring.png | Bin .../quality}/test-lab.png | Bin scripts/generate.py | 2 +- scripts/resource.py | 11 + 33 files changed, 344 insertions(+), 138 deletions(-) create mode 100644 diagrams/firebase/base.py create mode 100644 diagrams/firebase/develop.py create mode 100644 diagrams/firebase/extentions.py create mode 100644 diagrams/firebase/grow.py create mode 100644 diagrams/firebase/quality.py create mode 100644 docs/nodes/firebase.md rename resources/{baas/firebase => firebase/base}/firebase.png (100%) rename resources/{baas/firebase => firebase/develop}/authentication.png (100%) rename resources/{baas/firebase/cloud-firestore.png => firebase/develop/firestore.png} (100%) rename resources/{baas/firebase/cloud-functions.png => firebase/develop/functions.png} (100%) rename resources/{baas/firebase => firebase/develop}/hosting.png (100%) rename resources/{baas/firebase => firebase/develop}/ml-kit.png (100%) rename resources/{baas/firebase => firebase/develop}/realtime-database.png (100%) rename resources/{baas/firebase/cloud-storage.png => firebase/develop/storage.png} (100%) rename resources/{baas/firebase => firebase/extentions}/extensions.png (100%) rename resources/{baas/firebase => firebase/grow}/ab-testing.png (100%) rename resources/{baas/firebase => firebase/grow}/app-indexing.png (100%) rename resources/{baas/firebase => firebase/grow}/dynamic-links.png (100%) rename resources/{baas/firebase => firebase/grow}/in-app-messaging.png (100%) rename resources/{baas/firebase => firebase/grow}/invites.png (100%) rename resources/{baas/firebase/cloud-messaging.png => firebase/grow/messaging.png} (100%) rename resources/{baas/firebase => firebase/grow}/predictions.png (100%) rename resources/{baas/firebase => firebase/grow}/remote-config.png (100%) rename resources/{baas/firebase => firebase/quality}/app-distribution.png (100%) rename resources/{baas/firebase => firebase/quality}/crash-reporting.png (100%) rename resources/{baas/firebase => firebase/quality}/crashlytics.png (100%) rename resources/{baas/firebase => firebase/quality}/performance-monitoring.png (100%) rename resources/{baas/firebase => firebase/quality}/test-lab.png (100%) diff --git a/autogen.sh b/autogen.sh index 766881bc..3b105ada 100755 --- a/autogen.sh +++ b/autogen.sh @@ -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") if ! [ -x "$(command -v round)" ]; then echo 'round is not installed' diff --git a/config.py b/config.py index 0cb566a5..8809a266 100644 --- a/config.py +++ b/config.py @@ -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") ######################### # Resource Processing # @@ -29,6 +29,7 @@ FILE_PREFIXES = { "aws": ("Amazon-", "AWS-"), "azure": ("Azure-",), "gcp": ("Cloud-",), + "firebase": ("Cloud-",), "k8s": (), "alibabacloud": (), "oci": ("OCI-",), @@ -51,6 +52,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", @@ -234,6 +236,11 @@ ALIASES = { "Storage": "GCS", }, }, + "firebase": { + "grow": { + "Messaging": "FCM" + } + }, "k8s": { "clusterconfig": { "Limits": "LimitRange", diff --git a/diagrams/firebase/base.py b/diagrams/firebase/base.py new file mode 100644 index 00000000..a7c9531c --- /dev/null +++ b/diagrams/firebase/base.py @@ -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 diff --git a/diagrams/firebase/develop.py b/diagrams/firebase/develop.py new file mode 100644 index 00000000..27426e51 --- /dev/null +++ b/diagrams/firebase/develop.py @@ -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 diff --git a/diagrams/firebase/extentions.py b/diagrams/firebase/extentions.py new file mode 100644 index 00000000..9d5926c2 --- /dev/null +++ b/diagrams/firebase/extentions.py @@ -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 diff --git a/diagrams/firebase/grow.py b/diagrams/firebase/grow.py new file mode 100644 index 00000000..b015dd3f --- /dev/null +++ b/diagrams/firebase/grow.py @@ -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 diff --git a/diagrams/firebase/quality.py b/diagrams/firebase/quality.py new file mode 100644 index 00000000..227a4c35 --- /dev/null +++ b/diagrams/firebase/quality.py @@ -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 diff --git a/docs/nodes/azure.md b/docs/nodes/azure.md index 63e5377c..076b18d8 100644 --- a/docs/nodes/azure.md +++ b/docs/nodes/azure.md @@ -5,46 +5,42 @@ title: Azure Node classes list of azure provider. -## azure.mobile - -- **diagrams.azure.mobile.AppServiceMobile** -- **diagrams.azure.mobile.MobileEngagement** -- **diagrams.azure.mobile.NotificationHubs** - -## azure.identity +## azure.analytics -- **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** +- **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.storage +## azure.compute -- **diagrams.azure.storage.ArchiveStorage** -- **diagrams.azure.storage.Azurefxtedgefiler** -- **diagrams.azure.storage.BlobStorage** -- **diagrams.azure.storage.DataBoxEdgeDataBoxGateway** -- **diagrams.azure.storage.DataBox** -- **diagrams.azure.storage.DataLakeStorage** -- **diagrams.azure.storage.GeneralStorage** -- **diagrams.azure.storage.NetappFiles** -- **diagrams.azure.storage.QueuesStorage** -- **diagrams.azure.storage.StorageAccountsClassic** -- **diagrams.azure.storage.StorageAccounts** -- **diagrams.azure.storage.StorageExplorer** -- **diagrams.azure.storage.StorageSyncServices** -- **diagrams.azure.storage.StorsimpleDataManagers** -- **diagrams.azure.storage.StorsimpleDeviceManagers** -- **diagrams.azure.storage.TableStorage** +- **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 @@ -77,31 +73,50 @@ Node classes list of azure provider. - **diagrams.azure.devops.Repos** - **diagrams.azure.devops.TestPlans** -## azure.web +## azure.general -- **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.general.Allresources** +- **diagrams.azure.general.Azurehome** +- **diagrams.azure.general.Developertools** +- **diagrams.azure.general.Helpsupport** +- **diagrams.azure.general.Information** +- **diagrams.azure.general.Managementgroups** +- **diagrams.azure.general.Marketplace** +- **diagrams.azure.general.Quickstartcenter** +- **diagrams.azure.general.Recent** +- **diagrams.azure.general.Reservations** +- **diagrams.azure.general.Resource** +- **diagrams.azure.general.Resourcegroups** +- **diagrams.azure.general.Servicehealth** +- **diagrams.azure.general.Shareddashboard** +- **diagrams.azure.general.Subscriptions** +- **diagrams.azure.general.Support** +- **diagrams.azure.general.Supportrequests** +- **diagrams.azure.general.Tag** +- **diagrams.azure.general.Tags** +- **diagrams.azure.general.Templates** +- **diagrams.azure.general.Twousericon** +- **diagrams.azure.general.Userhealthicon** +- **diagrams.azure.general.Usericon** +- **diagrams.azure.general.Userprivacy** +- **diagrams.azure.general.Userresource** +- **diagrams.azure.general.Whatsnew** -## azure.iot +## azure.identity -- **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** +- **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 @@ -123,6 +138,25 @@ 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** @@ -134,83 +168,11 @@ Node classes list of azure provider. - **diagrams.azure.ml.MachineLearningStudioWebServices** - **diagrams.azure.ml.MachineLearningStudioWorkspaces** -## azure.migration - -- **diagrams.azure.migration.DatabaseMigrationServices** -- **diagrams.azure.migration.MigrationProjects** -- **diagrams.azure.migration.RecoveryServicesVaults** - -## 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.security - -- **diagrams.azure.security.KeyVaults** -- **diagrams.azure.security.SecurityCenter** -- **diagrams.azure.security.Sentinel** - -## azure.general - -- **diagrams.azure.general.Allresources** -- **diagrams.azure.general.Azurehome** -- **diagrams.azure.general.Developertools** -- **diagrams.azure.general.Helpsupport** -- **diagrams.azure.general.Information** -- **diagrams.azure.general.Managementgroups** -- **diagrams.azure.general.Marketplace** -- **diagrams.azure.general.Quickstartcenter** -- **diagrams.azure.general.Recent** -- **diagrams.azure.general.Reservations** -- **diagrams.azure.general.Resource** -- **diagrams.azure.general.Resourcegroups** -- **diagrams.azure.general.Servicehealth** -- **diagrams.azure.general.Shareddashboard** -- **diagrams.azure.general.Subscriptions** -- **diagrams.azure.general.Support** -- **diagrams.azure.general.Supportrequests** -- **diagrams.azure.general.Tag** -- **diagrams.azure.general.Tags** -- **diagrams.azure.general.Templates** -- **diagrams.azure.general.Twousericon** -- **diagrams.azure.general.Userhealthicon** -- **diagrams.azure.general.Usericon** -- **diagrams.azure.general.Userprivacy** -- **diagrams.azure.general.Userresource** -- **diagrams.azure.general.Whatsnew** - -## azure.compute +## azure.mobile -- **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** +- **diagrams.azure.mobile.AppServiceMobile** +- **diagrams.azure.mobile.MobileEngagement** +- **diagrams.azure.mobile.NotificationHubs** ## azure.network @@ -240,3 +202,41 @@ Node classes list of azure provider. - **diagrams.azure.network.VirtualNetworkGateways** - **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** +- **diagrams.azure.storage.Azurefxtedgefiler** +- **diagrams.azure.storage.BlobStorage** +- **diagrams.azure.storage.DataBoxEdgeDataBoxGateway** +- **diagrams.azure.storage.DataBox** +- **diagrams.azure.storage.DataLakeStorage** +- **diagrams.azure.storage.GeneralStorage** +- **diagrams.azure.storage.NetappFiles** +- **diagrams.azure.storage.QueuesStorage** +- **diagrams.azure.storage.StorageAccountsClassic** +- **diagrams.azure.storage.StorageAccounts** +- **diagrams.azure.storage.StorageExplorer** +- **diagrams.azure.storage.StorageSyncServices** +- **diagrams.azure.storage.StorsimpleDataManagers** +- **diagrams.azure.storage.StorsimpleDeviceManagers** +- **diagrams.azure.storage.TableStorage** + +## azure.web + +- **diagrams.azure.web.APIConnections** +- **diagrams.azure.web.AppServiceCertificates** +- **diagrams.azure.web.AppServiceDomains** +- **diagrams.azure.web.AppServiceEnvironments** +- **diagrams.azure.web.AppServicePlans** +- **diagrams.azure.web.AppServices** +- **diagrams.azure.web.MediaServices** +- **diagrams.azure.web.NotificationHubNamespaces** +- **diagrams.azure.web.Search** +- **diagrams.azure.web.Signalr** diff --git a/docs/nodes/firebase.md b/docs/nodes/firebase.md new file mode 100644 index 00000000..f49a5c9c --- /dev/null +++ b/docs/nodes/firebase.md @@ -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** diff --git a/resources/baas/firebase/firebase.png b/resources/firebase/base/firebase.png similarity index 100% rename from resources/baas/firebase/firebase.png rename to resources/firebase/base/firebase.png diff --git a/resources/baas/firebase/authentication.png b/resources/firebase/develop/authentication.png similarity index 100% rename from resources/baas/firebase/authentication.png rename to resources/firebase/develop/authentication.png diff --git a/resources/baas/firebase/cloud-firestore.png b/resources/firebase/develop/firestore.png similarity index 100% rename from resources/baas/firebase/cloud-firestore.png rename to resources/firebase/develop/firestore.png diff --git a/resources/baas/firebase/cloud-functions.png b/resources/firebase/develop/functions.png similarity index 100% rename from resources/baas/firebase/cloud-functions.png rename to resources/firebase/develop/functions.png diff --git a/resources/baas/firebase/hosting.png b/resources/firebase/develop/hosting.png similarity index 100% rename from resources/baas/firebase/hosting.png rename to resources/firebase/develop/hosting.png diff --git a/resources/baas/firebase/ml-kit.png b/resources/firebase/develop/ml-kit.png similarity index 100% rename from resources/baas/firebase/ml-kit.png rename to resources/firebase/develop/ml-kit.png diff --git a/resources/baas/firebase/realtime-database.png b/resources/firebase/develop/realtime-database.png similarity index 100% rename from resources/baas/firebase/realtime-database.png rename to resources/firebase/develop/realtime-database.png diff --git a/resources/baas/firebase/cloud-storage.png b/resources/firebase/develop/storage.png similarity index 100% rename from resources/baas/firebase/cloud-storage.png rename to resources/firebase/develop/storage.png diff --git a/resources/baas/firebase/extensions.png b/resources/firebase/extentions/extensions.png similarity index 100% rename from resources/baas/firebase/extensions.png rename to resources/firebase/extentions/extensions.png diff --git a/resources/baas/firebase/ab-testing.png b/resources/firebase/grow/ab-testing.png similarity index 100% rename from resources/baas/firebase/ab-testing.png rename to resources/firebase/grow/ab-testing.png diff --git a/resources/baas/firebase/app-indexing.png b/resources/firebase/grow/app-indexing.png similarity index 100% rename from resources/baas/firebase/app-indexing.png rename to resources/firebase/grow/app-indexing.png diff --git a/resources/baas/firebase/dynamic-links.png b/resources/firebase/grow/dynamic-links.png similarity index 100% rename from resources/baas/firebase/dynamic-links.png rename to resources/firebase/grow/dynamic-links.png diff --git a/resources/baas/firebase/in-app-messaging.png b/resources/firebase/grow/in-app-messaging.png similarity index 100% rename from resources/baas/firebase/in-app-messaging.png rename to resources/firebase/grow/in-app-messaging.png diff --git a/resources/baas/firebase/invites.png b/resources/firebase/grow/invites.png similarity index 100% rename from resources/baas/firebase/invites.png rename to resources/firebase/grow/invites.png diff --git a/resources/baas/firebase/cloud-messaging.png b/resources/firebase/grow/messaging.png similarity index 100% rename from resources/baas/firebase/cloud-messaging.png rename to resources/firebase/grow/messaging.png diff --git a/resources/baas/firebase/predictions.png b/resources/firebase/grow/predictions.png similarity index 100% rename from resources/baas/firebase/predictions.png rename to resources/firebase/grow/predictions.png diff --git a/resources/baas/firebase/remote-config.png b/resources/firebase/grow/remote-config.png similarity index 100% rename from resources/baas/firebase/remote-config.png rename to resources/firebase/grow/remote-config.png diff --git a/resources/baas/firebase/app-distribution.png b/resources/firebase/quality/app-distribution.png similarity index 100% rename from resources/baas/firebase/app-distribution.png rename to resources/firebase/quality/app-distribution.png diff --git a/resources/baas/firebase/crash-reporting.png b/resources/firebase/quality/crash-reporting.png similarity index 100% rename from resources/baas/firebase/crash-reporting.png rename to resources/firebase/quality/crash-reporting.png diff --git a/resources/baas/firebase/crashlytics.png b/resources/firebase/quality/crashlytics.png similarity index 100% rename from resources/baas/firebase/crashlytics.png rename to resources/firebase/quality/crashlytics.png diff --git a/resources/baas/firebase/performance-monitoring.png b/resources/firebase/quality/performance-monitoring.png similarity index 100% rename from resources/baas/firebase/performance-monitoring.png rename to resources/firebase/quality/performance-monitoring.png diff --git a/resources/baas/firebase/test-lab.png b/resources/firebase/quality/test-lab.png similarity index 100% rename from resources/baas/firebase/test-lab.png rename to resources/firebase/quality/test-lab.png diff --git a/scripts/generate.py b/scripts/generate.py index 7ec0a879..412def77 100644 --- a/scripts/generate.py +++ b/scripts/generate.py @@ -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) diff --git a/scripts/resource.py b/scripts/resource.py index 10575af1..138533a8 100644 --- a/scripts/resource.py +++ b/scripts/resource.py @@ -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"]: @@ -89,6 +99,7 @@ cleaners = { "aws": cleaner_aws, "azure": cleaner_azure, "gcp": cleaner_gcp, + "firebase": cleaner_firebase, "k8s": cleaner_k8s, "alibabacloud": cleaner_alibabacloud, "oci": cleaner_oci,