From d0347a9045b05c9a03f60b560e31e1164d588dab Mon Sep 17 00:00:00 2001 From: Aymon Delbridge Date: Thu, 21 May 2020 04:39:58 +0200 Subject: [PATCH 01/23] Add Azure General icon set (#155) * Add Azure General icons * Autogen * Regenerated icons * Adding general.py * Azure docs --- diagrams/azure/general.py | 115 +++++++++ docs/nodes/azure.md | 255 +++++++++++-------- resources/azure/general/allresources.png | Bin 0 -> 3910 bytes resources/azure/general/azurehome.png | Bin 0 -> 11331 bytes resources/azure/general/developertools.png | Bin 0 -> 24253 bytes resources/azure/general/helpsupport.png | Bin 0 -> 12949 bytes resources/azure/general/information.png | Bin 0 -> 13593 bytes resources/azure/general/managementgroups.png | Bin 0 -> 20725 bytes resources/azure/general/marketplace.png | Bin 0 -> 12777 bytes resources/azure/general/quickstartcenter.png | Bin 0 -> 28972 bytes resources/azure/general/recent.png | Bin 0 -> 24873 bytes resources/azure/general/reservations.png | Bin 0 -> 28486 bytes resources/azure/general/resource.png | Bin 0 -> 13813 bytes resources/azure/general/resourcegroups.png | Bin 0 -> 16671 bytes resources/azure/general/servicehealth.png | Bin 0 -> 18795 bytes resources/azure/general/shareddashboard.png | Bin 0 -> 4494 bytes resources/azure/general/subscriptions.png | Bin 0 -> 9002 bytes resources/azure/general/support.png | Bin 0 -> 12949 bytes resources/azure/general/supportrequests.png | Bin 0 -> 23928 bytes resources/azure/general/tag.png | Bin 0 -> 9306 bytes resources/azure/general/tags.png | Bin 0 -> 15696 bytes resources/azure/general/templates.png | Bin 0 -> 8830 bytes resources/azure/general/twousericon.png | Bin 0 -> 15439 bytes resources/azure/general/userhealthicon.png | Bin 0 -> 14868 bytes resources/azure/general/usericon.png | Bin 0 -> 6950 bytes resources/azure/general/userprivacy.png | Bin 0 -> 11242 bytes resources/azure/general/userresource.png | Bin 0 -> 14741 bytes resources/azure/general/whatsnew.png | Bin 0 -> 11376 bytes 28 files changed, 257 insertions(+), 113 deletions(-) create mode 100644 diagrams/azure/general.py create mode 100644 resources/azure/general/allresources.png create mode 100644 resources/azure/general/azurehome.png create mode 100644 resources/azure/general/developertools.png create mode 100644 resources/azure/general/helpsupport.png create mode 100644 resources/azure/general/information.png create mode 100644 resources/azure/general/managementgroups.png create mode 100644 resources/azure/general/marketplace.png create mode 100644 resources/azure/general/quickstartcenter.png create mode 100644 resources/azure/general/recent.png create mode 100644 resources/azure/general/reservations.png create mode 100644 resources/azure/general/resource.png create mode 100644 resources/azure/general/resourcegroups.png create mode 100644 resources/azure/general/servicehealth.png create mode 100644 resources/azure/general/shareddashboard.png create mode 100644 resources/azure/general/subscriptions.png create mode 100644 resources/azure/general/support.png create mode 100644 resources/azure/general/supportrequests.png create mode 100644 resources/azure/general/tag.png create mode 100644 resources/azure/general/tags.png create mode 100644 resources/azure/general/templates.png create mode 100644 resources/azure/general/twousericon.png create mode 100644 resources/azure/general/userhealthicon.png create mode 100644 resources/azure/general/usericon.png create mode 100644 resources/azure/general/userprivacy.png create mode 100644 resources/azure/general/userresource.png create mode 100644 resources/azure/general/whatsnew.png diff --git a/diagrams/azure/general.py b/diagrams/azure/general.py new file mode 100644 index 000000000..8958e9756 --- /dev/null +++ b/diagrams/azure/general.py @@ -0,0 +1,115 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _Azure + + +class _General(_Azure): + _type = "general" + _icon_dir = "resources/azure/general" + + +class Allresources(_General): + _icon = "allresources.png" + + +class Azurehome(_General): + _icon = "azurehome.png" + + +class Developertools(_General): + _icon = "developertools.png" + + +class Helpsupport(_General): + _icon = "helpsupport.png" + + +class Information(_General): + _icon = "information.png" + + +class Managementgroups(_General): + _icon = "managementgroups.png" + + +class Marketplace(_General): + _icon = "marketplace.png" + + +class Quickstartcenter(_General): + _icon = "quickstartcenter.png" + + +class Recent(_General): + _icon = "recent.png" + + +class Reservations(_General): + _icon = "reservations.png" + + +class Resource(_General): + _icon = "resource.png" + + +class Resourcegroups(_General): + _icon = "resourcegroups.png" + + +class Servicehealth(_General): + _icon = "servicehealth.png" + + +class Shareddashboard(_General): + _icon = "shareddashboard.png" + + +class Subscriptions(_General): + _icon = "subscriptions.png" + + +class Support(_General): + _icon = "support.png" + + +class Supportrequests(_General): + _icon = "supportrequests.png" + + +class Tag(_General): + _icon = "tag.png" + + +class Tags(_General): + _icon = "tags.png" + + +class Templates(_General): + _icon = "templates.png" + + +class Twousericon(_General): + _icon = "twousericon.png" + + +class Userhealthicon(_General): + _icon = "userhealthicon.png" + + +class Usericon(_General): + _icon = "usericon.png" + + +class Userprivacy(_General): + _icon = "userprivacy.png" + + +class Userresource(_General): + _icon = "userresource.png" + + +class Whatsnew(_General): + _icon = "whatsnew.png" + + +# Aliases diff --git a/docs/nodes/azure.md b/docs/nodes/azure.md index 7e8943751..63e5377c6 100644 --- a/docs/nodes/azure.md +++ b/docs/nodes/azure.md @@ -5,42 +5,46 @@ title: Azure Node classes list of azure provider. -## azure.analytics +## azure.mobile -- **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.mobile.AppServiceMobile** +- **diagrams.azure.mobile.MobileEngagement** +- **diagrams.azure.mobile.NotificationHubs** -## azure.compute +## azure.identity -- **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.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.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.database @@ -73,21 +77,18 @@ Node classes list of azure provider. - **diagrams.azure.devops.Repos** - **diagrams.azure.devops.TestPlans** -## azure.identity +## azure.web -- **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.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** ## azure.iot @@ -102,11 +103,25 @@ Node classes list of azure provider. - **diagrams.azure.iot.TimeSeriesInsightsEventsSources** - **diagrams.azure.iot.Windows10IotCoreServices** -## azure.migration +## azure.integration -- **diagrams.azure.migration.DatabaseMigrationServices** -- **diagrams.azure.migration.MigrationProjects** -- **diagrams.azure.migration.RecoveryServicesVaults** +- **diagrams.azure.integration.APIForFhir** +- **diagrams.azure.integration.APIManagement** +- **diagrams.azure.integration.AppConfiguration** +- **diagrams.azure.integration.DataCatalog** +- **diagrams.azure.integration.EventGridDomains** +- **diagrams.azure.integration.EventGridSubscriptions** +- **diagrams.azure.integration.EventGridTopics** +- **diagrams.azure.integration.IntegrationAccounts** +- **diagrams.azure.integration.IntegrationServiceEnvironments** +- **diagrams.azure.integration.LogicAppsCustomConnector** +- **diagrams.azure.integration.LogicApps** +- **diagrams.azure.integration.SendgridAccounts** +- **diagrams.azure.integration.ServiceBusRelays** +- **diagrams.azure.integration.ServiceBus** +- **diagrams.azure.integration.ServiceCatalogManagedApplicationDefinitions** +- **diagrams.azure.integration.SoftwareAsAService** +- **diagrams.azure.integration.StorsimpleDeviceManagers** ## azure.ml @@ -119,11 +134,83 @@ Node classes list of azure provider. - **diagrams.azure.ml.MachineLearningStudioWebServices** - **diagrams.azure.ml.MachineLearningStudioWorkspaces** -## azure.mobile +## azure.migration -- **diagrams.azure.mobile.AppServiceMobile** -- **diagrams.azure.mobile.MobileEngagement** -- **diagrams.azure.mobile.NotificationHubs** +- **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 + +- **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.network @@ -153,61 +240,3 @@ 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** - -## azure.integration - -- **diagrams.azure.integration.APIForFhir** -- **diagrams.azure.integration.APIManagement** -- **diagrams.azure.integration.AppConfiguration** -- **diagrams.azure.integration.DataCatalog** -- **diagrams.azure.integration.EventGridDomains** -- **diagrams.azure.integration.EventGridSubscriptions** -- **diagrams.azure.integration.EventGridTopics** -- **diagrams.azure.integration.IntegrationAccounts** -- **diagrams.azure.integration.IntegrationServiceEnvironments** -- **diagrams.azure.integration.LogicAppsCustomConnector** -- **diagrams.azure.integration.LogicApps** -- **diagrams.azure.integration.SendgridAccounts** -- **diagrams.azure.integration.ServiceBusRelays** -- **diagrams.azure.integration.ServiceBus** -- **diagrams.azure.integration.ServiceCatalogManagedApplicationDefinitions** -- **diagrams.azure.integration.SoftwareAsAService** -- **diagrams.azure.integration.StorsimpleDeviceManagers** diff --git a/resources/azure/general/allresources.png b/resources/azure/general/allresources.png new file mode 100644 index 0000000000000000000000000000000000000000..f2d94553184c3d52d6b5c69fbddabcd83a8c4bde GIT binary patch literal 3910 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 E3+6YlSpWb4 literal 0 HcmV?d00001 diff --git a/resources/azure/general/azurehome.png b/resources/azure/general/azurehome.png new file mode 100644 index 0000000000000000000000000000000000000000..e86046d6d7728c58c116fbf0aa3dff9a222743cc GIT binary patch literal 11331 zcmdsdWmFtb@Zc;OAh-tz39i9igD)Q3ArLG$EN+V=gkZtlf(3`5L6-zVg0lqo;10oI z*}eVUx4ZZ5%m3ren|U?UGu2(yRXx=uvAWu-g!oVJ0RSKbt10OL00?~x0v_R@fra-M z2QJ=YFwbLbr<(ggF7s14_DonPSOeN!;Q-J9Z6G zJP(p4{TGsT+CLIPJE$4J=J4IGKY&HgsyQM~DUkl@@8U;bQO*=6089Q8mKp{Y9+^wY zBq7BADEp*ah|$WOP!wua#U;c&&d2ns{%f-7HScx!xXjLy&+|u-&;F;URgsn0GZXW$ zJGqdidt={+i|y*s%&Swb+5pUq)fR|nZc z2);7Fnx)?Th?Lr)*CrTadIF$U2i=b@Ik66uOaQu+M8oi_Igi~w%yIp5+doV7*mB#u zIR1M6avNhw3{R=0vC9CgABvA)IDeUYula$BZ8ASMH~wCyDvJjn!_!x+(+mn?QOBh8 zUNpRGzC($d{H~z8!8*=*K=Ta*T!u6H_ZL z;(dapYq7A1@at^8vc1iIwrtB7G{OGh1>D2rFGC_*$ARl%_~%;;! z%m?^;Y$`YA?F__z4=jbsjZU1sQ>ae~w%hym&hSBPB++>?I>GZ?>>=rl!Bz9WD5twKdB?Six* za$%KqZ-mT?+>qBsFBOL60BF z-3RBt3Xe%R>!{bgwkQz7*EHhx^JQ%b9=T{@b5C#nUHVbUyD^-ZFHf4!X|ty}Wve2C zZa(S2^z6+#l2YhtYrpl^(l3tOl}Va4?VTo)LJLR)GirCayGOH+m5d4o)gAwc7WceF zzNP!z)$im56OrW{_1WA#Dxqa}+xk*BGCv8=8$U#0I^S?8?bf8dlaJdZ29SGk`H-_h7TLB$7J z#Z$iV?a>h(r-clSX0lu4-M3sZgR!_02#Pqb9dZA%?G zs&aN6QWLYpdG>-*%lRtK3u7|5BMJPMy0>U*Foe>2oyJJ(lMYb< zB35`e&LGRtr!{pIA`t;f|8Jp*go{q0kwKgjN*+3K6mF^k|A z{#|a^T?4uWdXkuJpf>TL2xrw*$c2p3Lk=TCJUDE4npX?&F0TQ&i@py-C10KCi3}`( z&%Zz6CmJytsjD~f_O}fx>;r*?jB*~R8Fs?CSvctTO~>?P?8+wTAL0rdfTF`WZWz5M zS-_JU?#!NjxX+8xTx!#GBY}yu+=wE2bJN{KjPdR{JOz0S{?du(muAm zkB$iH^7-{{nY(kprW+%2y`fzgAxxMbpXcw$l)U&3hsocEO$6=I3ZMRbAr z9FQp|-|@fS-W-Flj1O|h9%;U@&s&A4c_!GX!jhdBEL z$LMXug5=`l|H z?aEaB0dt*|Go1m0qD-_HF*^=z@aVi8$sAR4JYjFzvc;dZTiLqSN`+U;V6Ti|w=<<| zyHK?!>pd=qdgx^^hG(a-J|o_-2`9m5&_;Y`gs42!`F5zMzOiUfv@Hayl6z&Ac1Ln5 zb2}TbnU;KR1r*{n3H!M#xBP}jUv*#Yhg5H%KW$^%v>KF zmoGn3=lB@A8%48DC@KI!(AbY;S{sMLdp5Q~{@E+l)!3;AGq<3e^6>R)LF@n_ye;+b z4-uB!P;Q z+uunQ1h`L2pJmL4H_-0L**Im|c#o!ptVC$vc?e;ilG#G3Uk(ej)3)PyDIH_mlHC++ z@@ebj$y^`$1Pj@UefDL?vPsy3IO~iEyV zosMW{t%?N06PseWyUax0xJxjHCRb0RPQ>er{guXH(IMhNpRszFAfN!d;b$X^V4{PK zJZ(7k8gHCF0pQeD|LJT)I=Opkzlh#fTYw}{nN@v8eS|6QU@``gJ!pKsg8qZ#zu;?^ zhY-MHK-}K9*lS%su}U8MOmU6!5y-?%0eBJB`eR&(cO>5)67o5vbegu*WklSjoSBWm zHTNNO{!*$L4vkykhN+#4;2A`VnN5O}EdRYX{J6y=bbL1wb(HZG_2v&nyTyM!)uo3T zG2~}?&Qf)?i)y8sk3w=|bKkh)s@(OQPmN%5NM^`0>K1D<7{6 zfc?L*#ltZ~xxG^RUkbVFXvVM{r3katbvdANrp$=quWjy786Up>a!Q9kp(!58RL^aR zHbQeiiN;JJ7BjvCZGL)Gh1Vk?QkN;7mA2P?&vKNJb$lMtE3@h`h%!g^B0Y_oKPDJ) zC>KR!CIisz=C$Y&*7f^oivFlhI`5;}4@o-#hL zbU?8d=&uJikE!Jm%pev&4f-VHBJt*VXe8{{BmS;VbtK%U9)0IDUYDj zL@T3tt^;a1vQcEd(T>n*3q`$>I)^Izq+3T%kICk#LSm>sTtqY?F|;|hfiP-9p?T>bXY?A+hqS+=?~uA;GA>jAbyz7wVVzj&3h&$ReT<6ST z#6Lb{-fC_G(ZOCeDbTWYy`RYevFq#yx-G`l_h5B}?GNw{11HD|;`7so!Jy@p9<=B% zAX;1crh5y?ZsZCr_#7skgq-eDw^vWhLfG z@(APvXV~Fe(vKxgZB3c8iv1d$iJl)RjTq~C^AP)Hcz8Fe1n^K^2x<9PC2rqeWMvcg zF4sHdHd?xKL#)>dkiM&w3SQpsVa6)bV(+HT>YI;h7eMQdW?K##9Qk3Gyc%GuFAj zw3aJX7w69*pL1cEkJS#NiByqvnLv(d)OUSVyU{)Q?cF86{4c%hx$OsSjBi-!iaqTd zE;R26dM>WR%V&2cgx;G09UBPkSH6xTBdu)Z=FvnNl1^}6GIP!N>yGZ~pyRZ-oS9@um>5I`B4y`($G_ zG&)J3aOUs=p6l7Dv`>=02d^!rb&~T5K%XbIyy3uJ>lyd^i)g7F$s8{?%pS)O19wdI zgHr2sG#4WlpkoQ)kz%885bJu@aac%7ve|Muu%>vlx!IkLDt4PTr~d$`F`$c_k7z$v)J`3IPAI} zxEWgQZku(p@)zC2410cjZ_yc9@6Apc&tl&=RuWk#I8`h>>C5I4crQj@o10Jh-;Vk< zYe~V@QEi_XhXj920AT=?I8lh<%{8ebeQh41f9B^^xNoFw4f&b`viip>2UjN^XdUj7 z=W1m8%w$hL#D$3=t=$OD<}6+ZZo~A%^bg};#;_AN=VZp>hSHB>tSTb{4p4z#U;U|x zXMRjeclWyY#3#vm*G;II(kr*0f$d0aYMRY0W1(e7RCH8&?N}O0s9D|d=~V`U4#xv# zZcbBSVCzJYLR8t+H0=}7W&k3$I4X_`uw8I3k4iziSx)e$sSYeE!OJTmy-$w{SAJu; zT2&DCg!I&~&&5B|O}r$^!=`f9)!(jXb(ZzNn;xD2rIfd;6Ch1tbRb-lYap^0fl=fWw6_@s-iDFohf9@%(}zE5y2c zUH6`9xBEdy!*kzW${qihQm&8hjY-9TlVpgF?LuMBk-${Vd#CN4Q8F7-s|J&C6N}$Y zn*;nNfCn2cRfHIHCt{EV#U~j4J>_p&=l*3^j#k+Y0um}@$el?hjc}p!Fg<(U449So zZZIcMuD-F&{OvBVA)0z6riyeHkY*0Q{|Hl2Lv`z!WymY+(V6(oN@F`)v5a?I=q1l( zSElZKomv#t-=v%6ZGMhjWIy}MP_c&^?McUw&xZ*e2{htWe#dEnu6#Uy3lfYMf}T6w zVu*r*BmP+CqTRJ`lmq{oq^@5i{xP=^84BNk4D9Ym&q5s`Yr@9U5)hfFuWO$firln#T8|N4_%c4TyOM0TCiJX=~l zB3${8euK6m6_?}%w5{|q5AA5$FxsctV3@q*p{fMs`82z7A>IwhEM4YWj`isfX83q| zViigJMxE{y0ybqSr|WznO;-;Gts~mqJ?Bm>EANU`fFzww?t39O{qjQkkI3}_u9J{`78wW-ky?Ro04-MS{zD60o8 z&-4`UVR??N67vU`o6X1*&S7`OeN`KIoJd0Zm#`oI$l_i0z~F#VW7eNvxvspuFg@~Fh^LnClh zA_MZ%u#d~vsy$~NhxTA+Iz&GWit43?cEWENTar%h6{@Ywd6zHt;eN5*IJmVV|2q5n zjbcG7wT?&5C%7b)uuKIP*4OwJ*h|qSI6q0qVM5|#Q9Sx8Bslv+S1kadn=h;@G^C>u zyFy{0ppq(n6}ouOl9=Pw4K~;M!_rdKhvV_m5r5(!<1ve&4YB>z8jtSFnzc8ugEYgK zb1Sibdb=(l@l=$5tzvdJKa((CiE%E32JK7yNO91rQtQt{F*v#5EPTXxJYzCVU7GeP z;%xhjeoXp1$4z6W)o|RKzE{ZO)u1n-zKqCAq^0uQEXG>?Hl9wMx46mp7W!Nko%eCHD>183PhXV;Bm>y2lY0G%H1Qks~+W{jM z)f@2drq2!EE!_s6T@?B>cwnt1$zBNnVSDFEt*cV$sOm|sB=;A>feCL^Ss9WcCH;mt zl@vtivDUjNfk~8cl=`_L=9BL`IqR@jMO?Ss&N-t}L!KY4#I9<0=|H=lR)qx^iGV*I zgXnyZ!$Z$Uiub4icsHI}0Lmyo+FR1oFho>xs|wRr_LX$_n$IN^1G2=<$07mzR5o=YGg=2ukF2Q(4bEc!FKQ%L4z z9g}Pkb(2xPJGq1Jnjy&NdtKg(SPQ{gU}U4ym5E$1ji#ykHlBzceDW&;faqaT=xBps z{=oH|@~OILg0bNtb%^|5QSdC=D4|r2QFuHuQ%T~S&+MIiWD84i%?pE)5ptRm(?GQw zg0ycKKX?JT%X$=A1%2J3c|1HFkZBJbwF%N5B~yk7$tZKy<4=%@QqF9i5#;a&f)%FN zNUFvsFhn2WrB3>V!1`)iUG%q)zL!ye-?d}UjNjucZy&fXHMBnLZ`9F7QrJ2k@RM8Q zTNA@IGZ}hE_-ClLqnri4duy!1j+jMs&k{Z%Qi*T@sAY)^qUpxsUgQ_^Xsn!@H@ah- zP8IV02sZyGsUg_9!z~?nT-t*~kR!g2$_b^L1x1x!(=6H9CS{ku;|X~%e(%opE#8DSa z$J8x|AlES&mu%s_IR0wF8;AuKC6-$Y+0Vh;4JN=J%y>aN&y25;6J4E8QYuDwp&&=7 zi6n2s_#h=sTaDyOmptTVK2(zURSnDDT_g^lo)Tt1KtuV zz*b475mcX-f&Gb6yF0lF9Wri;R5AKQsr&|`j*oXaA2SS)eu2PS1FvN(TrC{J4-%$I za$lW?hwi2xq_Q`ZQ^AM_r3fx$#WTO6j88TP!GeMbN7^=p;5K!7(vAfs=d1c*XJXRP zz;Jfzq7c|$$$IYEVHxdj%D1D5WJ6p1oTnvIcDXvgLkoOcab^qvzZbrGMX18TC$6Zn z#?8dpxNIfKH>a|Fq^WhH0xNmvxGwUOJlICj534Tm-V$Ew61+4%!uavS55X5O#)f^% z;~&J*^RjhEq4~BFWoJW5W-J3=`Zf0#Tu#IK#%UKEZ7tZoA6i?MdLOU;BFNa67*2>s zvrC;!@`s%Vkn`S?g0(>hH<1*cddGyB_&NG98`t&A_}>lN0IEzW>u;Bu?>>{%Z>e+J z8ap4~*RnCBH!s@gt?yg=4A~Zil0b+$DlyEr3iKUFTGf*tCd!PVO*M)$YgGiWey5U9 z1e{xF`vqO?v}4VZ_g)3|NyePLtzL@i`&G$_7uZj|pt4NGc|?CWQr~l>B}Y8@oNNgH zmi#U~Ppp2;Vk_`p6&_4A{F)DR`mTaD5M^C~Oz+kFsp7!?$~(RPG9^)+o@$9hn3SmZ zvN-(_1vltEaR%cvI0uxweNV*0ZdxFw!d(y27(|XL9=*COHgxZ=!jnHZ^CpvNG48ou zeF&W9Xl3ryx8GWcVzcBHU^BA(71>r={YZ_JX`-wpAu$eY2oyYO@ zx4ysXDpaqbVP(E{8Bk-WBb1#1os}5eX^Pzm-`hv&qP{1EDQm=)$Vx~K2DlYJtPdXd zZhS?ZQknwX8pG%{k2(sz?L*x$)}AtugUyzioeSTzF*A@YFbmK+pzbESfiL%z8OGM| z4(^h)>34OwEYgZ^$kT5Ztn+SQv7^it;{pl{YwP#M74TC^Jb5!`kM0W8LHO~O?&%j+#ZhF&8h@C^dV9nhNq3=wM2AHXe72O?=y70GL0U1JyWy>ccV^egHKPY( z{YZt0*%!$SKm{)m?Z1v%&K49vnJasp z-`;@K;M!rReofwV8j+^j6e4hlJlrkCFDvWW2y$hD3-jqBlu)pCUxCveQlvmDm`7H? z4o3SG38UxWl=Fzy1B3ayxZd+VG(ps?fE?;uVjHT4Z?|)vfWG#y)?f6#Z)?>i1 zRgY@oYwcZ2Lj7J17?ksVg)#9!@_X{>sx7uG+tgDfncW=y~L+{mYw7XYHAr-s3AL?x_V3h!a^H=xnj5>1kiD-$&HN zEw6K}8ACnCywUr+c8y*4SO&J~@0%x#O!y72)i@NR@oW;`qLtgglWI(JjK{T5NZMWQ| zid{}ov70*~UXTK{sG>eWK^4SZ4AbmfH|_@ZH_+Apy4E9cuYul2tV%YBB5Y zl2q8)BEG!s)~fFW;cPrx`k$Zg{IU+e^vTqYdFYjOroTMdI|R{a!w6O0!AW=1T5$9; z9U@d2LhsM-Zs6nhg^fuSjpf*U9+W%DXrNwak|#wlReZc>e$DBFdmE2e@>-qXu7>mI~|3-Y6zGr zc6?$-9(Q}d?)Y%j6HP38dU-`R99TXeJ(aP)tHzZp;_T0Kq|?95wroCg#4Zq5x9ZV+ ztY#$6osd@+WR!zaeo3kkAtp#Tl>goevnT3?d!1MVDLqD~?5?pWi+Fnl$Lv(AkYvS8 zLjCB}AXw{qLz-!*R)sB_npLNxrK;7Twd+7`4rTdxbuCxRRD`ydM3{K?GtXdFc^xGJ z{-JaM_&WnWofTiB5$xqrcN05>@_RH^avB0CLD?RkW>`ga#$g@X?@5E8Ua-HKE9H~q zpw1G{(;0|4pm7;LkPgTAC6f~I9%^J*jJ+m&%Di>}%jCEb9i#j3^BcMT{GTfymgzhu zA^1oiU7Q(Lm8fK(mYY(KM6$JG*?f4g(7a=&t_ThiB)=?$Atn_DLB1~9BF`$~5jQL5 z;rAx`;aQ;ACE0X7vIN<3^=lPKIK3L{%otL|&eiOYO<%G9s|^;*p5shY+F=APQtv@3 zBsRNh9OUmsLH9Ym9xBpY2s-)DI)QmEiQ~Or+!Y3{g|%f4xtbQKYHeBKZ~t1R_&ws% zlU9t9557OCGlUZL%i1U^yO2(D*h6e01>M>`Aw*7_EEQfE2G=S%9yv=X9XiHjy(^{6 zWHDNYslw)dNOUrQ1<_@^)9Zy9lh}M)^{S4|;xk1A?V9sCU$S5((-B79SMS`qV67z{ z=eQ!O6=YwD&|SLUKtzz82`zzq>|;x5B{J-=*@KcSZu#~PMuX0!$F;{t z?K?$1R@j=BVHSZ*lMm+2wy0!OFPAV>BF{L^f)89}o?@r6E_+IB5geI?{2lIl52p;9 z?>HT{Mo?|EJV~oAFfxhhp2EeRJVQ{AD$73yjN|pqK*I?GL-0oH;4f!$jP!;s5~Iwh zqt4*v9>eFNdrNA0ZIl6n_%s*mRWWIFrtEdAOBa<^ZT4Eb=peFZAfl99`Z4Ul3qknRrYa&m(LOEGY%mC;2?pVL7m z4w&z;uue1|!QK}i9_FjVlu*Pg$>?&S{y_6c@&~y9M+HEXtd_UWPIYaK2@f>)tobbp zy+&W2YNIQyfQ7N%b3LdcMx;L*mJR0V_L#LKAZD{**03K9JQlC5>HS~F=ak46paqcMA(fpe)pOx3(xC6YU{rP$Uj7krJPadbvrXAGp% zaZWgBO=Xrg)V<{7_qlGp8}P2MLyE1QyaP5zXIVUz0`N7Zs;-K7|6_Y1=F3vwWy~?s zhIza&8B&+S;wv<~JZv9UtF>ZwDbF|286<%Hi=gH;MXsUfp2M2TdVq6Z^rH*f=fDG) zh^PIYPUG_KK!ZEscCT>~XH@&4BK%;?s_i6l>0z%vIZdi{RNuXR`6vk;(2DtwEndE$ zlwT?8Icjf-?_M^%MK|%iS9|ldUlT4*T!guNlc4zq1E-IK9D@W)QS*^J$zy@%z)SxA zXaMW~pGG=);Lib0jlfC>A^m<3p`iVJoRyfJ+Z=$=FiATnE8H;T8*xrEVSYMR+U*Xr zUw`x*7tgU|IbXY;^b-_@t6$B)K_57K^11ijOAn-0tbTqS^QBJ{Us41qaDD!wXT3D? z&pk4*Bi;vlX;}M2kkY6RSAGL=^ezAxTf<1mu$zuNvn1e{HyNjW{0W#K1#pd^f&Hd7 z_-TPVAi6)DEJgU6^2@KbIr!2x-#s>7Ik>XKC;Ag1v36N^-c%QUqS|rNM+akKYHL1S z*tUn1Tjz$}K28K6zo6tWu_aTSpDf-ukmx{i&a%!u<+b}Fp0V&=F@A|~?N}6@IIZpa$m0o=7#3{bb{P_%DUM0{@TW_U?(BIsE=vv~_ z#_{J*bC0E;pg#h@%GyeG3O14d E3pqP`s{jB1 literal 0 HcmV?d00001 diff --git a/resources/azure/general/developertools.png b/resources/azure/general/developertools.png new file mode 100644 index 0000000000000000000000000000000000000000..882de89eab42eb44d278b6a9c6d4014a07e8882f GIT binary patch literal 24253 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

gUECZWh?OTdduTqRo&pNEMZdBPCJa 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 literal 0 HcmV?d00001 diff --git a/resources/azure/general/managementgroups.png b/resources/azure/general/managementgroups.png new file mode 100644 index 0000000000000000000000000000000000000000..1322348d7357fbda59fc3ff0cd56effb48746092 GIT binary patch literal 20725 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 literal 0 HcmV?d00001 diff --git a/resources/azure/general/marketplace.png b/resources/azure/general/marketplace.png new file mode 100644 index 0000000000000000000000000000000000000000..1217b9d4e2e364b8f837a405c74e4002c3e9b6db GIT binary patch literal 12777 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

N@(-M|78P>iTKYdKxJf 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 Kd|IPs6ZJp-owMlx literal 0 HcmV?d00001 diff --git a/resources/azure/general/recent.png b/resources/azure/general/recent.png new file mode 100644 index 0000000000000000000000000000000000000000..c4389d1885b78ac15cde0f0268007afde6d533bb GIT binary patch literal 24873 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

u#_N6~5lxAEKs3sY6W;T4V-^->u%jebcP_i5(r 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 Q+)Ka$&KLD_60sx4m002}@ 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�z0Ub+#z7 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 KWXs>01phDY;H+H$ literal 0 HcmV?d00001 diff --git a/resources/azure/general/servicehealth.png b/resources/azure/general/servicehealth.png new file mode 100644 index 0000000000000000000000000000000000000000..308f70620a5981000097cbb60c956f83509945e7 GIT binary patch literal 18795 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 BNEZMA literal 0 HcmV?d00001 diff --git a/resources/azure/general/shareddashboard.png b/resources/azure/general/shareddashboard.png new file mode 100644 index 0000000000000000000000000000000000000000..97caf721146226fbac8bd0969c2a25a48e1f298f GIT binary patch literal 4494 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 literal 0 HcmV?d00001 diff --git a/resources/azure/general/subscriptions.png b/resources/azure/general/subscriptions.png new file mode 100644 index 0000000000000000000000000000000000000000..72eed905fe61dfef1f75fb0d4f4cf6143c21806d GIT binary patch literal 9002 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
?=s)UIhWJDIve5Iw5aXS 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 iU_ndFEC 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 Cs_Q!d literal 0 HcmV?d00001 diff --git a/resources/azure/general/tags.png b/resources/azure/general/tags.png new file mode 100644 index 0000000000000000000000000000000000000000..58f2b4d521ec61e9744dafc16c247038e8285089 GIT binary patch literal 15696 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 Nf{dzkrKCx~{{YR`*a-jt literal 0 HcmV?d00001 diff --git a/resources/azure/general/templates.png b/resources/azure/general/templates.png new file mode 100644 index 0000000000000000000000000000000000000000..263cebb9d881dfefcb5c35fdd8945c1a73f8adb1 GIT binary patch literal 8830 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 literal 0 HcmV?d00001 diff --git a/resources/azure/general/twousericon.png b/resources/azure/general/twousericon.png new file mode 100644 index 0000000000000000000000000000000000000000..9d6d8c1abef3e76446fc18af84c50516466a47e3 GIT binary patch literal 15439 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 literal 0 HcmV?d00001 diff --git a/resources/azure/general/userhealthicon.png b/resources/azure/general/userhealthicon.png new file mode 100644 index 0000000000000000000000000000000000000000..b2e7e0cdc877a70b2931f3406d8452f10a6d85d0 GIT binary patch literal 14868 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 literal 0 HcmV?d00001 diff --git a/resources/azure/general/usericon.png b/resources/azure/general/usericon.png new file mode 100644 index 0000000000000000000000000000000000000000..773ccd0971796f0c98834e9b02df7d82a9e52d3d GIT binary patch literal 6950 zcmeHs=U0y_RK!JGrK$W%hvC zE94|#=2>P>0%Ry9EhPY`O`txrf|9;DZPawM03eVT0ML;Da6+0wuLFP&8~`?v03e+X z05{yTG0$a53*^=ss*gyJ)Q%svgpmNHyPB~V0Awrv*FoJpbk|6e6yEAuk13X+OiUnt ztDC}E0KmGd{zysBe`kb)%@(txxIA?4Nkh0vA(g|QZ{q^WDpUea>CE)>9-Q0(bXSpf>#Dz`5&e-B?qSUKsx#jN9pB^*rKwQv zQFz)R@9Jwl9OWvxY_qrPSm{IZ{8S&%eI~XUQ}hd#J#+xhYqn4_T{Lk%D-zElzlTU;Is2 zL%LrHp)B?Eo)<%K__t%MAaXOw1~w=iXSWY-2@N}&MQH+aZyx%xZ z3CjX=u8sLRg9On{(%lGLu$U{EE7@v_#OxlghyOIrIHFXDvby=_X?TQUYiRj*P7x+R zs$r-5DYu`@pblM{#nU&7%XhmBGd!f=uj?;)2SN~{&!C5(>a0^6<|ta`D57JG(}Op? z1j87s)qlaD>lO^oI{1Ynaz6v>Y?Qk+JhpyBm=NzPoJ$wyQ#YA=bU*pX>dn@R;b~}h zx(OiV`Fr3psr{(haQA)KiQ|Xz>HtxD4Yn%CDyZ+z<*7bY+9Q-wmN82XKM@+ST)0^gGqfgM3!CL-J6!SfJ} zRak600656$t;Hj~p15#UK-mL-qUH9F~Z(8!@bcyi!rY%^K zyMjboShruK_gsCx=SAk9ES@o`T(`T1O)DN)`u+MbmV3sgqor@j5|A^#F{<_l%%bAw z5*)GW`5;y~9mU*6X9lUaGdIk60cDmtBrw!bf8=p8InXm4d+>k;iiLkU>gTH|p$ci} zk&3T`8WhrBBHwbc-~HO6XVZ_@?erupx#ey;QDLAg5?(tQ55xR?oL_wxVj(8W_uh^e zcXlPRT%-qZpaugGrR29_RDq9ll#2<6D2NS6s z)jxOD#IE)Z8RXsttC9NJNL;`}IMjN+E0vR5YG}ePD!H|@vTwqot-WXK> zxEqBYNEDvsd00(r6nD%XS$tjNb5*IU01*9a>TM1@Kr&ss>r8$)Cdl?E8yeaaWouCW zrMiA+Lz09gOv1wI4_v0>K=RVt-o4dOVLtN~?PzV*^li#}j$c>GEyN7uzwqEQH{-#` zSK_0Y9w?BjC7BA!TwAF=e0F8xrQcNNry`%LOu$3rNx{axL0~EDPyi>pX)`*fauqZZ zjxV`2p&;|*&kgu9Dl`|4F8AmI_Mmw0?7&6blRF{{Y?ca-_PJ?cJsbW0b5*&k120a% zf#5H5{;k8IH0)X@kMX#kBDo-$@S6!@@b`84&%$N7Wl;CK732ogMwcrrdA9zNOQ}ny zWJ3>3Ez|p^2l`g<<_ZItTueSQmb1aHHGC;C6k<+M;^JQCbFF`r+VJbim1p?LBBk_{ z0ssO1wuGCoZCY0r-^pt*h?AP-sL!Ej4L7(hFF>+};veAJ$6BwWeyar)@&ut?T2fj( z&AXY*_#B`~{&49ex}`Eq3+D;a4gd6TvGQE&8d0udGMujvV2KR6HKRgE{TeyZ$r=iU zbKx_|&=R}UY$c7ph8pMB&FA;M!`D{XIvzRPQ zU>stFMe-w_FWW>M^Px*B@JR}TFHfVI6FNuf-ML{<7BX$VlebVN;CRG(gIh50*3z9a zC|vR0#g3gI8QKGxr$`;Tti=ewnQl~& zO95Tae$r6hS>O?P|Hz2s`q}q4?DH_tUt&eWmfNV)@9f5g$);53Z&ENI*-eXwLwBhw_dED{&0YnAe;_cA|*m^p%I;-^x5u=xh+$tK0jSWy9h zyp(DmWgeN09vT0`NHneh5X?|4z@9sKh^*DauZCk=>qrMIFe~{N4fc2i9ri<0t zulsj_c=a4(i0#I&Fb;Pkj!UyopmX&t+0TJWV-3siOh|GKDc-jzul!khV#q zgKT*{qvmX%sWnGX?9;LTr!*R@OZB&^3a2ESCunn5U#u1p=qdtO@^z%F|JBz9^*Qrx zxaTixgPpaJ)i9u|lw_W>GDO~;3s4Qjki-m;yDHwC>Ln4@q3D=USYxL0fHS7@xrR}8Qe zXIZwzBJKpSg+jNwF}FbZ6cf&!(;xERO?E#6Xui*jgpWM%)a&)onpsBB$ z6zoX)=GLm+JD)Cbm0Y`q(;7~TusiyJl@Pn&GMXr`YX3$GSxLzqAK%KT@A}Q0Pdog~ zUpN%*KS#Ln+;Xydr=&w#cAFPXz$G?w0J-F$>L(2T&Sm*SIi89feP?*_mt44hI4cD-_JbOAOu?qEv~*0e}}m zU03xf+!-3GCL|jbknAIR@Klbk!*({s6keyU&K5Sba1(3f-KHIt5?^)pVAl`J{Ps9c zn&bpUCSimaoHpyl)hVqby@Qu>kVBS7rk{mNp7R6Iq+~Vc?fc()zZ(TaPlIr*;tI%` z!0>s*SvBm?MEPagc}z4I$s*^EH+!Q0DRbHh8Af}k!32hk(zjag_MzMLc%{zr1J7dO zz{vF3Jd27LbRKw~mz{OcQ=gBI%Y1?8W@r+5UeR(*mW6&SJNgzMIk0DL5TJ5H@UnxG;WkPx9wAL95;_4M}OkN zXw2wIG0-x8fANfbsomyKdF|WOg_p`>*+Qs%Ocar|!eMazVlSeK1^Am!1pH2oys6jYN3Krx;v+ty&amjXI}K1 zV+CPe#hu}m@p8_0@ZaXEIzQy{->I4nR(S{JR2_5Pdbtl#;K5P5n{K*OyFVRkpe-PN z3ys_>yIGxBwP6^fSa*8A0Qi-08k*erQbTKWaPM#WF{RmC589e5=_(5#lm}TRL zdBg%F|H)E<;~$>K9y!LuAMJp;`@N>-sK2ffTsSXw;h)a9W;h&}Ew3^9vRn}v)R!{t5)S?9OT`8sFs6QYu>U5u^&5FelJ6m9a3*# z>LHcZ&&POZ=jR<~R~jQmJ2*5K7xYI|_YK!vloB<VWWFb#-J;cQ*X`p zRVAjgWzcpwm*ujb(vgm?ac(=6p85Cxy$_xP=O?iaIv(ll=5XDSnUZY#LV-MY*{iD( zk~DCcAVWU**vHe;1a3+Zww)U6X-G%Fj)R@*-6jLwdEHHuBX53E*BxowL>S1{3gI(7 zZ(qIks_@l6>l!<3YlRbx(pU&n2K?&et{I?MlqxEExZeE5bex$OU8V?lYUToJjh*F|EG#wDL%c`^B*dT z+nv3@H;5rYMo7<>R0$k1ICX44snN%#R{RzKLlu2#5Rf(b4&kcQyJ;=Cf%ov4_iGD_ z-Wc=jVwK|tAgGj`Xu%FmP+}!j&97Mn(@On;Pos`A#HH>3y7BmfMZSefSRL&S;EMQ{ zU`yt}0uKTit?Uq@ulnvE9Bg-E@{>G?HZR`reT*J!^E~iH@|^4@@HYVetORR%XAKkY zTvJyLQe6{hcgU@roKUAMGKkeUPumn?X-bhew<8k({w*dsuyM0DAE{|x$Z9Vf*6DPbvv;)wsyJsqo2ige9LuK= z*Z7Fa3Aqy4g6co%ZUe=WOXchp@zh*1Krk~x4xbtOQM9_|L}K!7we>}}4v(t|QO~9U zJSFMP@MKi6CW_pWHwRXUhu@a|d#o$5X2xJ@h)k3gZPn}Q%g7AJn4ya9P{ZW2mqTM;$3Z<6Hs-wOpt+m zy#PM*DSy0m|FqQa-VC>06qeO^{7#q}=otq$GJ3&MY!CYUr~l;|0cAcyssCHQQFFF2 z5l2iuM6E03Wj_c0B*fZ`f0_K;Jder^uxTSQ8I24*X7j?xNVe25X&v!>i~0H5^eW{R1vjphmAmhuv*7*~l3a zn)&kgpu*|N`LcPBK@neU(VXXH0E=I;{Q7OF56p@onBf^>#@|)euVQ{_3<(|-zkMzG z{^j0kl%U8m((07D=)#T~=kZI)HvpTu)ScIpR4oPghFI!!Ryjh^%zh<$OCENu>`NoX z)Okc54e3{{JKubH0&JR6yMOwIFUsuLvH#?nbKrpK7@YpC zy7MkyYNNEtER&6)oz;j|92H`{yvz@5T2eNT_s-2PF~xbY`!sN-;%}6&`WmDsOtf@#Nv=gZ5mR zis^XOM~_lfpx^J}#ITVS+Gv_=aDHtzw1V=TS>0-(kW1R2f?#`bh|LY=il4p0pccX} zLYj0j;DC_t+f@)vzhQ`)&Wx{oc(UmvgV`;M=93?oZ3p+NgsA&yfCl|D!{5Ly^*=i2 zIu+#kXuC?S+%TUU`q>j-RUcDrl1b;Q5jdE6z#$k>3OHz1BAmi+J}D6Q<+m72U^~rW z=sYO?bmI7{x?cc*=>jE-6>%v?(O-jzo&>S!W@3g*MCiAFNj7mF>>D53yoO@hcQ)oK zYt0vSS~}y|r$@)fn<&-D_qhG!YFV?dq~FS_=4JnvLY~j8Xmc+q)JS2?ektXub6;n; zoOr#x4PTvnwkBJv5M>+l5^Ok1y%@v~z~;qq5;$Hjj-_|5BR=;@u0ttShmBIl zX;5SpemUo31!)!C+Yg(Oyq8`Hm5*XRbVg927acl{UEOWqdESL6C@D}`bFn_g!6Xfm z=7{*|_HPbM`3Nwaa_y;KkVxWLO~^ykb>w++K>KNeJkcLUlNS2DAXdoNNJV;D8!`lt#*lxQ6+aN$haQR!n}fVz=Y^CO zy|W@s-9bp?dB=xE%AZ9Q0$0^ashq?Tz&cZJn9{+D#aJeQ8(IQf6@Ww0YT*LFBPvZ0 zrw)<|NCN8uul_&E|Fc}q6$HHor|g_opOJnC@pwNr^0u||wv)E;v?BrFKKwph2>w9m zK3q=}Aq^Lm7Kh)1-PgK^9ER2K%s6T%Cs7e|6@_zv>%e!j; literal 0 HcmV?d00001 diff --git a/resources/azure/general/userprivacy.png b/resources/azure/general/userprivacy.png new file mode 100644 index 0000000000000000000000000000000000000000..09d22ce342589301a4655cad471337bcfd99db91 GIT binary patch literal 11242 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 literal 0 HcmV?d00001 diff --git a/resources/azure/general/userresource.png b/resources/azure/general/userresource.png new file mode 100644 index 0000000000000000000000000000000000000000..1418179aa118e162de974c7ead299dff444a7e1e GIT binary patch literal 14741 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 Q>>+@XoSJN%v_<&;0N#1(L;wH) literal 0 HcmV?d00001 diff --git a/resources/azure/general/whatsnew.png b/resources/azure/general/whatsnew.png new file mode 100644 index 0000000000000000000000000000000000000000..2142d2b38309c00fd4364435407c40d4a4ed00e7 GIT binary patch literal 11376 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 literal 0 HcmV?d00001 From f80974ed5278c445c9044d193365b8281540510e Mon Sep 17 00:00:00 2001 From: Leandro Damascena Date: Thu, 21 May 2020 11:51:12 +0100 Subject: [PATCH 02/23] AWS: new IOT icons, and new categories: game, general, robotics (#161) * AWS: new IOT icons.. New categories: game, general, robotics * Adding SDK in uppercase --- config.py | 6 +- diagrams/aws/game.py | 15 +++++ diagrams/aws/general.py | 57 ++++++++++++++++++ diagrams/aws/iot.py | 41 +++++++++++++ diagrams/aws/robotics.py | 23 +++++++ docs/nodes/aws.md | 34 +++++++++++ resources/aws/game/gamelift.png | Bin 0 -> 18697 bytes resources/aws/general/disk.png | Bin 0 -> 5779 bytes resources/aws/general/general.png | Bin 0 -> 17893 bytes resources/aws/general/generic-database.png | Bin 0 -> 2841 bytes resources/aws/general/generic-firewall.png | Bin 0 -> 5115 bytes .../aws/general/generic-office-building.png | Bin 0 -> 1375 bytes resources/aws/general/generic-saml-token.png | Bin 0 -> 3759 bytes resources/aws/general/generic-sdk.png | Bin 0 -> 3630 bytes resources/aws/general/marketplace.png | Bin 0 -> 17391 bytes resources/aws/general/tradicional-server.png | Bin 0 -> 1164 bytes resources/aws/general/user.png | Bin 0 -> 3863 bytes resources/aws/general/users.png | Bin 0 -> 5299 bytes resources/aws/iot/iot-alexa-echo.png | Bin 0 -> 3244 bytes resources/aws/iot/iot-alexa-skill.png | Bin 0 -> 5313 bytes resources/aws/iot/iot-camera.png | Bin 0 -> 4001 bytes resources/aws/iot/iot-certificate.png | Bin 0 -> 5479 bytes resources/aws/iot/iot-hardware-board.png | Bin 0 -> 4136 bytes resources/aws/iot/iot-jobs.png | Bin 0 -> 4394 bytes resources/aws/iot/iot-mqtt.png | Bin 0 -> 2734 bytes resources/aws/iot/iot-rule.png | Bin 0 -> 3513 bytes resources/aws/iot/iot-shadow.png | Bin 0 -> 4963 bytes resources/aws/iot/iot-topic.png | Bin 0 -> 3116 bytes .../aws/robotics/robomaker-simulator.png | Bin 0 -> 4185 bytes resources/aws/robotics/robomaker.png | Bin 0 -> 7375 bytes resources/aws/robotics/robotics.png | Bin 0 -> 7747 bytes 31 files changed, 175 insertions(+), 1 deletion(-) create mode 100644 diagrams/aws/game.py create mode 100644 diagrams/aws/general.py create mode 100644 diagrams/aws/robotics.py create mode 100644 resources/aws/game/gamelift.png create mode 100644 resources/aws/general/disk.png create mode 100644 resources/aws/general/general.png create mode 100644 resources/aws/general/generic-database.png create mode 100644 resources/aws/general/generic-firewall.png create mode 100644 resources/aws/general/generic-office-building.png create mode 100644 resources/aws/general/generic-saml-token.png create mode 100644 resources/aws/general/generic-sdk.png create mode 100644 resources/aws/general/marketplace.png create mode 100644 resources/aws/general/tradicional-server.png create mode 100644 resources/aws/general/user.png create mode 100644 resources/aws/general/users.png create mode 100644 resources/aws/iot/iot-alexa-echo.png create mode 100644 resources/aws/iot/iot-alexa-skill.png create mode 100644 resources/aws/iot/iot-camera.png create mode 100644 resources/aws/iot/iot-certificate.png create mode 100644 resources/aws/iot/iot-hardware-board.png create mode 100644 resources/aws/iot/iot-jobs.png create mode 100644 resources/aws/iot/iot-mqtt.png create mode 100644 resources/aws/iot/iot-rule.png create mode 100644 resources/aws/iot/iot-shadow.png create mode 100644 resources/aws/iot/iot-topic.png create mode 100644 resources/aws/robotics/robomaker-simulator.png create mode 100644 resources/aws/robotics/robomaker.png create mode 100644 resources/aws/robotics/robotics.png diff --git a/config.py b/config.py index 85affc3e6..ce56ade5f 100644 --- a/config.py +++ b/config.py @@ -48,7 +48,7 @@ TMPL_MODULE = "module.tmpl" UPPER_WORDS = { - "aws": ("aws", "api", "ebs", "ec2", "efs", "emr", "rds", "ml", "mq", "nat", "vpc", "waf"), + "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"), "k8s": ( @@ -144,6 +144,9 @@ "engagement": { "SimpleEmailServiceSes": "SES", }, + "general": { + "GenericOfficeBuilding": "OfficeBuilding", + }, "integration": { "SimpleNotificationServiceSns": "SNS", "SimpleQueueServiceSqs": "SQS", @@ -151,6 +154,7 @@ }, "iot": { "Freertos": "FreeRTOS", + "IotHardwareBoard": "IotBoard", }, "management": { "SystemsManager": "SSM", diff --git a/diagrams/aws/game.py b/diagrams/aws/game.py new file mode 100644 index 000000000..dcd2e0f71 --- /dev/null +++ b/diagrams/aws/game.py @@ -0,0 +1,15 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _AWS + + +class _Game(_AWS): + _type = "game" + _icon_dir = "resources/aws/game" + + +class Gamelift(_Game): + _icon = "gamelift.png" + + +# Aliases diff --git a/diagrams/aws/general.py b/diagrams/aws/general.py new file mode 100644 index 000000000..80284ba6b --- /dev/null +++ b/diagrams/aws/general.py @@ -0,0 +1,57 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _AWS + + +class _General(_AWS): + _type = "general" + _icon_dir = "resources/aws/general" + + +class Disk(_General): + _icon = "disk.png" + + +class General(_General): + _icon = "general.png" + + +class GenericDatabase(_General): + _icon = "generic-database.png" + + +class GenericFirewall(_General): + _icon = "generic-firewall.png" + + +class GenericOfficeBuilding(_General): + _icon = "generic-office-building.png" + + +class GenericSamlToken(_General): + _icon = "generic-saml-token.png" + + +class GenericSDK(_General): + _icon = "generic-sdk.png" + + +class Marketplace(_General): + _icon = "marketplace.png" + + +class TradicionalServer(_General): + _icon = "tradicional-server.png" + + +class User(_General): + _icon = "user.png" + + +class Users(_General): + _icon = "users.png" + + +# Aliases + +OfficeBuilding = GenericOfficeBuilding diff --git a/diagrams/aws/iot.py b/diagrams/aws/iot.py index d413d3edc..4e30beda1 100644 --- a/diagrams/aws/iot.py +++ b/diagrams/aws/iot.py @@ -20,6 +20,14 @@ class Iot1Click(_Iot): _icon = "iot-1-click.png" +class IotAlexaEcho(_Iot): + _icon = "iot-alexa-echo.png" + + +class IotAlexaSkill(_Iot): + _icon = "iot-alexa-skill.png" + + class IotAnalytics(_Iot): _icon = "iot-analytics.png" @@ -28,6 +36,14 @@ class IotButton(_Iot): _icon = "iot-button.png" +class IotCamera(_Iot): + _icon = "iot-camera.png" + + +class IotCertificate(_Iot): + _icon = "iot-certificate.png" + + class IotCore(_Iot): _icon = "iot-core.png" @@ -48,6 +64,26 @@ class IotGreengrass(_Iot): _icon = "iot-greengrass.png" +class IotHardwareBoard(_Iot): + _icon = "iot-hardware-board.png" + + +class IotJobs(_Iot): + _icon = "iot-jobs.png" + + +class IotMqtt(_Iot): + _icon = "iot-mqtt.png" + + +class IotRule(_Iot): + _icon = "iot-rule.png" + + +class IotShadow(_Iot): + _icon = "iot-shadow.png" + + class IotSitewise(_Iot): _icon = "iot-sitewise.png" @@ -56,6 +92,11 @@ class IotThingsGraph(_Iot): _icon = "iot-things-graph.png" +class IotTopic(_Iot): + _icon = "iot-topic.png" + + # Aliases FreeRTOS = Freertos +IotBoard = IotHardwareBoard diff --git a/diagrams/aws/robotics.py b/diagrams/aws/robotics.py new file mode 100644 index 000000000..d2111747b --- /dev/null +++ b/diagrams/aws/robotics.py @@ -0,0 +1,23 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _AWS + + +class _Robotics(_AWS): + _type = "robotics" + _icon_dir = "resources/aws/robotics" + + +class RobomakerSimulator(_Robotics): + _icon = "robomaker-simulator.png" + + +class Robomaker(_Robotics): + _icon = "robomaker.png" + + +class Robotics(_Robotics): + _icon = "robotics.png" + + +# Aliases diff --git a/docs/nodes/aws.md b/docs/nodes/aws.md index 6971abd4d..1c8feb3f0 100644 --- a/docs/nodes/aws.md +++ b/docs/nodes/aws.md @@ -90,6 +90,24 @@ Node classes list of aws provider. - **diagrams.aws.engagement.Pinpoint** - **diagrams.aws.engagement.SimpleEmailServiceSes**, **SES** (alias) +## aws.game + +- **diagrams.aws.game.Gamelift** + +## aws.general + +- **diagrams.aws.general.Disk** +- **diagrams.aws.general.General** +- **diagrams.aws.general.GenericDatabase** +- **diagrams.aws.general.GenericFirewall** +- **diagrams.aws.general.GenericOfficeBuilding**, **OfficeBuilding** (alias) +- **diagrams.aws.general.GenericSamlToken** +- **diagrams.aws.general.GenericSDK** +- **diagrams.aws.general.Marketplace** +- **diagrams.aws.general.TradicionalServer** +- **diagrams.aws.general.User** +- **diagrams.aws.general.Users** + ## aws.integration - **diagrams.aws.integration.ApplicationIntegration** @@ -106,15 +124,25 @@ Node classes list of aws provider. - **diagrams.aws.iot.Freertos**, **FreeRTOS** (alias) - **diagrams.aws.iot.InternetOfThings** - **diagrams.aws.iot.Iot1Click** +- **diagrams.aws.iot.IotAlexaEcho** +- **diagrams.aws.iot.IotAlexaSkill** - **diagrams.aws.iot.IotAnalytics** - **diagrams.aws.iot.IotButton** +- **diagrams.aws.iot.IotCamera** +- **diagrams.aws.iot.IotCertificate** - **diagrams.aws.iot.IotCore** - **diagrams.aws.iot.IotDeviceDefender** - **diagrams.aws.iot.IotDeviceManagement** - **diagrams.aws.iot.IotEvents** - **diagrams.aws.iot.IotGreengrass** +- **diagrams.aws.iot.IotHardwareBoard**, **IotBoard** (alias) +- **diagrams.aws.iot.IotJobs** +- **diagrams.aws.iot.IotMqtt** +- **diagrams.aws.iot.IotRule** +- **diagrams.aws.iot.IotShadow** - **diagrams.aws.iot.IotSitewise** - **diagrams.aws.iot.IotThingsGraph** +- **diagrams.aws.iot.IotTopic** ## aws.management @@ -213,6 +241,12 @@ Node classes list of aws provider. - **diagrams.aws.network.VPCRouter** - **diagrams.aws.network.VPC** +## aws.robotics + +- **diagrams.aws.robotics.RobomakerSimulator** +- **diagrams.aws.robotics.Robomaker** +- **diagrams.aws.robotics.Robotics** + ## aws.security - **diagrams.aws.security.Artifact** diff --git a/resources/aws/game/gamelift.png b/resources/aws/game/gamelift.png new file mode 100644 index 0000000000000000000000000000000000000000..2c161ae625e3b7c6c100f50cad91b8bf57b54fbd GIT binary patch literal 18697 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

8dCc_2nF%2XqRH+G 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 literal 0 HcmV?d00001 From 35c09ca2391f4238e7e7915a6cc59965fbef6900 Mon Sep 17 00:00:00 2001 From: Yazdan <22779039+yzdann@users.noreply.github.com> Date: Sat, 23 May 2020 14:56:36 +0430 Subject: [PATCH 04/23] Add Sentry to onperm.monitoring (#165) * Add sentry.png icon * add Sentry docs and onperm --- diagrams/onprem/monitoring.py | 4 ++++ docs/nodes/onprem.md | 1 + resources/onprem/monitoring/sentry.png | Bin 0 -> 7997 bytes 3 files changed, 5 insertions(+) create mode 100644 resources/onprem/monitoring/sentry.png diff --git a/diagrams/onprem/monitoring.py b/diagrams/onprem/monitoring.py index 3013d05d0..cbabfce76 100644 --- a/diagrams/onprem/monitoring.py +++ b/diagrams/onprem/monitoring.py @@ -24,6 +24,10 @@ class Prometheus(_Monitoring): _icon = "prometheus.png" +class Sentry(_Monitoring): + _icon = "sentry.png" + + class Splunk(_Monitoring): _icon = "splunk.png" diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index 79a98f9f8..372a6678c 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -102,6 +102,7 @@ Node classes list of onprem provider. - **diagrams.onprem.monitoring.Grafana** - **diagrams.onprem.monitoring.Kibana** - **diagrams.onprem.monitoring.Prometheus** +- **diagrams.onprem.monitoring.Sentry** - **diagrams.onprem.monitoring.Splunk** - **diagrams.onprem.monitoring.Thanos** diff --git a/resources/onprem/monitoring/sentry.png b/resources/onprem/monitoring/sentry.png new file mode 100644 index 0000000000000000000000000000000000000000..b30290da0b5aa76782667a50e7dfd3a8abece1e4 GIT binary patch literal 7997 zcmc(Eg;!Kx)b<^6h@qrWX+gTXyBk5erMq+J1{DOP<3~x0)X*RxARyf#A>c?$*L(fG z|KWYlTC?uVUFYsOXYYNV=h^$jYiTILuqm+t0Dvhg$>{(91pEpCpcvrA#IwQ zDC-py%tcJl&Y<&cekJ@6i^kNaVHUoNJQnZm^{Z(j#=jP~R2EmonFMK`ZK1jE#RZQ-)T|qLBLFVDWk#sR>My zr+rlZR=4^wXibucnL~NOYj^xl>UHQtl<;LPgXo)rpn_cqd?~sA(=j9R@i&V7jp1h- z<)e#(b>oydTJi4n77)B5F(gaeJh>%@Hq#za}OOY%XQhsXp6O^MTCx zZdL?SoP=FNXiB%nI9q-qW@w#(Mw4-$b&Nd+7gZXe)lq*phvoCi8h;$FL>M04I8vQ~ z8uP7-6Wzd4UUEapT%CD$XH5XJ?^DQktIpwVTl>pQY5-04Ebv!w#lio-uhSokj~_EU z_yoY)(;7KY5>m`mDOHI*)y5S<$tvx$*`hS;zDr=DZGD=MDr*_?c|F$dYBbqU?n|S4GQIx#~=bUQT-jAvvXnte0=;C>z{-JNiYji zisiO56(BLma{WBy5%cz@Aavj{1Enfy-h@1bU&1P>=w%NEmntqkYzN&loZA^!efRV3 zeL6iWz^86NYLZL!{h4KTtO#f+1NtN$3Hi>A{<4-eIU_%~EA_hTF$=rPimj3?{>Kf$ zyML2NzuEGXOM8@YJ4a6E-2JhU%vE|(2WavB@=x0hD5tWnh+F{dT5Y9>+RN{q(Wu#p zv5jBcp2!r{6Kb8IDqx-8*h)=ND(3ZKaP`-WwI0Q8rY2jaW<+dM&6(`W;C+)5UPp#3tSpn8-+e{+ z

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 literal 0 HcmV?d00001 From f371b96913ac7d5222cbdfc04fc60be34e44b6e8 Mon Sep 17 00:00:00 2001 From: Lukas Grossar Date: Sat, 23 May 2020 15:16:13 +0200 Subject: [PATCH 05/23] Add GitlabCI to onprem.ci section (#166) --- config.py | 1 + diagrams/onprem/ci.py | 5 +++++ docs/nodes/onprem.md | 1 + resources/onprem/ci/gitlabci.png | Bin 0 -> 17108 bytes 4 files changed, 7 insertions(+) create mode 100644 resources/onprem/ci/gitlabci.png diff --git a/config.py b/config.py index ce56ade5f..4a5c138d9 100644 --- a/config.py +++ b/config.py @@ -75,6 +75,7 @@ "onprem": { "ci": { "Circleci": "CircleCI", + "Gitlabci": "GitlabCI", "Travisci": "TravisCI", "Teamcity": "TC", }, diff --git a/diagrams/onprem/ci.py b/diagrams/onprem/ci.py index f6302b05e..fb7b42b07 100644 --- a/diagrams/onprem/ci.py +++ b/diagrams/onprem/ci.py @@ -12,6 +12,10 @@ class Circleci(_Ci): _icon = "circleci.png" +class Gitlabci(_Ci): + _icon = "gitlabci.png" + + class Jenkins(_Ci): _icon = "jenkins.png" @@ -27,5 +31,6 @@ class Travisci(_Ci): # Aliases CircleCI = Circleci +GitlabCI = Gitlabci TravisCI = Travisci TC = Teamcity diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index 372a6678c..c79ea3432 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -24,6 +24,7 @@ Node classes list of onprem provider. ## 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) diff --git a/resources/onprem/ci/gitlabci.png b/resources/onprem/ci/gitlabci.png new file mode 100644 index 0000000000000000000000000000000000000000..5cc42cda52671ce93229595816a4eaf49826f6d0 GIT binary patch literal 17108 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 literal 0 HcmV?d00001 From 049790122b716beb2621524f16f007c89952b2b8 Mon Sep 17 00:00:00 2001 From: mingrammer Date: Sun, 24 May 2020 13:31:06 +0900 Subject: [PATCH 06/23] bump: up to version 0.12.0 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 3ac7e7d2d..9d2a2e753 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "diagrams" -version = "0.11.0" +version = "0.12.0" description = "Diagram as Code" license = "MIT" authors = ["mingrammer "] From c17bf1e2d292faa3891238eb371e43c13af1c852 Mon Sep 17 00:00:00 2001 From: Kenny Ho Date: Sun, 24 May 2020 22:02:30 -0400 Subject: [PATCH 07/23] 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 4a5c138d9..0cb566a58 100644 --- a/config.py +++ b/config.py @@ -78,6 +78,7 @@ "Gitlabci": "GitlabCI", "Travisci": "TravisCI", "Teamcity": "TC", + "Zuulci": "ZuulCI", }, "container": { "Rkt": "RKT", diff --git a/diagrams/onprem/ci.py b/diagrams/onprem/ci.py index fb7b42b07..896e5de66 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 c79ea3432..aedecdf33 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 08/23] 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 766881bcc..3b105ada4 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 0cb566a58..8809a2667 100644 --- a/config.py +++ b/config.py @@ -11,7 +11,7 @@ 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 @@ "aws": ("Amazon-", "AWS-"), "azure": ("Azure-",), "gcp": ("Cloud-",), + "firebase": ("Cloud-",), "k8s": (), "alibabacloud": (), "oci": ("OCI-",), @@ -51,6 +52,7 @@ "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 @@ "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 000000000..a7c9531c5 --- /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 000000000..27426e517 --- /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 000000000..9d5926c23 --- /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 000000000..b015dd3f4 --- /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 000000000..227a4c354 --- /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 63e5377c6..076b18d83 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 000000000..f49a5c9c3 --- /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 7ec0a8798..412def774 100644 --- a/scripts/generate.py +++ b/scripts/generate.py @@ -50,7 +50,7 @@ def _gen_class_name(path: str) -> 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 10575af11..138533a8d 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 @@ def cleaner_programming(f): "aws": cleaner_aws, "azure": cleaner_azure, "gcp": cleaner_gcp, + "firebase": cleaner_firebase, "k8s": cleaner_k8s, "alibabacloud": cleaner_alibabacloud, "oci": cleaner_oci, From eddeb38352773edb96e03610e0e05429fe9fe30e Mon Sep 17 00:00:00 2001 From: gabriel-tessier Date: Tue, 26 May 2020 23:26:38 +0900 Subject: [PATCH 09/23] Add Saas v2 (#89) (#173) --- autogen.sh | 2 +- config.py | 4 +++- diagrams/saas/__init__.py | 12 ++++++++++++ diagrams/saas/chat.py | 19 +++++++++++++++++++ diagrams/saas/social.py | 19 +++++++++++++++++++ docs/nodes/saas.md | 16 ++++++++++++++++ resources/saas/chat/slack.png | Bin 0 -> 17813 bytes resources/saas/chat/telegram.png | Bin 0 -> 9324 bytes resources/saas/social/facebook.png | Bin 0 -> 14991 bytes resources/saas/social/twitter.png | Bin 0 -> 10275 bytes scripts/generate.py | 2 +- scripts/resource.py | 5 +++++ 12 files changed, 76 insertions(+), 3 deletions(-) create mode 100644 diagrams/saas/__init__.py create mode 100644 diagrams/saas/chat.py create mode 100644 diagrams/saas/social.py create mode 100644 docs/nodes/saas.md create mode 100644 resources/saas/chat/slack.png create mode 100644 resources/saas/chat/telegram.png create mode 100755 resources/saas/social/facebook.png create mode 100644 resources/saas/social/twitter.png diff --git a/autogen.sh b/autogen.sh index 3b105ada4..b5dc831d1 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" "firebase" "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' diff --git a/config.py b/config.py index 8809a2667..275baaabe 100644 --- a/config.py +++ b/config.py @@ -11,7 +11,7 @@ DIR_RESOURCE = "resources" DIR_TEMPLATE = "templates" -PROVIDERS = ("base", "onprem", "aws", "azure", "gcp", "firebase", "k8s", "alibabacloud", "oci", "programming") +PROVIDERS = ("base", "onprem", "aws", "azure", "gcp", "firebase", "k8s", "alibabacloud", "oci", "programming", "saas") ######################### # Resource Processing # @@ -34,6 +34,7 @@ "alibabacloud": (), "oci": ("OCI-",), "programming": (), + "saas": (), } ######################### @@ -354,4 +355,5 @@ "Typescript": "TypeScript" }, }, + "saas": {}, } diff --git a/diagrams/saas/__init__.py b/diagrams/saas/__init__.py new file mode 100644 index 000000000..ecae1d803 --- /dev/null +++ b/diagrams/saas/__init__.py @@ -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" diff --git a/diagrams/saas/chat.py b/diagrams/saas/chat.py new file mode 100644 index 000000000..ebdf0532f --- /dev/null +++ b/diagrams/saas/chat.py @@ -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 diff --git a/diagrams/saas/social.py b/diagrams/saas/social.py new file mode 100644 index 000000000..6ad326db5 --- /dev/null +++ b/diagrams/saas/social.py @@ -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 diff --git a/docs/nodes/saas.md b/docs/nodes/saas.md new file mode 100644 index 000000000..4e7ae8828 --- /dev/null +++ b/docs/nodes/saas.md @@ -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** diff --git a/resources/saas/chat/slack.png b/resources/saas/chat/slack.png new file mode 100644 index 0000000000000000000000000000000000000000..b2cf219e8c106ea2ac286ffcd6239a227e543574 GIT binary patch literal 17813 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 Z{~s4XUqW$6g8={l002ovPDHLkV1m?RoIwBp literal 0 HcmV?d00001 diff --git a/resources/saas/social/twitter.png b/resources/saas/social/twitter.png new file mode 100644 index 0000000000000000000000000000000000000000..8320d575ba1e178ae167f6e7b09e083a45d7c1a9 GIT binary patch literal 10275 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 T Template: diff --git a/scripts/resource.py b/scripts/resource.py index 138533a8d..41e44130e 100644 --- a/scripts/resource.py +++ b/scripts/resource.py @@ -94,6 +94,10 @@ def cleaner_programming(f): return f.lower() +def cleaner_saas(f): + return f.lower() + + cleaners = { "onprem": cleaner_onprem, "aws": cleaner_aws, @@ -104,6 +108,7 @@ def cleaner_programming(f): "alibabacloud": cleaner_alibabacloud, "oci": cleaner_oci, "programming": cleaner_programming, + "saas": cleaner_saas, } From a16160b4abcc4c5968ad77a8b8bd7a1a9d4514fc Mon Sep 17 00:00:00 2001 From: Matteo Ruina Date: Fri, 29 May 2020 09:37:53 +0200 Subject: [PATCH 10/23] Add flux and flagger (#147) --- diagrams/onprem/gitops.py | 8 + docs/nodes/alibabacloud.md | 140 +++++------ docs/nodes/aws.md | 364 ++++++++++++++-------------- docs/nodes/gcp.md | 118 ++++----- docs/nodes/k8s.md | 80 +++--- docs/nodes/oci.md | 144 +++++------ docs/nodes/onprem.md | 124 ++++++---- resources/onprem/gitops/flagger.png | Bin 0 -> 27435 bytes resources/onprem/gitops/flux.png | Bin 0 -> 30310 bytes 9 files changed, 514 insertions(+), 464 deletions(-) create mode 100644 resources/onprem/gitops/flagger.png create mode 100644 resources/onprem/gitops/flux.png diff --git a/diagrams/onprem/gitops.py b/diagrams/onprem/gitops.py index 670bd2c50..c4702c624 100644 --- a/diagrams/onprem/gitops.py +++ b/diagrams/onprem/gitops.py @@ -12,6 +12,14 @@ class Argocd(_Gitops): _icon = "argocd.png" +class Flagger(_Gitops): + _icon = "flagger.png" + + +class Flux(_Gitops): + _icon = "flux.png" + + # Aliases ArgoCD = Argocd diff --git a/docs/nodes/alibabacloud.md b/docs/nodes/alibabacloud.md index cc274c240..eb62f5d20 100644 --- a/docs/nodes/alibabacloud.md +++ b/docs/nodes/alibabacloud.md @@ -5,54 +5,6 @@ title: AlibabaCloud Node classes list of alibabacloud provider. -## alibabacloud.analytics - -- **diagrams.alibabacloud.analytics.AnalyticDb** -- **diagrams.alibabacloud.analytics.ClickHouse** -- **diagrams.alibabacloud.analytics.DataLakeAnalytics** -- **diagrams.alibabacloud.analytics.ElaticMapReduce** -- **diagrams.alibabacloud.analytics.OpenSearch** - -## alibabacloud.application - -- **diagrams.alibabacloud.application.ApiGateway** -- **diagrams.alibabacloud.application.BeeBot** -- **diagrams.alibabacloud.application.BlockchainAsAService** -- **diagrams.alibabacloud.application.CloudCallCenter** -- **diagrams.alibabacloud.application.CodePipeline** -- **diagrams.alibabacloud.application.DirectMail** -- **diagrams.alibabacloud.application.LogService**, **SLS** (alias) -- **diagrams.alibabacloud.application.MessageNotificationService**, **MNS** (alias) -- **diagrams.alibabacloud.application.NodeJsPerformancePlatform** -- **diagrams.alibabacloud.application.OpenSearch** -- **diagrams.alibabacloud.application.PerformanceTestingService**, **PTS** (alias) -- **diagrams.alibabacloud.application.RdCloud** -- **diagrams.alibabacloud.application.SmartConversationAnalysis**, **SCA** (alias) -- **diagrams.alibabacloud.application.Yida** - -## alibabacloud.communication - -- **diagrams.alibabacloud.communication.DirectMail** -- **diagrams.alibabacloud.communication.MobilePush** - -## alibabacloud.compute - -- **diagrams.alibabacloud.compute.AutoScaling**, **ESS** (alias) -- **diagrams.alibabacloud.compute.BatchCompute** -- **diagrams.alibabacloud.compute.ContainerRegistry** -- **diagrams.alibabacloud.compute.ContainerService** -- **diagrams.alibabacloud.compute.ElasticComputeService**, **ECS** (alias) -- **diagrams.alibabacloud.compute.ElasticContainerInstance**, **ECI** (alias) -- **diagrams.alibabacloud.compute.ElasticHighPerformanceComputing**, **EHPC** (alias) -- **diagrams.alibabacloud.compute.ElasticSearch** -- **diagrams.alibabacloud.compute.FunctionCompute**, **FC** (alias) -- **diagrams.alibabacloud.compute.OperationOrchestrationService**, **OOS** (alias) -- **diagrams.alibabacloud.compute.ResourceOrchestrationService**, **ROS** (alias) -- **diagrams.alibabacloud.compute.ServerLoadBalancer**, **SLB** (alias) -- **diagrams.alibabacloud.compute.ServerlessAppEngine**, **SAE** (alias) -- **diagrams.alibabacloud.compute.SimpleApplicationServer**, **SAS** (alias) -- **diagrams.alibabacloud.compute.WebAppService**, **WAS** (alias) - ## alibabacloud.database - **diagrams.alibabacloud.database.ApsaradbCassandra** @@ -73,25 +25,6 @@ Node classes list of alibabacloud provider. - **diagrams.alibabacloud.database.HybriddbForMysql** - **diagrams.alibabacloud.database.RelationalDatabaseService**, **RDS** (alias) -## alibabacloud.iot - -- **diagrams.alibabacloud.iot.IotInternetDeviceId** -- **diagrams.alibabacloud.iot.IotLinkWan** -- **diagrams.alibabacloud.iot.IotMobileConnectionPackage** -- **diagrams.alibabacloud.iot.IotPlatform** - -## alibabacloud.network - -- **diagrams.alibabacloud.network.Cdn** -- **diagrams.alibabacloud.network.CloudEnterpriseNetwork**, **CEN** (alias) -- **diagrams.alibabacloud.network.ElasticIpAddress**, **EIP** (alias) -- **diagrams.alibabacloud.network.ExpressConnect** -- **diagrams.alibabacloud.network.NatGateway** -- **diagrams.alibabacloud.network.ServerLoadBalancer**, **SLB** (alias) -- **diagrams.alibabacloud.network.SmartAccessGateway** -- **diagrams.alibabacloud.network.VirtualPrivateCloud**, **VPC** (alias) -- **diagrams.alibabacloud.network.VpnGateway** - ## alibabacloud.security - **diagrams.alibabacloud.security.AntiBotService**, **ABS** (alias) @@ -113,6 +46,23 @@ Node classes list of alibabacloud provider. - **diagrams.alibabacloud.security.SslCertificates** - **diagrams.alibabacloud.security.WebApplicationFirewall**, **WAF** (alias) +## alibabacloud.web + +- **diagrams.alibabacloud.web.Dns** +- **diagrams.alibabacloud.web.Domain** + +## alibabacloud.network + +- **diagrams.alibabacloud.network.Cdn** +- **diagrams.alibabacloud.network.CloudEnterpriseNetwork**, **CEN** (alias) +- **diagrams.alibabacloud.network.ElasticIpAddress**, **EIP** (alias) +- **diagrams.alibabacloud.network.ExpressConnect** +- **diagrams.alibabacloud.network.NatGateway** +- **diagrams.alibabacloud.network.ServerLoadBalancer**, **SLB** (alias) +- **diagrams.alibabacloud.network.SmartAccessGateway** +- **diagrams.alibabacloud.network.VirtualPrivateCloud**, **VPC** (alias) +- **diagrams.alibabacloud.network.VpnGateway** + ## alibabacloud.storage - **diagrams.alibabacloud.storage.CloudStorageGateway** @@ -124,7 +74,57 @@ Node classes list of alibabacloud provider. - **diagrams.alibabacloud.storage.ObjectStorageService**, **OSS** (alias) - **diagrams.alibabacloud.storage.ObjectTableStore**, **OTS** (alias) -## alibabacloud.web +## alibabacloud.iot -- **diagrams.alibabacloud.web.Dns** -- **diagrams.alibabacloud.web.Domain** +- **diagrams.alibabacloud.iot.IotInternetDeviceId** +- **diagrams.alibabacloud.iot.IotLinkWan** +- **diagrams.alibabacloud.iot.IotMobileConnectionPackage** +- **diagrams.alibabacloud.iot.IotPlatform** + +## alibabacloud.compute + +- **diagrams.alibabacloud.compute.AutoScaling**, **ESS** (alias) +- **diagrams.alibabacloud.compute.BatchCompute** +- **diagrams.alibabacloud.compute.ContainerRegistry** +- **diagrams.alibabacloud.compute.ContainerService** +- **diagrams.alibabacloud.compute.ElasticComputeService**, **ECS** (alias) +- **diagrams.alibabacloud.compute.ElasticContainerInstance**, **ECI** (alias) +- **diagrams.alibabacloud.compute.ElasticHighPerformanceComputing**, **EHPC** (alias) +- **diagrams.alibabacloud.compute.ElasticSearch** +- **diagrams.alibabacloud.compute.FunctionCompute**, **FC** (alias) +- **diagrams.alibabacloud.compute.OperationOrchestrationService**, **OOS** (alias) +- **diagrams.alibabacloud.compute.ResourceOrchestrationService**, **ROS** (alias) +- **diagrams.alibabacloud.compute.ServerLoadBalancer**, **SLB** (alias) +- **diagrams.alibabacloud.compute.ServerlessAppEngine**, **SAE** (alias) +- **diagrams.alibabacloud.compute.SimpleApplicationServer**, **SAS** (alias) +- **diagrams.alibabacloud.compute.WebAppService**, **WAS** (alias) + +## alibabacloud.application + +- **diagrams.alibabacloud.application.ApiGateway** +- **diagrams.alibabacloud.application.BeeBot** +- **diagrams.alibabacloud.application.BlockchainAsAService** +- **diagrams.alibabacloud.application.CloudCallCenter** +- **diagrams.alibabacloud.application.CodePipeline** +- **diagrams.alibabacloud.application.DirectMail** +- **diagrams.alibabacloud.application.LogService**, **SLS** (alias) +- **diagrams.alibabacloud.application.MessageNotificationService**, **MNS** (alias) +- **diagrams.alibabacloud.application.NodeJsPerformancePlatform** +- **diagrams.alibabacloud.application.OpenSearch** +- **diagrams.alibabacloud.application.PerformanceTestingService**, **PTS** (alias) +- **diagrams.alibabacloud.application.RdCloud** +- **diagrams.alibabacloud.application.SmartConversationAnalysis**, **SCA** (alias) +- **diagrams.alibabacloud.application.Yida** + +## alibabacloud.communication + +- **diagrams.alibabacloud.communication.DirectMail** +- **diagrams.alibabacloud.communication.MobilePush** + +## alibabacloud.analytics + +- **diagrams.alibabacloud.analytics.AnalyticDb** +- **diagrams.alibabacloud.analytics.ClickHouse** +- **diagrams.alibabacloud.analytics.DataLakeAnalytics** +- **diagrams.alibabacloud.analytics.ElaticMapReduce** +- **diagrams.alibabacloud.analytics.OpenSearch** diff --git a/docs/nodes/aws.md b/docs/nodes/aws.md index 1c8feb3f0..e5eff58d8 100644 --- a/docs/nodes/aws.md +++ b/docs/nodes/aws.md @@ -5,56 +5,6 @@ title: AWS Node classes list of aws provider. -## aws.analytics - -- **diagrams.aws.analytics.Analytics** -- **diagrams.aws.analytics.Athena** -- **diagrams.aws.analytics.CloudsearchSearchDocuments** -- **diagrams.aws.analytics.Cloudsearch** -- **diagrams.aws.analytics.DataPipeline** -- **diagrams.aws.analytics.ElasticsearchService**, **ES** (alias) -- **diagrams.aws.analytics.EMRCluster** -- **diagrams.aws.analytics.EMRHdfsCluster** -- **diagrams.aws.analytics.EMR** -- **diagrams.aws.analytics.GlueCrawlers** -- **diagrams.aws.analytics.GlueDataCatalog** -- **diagrams.aws.analytics.Glue** -- **diagrams.aws.analytics.KinesisDataAnalytics** -- **diagrams.aws.analytics.KinesisDataFirehose** -- **diagrams.aws.analytics.KinesisDataStreams** -- **diagrams.aws.analytics.KinesisVideoStreams** -- **diagrams.aws.analytics.Kinesis** -- **diagrams.aws.analytics.LakeFormation** -- **diagrams.aws.analytics.ManagedStreamingForKafka** -- **diagrams.aws.analytics.Quicksight** -- **diagrams.aws.analytics.RedshiftDenseComputeNode** -- **diagrams.aws.analytics.RedshiftDenseStorageNode** -- **diagrams.aws.analytics.Redshift** - -## aws.compute - -- **diagrams.aws.compute.ApplicationAutoScaling**, **AutoScaling** (alias) -- **diagrams.aws.compute.Batch** -- **diagrams.aws.compute.Compute** -- **diagrams.aws.compute.EC2ContainerRegistry**, **ECR** (alias) -- **diagrams.aws.compute.EC2** -- **diagrams.aws.compute.ElasticBeanstalk**, **EB** (alias) -- **diagrams.aws.compute.ElasticContainerService**, **ECS** (alias) -- **diagrams.aws.compute.ElasticKubernetesService**, **EKS** (alias) -- **diagrams.aws.compute.Fargate** -- **diagrams.aws.compute.Lambda** -- **diagrams.aws.compute.Lightsail** -- **diagrams.aws.compute.Outposts** -- **diagrams.aws.compute.ServerlessApplicationRepository**, **SAR** (alias) -- **diagrams.aws.compute.ThinkboxDeadline** -- **diagrams.aws.compute.ThinkboxDraft** -- **diagrams.aws.compute.ThinkboxFrost** -- **diagrams.aws.compute.ThinkboxKrakatoa** -- **diagrams.aws.compute.ThinkboxSequoia** -- **diagrams.aws.compute.ThinkboxStoke** -- **diagrams.aws.compute.ThinkboxXmesh** -- **diagrams.aws.compute.VmwareCloudOnAWS** - ## aws.database - **diagrams.aws.database.Aurora** @@ -70,29 +20,27 @@ Node classes list of aws provider. - **diagrams.aws.database.Redshift** - **diagrams.aws.database.Timestream** -## aws.devtools - -- **diagrams.aws.devtools.CloudDevelopmentKit** -- **diagrams.aws.devtools.Cloud9** -- **diagrams.aws.devtools.Codebuild** -- **diagrams.aws.devtools.Codecommit** -- **diagrams.aws.devtools.Codedeploy** -- **diagrams.aws.devtools.Codepipeline** -- **diagrams.aws.devtools.Codestar** -- **diagrams.aws.devtools.CommandLineInterface**, **CLI** (alias) -- **diagrams.aws.devtools.DeveloperTools**, **DevTools** (alias) -- **diagrams.aws.devtools.ToolsAndSdks** -- **diagrams.aws.devtools.XRay** - -## aws.engagement - -- **diagrams.aws.engagement.Connect** -- **diagrams.aws.engagement.Pinpoint** -- **diagrams.aws.engagement.SimpleEmailServiceSes**, **SES** (alias) - -## aws.game +## aws.security -- **diagrams.aws.game.Gamelift** +- **diagrams.aws.security.Artifact** +- **diagrams.aws.security.CertificateManager**, **ACM** (alias) +- **diagrams.aws.security.CloudDirectory** +- **diagrams.aws.security.Cloudhsm**, **CloudHSM** (alias) +- **diagrams.aws.security.Cognito** +- **diagrams.aws.security.DirectoryService**, **DS** (alias) +- **diagrams.aws.security.FirewallManager**, **FMS** (alias) +- **diagrams.aws.security.Guardduty** +- **diagrams.aws.security.IdentityAndAccessManagementIam**, **IAM** (alias) +- **diagrams.aws.security.Inspector** +- **diagrams.aws.security.KeyManagementService**, **KMS** (alias) +- **diagrams.aws.security.Macie** +- **diagrams.aws.security.ResourceAccessManager**, **RAM** (alias) +- **diagrams.aws.security.SecretsManager** +- **diagrams.aws.security.SecurityHub** +- **diagrams.aws.security.SecurityIdentityAndCompliance** +- **diagrams.aws.security.Shield** +- **diagrams.aws.security.SingleSignOn** +- **diagrams.aws.security.WAF** ## aws.general @@ -119,6 +67,82 @@ Node classes list of aws provider. - **diagrams.aws.integration.SimpleQueueServiceSqs**, **SQS** (alias) - **diagrams.aws.integration.StepFunctions**, **SF** (alias) +## aws.robotics + +- **diagrams.aws.robotics.RobomakerSimulator** +- **diagrams.aws.robotics.Robomaker** +- **diagrams.aws.robotics.Robotics** + +## aws.network + +- **diagrams.aws.network.APIGateway** +- **diagrams.aws.network.AppMesh** +- **diagrams.aws.network.ClientVpn** +- **diagrams.aws.network.CloudMap** +- **diagrams.aws.network.CloudFront**, **CF** (alias) +- **diagrams.aws.network.DirectConnect** +- **diagrams.aws.network.ElasticLoadBalancing**, **ELB** (alias) +- **diagrams.aws.network.Endpoint** +- **diagrams.aws.network.GlobalAccelerator**, **GAX** (alias) +- **diagrams.aws.network.InternetGateway** +- **diagrams.aws.network.Nacl** +- **diagrams.aws.network.NATGateway** +- **diagrams.aws.network.NetworkingAndContentDelivery** +- **diagrams.aws.network.PrivateSubnet** +- **diagrams.aws.network.Privatelink** +- **diagrams.aws.network.PublicSubnet** +- **diagrams.aws.network.Route53** +- **diagrams.aws.network.RouteTable** +- **diagrams.aws.network.SiteToSiteVpn** +- **diagrams.aws.network.TransitGateway** +- **diagrams.aws.network.VPCPeering** +- **diagrams.aws.network.VPCRouter** +- **diagrams.aws.network.VPC** + +## aws.management + +- **diagrams.aws.management.AutoScaling** +- **diagrams.aws.management.Cloudformation** +- **diagrams.aws.management.Cloudtrail** +- **diagrams.aws.management.Cloudwatch** +- **diagrams.aws.management.Codeguru** +- **diagrams.aws.management.CommandLineInterface** +- **diagrams.aws.management.Config** +- **diagrams.aws.management.ControlTower** +- **diagrams.aws.management.LicenseManager** +- **diagrams.aws.management.ManagedServices** +- **diagrams.aws.management.ManagementConsole** +- **diagrams.aws.management.Opsworks** +- **diagrams.aws.management.Organizations** +- **diagrams.aws.management.ServiceCatalog** +- **diagrams.aws.management.SystemsManagerParameterStore**, **ParameterStore** (alias) +- **diagrams.aws.management.SystemsManager**, **SSM** (alias) +- **diagrams.aws.management.TrustedAdvisor** +- **diagrams.aws.management.WellArchitectedTool** + +## aws.game + +- **diagrams.aws.game.Gamelift** + +## aws.storage + +- **diagrams.aws.storage.Backup** +- **diagrams.aws.storage.CloudendureDisasterRecovery**, **CDR** (alias) +- **diagrams.aws.storage.EFSInfrequentaccessPrimaryBg** +- **diagrams.aws.storage.EFSStandardPrimaryBg** +- **diagrams.aws.storage.ElasticBlockStoreEBS**, **EBS** (alias) +- **diagrams.aws.storage.ElasticFileSystemEFS**, **EFS** (alias) +- **diagrams.aws.storage.FsxForLustre** +- **diagrams.aws.storage.FsxForWindowsFileServer** +- **diagrams.aws.storage.Fsx**, **FSx** (alias) +- **diagrams.aws.storage.S3Glacier** +- **diagrams.aws.storage.SimpleStorageServiceS3**, **S3** (alias) +- **diagrams.aws.storage.SnowballEdge** +- **diagrams.aws.storage.Snowball** +- **diagrams.aws.storage.Snowmobile** +- **diagrams.aws.storage.StorageGateway** +- **diagrams.aws.storage.Storage** + ## aws.iot - **diagrams.aws.iot.Freertos**, **FreeRTOS** (alias) @@ -144,54 +168,49 @@ Node classes list of aws provider. - **diagrams.aws.iot.IotThingsGraph** - **diagrams.aws.iot.IotTopic** -## aws.management +## aws.engagement -- **diagrams.aws.management.AutoScaling** -- **diagrams.aws.management.Cloudformation** -- **diagrams.aws.management.Cloudtrail** -- **diagrams.aws.management.Cloudwatch** -- **diagrams.aws.management.Codeguru** -- **diagrams.aws.management.CommandLineInterface** -- **diagrams.aws.management.Config** -- **diagrams.aws.management.ControlTower** -- **diagrams.aws.management.LicenseManager** -- **diagrams.aws.management.ManagedServices** -- **diagrams.aws.management.ManagementConsole** -- **diagrams.aws.management.Opsworks** -- **diagrams.aws.management.Organizations** -- **diagrams.aws.management.ServiceCatalog** -- **diagrams.aws.management.SystemsManagerParameterStore**, **ParameterStore** (alias) -- **diagrams.aws.management.SystemsManager**, **SSM** (alias) -- **diagrams.aws.management.TrustedAdvisor** -- **diagrams.aws.management.WellArchitectedTool** +- **diagrams.aws.engagement.Connect** +- **diagrams.aws.engagement.Pinpoint** +- **diagrams.aws.engagement.SimpleEmailServiceSes**, **SES** (alias) -## aws.media +## aws.compute -- **diagrams.aws.media.ElasticTranscoder** -- **diagrams.aws.media.ElementalConductor** -- **diagrams.aws.media.ElementalDelta** -- **diagrams.aws.media.ElementalLive** -- **diagrams.aws.media.ElementalMediaconnect** -- **diagrams.aws.media.ElementalMediaconvert** -- **diagrams.aws.media.ElementalMedialive** -- **diagrams.aws.media.ElementalMediapackage** -- **diagrams.aws.media.ElementalMediastore** -- **diagrams.aws.media.ElementalMediatailor** -- **diagrams.aws.media.ElementalServer** +- **diagrams.aws.compute.ApplicationAutoScaling**, **AutoScaling** (alias) +- **diagrams.aws.compute.Batch** +- **diagrams.aws.compute.Compute** +- **diagrams.aws.compute.EC2ContainerRegistry**, **ECR** (alias) +- **diagrams.aws.compute.EC2** +- **diagrams.aws.compute.ElasticBeanstalk**, **EB** (alias) +- **diagrams.aws.compute.ElasticContainerService**, **ECS** (alias) +- **diagrams.aws.compute.ElasticKubernetesService**, **EKS** (alias) +- **diagrams.aws.compute.Fargate** +- **diagrams.aws.compute.Lambda** +- **diagrams.aws.compute.Lightsail** +- **diagrams.aws.compute.Outposts** +- **diagrams.aws.compute.ServerlessApplicationRepository**, **SAR** (alias) +- **diagrams.aws.compute.ThinkboxDeadline** +- **diagrams.aws.compute.ThinkboxDraft** +- **diagrams.aws.compute.ThinkboxFrost** +- **diagrams.aws.compute.ThinkboxKrakatoa** +- **diagrams.aws.compute.ThinkboxSequoia** +- **diagrams.aws.compute.ThinkboxStoke** +- **diagrams.aws.compute.ThinkboxXmesh** +- **diagrams.aws.compute.VmwareCloudOnAWS** -## aws.migration +## aws.devtools -- **diagrams.aws.migration.ApplicationDiscoveryService**, **ADS** (alias) -- **diagrams.aws.migration.CloudendureMigration**, **CEM** (alias) -- **diagrams.aws.migration.DatabaseMigrationService**, **DMS** (alias) -- **diagrams.aws.migration.Datasync** -- **diagrams.aws.migration.MigrationAndTransfer**, **MAT** (alias) -- **diagrams.aws.migration.MigrationHub** -- **diagrams.aws.migration.ServerMigrationService**, **SMS** (alias) -- **diagrams.aws.migration.SnowballEdge** -- **diagrams.aws.migration.Snowball** -- **diagrams.aws.migration.Snowmobile** -- **diagrams.aws.migration.TransferForSftp** +- **diagrams.aws.devtools.CloudDevelopmentKit** +- **diagrams.aws.devtools.Cloud9** +- **diagrams.aws.devtools.Codebuild** +- **diagrams.aws.devtools.Codecommit** +- **diagrams.aws.devtools.Codedeploy** +- **diagrams.aws.devtools.Codepipeline** +- **diagrams.aws.devtools.Codestar** +- **diagrams.aws.devtools.CommandLineInterface**, **CLI** (alias) +- **diagrams.aws.devtools.DeveloperTools**, **DevTools** (alias) +- **diagrams.aws.devtools.ToolsAndSdks** +- **diagrams.aws.devtools.XRay** ## aws.ml @@ -215,75 +234,56 @@ Node classes list of aws provider. - **diagrams.aws.ml.Transcribe** - **diagrams.aws.ml.Translate** -## aws.network - -- **diagrams.aws.network.APIGateway** -- **diagrams.aws.network.AppMesh** -- **diagrams.aws.network.ClientVpn** -- **diagrams.aws.network.CloudMap** -- **diagrams.aws.network.CloudFront**, **CF** (alias) -- **diagrams.aws.network.DirectConnect** -- **diagrams.aws.network.ElasticLoadBalancing**, **ELB** (alias) -- **diagrams.aws.network.Endpoint** -- **diagrams.aws.network.GlobalAccelerator**, **GAX** (alias) -- **diagrams.aws.network.InternetGateway** -- **diagrams.aws.network.Nacl** -- **diagrams.aws.network.NATGateway** -- **diagrams.aws.network.NetworkingAndContentDelivery** -- **diagrams.aws.network.PrivateSubnet** -- **diagrams.aws.network.Privatelink** -- **diagrams.aws.network.PublicSubnet** -- **diagrams.aws.network.Route53** -- **diagrams.aws.network.RouteTable** -- **diagrams.aws.network.SiteToSiteVpn** -- **diagrams.aws.network.TransitGateway** -- **diagrams.aws.network.VPCPeering** -- **diagrams.aws.network.VPCRouter** -- **diagrams.aws.network.VPC** - -## aws.robotics +## aws.migration -- **diagrams.aws.robotics.RobomakerSimulator** -- **diagrams.aws.robotics.Robomaker** -- **diagrams.aws.robotics.Robotics** +- **diagrams.aws.migration.ApplicationDiscoveryService**, **ADS** (alias) +- **diagrams.aws.migration.CloudendureMigration**, **CEM** (alias) +- **diagrams.aws.migration.DatabaseMigrationService**, **DMS** (alias) +- **diagrams.aws.migration.Datasync** +- **diagrams.aws.migration.MigrationAndTransfer**, **MAT** (alias) +- **diagrams.aws.migration.MigrationHub** +- **diagrams.aws.migration.ServerMigrationService**, **SMS** (alias) +- **diagrams.aws.migration.SnowballEdge** +- **diagrams.aws.migration.Snowball** +- **diagrams.aws.migration.Snowmobile** +- **diagrams.aws.migration.TransferForSftp** -## aws.security +## aws.analytics -- **diagrams.aws.security.Artifact** -- **diagrams.aws.security.CertificateManager**, **ACM** (alias) -- **diagrams.aws.security.CloudDirectory** -- **diagrams.aws.security.Cloudhsm**, **CloudHSM** (alias) -- **diagrams.aws.security.Cognito** -- **diagrams.aws.security.DirectoryService**, **DS** (alias) -- **diagrams.aws.security.FirewallManager**, **FMS** (alias) -- **diagrams.aws.security.Guardduty** -- **diagrams.aws.security.IdentityAndAccessManagementIam**, **IAM** (alias) -- **diagrams.aws.security.Inspector** -- **diagrams.aws.security.KeyManagementService**, **KMS** (alias) -- **diagrams.aws.security.Macie** -- **diagrams.aws.security.ResourceAccessManager**, **RAM** (alias) -- **diagrams.aws.security.SecretsManager** -- **diagrams.aws.security.SecurityHub** -- **diagrams.aws.security.SecurityIdentityAndCompliance** -- **diagrams.aws.security.Shield** -- **diagrams.aws.security.SingleSignOn** -- **diagrams.aws.security.WAF** +- **diagrams.aws.analytics.Analytics** +- **diagrams.aws.analytics.Athena** +- **diagrams.aws.analytics.CloudsearchSearchDocuments** +- **diagrams.aws.analytics.Cloudsearch** +- **diagrams.aws.analytics.DataPipeline** +- **diagrams.aws.analytics.ElasticsearchService**, **ES** (alias) +- **diagrams.aws.analytics.EMRCluster** +- **diagrams.aws.analytics.EMRHdfsCluster** +- **diagrams.aws.analytics.EMR** +- **diagrams.aws.analytics.GlueCrawlers** +- **diagrams.aws.analytics.GlueDataCatalog** +- **diagrams.aws.analytics.Glue** +- **diagrams.aws.analytics.KinesisDataAnalytics** +- **diagrams.aws.analytics.KinesisDataFirehose** +- **diagrams.aws.analytics.KinesisDataStreams** +- **diagrams.aws.analytics.KinesisVideoStreams** +- **diagrams.aws.analytics.Kinesis** +- **diagrams.aws.analytics.LakeFormation** +- **diagrams.aws.analytics.ManagedStreamingForKafka** +- **diagrams.aws.analytics.Quicksight** +- **diagrams.aws.analytics.RedshiftDenseComputeNode** +- **diagrams.aws.analytics.RedshiftDenseStorageNode** +- **diagrams.aws.analytics.Redshift** -## aws.storage +## aws.media -- **diagrams.aws.storage.Backup** -- **diagrams.aws.storage.CloudendureDisasterRecovery**, **CDR** (alias) -- **diagrams.aws.storage.EFSInfrequentaccessPrimaryBg** -- **diagrams.aws.storage.EFSStandardPrimaryBg** -- **diagrams.aws.storage.ElasticBlockStoreEBS**, **EBS** (alias) -- **diagrams.aws.storage.ElasticFileSystemEFS**, **EFS** (alias) -- **diagrams.aws.storage.FsxForLustre** -- **diagrams.aws.storage.FsxForWindowsFileServer** -- **diagrams.aws.storage.Fsx**, **FSx** (alias) -- **diagrams.aws.storage.S3Glacier** -- **diagrams.aws.storage.SimpleStorageServiceS3**, **S3** (alias) -- **diagrams.aws.storage.SnowballEdge** -- **diagrams.aws.storage.Snowball** -- **diagrams.aws.storage.Snowmobile** -- **diagrams.aws.storage.StorageGateway** -- **diagrams.aws.storage.Storage** +- **diagrams.aws.media.ElasticTranscoder** +- **diagrams.aws.media.ElementalConductor** +- **diagrams.aws.media.ElementalDelta** +- **diagrams.aws.media.ElementalLive** +- **diagrams.aws.media.ElementalMediaconnect** +- **diagrams.aws.media.ElementalMediaconvert** +- **diagrams.aws.media.ElementalMedialive** +- **diagrams.aws.media.ElementalMediapackage** +- **diagrams.aws.media.ElementalMediastore** +- **diagrams.aws.media.ElementalMediatailor** +- **diagrams.aws.media.ElementalServer** diff --git a/docs/nodes/gcp.md b/docs/nodes/gcp.md index 91032ce32..20c564535 100644 --- a/docs/nodes/gcp.md +++ b/docs/nodes/gcp.md @@ -5,18 +5,53 @@ title: GCP Node classes list of gcp provider. -## gcp.analytics +## gcp.database -- **diagrams.gcp.analytics.Bigquery**, **BigQuery** (alias) -- **diagrams.gcp.analytics.Composer** -- **diagrams.gcp.analytics.DataCatalog** -- **diagrams.gcp.analytics.DataFusion** -- **diagrams.gcp.analytics.Dataflow** -- **diagrams.gcp.analytics.Datalab** -- **diagrams.gcp.analytics.Dataprep** -- **diagrams.gcp.analytics.Dataproc** -- **diagrams.gcp.analytics.Genomics** -- **diagrams.gcp.analytics.Pubsub**, **PubSub** (alias) +- **diagrams.gcp.database.Bigtable**, **BigTable** (alias) +- **diagrams.gcp.database.Datastore** +- **diagrams.gcp.database.Firestore** +- **diagrams.gcp.database.Memorystore** +- **diagrams.gcp.database.Spanner** +- **diagrams.gcp.database.SQL** + +## gcp.security + +- **diagrams.gcp.security.Iam** +- **diagrams.gcp.security.IAP** +- **diagrams.gcp.security.KeyManagementService**, **KMS** (alias) +- **diagrams.gcp.security.ResourceManager** +- **diagrams.gcp.security.SecurityCommandCenter**, **SCC** (alias) +- **diagrams.gcp.security.SecurityScanner** + +## gcp.network + +- **diagrams.gcp.network.Armor** +- **diagrams.gcp.network.CDN** +- **diagrams.gcp.network.DedicatedInterconnect** +- **diagrams.gcp.network.DNS** +- **diagrams.gcp.network.ExternalIpAddresses** +- **diagrams.gcp.network.FirewallRules** +- **diagrams.gcp.network.LoadBalancing** +- **diagrams.gcp.network.NAT** +- **diagrams.gcp.network.Network** +- **diagrams.gcp.network.PartnerInterconnect** +- **diagrams.gcp.network.PremiumNetworkTier** +- **diagrams.gcp.network.Router** +- **diagrams.gcp.network.Routes** +- **diagrams.gcp.network.StandardNetworkTier** +- **diagrams.gcp.network.TrafficDirector** +- **diagrams.gcp.network.VirtualPrivateCloud**, **VPC** (alias) +- **diagrams.gcp.network.VPN** + +## gcp.storage + +- **diagrams.gcp.storage.Filestore** +- **diagrams.gcp.storage.PersistentDisk** +- **diagrams.gcp.storage.Storage**, **GCS** (alias) + +## gcp.iot + +- **diagrams.gcp.iot.IotCore** ## gcp.compute @@ -29,15 +64,6 @@ Node classes list of gcp provider. - **diagrams.gcp.compute.KubernetesEngine**, **GKE** (alias) - **diagrams.gcp.compute.Run** -## gcp.database - -- **diagrams.gcp.database.Bigtable**, **BigTable** (alias) -- **diagrams.gcp.database.Datastore** -- **diagrams.gcp.database.Firestore** -- **diagrams.gcp.database.Memorystore** -- **diagrams.gcp.database.Spanner** -- **diagrams.gcp.database.SQL** - ## gcp.devtools - **diagrams.gcp.devtools.Build** @@ -56,14 +82,6 @@ Node classes list of gcp provider. - **diagrams.gcp.devtools.ToolsForPowershell** - **diagrams.gcp.devtools.ToolsForVisualStudio** -## gcp.iot - -- **diagrams.gcp.iot.IotCore** - -## gcp.migration - -- **diagrams.gcp.migration.TransferAppliance** - ## gcp.ml - **diagrams.gcp.ml.AdvancedSolutionsLab** @@ -88,37 +106,19 @@ Node classes list of gcp provider. - **diagrams.gcp.ml.VideoIntelligenceAPI** - **diagrams.gcp.ml.VisionAPI** -## gcp.network - -- **diagrams.gcp.network.Armor** -- **diagrams.gcp.network.CDN** -- **diagrams.gcp.network.DedicatedInterconnect** -- **diagrams.gcp.network.DNS** -- **diagrams.gcp.network.ExternalIpAddresses** -- **diagrams.gcp.network.FirewallRules** -- **diagrams.gcp.network.LoadBalancing** -- **diagrams.gcp.network.NAT** -- **diagrams.gcp.network.Network** -- **diagrams.gcp.network.PartnerInterconnect** -- **diagrams.gcp.network.PremiumNetworkTier** -- **diagrams.gcp.network.Router** -- **diagrams.gcp.network.Routes** -- **diagrams.gcp.network.StandardNetworkTier** -- **diagrams.gcp.network.TrafficDirector** -- **diagrams.gcp.network.VirtualPrivateCloud**, **VPC** (alias) -- **diagrams.gcp.network.VPN** - -## gcp.security +## gcp.migration -- **diagrams.gcp.security.Iam** -- **diagrams.gcp.security.IAP** -- **diagrams.gcp.security.KeyManagementService**, **KMS** (alias) -- **diagrams.gcp.security.ResourceManager** -- **diagrams.gcp.security.SecurityCommandCenter**, **SCC** (alias) -- **diagrams.gcp.security.SecurityScanner** +- **diagrams.gcp.migration.TransferAppliance** -## gcp.storage +## gcp.analytics -- **diagrams.gcp.storage.Filestore** -- **diagrams.gcp.storage.PersistentDisk** -- **diagrams.gcp.storage.Storage**, **GCS** (alias) +- **diagrams.gcp.analytics.Bigquery**, **BigQuery** (alias) +- **diagrams.gcp.analytics.Composer** +- **diagrams.gcp.analytics.DataCatalog** +- **diagrams.gcp.analytics.DataFusion** +- **diagrams.gcp.analytics.Dataflow** +- **diagrams.gcp.analytics.Datalab** +- **diagrams.gcp.analytics.Dataprep** +- **diagrams.gcp.analytics.Dataproc** +- **diagrams.gcp.analytics.Genomics** +- **diagrams.gcp.analytics.Pubsub**, **PubSub** (alias) diff --git a/docs/nodes/k8s.md b/docs/nodes/k8s.md index d52584d0a..b0050cbc0 100644 --- a/docs/nodes/k8s.md +++ b/docs/nodes/k8s.md @@ -5,41 +5,31 @@ title: K8S Node classes list of k8s provider. -## k8s.clusterconfig +## k8s.rbac -- **diagrams.k8s.clusterconfig.HPA**, **HorizontalPodAutoscaler** (alias) -- **diagrams.k8s.clusterconfig.Limits**, **LimitRange** (alias) -- **diagrams.k8s.clusterconfig.Quota** +- **diagrams.k8s.rbac.CRole**, **ClusterRole** (alias) +- **diagrams.k8s.rbac.CRB**, **ClusterRoleBinding** (alias) +- **diagrams.k8s.rbac.Group** +- **diagrams.k8s.rbac.RB**, **RoleBinding** (alias) +- **diagrams.k8s.rbac.Role** +- **diagrams.k8s.rbac.SA**, **ServiceAccount** (alias) +- **diagrams.k8s.rbac.User** -## k8s.compute +## k8s.infra -- **diagrams.k8s.compute.Cronjob** -- **diagrams.k8s.compute.Deploy**, **Deployment** (alias) -- **diagrams.k8s.compute.DS**, **DaemonSet** (alias) -- **diagrams.k8s.compute.Job** -- **diagrams.k8s.compute.Pod** -- **diagrams.k8s.compute.RS**, **ReplicaSet** (alias) -- **diagrams.k8s.compute.STS**, **StatefulSet** (alias) +- **diagrams.k8s.infra.ETCD** +- **diagrams.k8s.infra.Master** +- **diagrams.k8s.infra.Node** -## k8s.controlplane +## k8s.podconfig -- **diagrams.k8s.controlplane.API**, **APIServer** (alias) -- **diagrams.k8s.controlplane.CCM** -- **diagrams.k8s.controlplane.CM**, **ControllerManager** (alias) -- **diagrams.k8s.controlplane.KProxy**, **KubeProxy** (alias) -- **diagrams.k8s.controlplane.Kubelet** -- **diagrams.k8s.controlplane.Sched**, **Scheduler** (alias) +- **diagrams.k8s.podconfig.CM**, **ConfigMap** (alias) +- **diagrams.k8s.podconfig.Secret** ## k8s.group - **diagrams.k8s.group.NS**, **Namespace** (alias) -## k8s.infra - -- **diagrams.k8s.infra.ETCD** -- **diagrams.k8s.infra.Master** -- **diagrams.k8s.infra.Node** - ## k8s.network - **diagrams.k8s.network.Ep**, **Endpoint** (alias) @@ -52,24 +42,34 @@ Node classes list of k8s provider. - **diagrams.k8s.others.CRD** - **diagrams.k8s.others.PSP** -## k8s.podconfig - -- **diagrams.k8s.podconfig.CM**, **ConfigMap** (alias) -- **diagrams.k8s.podconfig.Secret** - -## k8s.rbac - -- **diagrams.k8s.rbac.CRole**, **ClusterRole** (alias) -- **diagrams.k8s.rbac.CRB**, **ClusterRoleBinding** (alias) -- **diagrams.k8s.rbac.Group** -- **diagrams.k8s.rbac.RB**, **RoleBinding** (alias) -- **diagrams.k8s.rbac.Role** -- **diagrams.k8s.rbac.SA**, **ServiceAccount** (alias) -- **diagrams.k8s.rbac.User** - ## k8s.storage - **diagrams.k8s.storage.PV**, **PersistnetVolume** (alias) - **diagrams.k8s.storage.PVC**, **PersistentVolumeClaim** (alias) - **diagrams.k8s.storage.SC**, **StorageClass** (alias) - **diagrams.k8s.storage.Vol**, **Volume** (alias) + +## k8s.clusterconfig + +- **diagrams.k8s.clusterconfig.HPA**, **HorizontalPodAutoscaler** (alias) +- **diagrams.k8s.clusterconfig.Limits**, **LimitRange** (alias) +- **diagrams.k8s.clusterconfig.Quota** + +## k8s.controlplane + +- **diagrams.k8s.controlplane.API**, **APIServer** (alias) +- **diagrams.k8s.controlplane.CCM** +- **diagrams.k8s.controlplane.CM**, **ControllerManager** (alias) +- **diagrams.k8s.controlplane.KProxy**, **KubeProxy** (alias) +- **diagrams.k8s.controlplane.Kubelet** +- **diagrams.k8s.controlplane.Sched**, **Scheduler** (alias) + +## k8s.compute + +- **diagrams.k8s.compute.Cronjob** +- **diagrams.k8s.compute.Deploy**, **Deployment** (alias) +- **diagrams.k8s.compute.DS**, **DaemonSet** (alias) +- **diagrams.k8s.compute.Job** +- **diagrams.k8s.compute.Pod** +- **diagrams.k8s.compute.RS**, **ReplicaSet** (alias) +- **diagrams.k8s.compute.STS**, **StatefulSet** (alias) diff --git a/docs/nodes/oci.md b/docs/nodes/oci.md index 568fe9abe..8f30f99f1 100644 --- a/docs/nodes/oci.md +++ b/docs/nodes/oci.md @@ -5,14 +5,17 @@ title: OCI Node classes list of oci provider. -## oci.compute +## oci.database -- **diagrams.oci.compute.BmGrey**, **BareMetalGrey** (alias) -- **diagrams.oci.compute.Bm**, **BareMetal** (alias) -- **diagrams.oci.compute.ContainerGrey** -- **diagrams.oci.compute.Container** -- **diagrams.oci.compute.VmGrey**, **VirtualMachineGrey** (alias) -- **diagrams.oci.compute.Vm**, **VirtualMachine** (alias) +- **diagrams.oci.database.DatabaseserviceGrey**, **DBServiceGrey** (alias) +- **diagrams.oci.database.Databaseservice**, **DBService** (alias) + +## oci.devops + +- **diagrams.oci.devops.ApiserviceGrey** +- **diagrams.oci.devops.Apiservice** +- **diagrams.oci.devops.ResourcemgmtGrey** +- **diagrams.oci.devops.Resourcemgmt** ## oci.connectivity @@ -27,71 +30,6 @@ Node classes list of oci provider. - **diagrams.oci.connectivity.VpnGrey** - **diagrams.oci.connectivity.Vpn** -## oci.database - -- **diagrams.oci.database.DatabaseserviceGrey**, **DBServiceGrey** (alias) -- **diagrams.oci.database.Databaseservice**, **DBService** (alias) - -## oci.devops - -- **diagrams.oci.devops.ApiserviceGrey** -- **diagrams.oci.devops.Apiservice** -- **diagrams.oci.devops.ResourcemgmtGrey** -- **diagrams.oci.devops.Resourcemgmt** - -## oci.edge - -- **diagrams.oci.edge.CdnGrey** -- **diagrams.oci.edge.Cdn** -- **diagrams.oci.edge.DnsGrey** -- **diagrams.oci.edge.Dns** -- **diagrams.oci.edge.EmaildeliveryGrey** -- **diagrams.oci.edge.Emaildelivery** -- **diagrams.oci.edge.WafGrey** -- **diagrams.oci.edge.Waf** - -## oci.monitoring - -- **diagrams.oci.monitoring.AlarmGrey** -- **diagrams.oci.monitoring.Alarm** -- **diagrams.oci.monitoring.EventGrey** -- **diagrams.oci.monitoring.Event** -- **diagrams.oci.monitoring.HealthcheckGrey** -- **diagrams.oci.monitoring.Healthcheck** -- **diagrams.oci.monitoring.LoggingGrey** -- **diagrams.oci.monitoring.Logging** -- **diagrams.oci.monitoring.NotificationsGrey** -- **diagrams.oci.monitoring.Notifications** -- **diagrams.oci.monitoring.QueuingGrey** -- **diagrams.oci.monitoring.Queuing** -- **diagrams.oci.monitoring.SearchGrey** -- **diagrams.oci.monitoring.Search** -- **diagrams.oci.monitoring.StreamingGrey** -- **diagrams.oci.monitoring.Streaming** -- **diagrams.oci.monitoring.TelemetryGrey** -- **diagrams.oci.monitoring.Telemetry** -- **diagrams.oci.monitoring.WorkflowGrey** -- **diagrams.oci.monitoring.Workflow** - -## oci.network - -- **diagrams.oci.network.DrgGrey** -- **diagrams.oci.network.Drg** -- **diagrams.oci.network.FirewallGrey** -- **diagrams.oci.network.Firewall** -- **diagrams.oci.network.InternetgatewayGrey** -- **diagrams.oci.network.Internetgateway** -- **diagrams.oci.network.LoadbalanceGrey** -- **diagrams.oci.network.Loadbalance** -- **diagrams.oci.network.RoutetableGrey** -- **diagrams.oci.network.Routetable** -- **diagrams.oci.network.SecuritylistsGrey** -- **diagrams.oci.network.Securitylists** -- **diagrams.oci.network.ServiceGatewayGrey** -- **diagrams.oci.network.ServiceGateway** -- **diagrams.oci.network.VcloudnetworkGrey** -- **diagrams.oci.network.Vcloudnetwork** - ## oci.security - **diagrams.oci.security.AuditGrey** @@ -115,6 +53,36 @@ Node classes list of oci provider. - **diagrams.oci.security.TaggingGrey** - **diagrams.oci.security.Tagging** +## oci.network + +- **diagrams.oci.network.DrgGrey** +- **diagrams.oci.network.Drg** +- **diagrams.oci.network.FirewallGrey** +- **diagrams.oci.network.Firewall** +- **diagrams.oci.network.InternetgatewayGrey** +- **diagrams.oci.network.Internetgateway** +- **diagrams.oci.network.LoadbalanceGrey** +- **diagrams.oci.network.Loadbalance** +- **diagrams.oci.network.RoutetableGrey** +- **diagrams.oci.network.Routetable** +- **diagrams.oci.network.SecuritylistsGrey** +- **diagrams.oci.network.Securitylists** +- **diagrams.oci.network.ServiceGatewayGrey** +- **diagrams.oci.network.ServiceGateway** +- **diagrams.oci.network.VcloudnetworkGrey** +- **diagrams.oci.network.Vcloudnetwork** + +## oci.edge + +- **diagrams.oci.edge.CdnGrey** +- **diagrams.oci.edge.Cdn** +- **diagrams.oci.edge.DnsGrey** +- **diagrams.oci.edge.Dns** +- **diagrams.oci.edge.EmaildeliveryGrey** +- **diagrams.oci.edge.Emaildelivery** +- **diagrams.oci.edge.WafGrey** +- **diagrams.oci.edge.Waf** + ## oci.storage - **diagrams.oci.storage.BackuprestoreGrey** @@ -131,3 +99,35 @@ Node classes list of oci provider. - **diagrams.oci.storage.Objectstorage** - **diagrams.oci.storage.StoragegatewayGrey** - **diagrams.oci.storage.Storagegateway** + +## oci.compute + +- **diagrams.oci.compute.BmGrey**, **BareMetalGrey** (alias) +- **diagrams.oci.compute.Bm**, **BareMetal** (alias) +- **diagrams.oci.compute.ContainerGrey** +- **diagrams.oci.compute.Container** +- **diagrams.oci.compute.VmGrey**, **VirtualMachineGrey** (alias) +- **diagrams.oci.compute.Vm**, **VirtualMachine** (alias) + +## oci.monitoring + +- **diagrams.oci.monitoring.AlarmGrey** +- **diagrams.oci.monitoring.Alarm** +- **diagrams.oci.monitoring.EventGrey** +- **diagrams.oci.monitoring.Event** +- **diagrams.oci.monitoring.HealthcheckGrey** +- **diagrams.oci.monitoring.Healthcheck** +- **diagrams.oci.monitoring.LoggingGrey** +- **diagrams.oci.monitoring.Logging** +- **diagrams.oci.monitoring.NotificationsGrey** +- **diagrams.oci.monitoring.Notifications** +- **diagrams.oci.monitoring.QueuingGrey** +- **diagrams.oci.monitoring.Queuing** +- **diagrams.oci.monitoring.SearchGrey** +- **diagrams.oci.monitoring.Search** +- **diagrams.oci.monitoring.StreamingGrey** +- **diagrams.oci.monitoring.Streaming** +- **diagrams.oci.monitoring.TelemetryGrey** +- **diagrams.oci.monitoring.Telemetry** +- **diagrams.oci.monitoring.WorkflowGrey** +- **diagrams.oci.monitoring.Workflow** diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index aedecdf33..1100283bf 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -66,48 +66,27 @@ Node classes list of onprem provider. - **diagrams.onprem.database.Postgresql**, **PostgreSQL** (alias) - **diagrams.onprem.database.Scylla** -## onprem.etl - -- **diagrams.onprem.etl.Embulk** - -## onprem.gitops - -- **diagrams.onprem.gitops.Argocd**, **ArgoCD** (alias) - -## onprem.iac +## onprem.security -- **diagrams.onprem.iac.Ansible** -- **diagrams.onprem.iac.Awx** -- **diagrams.onprem.iac.Terraform** +- **diagrams.onprem.security.Trivy** +- **diagrams.onprem.security.Vault** -## onprem.inmemory +## onprem.ci -- **diagrams.onprem.inmemory.Aerospike** -- **diagrams.onprem.inmemory.Hazelcast** -- **diagrams.onprem.inmemory.Memcached** -- **diagrams.onprem.inmemory.Redis** +- **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) -## onprem.logging +## onprem.etl -- **diagrams.onprem.logging.Fluentbit**, **FluentBit** (alias) -- **diagrams.onprem.logging.Fluentd** -- **diagrams.onprem.logging.Logstash**, **LogStash** (alias) -- **diagrams.onprem.logging.Loki** +- **diagrams.onprem.etl.Embulk** ## onprem.mlops - **diagrams.onprem.mlops.Polyaxon** -## onprem.monitoring - -- **diagrams.onprem.monitoring.Datadog** -- **diagrams.onprem.monitoring.Grafana** -- **diagrams.onprem.monitoring.Kibana** -- **diagrams.onprem.monitoring.Prometheus** -- **diagrams.onprem.monitoring.Sentry** -- **diagrams.onprem.monitoring.Splunk** -- **diagrams.onprem.monitoring.Thanos** - ## onprem.network - **diagrams.onprem.network.Apache** @@ -128,23 +107,33 @@ Node classes list of onprem provider. - **diagrams.onprem.network.Vyos**, **VyOS** (alias) - **diagrams.onprem.network.Zookeeper** -## onprem.queue +## onprem.inmemory -- **diagrams.onprem.queue.Activemq**, **ActiveMQ** (alias) -- **diagrams.onprem.queue.Celery** -- **diagrams.onprem.queue.Kafka** -- **diagrams.onprem.queue.Rabbitmq**, **RabbitMQ** (alias) -- **diagrams.onprem.queue.Zeromq**, **ZeroMQ** (alias) +- **diagrams.onprem.inmemory.Aerospike** +- **diagrams.onprem.inmemory.Hazelcast** +- **diagrams.onprem.inmemory.Memcached** +- **diagrams.onprem.inmemory.Redis** ## onprem.search - **diagrams.onprem.search.Elasticsearch** - **diagrams.onprem.search.Solr** -## onprem.security +## onprem.container -- **diagrams.onprem.security.Trivy** -- **diagrams.onprem.security.Vault** +- **diagrams.onprem.container.Docker** +- **diagrams.onprem.container.Rkt**, **RKT** (alias) + +## onprem.iac + +- **diagrams.onprem.iac.Ansible** +- **diagrams.onprem.iac.Awx** +- **diagrams.onprem.iac.Terraform** + +## onprem.compute + +- **diagrams.onprem.compute.Nomad** +- **diagrams.onprem.compute.Server** ## onprem.vcs @@ -158,3 +147,56 @@ Node classes list of onprem provider. - **diagrams.onprem.workflow.Digdag** - **diagrams.onprem.workflow.Kubeflow**, **KubeFlow** (alias) - **diagrams.onprem.workflow.Nifi**, **NiFi** (alias) + +## onprem.queue + +- **diagrams.onprem.queue.Activemq**, **ActiveMQ** (alias) +- **diagrams.onprem.queue.Celery** +- **diagrams.onprem.queue.Kafka** +- **diagrams.onprem.queue.Rabbitmq**, **RabbitMQ** (alias) +- **diagrams.onprem.queue.Zeromq**, **ZeroMQ** (alias) + +## onprem.cd + +- **diagrams.onprem.cd.Spinnaker** + +## onprem.gitops + +- **diagrams.onprem.gitops.Argocd**, **ArgoCD** (alias) +- **diagrams.onprem.gitops.Flagger** +- **diagrams.onprem.gitops.Flux** + +## onprem.monitoring + +- **diagrams.onprem.monitoring.Datadog** +- **diagrams.onprem.monitoring.Grafana** +- **diagrams.onprem.monitoring.Kibana** +- **diagrams.onprem.monitoring.Prometheus** +- **diagrams.onprem.monitoring.Sentry** +- **diagrams.onprem.monitoring.Splunk** +- **diagrams.onprem.monitoring.Thanos** + +## onprem.client + +- **diagrams.onprem.client.Client** +- **diagrams.onprem.client.User** +- **diagrams.onprem.client.Users** + +## onprem.logging + +- **diagrams.onprem.logging.Fluentbit**, **FluentBit** (alias) +- **diagrams.onprem.logging.Fluentd** +- **diagrams.onprem.logging.Logstash**, **LogStash** (alias) +- **diagrams.onprem.logging.Loki** + +## 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** diff --git a/resources/onprem/gitops/flagger.png b/resources/onprem/gitops/flagger.png new file mode 100644 index 0000000000000000000000000000000000000000..de8835dfe82e91b6617ff65da5017ad9bef805f7 GIT binary patch literal 27435 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

3scV#Nt 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 m)#$xte^z|AR)dY0YE^+>61&DCE|o?C95h6 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 FO@gd9V|MP=evUR-(J10cnh`}N81`%# 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 Date: Fri, 29 May 2020 08:38:17 +0100 Subject: [PATCH 11/23] Add Rust programming language (#179) --- diagrams/programming/language.py | 4 ++++ docs/nodes/programming.md | 1 + resources/programming/language/rust.png | Bin 0 -> 9211 bytes 3 files changed, 5 insertions(+) create mode 100644 resources/programming/language/rust.png diff --git a/diagrams/programming/language.py b/diagrams/programming/language.py index 60de22150..36c3d4c0e 100644 --- a/diagrams/programming/language.py +++ b/diagrams/programming/language.py @@ -68,6 +68,10 @@ class Ruby(_Language): _icon = "ruby.png" +class Rust(_Language): + _icon = "rust.png" + + class Swift(_Language): _icon = "swift.png" diff --git a/docs/nodes/programming.md b/docs/nodes/programming.md index b2843ec48..60c8a0e3b 100644 --- a/docs/nodes/programming.md +++ b/docs/nodes/programming.md @@ -36,5 +36,6 @@ Node classes list of programming provider. - **diagrams.programming.language.Python** - **diagrams.programming.language.R** - **diagrams.programming.language.Ruby** +- **diagrams.programming.language.Rust** - **diagrams.programming.language.Swift** - **diagrams.programming.language.Typescript**, **TypeScript** (alias) diff --git a/resources/programming/language/rust.png b/resources/programming/language/rust.png new file mode 100644 index 0000000000000000000000000000000000000000..a9f7fa152fa7b69f638d3b19b9ef4eb6dfef08c1 GIT binary patch literal 9211 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 literal 0 HcmV?d00001 From 1eed33692a5d7bbe02babd91f503d923335331aa Mon Sep 17 00:00:00 2001 From: gabriel-tessier Date: Sun, 31 May 2020 12:39:16 +0900 Subject: [PATCH 12/23] Add elastic stack (#134) (#174) * Add elastic stack (#134) * (#134) Fix Upper case --- autogen.sh | 2 +- config.py | 9 +++- diagrams/elastic/__init__.py | 12 +++++ diagrams/elastic/elasticsearch.py | 49 ++++++++++++++++++ diagrams/elastic/enterprisesearch.py | 27 ++++++++++ diagrams/elastic/observability.py | 31 +++++++++++ diagrams/elastic/orchestration.py | 19 +++++++ diagrams/elastic/security.py | 23 ++++++++ docs/nodes/elastic.md | 44 ++++++++++++++++ resources/elastic/cloud.png | Bin 0 -> 8131 bytes resources/elastic/elasticsearch/alerting.png | Bin 0 -> 12821 bytes .../elastic/elasticsearch/elasticsearch.png | Bin 0 -> 4707 bytes resources/elastic/elasticsearch/kibana.png | Bin 0 -> 5324 bytes resources/elastic/elasticsearch/logstash.png | Bin 0 -> 2523 bytes .../elasticsearch/machine-learning.png | Bin 0 -> 8100 bytes resources/elastic/elasticsearch/maps.png | Bin 0 -> 6666 bytes .../elastic/elasticsearch/monitoring.png | Bin 0 -> 10480 bytes .../elasticsearch/security-settings.png | Bin 0 -> 9224 bytes resources/elastic/elasticsearch/sql.png | Bin 0 -> 2337 bytes .../elastic/enterprisesearch/app-search.png | Bin 0 -> 7492 bytes .../enterprisesearch/enterprise-search.png | Bin 0 -> 7822 bytes .../elastic/enterprisesearch/site-search.png | Bin 0 -> 4438 bytes .../enterprisesearch/workplace-search.png | Bin 0 -> 6811 bytes resources/elastic/observability/apm.png | Bin 0 -> 1430 bytes resources/elastic/observability/logs.png | Bin 0 -> 5091 bytes resources/elastic/observability/metrics.png | Bin 0 -> 4689 bytes .../elastic/observability/observability.png | Bin 0 -> 1973 bytes resources/elastic/observability/uptime.png | Bin 0 -> 6646 bytes resources/elastic/orchestration/ece.png | Bin 0 -> 8963 bytes resources/elastic/orchestration/eck.png | Bin 0 -> 10381 bytes resources/elastic/security/endpoint.png | Bin 0 -> 5098 bytes resources/elastic/security/security.png | Bin 0 -> 3307 bytes resources/elastic/security/siem.png | Bin 0 -> 5302 bytes scripts/generate.py | 2 +- scripts/resource.py | 5 ++ 35 files changed, 220 insertions(+), 3 deletions(-) create mode 100644 diagrams/elastic/__init__.py create mode 100644 diagrams/elastic/elasticsearch.py create mode 100644 diagrams/elastic/enterprisesearch.py create mode 100644 diagrams/elastic/observability.py create mode 100644 diagrams/elastic/orchestration.py create mode 100644 diagrams/elastic/security.py create mode 100644 docs/nodes/elastic.md create mode 100644 resources/elastic/cloud.png create mode 100644 resources/elastic/elasticsearch/alerting.png create mode 100644 resources/elastic/elasticsearch/elasticsearch.png create mode 100644 resources/elastic/elasticsearch/kibana.png create mode 100644 resources/elastic/elasticsearch/logstash.png create mode 100644 resources/elastic/elasticsearch/machine-learning.png create mode 100644 resources/elastic/elasticsearch/maps.png create mode 100644 resources/elastic/elasticsearch/monitoring.png create mode 100644 resources/elastic/elasticsearch/security-settings.png create mode 100644 resources/elastic/elasticsearch/sql.png create mode 100644 resources/elastic/enterprisesearch/app-search.png create mode 100644 resources/elastic/enterprisesearch/enterprise-search.png create mode 100644 resources/elastic/enterprisesearch/site-search.png create mode 100644 resources/elastic/enterprisesearch/workplace-search.png create mode 100644 resources/elastic/observability/apm.png create mode 100644 resources/elastic/observability/logs.png create mode 100644 resources/elastic/observability/metrics.png create mode 100644 resources/elastic/observability/observability.png create mode 100644 resources/elastic/observability/uptime.png create mode 100644 resources/elastic/orchestration/ece.png create mode 100644 resources/elastic/orchestration/eck.png create mode 100644 resources/elastic/security/endpoint.png create mode 100644 resources/elastic/security/security.png create mode 100644 resources/elastic/security/siem.png diff --git a/autogen.sh b/autogen.sh index b5dc831d1..d331cde55 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" "firebase" "k8s" "alibabacloud" "oci" "programming" "saas") +providers=("onprem" "aws" "azure" "gcp" "firebase" "k8s" "alibabacloud" "oci" "programming" "saas" "elastic") if ! [ -x "$(command -v round)" ]; then echo 'round is not installed' diff --git a/config.py b/config.py index 275baaabe..ab971c6df 100644 --- a/config.py +++ b/config.py @@ -11,7 +11,7 @@ DIR_RESOURCE = "resources" DIR_TEMPLATE = "templates" -PROVIDERS = ("base", "onprem", "aws", "azure", "gcp", "firebase", "k8s", "alibabacloud", "oci", "programming", "saas") +PROVIDERS = ("base", "onprem", "aws", "azure", "gcp", "firebase", "k8s", "alibabacloud", "oci", "programming", "saas", "elastic") ######################### # Resource Processing # @@ -35,6 +35,7 @@ "oci": ("OCI-",), "programming": (), "saas": (), + "elastic": (), } ######################### @@ -59,6 +60,7 @@ "sa", "sc", "sts", "svc", ), "oci": ("oci",), + "elastic": ("apm", "siem", "ece", "eck"), } TITLE_WORDS = { @@ -356,4 +358,9 @@ }, }, "saas": {}, + "elastic": { + "elasticsearch": { + "Logstash": "LogStash", + } + }, } diff --git a/diagrams/elastic/__init__.py b/diagrams/elastic/__init__.py new file mode 100644 index 000000000..786fa60e4 --- /dev/null +++ b/diagrams/elastic/__init__.py @@ -0,0 +1,12 @@ +""" +Elastic provides a set of general elastic services. +""" + +from diagrams import Node + + +class _Elastic(Node): + _provider = "elastic" + _icon_dir = "resources/elastic" + + fontcolor = "#ffffff" diff --git a/diagrams/elastic/elasticsearch.py b/diagrams/elastic/elasticsearch.py new file mode 100644 index 000000000..a903a42b6 --- /dev/null +++ b/diagrams/elastic/elasticsearch.py @@ -0,0 +1,49 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _Elastic + + +class _Elasticsearch(_Elastic): + _type = "elasticsearch" + _icon_dir = "resources/elastic/elasticsearch" + + +class Alerting(_Elasticsearch): + _icon = "alerting.png" + + +class Elasticsearch(_Elasticsearch): + _icon = "elasticsearch.png" + + +class Kibana(_Elasticsearch): + _icon = "kibana.png" + + +class Logstash(_Elasticsearch): + _icon = "logstash.png" + + +class MachineLearning(_Elasticsearch): + _icon = "machine-learning.png" + + +class Maps(_Elasticsearch): + _icon = "maps.png" + + +class Monitoring(_Elasticsearch): + _icon = "monitoring.png" + + +class SecuritySettings(_Elasticsearch): + _icon = "security-settings.png" + + +class Sql(_Elasticsearch): + _icon = "sql.png" + + +# Aliases + +LogStash = Logstash diff --git a/diagrams/elastic/enterprisesearch.py b/diagrams/elastic/enterprisesearch.py new file mode 100644 index 000000000..d5e194591 --- /dev/null +++ b/diagrams/elastic/enterprisesearch.py @@ -0,0 +1,27 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _Elastic + + +class _Enterprisesearch(_Elastic): + _type = "enterprisesearch" + _icon_dir = "resources/elastic/enterprisesearch" + + +class AppSearch(_Enterprisesearch): + _icon = "app-search.png" + + +class EnterpriseSearch(_Enterprisesearch): + _icon = "enterprise-search.png" + + +class SiteSearch(_Enterprisesearch): + _icon = "site-search.png" + + +class WorkplaceSearch(_Enterprisesearch): + _icon = "workplace-search.png" + + +# Aliases diff --git a/diagrams/elastic/observability.py b/diagrams/elastic/observability.py new file mode 100644 index 000000000..3001340d2 --- /dev/null +++ b/diagrams/elastic/observability.py @@ -0,0 +1,31 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _Elastic + + +class _Observability(_Elastic): + _type = "observability" + _icon_dir = "resources/elastic/observability" + + +class APM(_Observability): + _icon = "apm.png" + + +class Logs(_Observability): + _icon = "logs.png" + + +class Metrics(_Observability): + _icon = "metrics.png" + + +class Observability(_Observability): + _icon = "observability.png" + + +class Uptime(_Observability): + _icon = "uptime.png" + + +# Aliases diff --git a/diagrams/elastic/orchestration.py b/diagrams/elastic/orchestration.py new file mode 100644 index 000000000..99084cc72 --- /dev/null +++ b/diagrams/elastic/orchestration.py @@ -0,0 +1,19 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _Elastic + + +class _Orchestration(_Elastic): + _type = "orchestration" + _icon_dir = "resources/elastic/orchestration" + + +class ECE(_Orchestration): + _icon = "ece.png" + + +class ECK(_Orchestration): + _icon = "eck.png" + + +# Aliases diff --git a/diagrams/elastic/security.py b/diagrams/elastic/security.py new file mode 100644 index 000000000..34afe3e00 --- /dev/null +++ b/diagrams/elastic/security.py @@ -0,0 +1,23 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _Elastic + + +class _Security(_Elastic): + _type = "security" + _icon_dir = "resources/elastic/security" + + +class Endpoint(_Security): + _icon = "endpoint.png" + + +class Security(_Security): + _icon = "security.png" + + +class SIEM(_Security): + _icon = "siem.png" + + +# Aliases diff --git a/docs/nodes/elastic.md b/docs/nodes/elastic.md new file mode 100644 index 000000000..ce5d3c7a8 --- /dev/null +++ b/docs/nodes/elastic.md @@ -0,0 +1,44 @@ +--- +id: elastic +title: Elastic +--- + +Node classes list of elastic provider. + +## elastic.elasticsearch + +- **diagrams.elastic.elasticsearch.Alerting** +- **diagrams.elastic.elasticsearch.Elasticsearch** +- **diagrams.elastic.elasticsearch.Kibana** +- **diagrams.elastic.elasticsearch.Logstash**, **LogStash** (alias) +- **diagrams.elastic.elasticsearch.MachineLearning** +- **diagrams.elastic.elasticsearch.Maps** +- **diagrams.elastic.elasticsearch.Monitoring** +- **diagrams.elastic.elasticsearch.SecuritySettings** +- **diagrams.elastic.elasticsearch.Sql** + +## elastic.enterprisesearch + +- **diagrams.elastic.enterprisesearch.AppSearch** +- **diagrams.elastic.enterprisesearch.EnterpriseSearch** +- **diagrams.elastic.enterprisesearch.SiteSearch** +- **diagrams.elastic.enterprisesearch.WorkplaceSearch** + +## elastic.observability + +- **diagrams.elastic.observability.APM** +- **diagrams.elastic.observability.Logs** +- **diagrams.elastic.observability.Metrics** +- **diagrams.elastic.observability.Observability** +- **diagrams.elastic.observability.Uptime** + +## elastic.orchestration + +- **diagrams.elastic.orchestration.ECE** +- **diagrams.elastic.orchestration.ECK** + +## elastic.security + +- **diagrams.elastic.security.Endpoint** +- **diagrams.elastic.security.Security** +- **diagrams.elastic.security.SIEM** diff --git a/resources/elastic/cloud.png b/resources/elastic/cloud.png new file mode 100644 index 0000000000000000000000000000000000000000..92ee1c925b924e0542f7752c13294a0267d5c804 GIT binary patch literal 8131 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 literal 0 HcmV?d00001 diff --git a/resources/elastic/elasticsearch/alerting.png b/resources/elastic/elasticsearch/alerting.png new file mode 100644 index 0000000000000000000000000000000000000000..eb8c7c711f10a2f5b67dd0235d304fb8ec785d68 GIT binary patch literal 12821 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 KT(ykl`~L_1#17s7 literal 0 HcmV?d00001 diff --git a/resources/elastic/elasticsearch/elasticsearch.png b/resources/elastic/elasticsearch/elasticsearch.png new file mode 100644 index 0000000000000000000000000000000000000000..10188c30e5af2a8e0308063f8b72320865669a18 GIT binary patch literal 4707 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 MwG1ECYTCd49|+y6*Z=?k literal 0 HcmV?d00001 diff --git a/resources/elastic/elasticsearch/kibana.png b/resources/elastic/elasticsearch/kibana.png new file mode 100644 index 0000000000000000000000000000000000000000..b856e29b8a45d6914108f64abff162fcf6ffe55c GIT binary patch literal 5324 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 literal 0 HcmV?d00001 diff --git a/resources/elastic/elasticsearch/machine-learning.png b/resources/elastic/elasticsearch/machine-learning.png new file mode 100644 index 0000000000000000000000000000000000000000..d69926ce99fc84c00ac42bffc1e2289b921cee58 GIT binary patch literal 8100 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 literal 0 HcmV?d00001 diff --git a/resources/elastic/elasticsearch/monitoring.png b/resources/elastic/elasticsearch/monitoring.png new file mode 100644 index 0000000000000000000000000000000000000000..00c9665c12b1a04542862177bca9c2de2a3b1013 GIT binary patch literal 10480 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 Hunzk#`%Dww literal 0 HcmV?d00001 diff --git a/resources/elastic/elasticsearch/sql.png b/resources/elastic/elasticsearch/sql.png new file mode 100644 index 0000000000000000000000000000000000000000..ebb7fc3e9755a7b390005a6e7a6a6a6d4fa5569c GIT binary patch literal 2337 zcmbVNcTm&W7XG0iO^FeZqKGf-A{ZYmiUmUqYN8+lK9GRO5*8j!3@y@2U|k>vL|IWm zRxn5rL=c3H^q?fTL}?C&76J(+L_#PDEg@`}dE@wp<9qY&ojd27bMN`?DKqEXx@3QT zhl;KW0028|tdWiYASZ)zfYLUZa1VRtD-+wiY|kTsxy@atc5POsQ4X=bf|FS=HjmsH zqueN&Qt^h39ZGRrL0dsl^^HcxT>wz3utA=_95u*iV$$86^(gbKx>rNH+;ju~)!O2} z)0Sl9sKH4y`dvGz@Ml9IUa4kikhY>2wUDg%6l5OXU6b{IS~w(hNcq!7e_W2UX6QxU zb+x|$ne?0We(a8Q^&w_myJ8&0zc*)OAfi~jYAG1WvG5Z_c0JCC4VITVw7Ej+thG3& zd7^NJd7wJ$A}a1EWb&L&ewqdj;^m7J=58x~IZrsDX_0{f>VJ!PPU5WM?7GcGB%!kB2P>vu>0h*z(eUpvs}qhMz_C?bv?k3jETsTt&Vlq$jS_sJ9iB=3-i2PjV~b ztQS4kznJ;w`8Lf-d6Tkf<0A1CvvKrsmBCX*(->eDbNIC(1kSwWEFY2tUC~$`K7ntY zmtC5A)Bu~TJ2Mk}rc!N9QN!?HDHgvEb~r}3C4meVO@J_%V}Vb>X7ui}j1!t*vVd7z z`$DNkq~GXK=>W~G_2Wyr!+p=Sb+)#)N^MlF29Ar{$CwFRGn8O^zq3%{LNv zxEOe)gr>~GHQv>}{)LtCVuQ<7c``%4Gq6e$gA^Q(AO?FhDR1t7p3+d~1g`}lgui|C z!EgAvStLCx(zFTD;a@4*rh@1Dl z{Bx$^MWgZwGS6&7QpX57`l6fG2}@xAMTn|n`%a=kRvDk6@Z_x2y^C)Z_Nt9*m(|P# z{ldcfD9n+r(eJXOKPvN~IBNU>>WsbolR?pXXWxkV{qE+;bX@S|;kNfOWp6w9Hf_?W zc-LU$XpWyfdbmw!FAu!Fs0=6p`+-CN*z$ja?uzC-yn=z^LRMZYOkhjHtK4bP{3hvF zA5kXCmMayzIaA(y@a3D`L>|})Sp669)hm<0COjrFb8Ga4uF;}qla_hGv>4(lmw5L3 zB#9M$V#ZeP{9@H@1p0pr`|IR9tQ~1FrMyeBEb^Ok#5`oJEDPho z{#j1Avf5A6hkoC~FRAz{8Hsc^0ZYqs+$yj4NK|PhJy;UE)~tjEMt6QcX-@)0QV|d% ziM!6Z^X-a!@$d`yx<*+bO5H(F2{`NiTs|Z2 zyqJ!!?+{E8?mbqb+&bt`@P2}9_oF*y!P0ps(lG-cu^*VOy-*1$aTdii`JN<&%fxPD zw6i5;BTxhsO0H2EVYn-~O`o#P?14@V&WONfm28#KKAzmW>Ew<|Ln=+IRk`{gAbD|* zYyDbBSXlBj*48w8#IE?+VKY zFQYyccAY?wmWlBLE@I~D#&NP^A@!!|IpPpZcoLJb_pFaeo&cK0*mL_s$wjzRWC`Xt zuE3}gN{ov{CcNfVZ`_0~H#Ow1xlL$N#6uU}8i$o^32`dycP%{JQIMYW<4vhbc76Mr znVB(*MlanPG%@8CGc(L0AA#8CnsAj%a2qvnJynX7pPNxcz|u79F~t6Aytvp~Pt^*E zl+6NH1uF(D$8gO}Do>g)cj@0qy+FP&>#4cZtZtlwu{=A+F>UzJ& zfbEc?Qy<31b9v9%TG)LiH6_iGvCnj0tU1J2CzPvOLUhBP_HMt2jmMGs4*PXsDIRnS zgf_VO{Z=L^2j}r=wv+WK7SK1381L?hCLfA|L1vFGg#>`aPHm5x8p!I?q6*e@)4-=*a*faRVkslH=y1-71U%d8xN@l>;|wIGme5<^yrM9 zA7Ktfpa-mZZAWxm>n9g87xM_O`x+@f*oHncdIU0$*xrN=chal7)ZRbV!_jY88zDjc znj$SB@yu(0p-(&Fo};8(Rz*+m<%~$!tH0E)*2K*XUZ#0xdjACR%|7~U<_0pMESrlj z*qp!DuNJ@3&zdCDS&4pf Wwhjr$X6K~Srp5+kkE}T3`Rm^xnga#^ literal 0 HcmV?d00001 diff --git a/resources/elastic/enterprisesearch/app-search.png b/resources/elastic/enterprisesearch/app-search.png new file mode 100644 index 0000000000000000000000000000000000000000..a7217232d4e5176bbd2128282d014725375e3b8f GIT binary patch literal 7492 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 MDrzcJ$y-MJ4@|+@6#xJL literal 0 HcmV?d00001 diff --git a/resources/elastic/enterprisesearch/site-search.png b/resources/elastic/enterprisesearch/site-search.png new file mode 100644 index 0000000000000000000000000000000000000000..eb41bb9c7ae74c597f272b0e68dc2e3239846cc1 GIT binary patch literal 4438 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 DL6`z6 literal 0 HcmV?d00001 diff --git a/resources/elastic/enterprisesearch/workplace-search.png b/resources/elastic/enterprisesearch/workplace-search.png new file mode 100644 index 0000000000000000000000000000000000000000..5e38b5e608eeaafe00a44407f250657bcc4de453 GIT binary patch literal 6811 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 CD6Lii literal 0 HcmV?d00001 diff --git a/resources/elastic/observability/apm.png b/resources/elastic/observability/apm.png new file mode 100644 index 0000000000000000000000000000000000000000..3b1ba2844420f44bfd9ac54f9ddacc066dfdcd88 GIT binary patch literal 1430 zcmb_cYfO`86h5u3&=LtKQUcK`D4@YICOQzZm&9+%MBLi+gET6riScuK;zF`qd_1a{;dCzsZ7PKjzpqRD<7y=PZ(&fpE~ngBya z`N54}r;pb4-Y@*VX!bzflttUOds_+8{=MV9^~?g+c;~F2I=*SxE7hnO->trVlSM)y z^f2HAVXHj<7Z3*7D0|of0su687znwR;n3Wvn;>)~r&VUp%UU@bpo*jMf~sJN161v# zwcrqlZn0l|E#AN)Z2*@Ll*JQR5)m3Mou*2+1FPvc;~*MNO1tG!^JNID7%LkZ(k7z> z>#uzIAmLVz1o~aSp>a|`92YzA4k=`7OsoMfaGA-LX*T1bY8lsG(k$@<*5V8D}LgNa){J)g6VIC1BkZ!US$M&U|e?$hu-XoUk|X69OBX2KBws6?gWlW0Nn&cm>_O$Cl56q4xLl! zo$YA($qh7UdO5E<(Wh|WF6=iQu%O{ct+n{mKBhU0DqG0f2&#~Q+DGyW>&ONIG(F)n zmOG_IN`GK=){^$5FFl|X%xdEkrCik1%09V%`eB}fL!$AG2&V38O73x^-?l9yL_U^J zJd9Fin+CXO!Aj=#h&xa9UFFKVu3fF|b&$zwEgorLD7PQ)(^r z|8$?X^;OVs`cAo8;U5cA^*$@=K!&i}e3t-Azp@ztm65!R?^eQM?2>lEQ)_Dqe*c=vi5`h%7EZ+aGh3jLp! d$Un>qj5j`^9ouZ!36pv?O^;wwC6u(U{syv24t@Xt literal 0 HcmV?d00001 diff --git a/resources/elastic/observability/logs.png b/resources/elastic/observability/logs.png new file mode 100644 index 0000000000000000000000000000000000000000..2976ae2100e9c053e9d403154eb7b86d43a7bdb3 GIT binary patch literal 5091 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 O@X}J#Q!Q0NhyNdxLJZUZ literal 0 HcmV?d00001 diff --git a/resources/elastic/observability/metrics.png b/resources/elastic/observability/metrics.png new file mode 100644 index 0000000000000000000000000000000000000000..bb354a076f2eff950a784fdcb4fc9cc05940df5b GIT binary patch literal 4689 zcmcIoXHb({w|)~u1Vt23R1ok0(nP8>#YB`QEz)Z!(v=z!A(Ws9Hd^RK;E0q^rI#Q9 zkt5Y0p_f3EA{}WVAtYZo|GztP=g!@G_Utv!dfsR4wcE_QU&D-aI5{qH006+Lr+d!? z06Q5`L6|~DW{D}BH3mw z6o2KDdbF*%9gKeOv{l=eIp>8oBmZR78JWEPSoSfJkI?|iPzb;`mg#KGu=yOA{X9sn z6E71%px8};SNF%TneKX~(wYsY6=hN%C(gyH(NZqz#W#7n&k_qBTQ}H0`4l5^2P7;M zIdiL0b6$imCMOKrJ)*0w0+wCT3-ac;)?&#M$YrzGDj&zoids4qwlrYd0bMbq>g&~= z4R6Xvud8fhm8_^?wg``O5na&i+}@VHCc*rw{lz~6jELh?f$p=-{T6Od{q9KuE%4t# zk_95Mmd)ehqV}+R5ferTMyA^y(NiXKR@W4GHb2~I5g9Qwefzqn(OCwD&47NRDQsF@ z;e|jjhwym&%_bV&~LOUk)u+B z_te5S^z#O|!2ouv^&-n=ilJ8hH^^{JSd8^1yRCoYTPGNx)jXA}CL+K^?{*PN;+0GM zCG+lyjw4TQZGGfz4xkg^7Nk-hII3bkrLtexi&)qT8u_u!!vXv`OchyVm~veu(Xl1D8R%-`*?#(-D@x=6&v{ zkRYxyf)mOcMwLatnV7&w32R;xzpEKPdWEo^7>qx8!>yqZ_cJFuMcx+G_>v*+o))7> z#d!~6GqfvAoFH;3IQ+z3yb18iXdk3( zt7r37X)85O{PFz=A3oQdA^_I7>Fb^OtMK4lEE__!-v?oDQWh`y>#E~W2V-`%mW`@L zl1)cU@1T73@r6Lb%%*QeB^iy$?Ws%f9%YDeR*5Tr|QC**dl>iLf_wj)ZI$tM|zZ|=6+4)=!!;XPxhdOX!Mk&}s z)aEzsSljNP7Nn0DE6Q|+9B&+I9$F&nQ+Jp;prcaF+9rAZFl(fFMKDgsV1uo(Ja#4N zr7DRdZ12_-Y;oK%?PHUHNPSMjYs|}$@frMiK)ikjf80TgRuyEEE_J{y4P=iEGk)h| z8~g;`G)l8LgL;7^YlE13DCES7`sHw_QuOH7JYM&{ zV(f<$`B9o`sEE8YDpZ;aqP_nXo&*j{X9f-4ohe8rtE?qGxkQi%!CQy9wbpq&KL^Au z8{=X&#s67a_6_B;1zK9b2@V~++)rBiZ{GpU{_Y+ae)jjrlj-+9T*3`w34AaBCV_n; zDZ1H+z0Es6`pvK{)b2#{qD6E3WwcqZ5_i!Iyg1i8P2O>iV8(&?d{jFcI|dXY`1X8^7nL^^(%2d8h{rY>-h7xaR`t0#8{rCe=RjX zOgvo==-JVOpGlfRFH98hLctl2IZaX4N+(fBplON`bORsY$|cXP8_=7oJgLQov;v71 z?iEd31jFH{jI`E!;gTr3^#d2_bTC|92>hrBK$}r2#0)^Pxm?8iAkp4jd9XkYyVX6A zXjG6&&UMUdz1a(%8(ukDAkq9a$_HbCMQ!NQE365xSiId8j?WpnHr32B^YW?s>7odd_wa%K%wo!D#xNe@0H~BmzywhFS@p>Q&-xJg#Z_-tI>A zrwNx~^sxSI%fV2+`EE7Y(DO`nk+oQ@Y(|lNtC-wc@`0dX%G!^=?=l`)N+3T#x^P9@ zH&hs}duReL$65dOtm?iVUUlJ373h*AO4QHy+J|_X)gVG)TiDzCp*1oalMwIVMosIb z0k|Gg%sa$0)bruB@a*?_y)hyPw#!~99g$J6$lT{stMlWRl34KS8`1Asri#>vGRK|<+s#&7wvnQ^UJK(bCGF?bQvhO zGEn$p;pHiu_chNA%DZHeqi%KmVLtlyoP8|P?rB(i+}o943*fZ}0I|xO$-Y5|iH{bl zlzP5LjCE_aQUAkr-OyA~=mWqlyy@r*3SVo?u=n)Nh*&()GU6q?ZJ2~JWo^8|m#%Ra zBzoud+V^c=0eOn+$OwY3BjT=fB-XIiVo*2S5*VN6h5l6!JTzWVqiuZJBRa_K^GHQH zq)!&0qqnR8Tt2{E)hF=VG@KZ#>|9Y7#So1*)xqCgut`fxL9OJKhmuaPCS(&|&CkZV0#qxbXdhgGq{eo89?VO2NT^Y#YmalH0I})w!tl zKDiU|y6vx;xNM7OVw}2jF5g^7TAU5``w+NuYtELC)nJ7ubzl+j_yT-zHhT@VWya>idlmjd^f+ocM2zgX%%Lb>Q7$M-~Id$Ym-(17aHY0Q6`FJZ96YKD!%EK5>kR$ zw@fXxCD@`sv9?Xt?_myx|;?-a%gaDtHD>-jubjU(R=X{!qta=6?o_~TmXp{Z^B zj8&BW%I^jj+jkaXu$5l;HEs^nt^$Q#515e`5$m*;(^0*( zKgJ5(mjuCps9bK~Uz6j=%ma?l|F!vwPmujQ3){$a=$f^dB0XAfZpIpOafPc4OR?bq zSp8k5Rg}#zJH0a=R;J_yGr~r?F1XCnT!^k{4-6O_BN1I zxn8NhNQxhYf6_IX_vfyuqOX@i?t=2pkQgis%I{VghQg;c=QPBrBAHVQqa!kt)y-S) z-a1J0U&r|@Xb6o%kEjvdq}8taQfhd}x}U1`w>cxjf)viM8j?5ey{SzNjq_@egaw!v zYS6)8;}N`#Fq}CgnVN>VE4C*gjI29y_}$?qnbos>Jd}+$PGV5dS5?}#3zJIK8;ShU zg4P$+Rh}BVbTc9|8yafu-uDJR8D6mAuCeEcx zJp6z{FK_?Fqj550=fPr;+gfu)>)m0C5%k+!p>HVwD=dlx(QZ_koH-nCW#ik4%J0{E zAE;iezCTZWn{&J7v9@gmp3-jaIClyxG z%Z^E)qM{h_2J7!HjqUlqnB*7C{T+;`>La(9QM(^`*&ZyUe7BOqlnqphpJvXYs4T5g zZow2Ap}I9hVh9EY{BTs27x6)qbDGGuG!)KP)t%dRH@8}9dVmajAPeFUZYME*9UP0P z5s9DHXm;PqNi5=vrMeiJIe4U`aKhnDvws53-BSwmOU~;_#cw(0+ktrj62#}?&cPUu zeLkL(_G~AEKsLCnR+=EBu8<)skwqDDFzbU1z||Tmh&{HV1wWMric^n{jss&ZaM$%q zV$st$A;B=0pOgvvBn{tXP8~uMH7xdytFgW{b=(z0IL?=bFL}%%#g{(bH-?vg&P?kJ zJ&C(n;l=G%NYdrYA<6>TA#NWkS7E9aME*E4w=X}MBmG(|(9s>;nPn}tL(jXVq%Ws_ zY|ab)Bv~xrajHZ+>&2Tt6ijrt;{8YZ{AJaJBRz}93k#j!+YT{zf-tSChKj6+GgyCC zsY=p${s4#);ss7XB!DyFFhH1gbk^^HP@6Bn0Evy62RqaAg?WcY3FR?a%)x~pX&hw; z;y`V(Fz1Ku|3>JRVd{(4GQ|@Hn95MilT2Cm|2MFa8K_MI0C)j_`JTfHpuhkW1mpn# p3;-nl2l&5`{_C^JzYf1GIu|3!UYq;fahW4PPs`|Dg{I^4{{Vhw)d&Cp literal 0 HcmV?d00001 diff --git a/resources/elastic/observability/observability.png b/resources/elastic/observability/observability.png new file mode 100644 index 0000000000000000000000000000000000000000..5844caa98ef9dd29ccb48791dd458a2a45afae33 GIT binary patch literal 1973 zcmbu9c~sL^7RPVGrmRi{qKL={g-oT&8g>j@CBv3h#sUVh5=jYAK#)~Q5JzSxovA@& zr=g=5Xa$QX1q_RhU?yRah$(B(q7flsUm{@U#dBuPoHM6?`FrPg-aYqx-}ip*J?Fi@ zl7o)uXc}n(fDXye=Q98d3Nf%v9c`2|oM^PEpYlKA1M|w&qDz;d%=SdTuw-;Xr2H{n z`0{j=)JP!(`f5z6?NZTJyFa9kbQ)eHAJ35V5$RYYM|^f~&w@yj)<>vJmKgKHqQ6!7 zP_tLd?8dUhmgn;qHG_!I*TYF)8hz!uf2jJfOM|^(%cajFd|IfofDLaPeQ@7+se-Io zZ64r#l-8Q@w69N|Qf*dr-?XS@?N^M3Zk{;j!Aw^AqCC6*JHvF>QEOpjcEUkkm0~_$ z!de!cizD#b8H^L7h0EM&c~*Fp-KYaj8RytC&K~fcTCYp;qs{PjDI8bIH9WbIIx4@L=0n)QChWU>D51)PtVXKYVcZh zvdAQOWKC!|KA-Ahunn;D-I>4VCiIPsbyLz_-p0ZmY~p~diBirr6VZeug~? zw(=mr{aygDzn|zR86J)ZOY4upfGQvxFlv+UAfvbP1Ty}Z_A z2jJxt)8gpVm)*@SSS;ifq-L*5N6dk|W}cWtn7tPSY#C{?F|MRkA2>5*&ChSBAeBto zSrhm3S`@0FW2xo%qHaTM24rDUY58bbZ5~bwLY|D&31p*q8==JdAA zwttEMCMq8;iMGKNcQvZpOzQa%VAHYcTipTU*%uM0C2jT93Kq`ZCKSZNP*CLas44WU+ppIUO z3}(#27<1EDINckGh*k;g%HknMo$c_XY5#%G>puWaox}~pY;4BJ3xF6g$2VvTG5`)8 zFF}asbqD&9V#9c{;F=>s{~NDptpd$wXmj8r)Keeg+A=00l0rqXMh=?Ijq72}OHLSO z-KD%>G&6d8gFfK>5!usmEb$rE_z;jqpJD-P3Z{UCBC9MePJ8r~LYOsoY<(^~wpTL< zm;edYUtmBLb^uX%`~D~VZ|*&V-?E&Hr>(D?m>+8?Z!7KG{vUw%DfX^|_c8eY_J7mT z$x6kVX2IFR`)u`Svgc#45~n^ki^+IIB`+A7lIFIe3q6NG z&=ZefI&GQ*-JS@yf*?e@lmFc@vP*WMWThM=}>EoK*3m89E*T8)} zmY_^eQ+@JP{LbJHdv6107t?$?_o2uJ^$=IZ|!t|7gdv|Ecw&%gRP2AugIb)(aU#mb_^bM&hx#XBv73#Hd(y(@*xO$t zGs(Z0q|{D+<9H6wNSa%hU+=dZW>NXF-~@SktX8DonN-$Jii?v#W&V#*t_NG~c$K8a zjf&oVbZ_bGa&{_9&(eAD`o#xM(2(DCGuFg!k;wYyJe@wj$?d79e3^SRd@;wW>F8kN o{uq9t$5pDFpYV0WSLt^c7+h%n6&r&DCqN&`H^`^n>*R%h17s`=yZ`_I literal 0 HcmV?d00001 diff --git a/resources/elastic/observability/uptime.png b/resources/elastic/observability/uptime.png new file mode 100644 index 0000000000000000000000000000000000000000..f4e2709d6fe03824c11ebfa56efecc77b8e9d751 GIT binary patch literal 6646 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 ZIUXJzTk3`@R*;XY03A(3Oo;|I>VFf7Rs8?} literal 0 HcmV?d00001 diff --git a/resources/elastic/orchestration/eck.png b/resources/elastic/orchestration/eck.png new file mode 100644 index 0000000000000000000000000000000000000000..b5135efa58a433e2f9149fbb534f120f8986f10b GIT binary patch literal 10381 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 SJQ0P1fTEm=Y^Ahu@c#e``tz6o literal 0 HcmV?d00001 diff --git a/resources/elastic/security/endpoint.png b/resources/elastic/security/endpoint.png new file mode 100644 index 0000000000000000000000000000000000000000..91facf99e13ea01762b3371735091da54090959e GIT binary patch literal 5098 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 WIk3;KN`X^3$XMS@@2!q=^#1|=dukj2 literal 0 HcmV?d00001 diff --git a/resources/elastic/security/security.png b/resources/elastic/security/security.png new file mode 100644 index 0000000000000000000000000000000000000000..ebf98d169d5fd02efcdfd073912c5e8123d2819c GIT binary patch literal 3307 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 VQr>oJZXf}u=xOO|mR`4g`aip!!oC0i literal 0 HcmV?d00001 diff --git a/scripts/generate.py b/scripts/generate.py index a7e04b780..fedee589a 100644 --- a/scripts/generate.py +++ b/scripts/generate.py @@ -7,7 +7,7 @@ import config as cfg from . import app_root_dir, doc_root_dir, resource_dir, template_dir -_usage = "Usage: generate.py " +_usage = "Usage: generate.py " def load_tmpl(tmpl: str) -> Template: diff --git a/scripts/resource.py b/scripts/resource.py index 41e44130e..2d171aff6 100644 --- a/scripts/resource.py +++ b/scripts/resource.py @@ -98,6 +98,10 @@ def cleaner_saas(f): return f.lower() +def cleaner_elastic(f): + return f.lower() + + cleaners = { "onprem": cleaner_onprem, "aws": cleaner_aws, @@ -109,6 +113,7 @@ def cleaner_saas(f): "oci": cleaner_oci, "programming": cleaner_programming, "saas": cleaner_saas, + "elastic": cleaner_elastic, } From db27a47f7c84a064d99bff44fcad6459abeebdfc Mon Sep 17 00:00:00 2001 From: Patryk Orwat Date: Sun, 31 May 2020 20:39:05 +0700 Subject: [PATCH 13/23] AWS: Added more DynamoDB and IAM resources (#180) * AWS: Added more DynamoDB and IAM resources * AWS: Added more DynamoDB and IAM resources - code review --- config.py | 6 + diagrams/aws/database.py | 14 + diagrams/aws/security.py | 24 ++ docs/nodes/alibabacloud.md | 140 +++---- docs/nodes/aws.md | 372 +++++++++--------- docs/nodes/gcp.md | 118 +++--- docs/nodes/k8s.md | 80 ++-- docs/nodes/oci.md | 144 +++---- docs/nodes/onprem.md | 126 ++---- resources/aws/database/dynamodb-dax.png | Bin 0 -> 10522 bytes .../dynamodb-global-secondary-index.png | Bin 0 -> 1166 bytes resources/aws/database/dynamodb-table.png | Bin 0 -> 1329 bytes resources/aws/security/detective.png | Bin 0 -> 23415 bytes ...-access-management-iam-access-analyzer.png | Bin 0 -> 650 bytes ...tity-and-access-management-iam-aws-sts.png | Bin 0 -> 3605 bytes ...-and-access-management-iam-permissions.png | Bin 0 -> 2174 bytes ...dentity-and-access-management-iam-role.png | Bin 0 -> 4143 bytes scripts/resource.py | 1 + website/i18n/en.json | 6 + 19 files changed, 525 insertions(+), 506 deletions(-) create mode 100755 resources/aws/database/dynamodb-dax.png create mode 100644 resources/aws/database/dynamodb-global-secondary-index.png create mode 100644 resources/aws/database/dynamodb-table.png create mode 100755 resources/aws/security/detective.png create mode 100644 resources/aws/security/identity-and-access-management-iam-access-analyzer.png create mode 100644 resources/aws/security/identity-and-access-management-iam-aws-sts.png create mode 100644 resources/aws/security/identity-and-access-management-iam-permissions.png create mode 100644 resources/aws/security/identity-and-access-management-iam-role.png diff --git a/config.py b/config.py index ab971c6df..21732c713 100644 --- a/config.py +++ b/config.py @@ -139,6 +139,8 @@ "database": { "DatabaseMigrationService": "DMS", "DocumentdbMongodbCompatibility": "DocumentDB", + "DynamodbDax": "DAX", + "DynamodbGlobalSecondaryIndex": "DynamodbGSI", "Database": "DB", "Dynamodb": "DDB", "Elasticache": "ElastiCache", @@ -187,6 +189,10 @@ "Cloudhsm": "CloudHSM", "DirectoryService": "DS", "FirewallManager": "FMS", + "IdentityAndAccessManagementIamAccessAnalyzer": "IAMAccessAnalyzer", + "IdentityAndAccessManagementIamAWSSts": "IAMAWSSts", + "IdentityAndAccessManagementIamPermissions": "IAMPermissions", + "IdentityAndAccessManagementIamRole": "IAMRole", "IdentityAndAccessManagementIam": "IAM", "KeyManagementService": "KMS", "ResourceAccessManager": "RAM", diff --git a/diagrams/aws/database.py b/diagrams/aws/database.py index 840653631..145fcb5da 100644 --- a/diagrams/aws/database.py +++ b/diagrams/aws/database.py @@ -24,6 +24,18 @@ class DocumentdbMongodbCompatibility(_Database): _icon = "documentdb-mongodb-compatibility.png" +class DynamodbDax(_Database): + _icon = "dynamodb-dax.png" + + +class DynamodbGlobalSecondaryIndex(_Database): + _icon = "dynamodb-global-secondary-index.png" + + +class DynamodbTable(_Database): + _icon = "dynamodb-table.png" + + class Dynamodb(_Database): _icon = "dynamodb.png" @@ -60,6 +72,8 @@ class Timestream(_Database): DMS = DatabaseMigrationService DocumentDB = DocumentdbMongodbCompatibility +DAX = DynamodbDax +DynamodbGSI = DynamodbGlobalSecondaryIndex DB = Database DDB = Dynamodb ElastiCache = Elasticache diff --git a/diagrams/aws/security.py b/diagrams/aws/security.py index d03d7175b..61da75a9e 100644 --- a/diagrams/aws/security.py +++ b/diagrams/aws/security.py @@ -28,6 +28,10 @@ class Cognito(_Security): _icon = "cognito.png" +class Detective(_Security): + _icon = "detective.png" + + class DirectoryService(_Security): _icon = "directory-service.png" @@ -40,6 +44,22 @@ class Guardduty(_Security): _icon = "guardduty.png" +class IdentityAndAccessManagementIamAccessAnalyzer(_Security): + _icon = "identity-and-access-management-iam-access-analyzer.png" + + +class IdentityAndAccessManagementIamAWSSts(_Security): + _icon = "identity-and-access-management-iam-aws-sts.png" + + +class IdentityAndAccessManagementIamPermissions(_Security): + _icon = "identity-and-access-management-iam-permissions.png" + + +class IdentityAndAccessManagementIamRole(_Security): + _icon = "identity-and-access-management-iam-role.png" + + class IdentityAndAccessManagementIam(_Security): _icon = "identity-and-access-management-iam.png" @@ -90,6 +110,10 @@ class WAF(_Security): CloudHSM = Cloudhsm DS = DirectoryService FMS = FirewallManager +IAMAccessAnalyzer = IdentityAndAccessManagementIamAccessAnalyzer +IAMAWSSts = IdentityAndAccessManagementIamAWSSts +IAMPermissions = IdentityAndAccessManagementIamPermissions +IAMRole = IdentityAndAccessManagementIamRole IAM = IdentityAndAccessManagementIam KMS = KeyManagementService RAM = ResourceAccessManager diff --git a/docs/nodes/alibabacloud.md b/docs/nodes/alibabacloud.md index eb62f5d20..cc274c240 100644 --- a/docs/nodes/alibabacloud.md +++ b/docs/nodes/alibabacloud.md @@ -5,6 +5,54 @@ title: AlibabaCloud Node classes list of alibabacloud provider. +## alibabacloud.analytics + +- **diagrams.alibabacloud.analytics.AnalyticDb** +- **diagrams.alibabacloud.analytics.ClickHouse** +- **diagrams.alibabacloud.analytics.DataLakeAnalytics** +- **diagrams.alibabacloud.analytics.ElaticMapReduce** +- **diagrams.alibabacloud.analytics.OpenSearch** + +## alibabacloud.application + +- **diagrams.alibabacloud.application.ApiGateway** +- **diagrams.alibabacloud.application.BeeBot** +- **diagrams.alibabacloud.application.BlockchainAsAService** +- **diagrams.alibabacloud.application.CloudCallCenter** +- **diagrams.alibabacloud.application.CodePipeline** +- **diagrams.alibabacloud.application.DirectMail** +- **diagrams.alibabacloud.application.LogService**, **SLS** (alias) +- **diagrams.alibabacloud.application.MessageNotificationService**, **MNS** (alias) +- **diagrams.alibabacloud.application.NodeJsPerformancePlatform** +- **diagrams.alibabacloud.application.OpenSearch** +- **diagrams.alibabacloud.application.PerformanceTestingService**, **PTS** (alias) +- **diagrams.alibabacloud.application.RdCloud** +- **diagrams.alibabacloud.application.SmartConversationAnalysis**, **SCA** (alias) +- **diagrams.alibabacloud.application.Yida** + +## alibabacloud.communication + +- **diagrams.alibabacloud.communication.DirectMail** +- **diagrams.alibabacloud.communication.MobilePush** + +## alibabacloud.compute + +- **diagrams.alibabacloud.compute.AutoScaling**, **ESS** (alias) +- **diagrams.alibabacloud.compute.BatchCompute** +- **diagrams.alibabacloud.compute.ContainerRegistry** +- **diagrams.alibabacloud.compute.ContainerService** +- **diagrams.alibabacloud.compute.ElasticComputeService**, **ECS** (alias) +- **diagrams.alibabacloud.compute.ElasticContainerInstance**, **ECI** (alias) +- **diagrams.alibabacloud.compute.ElasticHighPerformanceComputing**, **EHPC** (alias) +- **diagrams.alibabacloud.compute.ElasticSearch** +- **diagrams.alibabacloud.compute.FunctionCompute**, **FC** (alias) +- **diagrams.alibabacloud.compute.OperationOrchestrationService**, **OOS** (alias) +- **diagrams.alibabacloud.compute.ResourceOrchestrationService**, **ROS** (alias) +- **diagrams.alibabacloud.compute.ServerLoadBalancer**, **SLB** (alias) +- **diagrams.alibabacloud.compute.ServerlessAppEngine**, **SAE** (alias) +- **diagrams.alibabacloud.compute.SimpleApplicationServer**, **SAS** (alias) +- **diagrams.alibabacloud.compute.WebAppService**, **WAS** (alias) + ## alibabacloud.database - **diagrams.alibabacloud.database.ApsaradbCassandra** @@ -25,6 +73,25 @@ Node classes list of alibabacloud provider. - **diagrams.alibabacloud.database.HybriddbForMysql** - **diagrams.alibabacloud.database.RelationalDatabaseService**, **RDS** (alias) +## alibabacloud.iot + +- **diagrams.alibabacloud.iot.IotInternetDeviceId** +- **diagrams.alibabacloud.iot.IotLinkWan** +- **diagrams.alibabacloud.iot.IotMobileConnectionPackage** +- **diagrams.alibabacloud.iot.IotPlatform** + +## alibabacloud.network + +- **diagrams.alibabacloud.network.Cdn** +- **diagrams.alibabacloud.network.CloudEnterpriseNetwork**, **CEN** (alias) +- **diagrams.alibabacloud.network.ElasticIpAddress**, **EIP** (alias) +- **diagrams.alibabacloud.network.ExpressConnect** +- **diagrams.alibabacloud.network.NatGateway** +- **diagrams.alibabacloud.network.ServerLoadBalancer**, **SLB** (alias) +- **diagrams.alibabacloud.network.SmartAccessGateway** +- **diagrams.alibabacloud.network.VirtualPrivateCloud**, **VPC** (alias) +- **diagrams.alibabacloud.network.VpnGateway** + ## alibabacloud.security - **diagrams.alibabacloud.security.AntiBotService**, **ABS** (alias) @@ -46,23 +113,6 @@ Node classes list of alibabacloud provider. - **diagrams.alibabacloud.security.SslCertificates** - **diagrams.alibabacloud.security.WebApplicationFirewall**, **WAF** (alias) -## alibabacloud.web - -- **diagrams.alibabacloud.web.Dns** -- **diagrams.alibabacloud.web.Domain** - -## alibabacloud.network - -- **diagrams.alibabacloud.network.Cdn** -- **diagrams.alibabacloud.network.CloudEnterpriseNetwork**, **CEN** (alias) -- **diagrams.alibabacloud.network.ElasticIpAddress**, **EIP** (alias) -- **diagrams.alibabacloud.network.ExpressConnect** -- **diagrams.alibabacloud.network.NatGateway** -- **diagrams.alibabacloud.network.ServerLoadBalancer**, **SLB** (alias) -- **diagrams.alibabacloud.network.SmartAccessGateway** -- **diagrams.alibabacloud.network.VirtualPrivateCloud**, **VPC** (alias) -- **diagrams.alibabacloud.network.VpnGateway** - ## alibabacloud.storage - **diagrams.alibabacloud.storage.CloudStorageGateway** @@ -74,57 +124,7 @@ Node classes list of alibabacloud provider. - **diagrams.alibabacloud.storage.ObjectStorageService**, **OSS** (alias) - **diagrams.alibabacloud.storage.ObjectTableStore**, **OTS** (alias) -## alibabacloud.iot - -- **diagrams.alibabacloud.iot.IotInternetDeviceId** -- **diagrams.alibabacloud.iot.IotLinkWan** -- **diagrams.alibabacloud.iot.IotMobileConnectionPackage** -- **diagrams.alibabacloud.iot.IotPlatform** - -## alibabacloud.compute - -- **diagrams.alibabacloud.compute.AutoScaling**, **ESS** (alias) -- **diagrams.alibabacloud.compute.BatchCompute** -- **diagrams.alibabacloud.compute.ContainerRegistry** -- **diagrams.alibabacloud.compute.ContainerService** -- **diagrams.alibabacloud.compute.ElasticComputeService**, **ECS** (alias) -- **diagrams.alibabacloud.compute.ElasticContainerInstance**, **ECI** (alias) -- **diagrams.alibabacloud.compute.ElasticHighPerformanceComputing**, **EHPC** (alias) -- **diagrams.alibabacloud.compute.ElasticSearch** -- **diagrams.alibabacloud.compute.FunctionCompute**, **FC** (alias) -- **diagrams.alibabacloud.compute.OperationOrchestrationService**, **OOS** (alias) -- **diagrams.alibabacloud.compute.ResourceOrchestrationService**, **ROS** (alias) -- **diagrams.alibabacloud.compute.ServerLoadBalancer**, **SLB** (alias) -- **diagrams.alibabacloud.compute.ServerlessAppEngine**, **SAE** (alias) -- **diagrams.alibabacloud.compute.SimpleApplicationServer**, **SAS** (alias) -- **diagrams.alibabacloud.compute.WebAppService**, **WAS** (alias) - -## alibabacloud.application - -- **diagrams.alibabacloud.application.ApiGateway** -- **diagrams.alibabacloud.application.BeeBot** -- **diagrams.alibabacloud.application.BlockchainAsAService** -- **diagrams.alibabacloud.application.CloudCallCenter** -- **diagrams.alibabacloud.application.CodePipeline** -- **diagrams.alibabacloud.application.DirectMail** -- **diagrams.alibabacloud.application.LogService**, **SLS** (alias) -- **diagrams.alibabacloud.application.MessageNotificationService**, **MNS** (alias) -- **diagrams.alibabacloud.application.NodeJsPerformancePlatform** -- **diagrams.alibabacloud.application.OpenSearch** -- **diagrams.alibabacloud.application.PerformanceTestingService**, **PTS** (alias) -- **diagrams.alibabacloud.application.RdCloud** -- **diagrams.alibabacloud.application.SmartConversationAnalysis**, **SCA** (alias) -- **diagrams.alibabacloud.application.Yida** - -## alibabacloud.communication - -- **diagrams.alibabacloud.communication.DirectMail** -- **diagrams.alibabacloud.communication.MobilePush** - -## alibabacloud.analytics +## alibabacloud.web -- **diagrams.alibabacloud.analytics.AnalyticDb** -- **diagrams.alibabacloud.analytics.ClickHouse** -- **diagrams.alibabacloud.analytics.DataLakeAnalytics** -- **diagrams.alibabacloud.analytics.ElaticMapReduce** -- **diagrams.alibabacloud.analytics.OpenSearch** +- **diagrams.alibabacloud.web.Dns** +- **diagrams.alibabacloud.web.Domain** diff --git a/docs/nodes/aws.md b/docs/nodes/aws.md index e5eff58d8..ef5bdec2d 100644 --- a/docs/nodes/aws.md +++ b/docs/nodes/aws.md @@ -5,12 +5,65 @@ title: AWS Node classes list of aws provider. +## aws.analytics + +- **diagrams.aws.analytics.Analytics** +- **diagrams.aws.analytics.Athena** +- **diagrams.aws.analytics.CloudsearchSearchDocuments** +- **diagrams.aws.analytics.Cloudsearch** +- **diagrams.aws.analytics.DataPipeline** +- **diagrams.aws.analytics.ElasticsearchService**, **ES** (alias) +- **diagrams.aws.analytics.EMRCluster** +- **diagrams.aws.analytics.EMRHdfsCluster** +- **diagrams.aws.analytics.EMR** +- **diagrams.aws.analytics.GlueCrawlers** +- **diagrams.aws.analytics.GlueDataCatalog** +- **diagrams.aws.analytics.Glue** +- **diagrams.aws.analytics.KinesisDataAnalytics** +- **diagrams.aws.analytics.KinesisDataFirehose** +- **diagrams.aws.analytics.KinesisDataStreams** +- **diagrams.aws.analytics.KinesisVideoStreams** +- **diagrams.aws.analytics.Kinesis** +- **diagrams.aws.analytics.LakeFormation** +- **diagrams.aws.analytics.ManagedStreamingForKafka** +- **diagrams.aws.analytics.Quicksight** +- **diagrams.aws.analytics.RedshiftDenseComputeNode** +- **diagrams.aws.analytics.RedshiftDenseStorageNode** +- **diagrams.aws.analytics.Redshift** + +## aws.compute + +- **diagrams.aws.compute.ApplicationAutoScaling**, **AutoScaling** (alias) +- **diagrams.aws.compute.Batch** +- **diagrams.aws.compute.Compute** +- **diagrams.aws.compute.EC2ContainerRegistry**, **ECR** (alias) +- **diagrams.aws.compute.EC2** +- **diagrams.aws.compute.ElasticBeanstalk**, **EB** (alias) +- **diagrams.aws.compute.ElasticContainerService**, **ECS** (alias) +- **diagrams.aws.compute.ElasticKubernetesService**, **EKS** (alias) +- **diagrams.aws.compute.Fargate** +- **diagrams.aws.compute.Lambda** +- **diagrams.aws.compute.Lightsail** +- **diagrams.aws.compute.Outposts** +- **diagrams.aws.compute.ServerlessApplicationRepository**, **SAR** (alias) +- **diagrams.aws.compute.ThinkboxDeadline** +- **diagrams.aws.compute.ThinkboxDraft** +- **diagrams.aws.compute.ThinkboxFrost** +- **diagrams.aws.compute.ThinkboxKrakatoa** +- **diagrams.aws.compute.ThinkboxSequoia** +- **diagrams.aws.compute.ThinkboxStoke** +- **diagrams.aws.compute.ThinkboxXmesh** +- **diagrams.aws.compute.VmwareCloudOnAWS** + ## aws.database - **diagrams.aws.database.Aurora** - **diagrams.aws.database.DatabaseMigrationService**, **DMS** (alias) - **diagrams.aws.database.Database**, **DB** (alias) - **diagrams.aws.database.DocumentdbMongodbCompatibility**, **DocumentDB** (alias) +- **diagrams.aws.database.DynamodbDax**, **DAX** (alias) +- **diagrams.aws.database.DynamodbGlobalSecondaryIndex**, **DynamodbGSI** (alias) +- **diagrams.aws.database.DynamodbTable** - **diagrams.aws.database.Dynamodb**, **DDB** (alias) - **diagrams.aws.database.Elasticache**, **ElastiCache** (alias) - **diagrams.aws.database.Neptune** @@ -20,27 +73,29 @@ Node classes list of aws provider. - **diagrams.aws.database.Redshift** - **diagrams.aws.database.Timestream** -## aws.security +## aws.devtools -- **diagrams.aws.security.Artifact** -- **diagrams.aws.security.CertificateManager**, **ACM** (alias) -- **diagrams.aws.security.CloudDirectory** -- **diagrams.aws.security.Cloudhsm**, **CloudHSM** (alias) -- **diagrams.aws.security.Cognito** -- **diagrams.aws.security.DirectoryService**, **DS** (alias) -- **diagrams.aws.security.FirewallManager**, **FMS** (alias) -- **diagrams.aws.security.Guardduty** -- **diagrams.aws.security.IdentityAndAccessManagementIam**, **IAM** (alias) -- **diagrams.aws.security.Inspector** -- **diagrams.aws.security.KeyManagementService**, **KMS** (alias) -- **diagrams.aws.security.Macie** -- **diagrams.aws.security.ResourceAccessManager**, **RAM** (alias) -- **diagrams.aws.security.SecretsManager** -- **diagrams.aws.security.SecurityHub** -- **diagrams.aws.security.SecurityIdentityAndCompliance** -- **diagrams.aws.security.Shield** -- **diagrams.aws.security.SingleSignOn** -- **diagrams.aws.security.WAF** +- **diagrams.aws.devtools.CloudDevelopmentKit** +- **diagrams.aws.devtools.Cloud9** +- **diagrams.aws.devtools.Codebuild** +- **diagrams.aws.devtools.Codecommit** +- **diagrams.aws.devtools.Codedeploy** +- **diagrams.aws.devtools.Codepipeline** +- **diagrams.aws.devtools.Codestar** +- **diagrams.aws.devtools.CommandLineInterface**, **CLI** (alias) +- **diagrams.aws.devtools.DeveloperTools**, **DevTools** (alias) +- **diagrams.aws.devtools.ToolsAndSdks** +- **diagrams.aws.devtools.XRay** + +## aws.engagement + +- **diagrams.aws.engagement.Connect** +- **diagrams.aws.engagement.Pinpoint** +- **diagrams.aws.engagement.SimpleEmailServiceSes**, **SES** (alias) + +## aws.game + +- **diagrams.aws.game.Gamelift** ## aws.general @@ -67,82 +122,6 @@ Node classes list of aws provider. - **diagrams.aws.integration.SimpleQueueServiceSqs**, **SQS** (alias) - **diagrams.aws.integration.StepFunctions**, **SF** (alias) -## aws.robotics - -- **diagrams.aws.robotics.RobomakerSimulator** -- **diagrams.aws.robotics.Robomaker** -- **diagrams.aws.robotics.Robotics** - -## aws.network - -- **diagrams.aws.network.APIGateway** -- **diagrams.aws.network.AppMesh** -- **diagrams.aws.network.ClientVpn** -- **diagrams.aws.network.CloudMap** -- **diagrams.aws.network.CloudFront**, **CF** (alias) -- **diagrams.aws.network.DirectConnect** -- **diagrams.aws.network.ElasticLoadBalancing**, **ELB** (alias) -- **diagrams.aws.network.Endpoint** -- **diagrams.aws.network.GlobalAccelerator**, **GAX** (alias) -- **diagrams.aws.network.InternetGateway** -- **diagrams.aws.network.Nacl** -- **diagrams.aws.network.NATGateway** -- **diagrams.aws.network.NetworkingAndContentDelivery** -- **diagrams.aws.network.PrivateSubnet** -- **diagrams.aws.network.Privatelink** -- **diagrams.aws.network.PublicSubnet** -- **diagrams.aws.network.Route53** -- **diagrams.aws.network.RouteTable** -- **diagrams.aws.network.SiteToSiteVpn** -- **diagrams.aws.network.TransitGateway** -- **diagrams.aws.network.VPCPeering** -- **diagrams.aws.network.VPCRouter** -- **diagrams.aws.network.VPC** - -## aws.management - -- **diagrams.aws.management.AutoScaling** -- **diagrams.aws.management.Cloudformation** -- **diagrams.aws.management.Cloudtrail** -- **diagrams.aws.management.Cloudwatch** -- **diagrams.aws.management.Codeguru** -- **diagrams.aws.management.CommandLineInterface** -- **diagrams.aws.management.Config** -- **diagrams.aws.management.ControlTower** -- **diagrams.aws.management.LicenseManager** -- **diagrams.aws.management.ManagedServices** -- **diagrams.aws.management.ManagementConsole** -- **diagrams.aws.management.Opsworks** -- **diagrams.aws.management.Organizations** -- **diagrams.aws.management.ServiceCatalog** -- **diagrams.aws.management.SystemsManagerParameterStore**, **ParameterStore** (alias) -- **diagrams.aws.management.SystemsManager**, **SSM** (alias) -- **diagrams.aws.management.TrustedAdvisor** -- **diagrams.aws.management.WellArchitectedTool** - -## aws.game - -- **diagrams.aws.game.Gamelift** - -## aws.storage - -- **diagrams.aws.storage.Backup** -- **diagrams.aws.storage.CloudendureDisasterRecovery**, **CDR** (alias) -- **diagrams.aws.storage.EFSInfrequentaccessPrimaryBg** -- **diagrams.aws.storage.EFSStandardPrimaryBg** -- **diagrams.aws.storage.ElasticBlockStoreEBS**, **EBS** (alias) -- **diagrams.aws.storage.ElasticFileSystemEFS**, **EFS** (alias) -- **diagrams.aws.storage.FsxForLustre** -- **diagrams.aws.storage.FsxForWindowsFileServer** -- **diagrams.aws.storage.Fsx**, **FSx** (alias) -- **diagrams.aws.storage.S3Glacier** -- **diagrams.aws.storage.SimpleStorageServiceS3**, **S3** (alias) -- **diagrams.aws.storage.SnowballEdge** -- **diagrams.aws.storage.Snowball** -- **diagrams.aws.storage.Snowmobile** -- **diagrams.aws.storage.StorageGateway** -- **diagrams.aws.storage.Storage** - ## aws.iot - **diagrams.aws.iot.Freertos**, **FreeRTOS** (alias) @@ -168,49 +147,54 @@ Node classes list of aws provider. - **diagrams.aws.iot.IotThingsGraph** - **diagrams.aws.iot.IotTopic** -## aws.engagement +## aws.management -- **diagrams.aws.engagement.Connect** -- **diagrams.aws.engagement.Pinpoint** -- **diagrams.aws.engagement.SimpleEmailServiceSes**, **SES** (alias) +- **diagrams.aws.management.AutoScaling** +- **diagrams.aws.management.Cloudformation** +- **diagrams.aws.management.Cloudtrail** +- **diagrams.aws.management.Cloudwatch** +- **diagrams.aws.management.Codeguru** +- **diagrams.aws.management.CommandLineInterface** +- **diagrams.aws.management.Config** +- **diagrams.aws.management.ControlTower** +- **diagrams.aws.management.LicenseManager** +- **diagrams.aws.management.ManagedServices** +- **diagrams.aws.management.ManagementConsole** +- **diagrams.aws.management.Opsworks** +- **diagrams.aws.management.Organizations** +- **diagrams.aws.management.ServiceCatalog** +- **diagrams.aws.management.SystemsManagerParameterStore**, **ParameterStore** (alias) +- **diagrams.aws.management.SystemsManager**, **SSM** (alias) +- **diagrams.aws.management.TrustedAdvisor** +- **diagrams.aws.management.WellArchitectedTool** -## aws.compute +## aws.media -- **diagrams.aws.compute.ApplicationAutoScaling**, **AutoScaling** (alias) -- **diagrams.aws.compute.Batch** -- **diagrams.aws.compute.Compute** -- **diagrams.aws.compute.EC2ContainerRegistry**, **ECR** (alias) -- **diagrams.aws.compute.EC2** -- **diagrams.aws.compute.ElasticBeanstalk**, **EB** (alias) -- **diagrams.aws.compute.ElasticContainerService**, **ECS** (alias) -- **diagrams.aws.compute.ElasticKubernetesService**, **EKS** (alias) -- **diagrams.aws.compute.Fargate** -- **diagrams.aws.compute.Lambda** -- **diagrams.aws.compute.Lightsail** -- **diagrams.aws.compute.Outposts** -- **diagrams.aws.compute.ServerlessApplicationRepository**, **SAR** (alias) -- **diagrams.aws.compute.ThinkboxDeadline** -- **diagrams.aws.compute.ThinkboxDraft** -- **diagrams.aws.compute.ThinkboxFrost** -- **diagrams.aws.compute.ThinkboxKrakatoa** -- **diagrams.aws.compute.ThinkboxSequoia** -- **diagrams.aws.compute.ThinkboxStoke** -- **diagrams.aws.compute.ThinkboxXmesh** -- **diagrams.aws.compute.VmwareCloudOnAWS** +- **diagrams.aws.media.ElasticTranscoder** +- **diagrams.aws.media.ElementalConductor** +- **diagrams.aws.media.ElementalDelta** +- **diagrams.aws.media.ElementalLive** +- **diagrams.aws.media.ElementalMediaconnect** +- **diagrams.aws.media.ElementalMediaconvert** +- **diagrams.aws.media.ElementalMedialive** +- **diagrams.aws.media.ElementalMediapackage** +- **diagrams.aws.media.ElementalMediastore** +- **diagrams.aws.media.ElementalMediatailor** +- **diagrams.aws.media.ElementalServer** -## aws.devtools +## aws.migration -- **diagrams.aws.devtools.CloudDevelopmentKit** -- **diagrams.aws.devtools.Cloud9** -- **diagrams.aws.devtools.Codebuild** -- **diagrams.aws.devtools.Codecommit** -- **diagrams.aws.devtools.Codedeploy** -- **diagrams.aws.devtools.Codepipeline** -- **diagrams.aws.devtools.Codestar** -- **diagrams.aws.devtools.CommandLineInterface**, **CLI** (alias) -- **diagrams.aws.devtools.DeveloperTools**, **DevTools** (alias) -- **diagrams.aws.devtools.ToolsAndSdks** -- **diagrams.aws.devtools.XRay** +- **diagrams.aws.migration.ApplicationDiscoveryService**, **ADS** (alias) +- **diagrams.aws.migration.CloudendureMigration**, **CEM** (alias) +- **diagrams.aws.migration.DatabaseMigrationService**, **DMS** (alias) +- **diagrams.aws.migration.Datasync** +- **diagrams.aws.migration.MigrationAndTransfer**, **MAT** (alias) +- **diagrams.aws.migration.MigrationHub** +- **diagrams.aws.migration.ServerMigrationService**, **SMS** (alias) +- **diagrams.aws.migration.SnowballEdge** +- **diagrams.aws.migration.Snowball** +- **diagrams.aws.migration.Snowmobile** +- **diagrams.aws.migration.TransferForSftp** ## aws.ml @@ -234,56 +218,80 @@ Node classes list of aws provider. - **diagrams.aws.ml.Transcribe** - **diagrams.aws.ml.Translate** -## aws.migration +## aws.network -- **diagrams.aws.migration.ApplicationDiscoveryService**, **ADS** (alias) -- **diagrams.aws.migration.CloudendureMigration**, **CEM** (alias) -- **diagrams.aws.migration.DatabaseMigrationService**, **DMS** (alias) -- **diagrams.aws.migration.Datasync** -- **diagrams.aws.migration.MigrationAndTransfer**, **MAT** (alias) -- **diagrams.aws.migration.MigrationHub** -- **diagrams.aws.migration.ServerMigrationService**, **SMS** (alias) -- **diagrams.aws.migration.SnowballEdge** -- **diagrams.aws.migration.Snowball** -- **diagrams.aws.migration.Snowmobile** -- **diagrams.aws.migration.TransferForSftp** +- **diagrams.aws.network.APIGateway** +- **diagrams.aws.network.AppMesh** +- **diagrams.aws.network.ClientVpn** +- **diagrams.aws.network.CloudMap** +- **diagrams.aws.network.CloudFront**, **CF** (alias) +- **diagrams.aws.network.DirectConnect** +- **diagrams.aws.network.ElasticLoadBalancing**, **ELB** (alias) +- **diagrams.aws.network.Endpoint** +- **diagrams.aws.network.GlobalAccelerator**, **GAX** (alias) +- **diagrams.aws.network.InternetGateway** +- **diagrams.aws.network.Nacl** +- **diagrams.aws.network.NATGateway** +- **diagrams.aws.network.NetworkingAndContentDelivery** +- **diagrams.aws.network.PrivateSubnet** +- **diagrams.aws.network.Privatelink** +- **diagrams.aws.network.PublicSubnet** +- **diagrams.aws.network.Route53** +- **diagrams.aws.network.RouteTable** +- **diagrams.aws.network.SiteToSiteVpn** +- **diagrams.aws.network.TransitGateway** +- **diagrams.aws.network.VPCPeering** +- **diagrams.aws.network.VPCRouter** +- **diagrams.aws.network.VPC** -## aws.analytics +## aws.robotics -- **diagrams.aws.analytics.Analytics** -- **diagrams.aws.analytics.Athena** -- **diagrams.aws.analytics.CloudsearchSearchDocuments** -- **diagrams.aws.analytics.Cloudsearch** -- **diagrams.aws.analytics.DataPipeline** -- **diagrams.aws.analytics.ElasticsearchService**, **ES** (alias) -- **diagrams.aws.analytics.EMRCluster** -- **diagrams.aws.analytics.EMRHdfsCluster** -- **diagrams.aws.analytics.EMR** -- **diagrams.aws.analytics.GlueCrawlers** -- **diagrams.aws.analytics.GlueDataCatalog** -- **diagrams.aws.analytics.Glue** -- **diagrams.aws.analytics.KinesisDataAnalytics** -- **diagrams.aws.analytics.KinesisDataFirehose** -- **diagrams.aws.analytics.KinesisDataStreams** -- **diagrams.aws.analytics.KinesisVideoStreams** -- **diagrams.aws.analytics.Kinesis** -- **diagrams.aws.analytics.LakeFormation** -- **diagrams.aws.analytics.ManagedStreamingForKafka** -- **diagrams.aws.analytics.Quicksight** -- **diagrams.aws.analytics.RedshiftDenseComputeNode** -- **diagrams.aws.analytics.RedshiftDenseStorageNode** -- **diagrams.aws.analytics.Redshift** +- **diagrams.aws.robotics.RobomakerSimulator** +- **diagrams.aws.robotics.Robomaker** +- **diagrams.aws.robotics.Robotics** -## aws.media +## aws.security -- **diagrams.aws.media.ElasticTranscoder** -- **diagrams.aws.media.ElementalConductor** -- **diagrams.aws.media.ElementalDelta** -- **diagrams.aws.media.ElementalLive** -- **diagrams.aws.media.ElementalMediaconnect** -- **diagrams.aws.media.ElementalMediaconvert** -- **diagrams.aws.media.ElementalMedialive** -- **diagrams.aws.media.ElementalMediapackage** -- **diagrams.aws.media.ElementalMediastore** -- **diagrams.aws.media.ElementalMediatailor** -- **diagrams.aws.media.ElementalServer** +- **diagrams.aws.security.Artifact** +- **diagrams.aws.security.CertificateManager**, **ACM** (alias) +- **diagrams.aws.security.CloudDirectory** +- **diagrams.aws.security.Cloudhsm**, **CloudHSM** (alias) +- **diagrams.aws.security.Cognito** +- **diagrams.aws.security.Detective** +- **diagrams.aws.security.DirectoryService**, **DS** (alias) +- **diagrams.aws.security.FirewallManager**, **FMS** (alias) +- **diagrams.aws.security.Guardduty** +- **diagrams.aws.security.IdentityAndAccessManagementIamAccessAnalyzer**, **IAMAccessAnalyzer** (alias) +- **diagrams.aws.security.IdentityAndAccessManagementIamAWSSts**, **IAMAWSSts** (alias) +- **diagrams.aws.security.IdentityAndAccessManagementIamPermissions**, **IAMPermissions** (alias) +- **diagrams.aws.security.IdentityAndAccessManagementIamRole**, **IAMRole** (alias) +- **diagrams.aws.security.IdentityAndAccessManagementIam**, **IAM** (alias) +- **diagrams.aws.security.Inspector** +- **diagrams.aws.security.KeyManagementService**, **KMS** (alias) +- **diagrams.aws.security.Macie** +- **diagrams.aws.security.ResourceAccessManager**, **RAM** (alias) +- **diagrams.aws.security.SecretsManager** +- **diagrams.aws.security.SecurityHub** +- **diagrams.aws.security.SecurityIdentityAndCompliance** +- **diagrams.aws.security.Shield** +- **diagrams.aws.security.SingleSignOn** +- **diagrams.aws.security.WAF** + +## aws.storage + +- **diagrams.aws.storage.Backup** +- **diagrams.aws.storage.CloudendureDisasterRecovery**, **CDR** (alias) +- **diagrams.aws.storage.EFSInfrequentaccessPrimaryBg** +- **diagrams.aws.storage.EFSStandardPrimaryBg** +- **diagrams.aws.storage.ElasticBlockStoreEBS**, **EBS** (alias) +- **diagrams.aws.storage.ElasticFileSystemEFS**, **EFS** (alias) +- **diagrams.aws.storage.FsxForLustre** +- **diagrams.aws.storage.FsxForWindowsFileServer** +- **diagrams.aws.storage.Fsx**, **FSx** (alias) +- **diagrams.aws.storage.S3Glacier** +- **diagrams.aws.storage.SimpleStorageServiceS3**, **S3** (alias) +- **diagrams.aws.storage.SnowballEdge** +- **diagrams.aws.storage.Snowball** +- **diagrams.aws.storage.Snowmobile** +- **diagrams.aws.storage.StorageGateway** +- **diagrams.aws.storage.Storage** diff --git a/docs/nodes/gcp.md b/docs/nodes/gcp.md index 20c564535..91032ce32 100644 --- a/docs/nodes/gcp.md +++ b/docs/nodes/gcp.md @@ -5,53 +5,18 @@ title: GCP Node classes list of gcp provider. -## gcp.database - -- **diagrams.gcp.database.Bigtable**, **BigTable** (alias) -- **diagrams.gcp.database.Datastore** -- **diagrams.gcp.database.Firestore** -- **diagrams.gcp.database.Memorystore** -- **diagrams.gcp.database.Spanner** -- **diagrams.gcp.database.SQL** - -## gcp.security - -- **diagrams.gcp.security.Iam** -- **diagrams.gcp.security.IAP** -- **diagrams.gcp.security.KeyManagementService**, **KMS** (alias) -- **diagrams.gcp.security.ResourceManager** -- **diagrams.gcp.security.SecurityCommandCenter**, **SCC** (alias) -- **diagrams.gcp.security.SecurityScanner** - -## gcp.network - -- **diagrams.gcp.network.Armor** -- **diagrams.gcp.network.CDN** -- **diagrams.gcp.network.DedicatedInterconnect** -- **diagrams.gcp.network.DNS** -- **diagrams.gcp.network.ExternalIpAddresses** -- **diagrams.gcp.network.FirewallRules** -- **diagrams.gcp.network.LoadBalancing** -- **diagrams.gcp.network.NAT** -- **diagrams.gcp.network.Network** -- **diagrams.gcp.network.PartnerInterconnect** -- **diagrams.gcp.network.PremiumNetworkTier** -- **diagrams.gcp.network.Router** -- **diagrams.gcp.network.Routes** -- **diagrams.gcp.network.StandardNetworkTier** -- **diagrams.gcp.network.TrafficDirector** -- **diagrams.gcp.network.VirtualPrivateCloud**, **VPC** (alias) -- **diagrams.gcp.network.VPN** - -## gcp.storage - -- **diagrams.gcp.storage.Filestore** -- **diagrams.gcp.storage.PersistentDisk** -- **diagrams.gcp.storage.Storage**, **GCS** (alias) - -## gcp.iot +## gcp.analytics -- **diagrams.gcp.iot.IotCore** +- **diagrams.gcp.analytics.Bigquery**, **BigQuery** (alias) +- **diagrams.gcp.analytics.Composer** +- **diagrams.gcp.analytics.DataCatalog** +- **diagrams.gcp.analytics.DataFusion** +- **diagrams.gcp.analytics.Dataflow** +- **diagrams.gcp.analytics.Datalab** +- **diagrams.gcp.analytics.Dataprep** +- **diagrams.gcp.analytics.Dataproc** +- **diagrams.gcp.analytics.Genomics** +- **diagrams.gcp.analytics.Pubsub**, **PubSub** (alias) ## gcp.compute @@ -64,6 +29,15 @@ Node classes list of gcp provider. - **diagrams.gcp.compute.KubernetesEngine**, **GKE** (alias) - **diagrams.gcp.compute.Run** +## gcp.database + +- **diagrams.gcp.database.Bigtable**, **BigTable** (alias) +- **diagrams.gcp.database.Datastore** +- **diagrams.gcp.database.Firestore** +- **diagrams.gcp.database.Memorystore** +- **diagrams.gcp.database.Spanner** +- **diagrams.gcp.database.SQL** + ## gcp.devtools - **diagrams.gcp.devtools.Build** @@ -82,6 +56,14 @@ Node classes list of gcp provider. - **diagrams.gcp.devtools.ToolsForPowershell** - **diagrams.gcp.devtools.ToolsForVisualStudio** +## gcp.iot + +- **diagrams.gcp.iot.IotCore** + +## gcp.migration + +- **diagrams.gcp.migration.TransferAppliance** + ## gcp.ml - **diagrams.gcp.ml.AdvancedSolutionsLab** @@ -106,19 +88,37 @@ Node classes list of gcp provider. - **diagrams.gcp.ml.VideoIntelligenceAPI** - **diagrams.gcp.ml.VisionAPI** -## gcp.migration +## gcp.network -- **diagrams.gcp.migration.TransferAppliance** +- **diagrams.gcp.network.Armor** +- **diagrams.gcp.network.CDN** +- **diagrams.gcp.network.DedicatedInterconnect** +- **diagrams.gcp.network.DNS** +- **diagrams.gcp.network.ExternalIpAddresses** +- **diagrams.gcp.network.FirewallRules** +- **diagrams.gcp.network.LoadBalancing** +- **diagrams.gcp.network.NAT** +- **diagrams.gcp.network.Network** +- **diagrams.gcp.network.PartnerInterconnect** +- **diagrams.gcp.network.PremiumNetworkTier** +- **diagrams.gcp.network.Router** +- **diagrams.gcp.network.Routes** +- **diagrams.gcp.network.StandardNetworkTier** +- **diagrams.gcp.network.TrafficDirector** +- **diagrams.gcp.network.VirtualPrivateCloud**, **VPC** (alias) +- **diagrams.gcp.network.VPN** -## gcp.analytics +## gcp.security -- **diagrams.gcp.analytics.Bigquery**, **BigQuery** (alias) -- **diagrams.gcp.analytics.Composer** -- **diagrams.gcp.analytics.DataCatalog** -- **diagrams.gcp.analytics.DataFusion** -- **diagrams.gcp.analytics.Dataflow** -- **diagrams.gcp.analytics.Datalab** -- **diagrams.gcp.analytics.Dataprep** -- **diagrams.gcp.analytics.Dataproc** -- **diagrams.gcp.analytics.Genomics** -- **diagrams.gcp.analytics.Pubsub**, **PubSub** (alias) +- **diagrams.gcp.security.Iam** +- **diagrams.gcp.security.IAP** +- **diagrams.gcp.security.KeyManagementService**, **KMS** (alias) +- **diagrams.gcp.security.ResourceManager** +- **diagrams.gcp.security.SecurityCommandCenter**, **SCC** (alias) +- **diagrams.gcp.security.SecurityScanner** + +## gcp.storage + +- **diagrams.gcp.storage.Filestore** +- **diagrams.gcp.storage.PersistentDisk** +- **diagrams.gcp.storage.Storage**, **GCS** (alias) diff --git a/docs/nodes/k8s.md b/docs/nodes/k8s.md index b0050cbc0..d52584d0a 100644 --- a/docs/nodes/k8s.md +++ b/docs/nodes/k8s.md @@ -5,31 +5,41 @@ title: K8S Node classes list of k8s provider. -## k8s.rbac +## k8s.clusterconfig -- **diagrams.k8s.rbac.CRole**, **ClusterRole** (alias) -- **diagrams.k8s.rbac.CRB**, **ClusterRoleBinding** (alias) -- **diagrams.k8s.rbac.Group** -- **diagrams.k8s.rbac.RB**, **RoleBinding** (alias) -- **diagrams.k8s.rbac.Role** -- **diagrams.k8s.rbac.SA**, **ServiceAccount** (alias) -- **diagrams.k8s.rbac.User** +- **diagrams.k8s.clusterconfig.HPA**, **HorizontalPodAutoscaler** (alias) +- **diagrams.k8s.clusterconfig.Limits**, **LimitRange** (alias) +- **diagrams.k8s.clusterconfig.Quota** -## k8s.infra +## k8s.compute -- **diagrams.k8s.infra.ETCD** -- **diagrams.k8s.infra.Master** -- **diagrams.k8s.infra.Node** +- **diagrams.k8s.compute.Cronjob** +- **diagrams.k8s.compute.Deploy**, **Deployment** (alias) +- **diagrams.k8s.compute.DS**, **DaemonSet** (alias) +- **diagrams.k8s.compute.Job** +- **diagrams.k8s.compute.Pod** +- **diagrams.k8s.compute.RS**, **ReplicaSet** (alias) +- **diagrams.k8s.compute.STS**, **StatefulSet** (alias) -## k8s.podconfig +## k8s.controlplane -- **diagrams.k8s.podconfig.CM**, **ConfigMap** (alias) -- **diagrams.k8s.podconfig.Secret** +- **diagrams.k8s.controlplane.API**, **APIServer** (alias) +- **diagrams.k8s.controlplane.CCM** +- **diagrams.k8s.controlplane.CM**, **ControllerManager** (alias) +- **diagrams.k8s.controlplane.KProxy**, **KubeProxy** (alias) +- **diagrams.k8s.controlplane.Kubelet** +- **diagrams.k8s.controlplane.Sched**, **Scheduler** (alias) ## k8s.group - **diagrams.k8s.group.NS**, **Namespace** (alias) +## k8s.infra + +- **diagrams.k8s.infra.ETCD** +- **diagrams.k8s.infra.Master** +- **diagrams.k8s.infra.Node** + ## k8s.network - **diagrams.k8s.network.Ep**, **Endpoint** (alias) @@ -42,34 +52,24 @@ Node classes list of k8s provider. - **diagrams.k8s.others.CRD** - **diagrams.k8s.others.PSP** +## k8s.podconfig + +- **diagrams.k8s.podconfig.CM**, **ConfigMap** (alias) +- **diagrams.k8s.podconfig.Secret** + +## k8s.rbac + +- **diagrams.k8s.rbac.CRole**, **ClusterRole** (alias) +- **diagrams.k8s.rbac.CRB**, **ClusterRoleBinding** (alias) +- **diagrams.k8s.rbac.Group** +- **diagrams.k8s.rbac.RB**, **RoleBinding** (alias) +- **diagrams.k8s.rbac.Role** +- **diagrams.k8s.rbac.SA**, **ServiceAccount** (alias) +- **diagrams.k8s.rbac.User** + ## k8s.storage - **diagrams.k8s.storage.PV**, **PersistnetVolume** (alias) - **diagrams.k8s.storage.PVC**, **PersistentVolumeClaim** (alias) - **diagrams.k8s.storage.SC**, **StorageClass** (alias) - **diagrams.k8s.storage.Vol**, **Volume** (alias) - -## k8s.clusterconfig - -- **diagrams.k8s.clusterconfig.HPA**, **HorizontalPodAutoscaler** (alias) -- **diagrams.k8s.clusterconfig.Limits**, **LimitRange** (alias) -- **diagrams.k8s.clusterconfig.Quota** - -## k8s.controlplane - -- **diagrams.k8s.controlplane.API**, **APIServer** (alias) -- **diagrams.k8s.controlplane.CCM** -- **diagrams.k8s.controlplane.CM**, **ControllerManager** (alias) -- **diagrams.k8s.controlplane.KProxy**, **KubeProxy** (alias) -- **diagrams.k8s.controlplane.Kubelet** -- **diagrams.k8s.controlplane.Sched**, **Scheduler** (alias) - -## k8s.compute - -- **diagrams.k8s.compute.Cronjob** -- **diagrams.k8s.compute.Deploy**, **Deployment** (alias) -- **diagrams.k8s.compute.DS**, **DaemonSet** (alias) -- **diagrams.k8s.compute.Job** -- **diagrams.k8s.compute.Pod** -- **diagrams.k8s.compute.RS**, **ReplicaSet** (alias) -- **diagrams.k8s.compute.STS**, **StatefulSet** (alias) diff --git a/docs/nodes/oci.md b/docs/nodes/oci.md index 8f30f99f1..568fe9abe 100644 --- a/docs/nodes/oci.md +++ b/docs/nodes/oci.md @@ -5,17 +5,14 @@ title: OCI Node classes list of oci provider. -## oci.database - -- **diagrams.oci.database.DatabaseserviceGrey**, **DBServiceGrey** (alias) -- **diagrams.oci.database.Databaseservice**, **DBService** (alias) - -## oci.devops +## oci.compute -- **diagrams.oci.devops.ApiserviceGrey** -- **diagrams.oci.devops.Apiservice** -- **diagrams.oci.devops.ResourcemgmtGrey** -- **diagrams.oci.devops.Resourcemgmt** +- **diagrams.oci.compute.BmGrey**, **BareMetalGrey** (alias) +- **diagrams.oci.compute.Bm**, **BareMetal** (alias) +- **diagrams.oci.compute.ContainerGrey** +- **diagrams.oci.compute.Container** +- **diagrams.oci.compute.VmGrey**, **VirtualMachineGrey** (alias) +- **diagrams.oci.compute.Vm**, **VirtualMachine** (alias) ## oci.connectivity @@ -30,28 +27,51 @@ Node classes list of oci provider. - **diagrams.oci.connectivity.VpnGrey** - **diagrams.oci.connectivity.Vpn** -## oci.security +## oci.database -- **diagrams.oci.security.AuditGrey** -- **diagrams.oci.security.Audit** -- **diagrams.oci.security.CompartmentsGrey** -- **diagrams.oci.security.Compartments** -- **diagrams.oci.security.DdosGrey** -- **diagrams.oci.security.Ddos** -- **diagrams.oci.security.EncryptionGrey** -- **diagrams.oci.security.Encryption** -- **diagrams.oci.security.GroupsGrey** -- **diagrams.oci.security.Groups** -- **diagrams.oci.security.IdAccessGrey** -- **diagrams.oci.security.IdAccess** -- **diagrams.oci.security.KeymgmtGrey** -- **diagrams.oci.security.Keymgmt** -- **diagrams.oci.security.OcidGrey** -- **diagrams.oci.security.Ocid** -- **diagrams.oci.security.PoliciesGrey** -- **diagrams.oci.security.Policies** -- **diagrams.oci.security.TaggingGrey** -- **diagrams.oci.security.Tagging** +- **diagrams.oci.database.DatabaseserviceGrey**, **DBServiceGrey** (alias) +- **diagrams.oci.database.Databaseservice**, **DBService** (alias) + +## oci.devops + +- **diagrams.oci.devops.ApiserviceGrey** +- **diagrams.oci.devops.Apiservice** +- **diagrams.oci.devops.ResourcemgmtGrey** +- **diagrams.oci.devops.Resourcemgmt** + +## oci.edge + +- **diagrams.oci.edge.CdnGrey** +- **diagrams.oci.edge.Cdn** +- **diagrams.oci.edge.DnsGrey** +- **diagrams.oci.edge.Dns** +- **diagrams.oci.edge.EmaildeliveryGrey** +- **diagrams.oci.edge.Emaildelivery** +- **diagrams.oci.edge.WafGrey** +- **diagrams.oci.edge.Waf** + +## oci.monitoring + +- **diagrams.oci.monitoring.AlarmGrey** +- **diagrams.oci.monitoring.Alarm** +- **diagrams.oci.monitoring.EventGrey** +- **diagrams.oci.monitoring.Event** +- **diagrams.oci.monitoring.HealthcheckGrey** +- **diagrams.oci.monitoring.Healthcheck** +- **diagrams.oci.monitoring.LoggingGrey** +- **diagrams.oci.monitoring.Logging** +- **diagrams.oci.monitoring.NotificationsGrey** +- **diagrams.oci.monitoring.Notifications** +- **diagrams.oci.monitoring.QueuingGrey** +- **diagrams.oci.monitoring.Queuing** +- **diagrams.oci.monitoring.SearchGrey** +- **diagrams.oci.monitoring.Search** +- **diagrams.oci.monitoring.StreamingGrey** +- **diagrams.oci.monitoring.Streaming** +- **diagrams.oci.monitoring.TelemetryGrey** +- **diagrams.oci.monitoring.Telemetry** +- **diagrams.oci.monitoring.WorkflowGrey** +- **diagrams.oci.monitoring.Workflow** ## oci.network @@ -72,16 +92,28 @@ Node classes list of oci provider. - **diagrams.oci.network.VcloudnetworkGrey** - **diagrams.oci.network.Vcloudnetwork** -## oci.edge +## oci.security -- **diagrams.oci.edge.CdnGrey** -- **diagrams.oci.edge.Cdn** -- **diagrams.oci.edge.DnsGrey** -- **diagrams.oci.edge.Dns** -- **diagrams.oci.edge.EmaildeliveryGrey** -- **diagrams.oci.edge.Emaildelivery** -- **diagrams.oci.edge.WafGrey** -- **diagrams.oci.edge.Waf** +- **diagrams.oci.security.AuditGrey** +- **diagrams.oci.security.Audit** +- **diagrams.oci.security.CompartmentsGrey** +- **diagrams.oci.security.Compartments** +- **diagrams.oci.security.DdosGrey** +- **diagrams.oci.security.Ddos** +- **diagrams.oci.security.EncryptionGrey** +- **diagrams.oci.security.Encryption** +- **diagrams.oci.security.GroupsGrey** +- **diagrams.oci.security.Groups** +- **diagrams.oci.security.IdAccessGrey** +- **diagrams.oci.security.IdAccess** +- **diagrams.oci.security.KeymgmtGrey** +- **diagrams.oci.security.Keymgmt** +- **diagrams.oci.security.OcidGrey** +- **diagrams.oci.security.Ocid** +- **diagrams.oci.security.PoliciesGrey** +- **diagrams.oci.security.Policies** +- **diagrams.oci.security.TaggingGrey** +- **diagrams.oci.security.Tagging** ## oci.storage @@ -99,35 +131,3 @@ Node classes list of oci provider. - **diagrams.oci.storage.Objectstorage** - **diagrams.oci.storage.StoragegatewayGrey** - **diagrams.oci.storage.Storagegateway** - -## oci.compute - -- **diagrams.oci.compute.BmGrey**, **BareMetalGrey** (alias) -- **diagrams.oci.compute.Bm**, **BareMetal** (alias) -- **diagrams.oci.compute.ContainerGrey** -- **diagrams.oci.compute.Container** -- **diagrams.oci.compute.VmGrey**, **VirtualMachineGrey** (alias) -- **diagrams.oci.compute.Vm**, **VirtualMachine** (alias) - -## oci.monitoring - -- **diagrams.oci.monitoring.AlarmGrey** -- **diagrams.oci.monitoring.Alarm** -- **diagrams.oci.monitoring.EventGrey** -- **diagrams.oci.monitoring.Event** -- **diagrams.oci.monitoring.HealthcheckGrey** -- **diagrams.oci.monitoring.Healthcheck** -- **diagrams.oci.monitoring.LoggingGrey** -- **diagrams.oci.monitoring.Logging** -- **diagrams.oci.monitoring.NotificationsGrey** -- **diagrams.oci.monitoring.Notifications** -- **diagrams.oci.monitoring.QueuingGrey** -- **diagrams.oci.monitoring.Queuing** -- **diagrams.oci.monitoring.SearchGrey** -- **diagrams.oci.monitoring.Search** -- **diagrams.oci.monitoring.StreamingGrey** -- **diagrams.oci.monitoring.Streaming** -- **diagrams.oci.monitoring.TelemetryGrey** -- **diagrams.oci.monitoring.Telemetry** -- **diagrams.oci.monitoring.WorkflowGrey** -- **diagrams.oci.monitoring.Workflow** diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index 1100283bf..7b789db3d 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -66,27 +66,50 @@ Node classes list of onprem provider. - **diagrams.onprem.database.Postgresql**, **PostgreSQL** (alias) - **diagrams.onprem.database.Scylla** -## onprem.security +## onprem.etl -- **diagrams.onprem.security.Trivy** -- **diagrams.onprem.security.Vault** +- **diagrams.onprem.etl.Embulk** -## onprem.ci +## onprem.gitops -- **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.gitops.Argocd**, **ArgoCD** (alias) +- **diagrams.onprem.gitops.Flagger** +- **diagrams.onprem.gitops.Flux** -## onprem.etl +## onprem.iac -- **diagrams.onprem.etl.Embulk** +- **diagrams.onprem.iac.Ansible** +- **diagrams.onprem.iac.Awx** +- **diagrams.onprem.iac.Terraform** + +## onprem.inmemory + +- **diagrams.onprem.inmemory.Aerospike** +- **diagrams.onprem.inmemory.Hazelcast** +- **diagrams.onprem.inmemory.Memcached** +- **diagrams.onprem.inmemory.Redis** + +## onprem.logging + +- **diagrams.onprem.logging.Fluentbit**, **FluentBit** (alias) +- **diagrams.onprem.logging.Fluentd** +- **diagrams.onprem.logging.Logstash**, **LogStash** (alias) +- **diagrams.onprem.logging.Loki** ## onprem.mlops - **diagrams.onprem.mlops.Polyaxon** +## onprem.monitoring + +- **diagrams.onprem.monitoring.Datadog** +- **diagrams.onprem.monitoring.Grafana** +- **diagrams.onprem.monitoring.Kibana** +- **diagrams.onprem.monitoring.Prometheus** +- **diagrams.onprem.monitoring.Sentry** +- **diagrams.onprem.monitoring.Splunk** +- **diagrams.onprem.monitoring.Thanos** + ## onprem.network - **diagrams.onprem.network.Apache** @@ -107,33 +130,23 @@ Node classes list of onprem provider. - **diagrams.onprem.network.Vyos**, **VyOS** (alias) - **diagrams.onprem.network.Zookeeper** -## onprem.inmemory +## onprem.queue -- **diagrams.onprem.inmemory.Aerospike** -- **diagrams.onprem.inmemory.Hazelcast** -- **diagrams.onprem.inmemory.Memcached** -- **diagrams.onprem.inmemory.Redis** +- **diagrams.onprem.queue.Activemq**, **ActiveMQ** (alias) +- **diagrams.onprem.queue.Celery** +- **diagrams.onprem.queue.Kafka** +- **diagrams.onprem.queue.Rabbitmq**, **RabbitMQ** (alias) +- **diagrams.onprem.queue.Zeromq**, **ZeroMQ** (alias) ## onprem.search - **diagrams.onprem.search.Elasticsearch** - **diagrams.onprem.search.Solr** -## onprem.container - -- **diagrams.onprem.container.Docker** -- **diagrams.onprem.container.Rkt**, **RKT** (alias) - -## onprem.iac - -- **diagrams.onprem.iac.Ansible** -- **diagrams.onprem.iac.Awx** -- **diagrams.onprem.iac.Terraform** - -## onprem.compute +## onprem.security -- **diagrams.onprem.compute.Nomad** -- **diagrams.onprem.compute.Server** +- **diagrams.onprem.security.Trivy** +- **diagrams.onprem.security.Vault** ## onprem.vcs @@ -147,56 +160,3 @@ Node classes list of onprem provider. - **diagrams.onprem.workflow.Digdag** - **diagrams.onprem.workflow.Kubeflow**, **KubeFlow** (alias) - **diagrams.onprem.workflow.Nifi**, **NiFi** (alias) - -## onprem.queue - -- **diagrams.onprem.queue.Activemq**, **ActiveMQ** (alias) -- **diagrams.onprem.queue.Celery** -- **diagrams.onprem.queue.Kafka** -- **diagrams.onprem.queue.Rabbitmq**, **RabbitMQ** (alias) -- **diagrams.onprem.queue.Zeromq**, **ZeroMQ** (alias) - -## onprem.cd - -- **diagrams.onprem.cd.Spinnaker** - -## onprem.gitops - -- **diagrams.onprem.gitops.Argocd**, **ArgoCD** (alias) -- **diagrams.onprem.gitops.Flagger** -- **diagrams.onprem.gitops.Flux** - -## onprem.monitoring - -- **diagrams.onprem.monitoring.Datadog** -- **diagrams.onprem.monitoring.Grafana** -- **diagrams.onprem.monitoring.Kibana** -- **diagrams.onprem.monitoring.Prometheus** -- **diagrams.onprem.monitoring.Sentry** -- **diagrams.onprem.monitoring.Splunk** -- **diagrams.onprem.monitoring.Thanos** - -## onprem.client - -- **diagrams.onprem.client.Client** -- **diagrams.onprem.client.User** -- **diagrams.onprem.client.Users** - -## onprem.logging - -- **diagrams.onprem.logging.Fluentbit**, **FluentBit** (alias) -- **diagrams.onprem.logging.Fluentd** -- **diagrams.onprem.logging.Logstash**, **LogStash** (alias) -- **diagrams.onprem.logging.Loki** - -## 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** diff --git a/resources/aws/database/dynamodb-dax.png b/resources/aws/database/dynamodb-dax.png new file mode 100755 index 0000000000000000000000000000000000000000..5f923c6f40580fe1b1f54f0c587c9fb931c0b842 GIT binary patch literal 10522 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%0At@k#Py5hvMyK8#m5}m!mm_ z*Tz=+44@Ss>)T^Eg7YhGywsC_t3jjUj!+p~mw+LB?*pZbo$=#?y&$CgNwmWF?R+-6 zXsIkC7V4^c$@{|ZfyQjOowy3bE_x}pODp7<%>%cEW9Au5ss-!&J8>COi&|K)cEXZ< za_m&qsODHJZ)ksx6DZif8@wMVxB>OOxqkFwY4H9%E7YtY82+t(yW6`n1ip0{Q)&b* z9zOGc+Ka7V+hNlBjbMnwU+H^tbr3)&q9|pYn$G@g@Xsx*$`a@5?PZZ|&pSqrb}7Y{ z5u8S88B!%+M3{hF@q6agFF;8eVJMbEM1-p*bzVY*w0S*WmW{-{Y|RYC=|Z(}OJg+_ zza{WiLHgP=xlhb8n4WM440~GoD{GlIFaLs@XEBM9%xZEiVLvpPbFt-ESN( z73B2(@Q}UH({!49?YLmaT`iTRt~Flr4G1yU+4^-VlcT z8QL(~ZAVXh@P~#}Z~n5(9tLCoO*Vun3^G;Z`E%JOgB=NZL^?a*Pkdcv1P$>%{XQ4E za=3Z@j*!J*OUCsKP6+L>l$Mps^yMA~`@SnzjI`;M9!R!4572X(eoTNJ>);M>ftpDGWy)F}?GlgbV!)l*~a*LSJ0|Bko1Wx~6$pV1bo+ z_ZhJN5qD(AQVBoLFwP0rx8Yd(ylnR%+#ZVkq|Ur!8H__PF>t|Cc2A6PZEUqDaj!xa kKXx$e6A!o`kb?vNfmkz7eX~jMn@7m)TLw3AH|)dy2i?p!SpWb4 literal 0 HcmV?d00001 diff --git a/resources/aws/database/dynamodb-global-secondary-index.png b/resources/aws/database/dynamodb-global-secondary-index.png new file mode 100644 index 0000000000000000000000000000000000000000..ca41aebd91e78fe586021c3100d4885425c4de20 GIT binary patch literal 1166 zcmeAS@N?(olHy`uVBq!ia0vp^CqS5k4M?tyST~P>fhE+_#WAE}&YQdbdAG00IXu*; zur5mTceoU}b=9`jMQNUl>0xU^W5Xvci&)c`v#l6(?uNrzCY{axBPOD zJnQDSWxG@D($C3vH$@w$PxGwTXycM|{{=cMZmcSP{_p7a%Eaz@tVv%JUhm64z{T|N_T@dv;r+X|+aI5G zpL<5-?qf2GkBiNdbKltH@I$I2o4?}SN=|JKmPQ8wj+X7~>>unoZnj22fQ8ACNFwpm zd58D>$N5k9ZL%{qzBcE+=l?AaWb}`o=}GElMKR=++57wY7RQ6moLN+M?=1J>oQ(<` zEKLp&g6H0|z1NPfk$?Bzj{ooMnKQFqNL>A{aQ)Ye(!U$_&7Aq_jp3%FO$q`WOpP$2 z_+HkgYst6XhyS``o_24G=kbgp1^(~lt7{H!wU-I6{&(-pZPTw3Hr=nZoQWuov;B3vsd$fwv2mBK7>Y?NZttnz`#{Fq(75~7T))+SErjma zMC%|qwt0Ky`mcts+kfvqxbw`J5a;77_Ob5-`uBB(lEpzYiB~oqU#B{+d5sHnlb_ZH?u6x!V0Wqbwg5Wy>$W3_s5hep-wh z7H1qRhaTkK%dS21>*2q5hcE1(Idf%OUtleNQFnjj?3u1;LEmDTZyNd9@U6dg?K^4X z{98+sO)Mt>10;0cgIn@_*)?y%fnHsC`~WLv5Yf#rv%i(^Q|oHuv<^X`N&953`g zI`2-yy#|lVveTl-UmfpmDX*_L|Em``i9bL7 zDBB~!lxKwp68z78+zZrEJn>moy23e23-jO4{)mGFu9|-5-*<-l`HMh>KDjx&&r27u zG(Na|dCze<+ikPIX39p%^&tm{0~I5Jdhyrz!gu{r>Dx~`Ztt6s!6TA$;{B58|6cpv*Gu5( zIU~f4YTQes_g7nfU%X!W)qh;oWoW=(dimS0a@lDSM0gapk_F$pAHQ1m z_v@D3mtH=daeE#(5LUa_TRyC_Y0nokU~@}DcVfxR@7p=QFJ3=e-A+4^=gf_)?XSNc zwk{CE8WL%{Bmdt7B@F%5tA1tvie2P#`|Pgbean9JVg@%TvD}4VyZAlBzKXV%+ zk{po&lc_P`M6~a+iYb3mLqqNRw!E!Bq?$Bs`E}L*_Zr{q-dN;SdU>Cu;e^?mz@WV1 zds|z;TL+RFaQhZ-;<)hpXd%!@`?u>#c1aZ8o-W+m*u-1;^~G!9cgKr=R52zeq@V}3 z$Mnkm^9$^M?c$vuD{jP=mb3Nt+j-UU3EQxSMHMhC?tsE#dT8ihLtrjh1WXvqzzO3e zFk$E<@Yoom`+=u&^+}QbN%3K!Uw?bt{r<;HV7UZ&DvV^uC^g^SN35+s7^b!M>Z^S)ftBbS(^Oy`*v$Tn{nS~ z{p@XDF2Pt4?-dzn4{nJA}s;hC6s zrmuB(Y6Q;zf0Exyhoe=9C-U!{oVzMw&z^)VXZg>{!0`XS-Gv($_?tK-fJGsLr>mdK II;Vst0B}|(v;Y7A literal 0 HcmV?d00001 diff --git a/resources/aws/security/detective.png b/resources/aws/security/detective.png new file mode 100755 index 0000000000000000000000000000000000000000..9b138ec5ee471ad76dfbf615722f03674d9d1512 GIT binary patch literal 23415 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 literal 0 HcmV?d00001 diff --git a/resources/aws/security/identity-and-access-management-iam-access-analyzer.png b/resources/aws/security/identity-and-access-management-iam-access-analyzer.png new file mode 100644 index 0000000000000000000000000000000000000000..e04ad7c49d53535dd859a6124d6d4e39c2c5eaf6 GIT binary patch literal 650 zcmV;50(Jd~P)0817F$=k_p_S3-SATbPIKZY)uYabK$-e8q0Xkyg~Nbq}UpPfO4idiAfo-6!I(3 zQ!*W*^2UV+9T*s&CM%yRl=C%3qoVW)I+50w*p_-XF=PZV^<@;XN@P&<+O-dr)0bA-Nt9?MV(KH;erJl2b?S(GSn&#edR5hBW6i>gt zb5w!e&^Rm>zepA~`w>wQu%-6J+8y2gP|iI2%a2KRM>>(CBCzj;?>QG%oj=L8vZj~# zhIFD6Vj^HmU9o*YrJRXdNE(OKS&;4yG2a2Uoy;MgOz;RiX8v)mURN47?T2(P#oXAm zI^f@lflG&8eB203g^L4YBkgE$M{b7(5+guIi>u_T?8hsbdxt0o`gCZdrBEo+(hkiN z>(ErZQa$LvNFTG4bZE|1wB>Mohlb9620j0|bZ8{dxkJN$I3a;99h%)w4Z@AINE{+O k_*p8L0^HWW0RRC1|NNHs|B9cP9smFU07*qoM6N<$f)B1Kg8%>k literal 0 HcmV?d00001 diff --git a/resources/aws/security/identity-and-access-management-iam-aws-sts.png b/resources/aws/security/identity-and-access-management-iam-aws-sts.png new file mode 100644 index 0000000000000000000000000000000000000000..d9e35a3ceda11d95819c96a04d689de143effd21 GIT binary patch literal 3605 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 Date: Sun, 31 May 2020 22:41:28 +0900 Subject: [PATCH 14/23] bump: up to version 0.13.0 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 9d2a2e753..b281ce16c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "diagrams" -version = "0.12.0" +version = "0.13.0" description = "Diagram as Code" license = "MIT" authors = ["mingrammer "] From 479d03a9aa9d57e37d36738ff7889057f04ef1fb Mon Sep 17 00:00:00 2001 From: mingrammer Date: Sun, 31 May 2020 22:51:33 +0900 Subject: [PATCH 15/23] docs: add firebase, elastic, and saas categories --- website/i18n/en.json | 3 +++ website/sidebars.json | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/website/i18n/en.json b/website/i18n/en.json index ed67d4d72..eab1b7d13 100644 --- a/website/i18n/en.json +++ b/website/i18n/en.json @@ -32,6 +32,9 @@ "nodes/azure": { "title": "Azure" }, + "nodes/elastic": { + "title": "Elastic" + }, "nodes/firebase": { "title": "Firebase" }, diff --git a/website/sidebars.json b/website/sidebars.json index 3e80df07a..91d5d7091 100644 --- a/website/sidebars.json +++ b/website/sidebars.json @@ -18,7 +18,10 @@ "nodes/k8s", "nodes/alibabacloud", "nodes/oci", - "nodes/programming" + "nodes/programming", + "nodes/firebase", + "nodes/saas", + "nodes/elastic" ] } } \ No newline at end of file From 8653abcf6fb1cce9b92204066dce64c661e1384c Mon Sep 17 00:00:00 2001 From: MinJae Kwon Date: Sun, 31 May 2020 23:10:13 +0900 Subject: [PATCH 16/23] docs: add a sponsorship link :) --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 194996902..c32532b5f 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,8 @@ ![oracle cloud provider](https://img.shields.io/badge/provider-OracleCloud-orange?logo=oracle&color=f80000) ![programming provider](https://img.shields.io/badge/provider-Programming-orange?color=5f87bf) +Buy Me A Coffee + **Diagram as Code**. Diagrams lets you draw the cloud system architecture **in Python code**. It was born for **prototyping** a new system architecture design without any design tools. You can also describe or visualize the existing system architecture as well. Diagrams currently supports six major providers: `AWS`, `Azure`, `GCP`, `Kubernetes`, `Alibaba Cloud` and `Oracle Cloud`. It now also supports `On-Premise` nodes. From 46846261f7bf79a56f0f6fac975a2bbedf16dc8a Mon Sep 17 00:00:00 2001 From: MinJae Kwon Date: Sun, 31 May 2020 23:18:14 +0900 Subject: [PATCH 17/23] docs: add more badges --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index c32532b5f..6a5579c40 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,9 @@ ![alibaba cloud provider](https://img.shields.io/badge/provider-AlibabaCloud-orange) ![oracle cloud provider](https://img.shields.io/badge/provider-OracleCloud-orange?logo=oracle&color=f80000) ![programming provider](https://img.shields.io/badge/provider-Programming-orange?color=5f87bf) +![firebase provider](https://img.shields.io/badge/provider-Firebase-orange?logo=firebase&color=FFCA28) +![elastic provider](https://img.shields.io/badge/provider-Elastic-orange?logo=elastic&color=005571) +![saas provider](https://img.shields.io/badge/provider-Saas-orange?color=5f87bf) Buy Me A Coffee From fe1513c02e551906355226f5a69a0cccdfe23b18 Mon Sep 17 00:00:00 2001 From: MinJae Kwon Date: Sun, 31 May 2020 23:20:24 +0900 Subject: [PATCH 18/23] docs: fix Saas to SaaS --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6a5579c40..60a51d5ed 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ ![programming provider](https://img.shields.io/badge/provider-Programming-orange?color=5f87bf) ![firebase provider](https://img.shields.io/badge/provider-Firebase-orange?logo=firebase&color=FFCA28) ![elastic provider](https://img.shields.io/badge/provider-Elastic-orange?logo=elastic&color=005571) -![saas provider](https://img.shields.io/badge/provider-Saas-orange?color=5f87bf) +![saas provider](https://img.shields.io/badge/provider-SaaS-orange?color=5f87bf) Buy Me A Coffee From 8cdc5a10dff8df8c7b05ed9d253db44d16616b41 Mon Sep 17 00:00:00 2001 From: mingrammer Date: Mon, 1 Jun 2020 00:03:54 +0900 Subject: [PATCH 19/23] docs(web): add sponsoring --- website/core/Footer.js | 2 +- website/i18n/en.json | 3 ++- website/pages/en/index.js | 15 +++++++++++++++ website/siteConfig.js | 1 + website/static/css/custom.css | 4 ++++ 5 files changed, 23 insertions(+), 2 deletions(-) diff --git a/website/core/Footer.js b/website/core/Footer.js index 705188f30..8f1c17597 100644 --- a/website/core/Footer.js +++ b/website/core/Footer.js @@ -51,7 +51,7 @@ class Footer extends React.Component {

More
- +
{this.props.config.copyright}
); diff --git a/website/i18n/en.json b/website/i18n/en.json index eab1b7d13..c6232b396 100644 --- a/website/i18n/en.json +++ b/website/i18n/en.json @@ -61,7 +61,8 @@ "Docs": "Docs", "Guides": "Guides", "Nodes": "Nodes", - "GitHub": "GitHub" + "GitHub": "GitHub", + "Sponsorship": "Sponsorship" }, "categories": { "Getting Started": "Getting Started", diff --git a/website/pages/en/index.js b/website/pages/en/index.js index cc0bdcaa4..117ba514a 100644 --- a/website/pages/en/index.js +++ b/website/pages/en/index.js @@ -111,6 +111,20 @@ class Index extends React.Component { ); + const Sponsorship = () => ( +
+

Sponsorship

+ + Sponsoring always helps a lot to maintain Diagrams. Thank you :) + + + Buy Me A Coffee + +
+ ); + const Example = () => ( {[ @@ -148,6 +162,7 @@ class Index extends React.Component { + ); diff --git a/website/siteConfig.js b/website/siteConfig.js index aea9355c7..16cce1ccc 100644 --- a/website/siteConfig.js +++ b/website/siteConfig.js @@ -22,6 +22,7 @@ const siteConfig = { {doc: 'guides/diagram', label: 'Guides'}, {doc: 'nodes/aws', label: 'Nodes'}, {href: 'https://github.com/mingrammer/diagrams', label: 'GitHub'}, + {href: 'https://www.buymeacoffee.com/mingrammer', label: 'Sponsoring'}, ], headerIcon: 'img/diagrams.ico', diff --git a/website/static/css/custom.css b/website/static/css/custom.css index 01aa4ed36..235f62698 100644 --- a/website/static/css/custom.css +++ b/website/static/css/custom.css @@ -20,4 +20,8 @@ } @media only screen and (min-width: 1500px) { +} + +#buymeacoffee { + height: 50px; } \ No newline at end of file From fef57b43cd04458e1d92b0a8384b38f54ad2eb26 Mon Sep 17 00:00:00 2001 From: mingrammer Date: Tue, 2 Jun 2020 21:56:20 +0900 Subject: [PATCH 20/23] docs: fix i18n --- website/i18n/en.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/i18n/en.json b/website/i18n/en.json index c6232b396..2c1e8562b 100644 --- a/website/i18n/en.json +++ b/website/i18n/en.json @@ -62,7 +62,7 @@ "Guides": "Guides", "Nodes": "Nodes", "GitHub": "GitHub", - "Sponsorship": "Sponsorship" + "Sponsoring": "Sponsoring" }, "categories": { "Getting Started": "Getting Started", From 3f400a7bc3c91ae9db1f2e69c290bc004c6fa4c6 Mon Sep 17 00:00:00 2001 From: mingrammer Date: Tue, 2 Jun 2020 21:56:39 +0900 Subject: [PATCH 21/23] fix: add missing firebase base class --- diagrams/firebase/__init__.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 diagrams/firebase/__init__.py diff --git a/diagrams/firebase/__init__.py b/diagrams/firebase/__init__.py new file mode 100644 index 000000000..5cd693ec6 --- /dev/null +++ b/diagrams/firebase/__init__.py @@ -0,0 +1,12 @@ +""" +Firebase provides a set of services for Firebase provider. +""" + +from diagrams import Node + + +class _Firebase(Node): + _provider = "firebase" + _icon_dir = "resources/firebase" + + fontcolor = "#ffffff" From f326352122cfe673b3c8cd4de995cac28a1891cd Mon Sep 17 00:00:00 2001 From: mingrammer Date: Tue, 2 Jun 2020 21:57:10 +0900 Subject: [PATCH 22/23] bump: up to version 0.13.1 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index b281ce16c..8dae0e653 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "diagrams" -version = "0.13.0" +version = "0.13.1" description = "Diagram as Code" license = "MIT" authors = ["mingrammer "] From 97d73acc0bec2b05f1dd9eda1f51428bd93ba8be Mon Sep 17 00:00:00 2001 From: Leandro Damascena Date: Tue, 2 Jun 2020 14:06:56 +0100 Subject: [PATCH 23/23] Added generic itens and blank cluster (#171) * Added support to generic DC Icons #92. Added a blank icon to support #39 * Added Storage into storage folder --- autogen.sh | 2 +- config.py | 5 ++++- diagrams/generic/__init__.py | 12 ++++++++++ diagrams/generic/blank.py | 15 +++++++++++++ diagrams/generic/compute.py | 15 +++++++++++++ diagrams/generic/network.py | 27 +++++++++++++++++++++++ diagrams/generic/place.py | 15 +++++++++++++ diagrams/generic/storage.py | 15 +++++++++++++ docs/nodes/generic.md | 29 +++++++++++++++++++++++++ resources/generic/blank/blank.png | Bin 0 -> 351 bytes resources/generic/compute/rack.png | Bin 0 -> 47357 bytes resources/generic/network/firewall.png | Bin 0 -> 6473 bytes resources/generic/network/router.png | Bin 0 -> 6536 bytes resources/generic/network/switch.png | Bin 0 -> 3166 bytes resources/generic/network/vpn.png | Bin 0 -> 4908 bytes resources/generic/place/datacenter.png | Bin 0 -> 6731 bytes resources/generic/storage/storage.png | Bin 0 -> 4755 bytes scripts/resource.py | 3 +++ 18 files changed, 136 insertions(+), 2 deletions(-) create mode 100644 diagrams/generic/__init__.py create mode 100644 diagrams/generic/blank.py create mode 100644 diagrams/generic/compute.py create mode 100644 diagrams/generic/network.py create mode 100644 diagrams/generic/place.py create mode 100644 diagrams/generic/storage.py create mode 100644 docs/nodes/generic.md create mode 100644 resources/generic/blank/blank.png create mode 100644 resources/generic/compute/rack.png create mode 100644 resources/generic/network/firewall.png create mode 100644 resources/generic/network/router.png create mode 100644 resources/generic/network/switch.png create mode 100644 resources/generic/network/vpn.png create mode 100644 resources/generic/place/datacenter.png create mode 100644 resources/generic/storage/storage.png diff --git a/autogen.sh b/autogen.sh index d331cde55..1486dd0be 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" "firebase" "k8s" "alibabacloud" "oci" "programming" "saas" "elastic") +providers=("onprem" "aws" "azure" "gcp" "firebase" "k8s" "alibabacloud" "oci" "programming" "saas" "elastic" "generic") if ! [ -x "$(command -v round)" ]; then echo 'round is not installed' diff --git a/config.py b/config.py index 21732c713..e5bba3a26 100644 --- a/config.py +++ b/config.py @@ -11,7 +11,7 @@ DIR_RESOURCE = "resources" DIR_TEMPLATE = "templates" -PROVIDERS = ("base", "onprem", "aws", "azure", "gcp", "firebase", "k8s", "alibabacloud", "oci", "programming", "saas", "elastic") +PROVIDERS = ("base", "onprem", "aws", "azure", "gcp", "firebase", "k8s", "alibabacloud", "oci", "programming", "saas", "elastic", "generic") ######################### # Resource Processing # @@ -36,6 +36,7 @@ "programming": (), "saas": (), "elastic": (), + "generic": (), } ######################### @@ -61,6 +62,7 @@ ), "oci": ("oci",), "elastic": ("apm", "siem", "ece", "eck"), + "generic": ("vpn",), } TITLE_WORDS = { @@ -369,4 +371,5 @@ "Logstash": "LogStash", } }, + "generic": {}, } diff --git a/diagrams/generic/__init__.py b/diagrams/generic/__init__.py new file mode 100644 index 000000000..70db6868c --- /dev/null +++ b/diagrams/generic/__init__.py @@ -0,0 +1,12 @@ +""" +Generic provides the possibility of load an image to be presented as a node. +""" + +from diagrams import Node + + +class _Generic(Node): + provider = "generic" + _icon_dir = "resources/generic" + + fontcolor = "#ffffff" diff --git a/diagrams/generic/blank.py b/diagrams/generic/blank.py new file mode 100644 index 000000000..d50410b1b --- /dev/null +++ b/diagrams/generic/blank.py @@ -0,0 +1,15 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _Generic + + +class _Blank(_Generic): + _type = "blank" + _icon_dir = "resources/generic/blank" + + +class Blank(_Blank): + _icon = "blank.png" + + +# Aliases diff --git a/diagrams/generic/compute.py b/diagrams/generic/compute.py new file mode 100644 index 000000000..436c641e5 --- /dev/null +++ b/diagrams/generic/compute.py @@ -0,0 +1,15 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _Generic + + +class _Compute(_Generic): + _type = "compute" + _icon_dir = "resources/generic/compute" + + +class Rack(_Compute): + _icon = "rack.png" + + +# Aliases diff --git a/diagrams/generic/network.py b/diagrams/generic/network.py new file mode 100644 index 000000000..7b9a9ee0b --- /dev/null +++ b/diagrams/generic/network.py @@ -0,0 +1,27 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _Generic + + +class _Network(_Generic): + _type = "network" + _icon_dir = "resources/generic/network" + + +class Firewall(_Network): + _icon = "firewall.png" + + +class Router(_Network): + _icon = "router.png" + + +class Switch(_Network): + _icon = "switch.png" + + +class VPN(_Network): + _icon = "vpn.png" + + +# Aliases diff --git a/diagrams/generic/place.py b/diagrams/generic/place.py new file mode 100644 index 000000000..ec3160695 --- /dev/null +++ b/diagrams/generic/place.py @@ -0,0 +1,15 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _Generic + + +class _Place(_Generic): + _type = "place" + _icon_dir = "resources/generic/place" + + +class Datacenter(_Place): + _icon = "datacenter.png" + + +# Aliases diff --git a/diagrams/generic/storage.py b/diagrams/generic/storage.py new file mode 100644 index 000000000..9e58cefea --- /dev/null +++ b/diagrams/generic/storage.py @@ -0,0 +1,15 @@ +# This module is automatically generated by autogen.sh. DO NOT EDIT. + +from . import _Generic + + +class _Storage(_Generic): + _type = "storage" + _icon_dir = "resources/generic/storage" + + +class Storage(_Storage): + _icon = "storage.png" + + +# Aliases diff --git a/docs/nodes/generic.md b/docs/nodes/generic.md new file mode 100644 index 000000000..af11a0db3 --- /dev/null +++ b/docs/nodes/generic.md @@ -0,0 +1,29 @@ +--- +id: generic +title: Generic +--- + +Node classes list of generic provider. + +## generic.blank + +- **diagrams.generic.blank.Blank** + +## generic.compute + +- **diagrams.generic.compute.Rack** + +## generic.network + +- **diagrams.generic.network.Firewall** +- **diagrams.generic.network.Router** +- **diagrams.generic.network.Switch** +- **diagrams.generic.network.VPN** + +## generic.place + +- **diagrams.generic.place.Datacenter** + +## generic.storage + +- **diagrams.generic.storage.Storage** diff --git a/resources/generic/blank/blank.png b/resources/generic/blank/blank.png new file mode 100644 index 0000000000000000000000000000000000000000..98801cae7fd8b133206dddc487031b29cce36c4c GIT binary patch literal 351 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K5!6ZWo=hV|c9!t8TuOkD)#(wTUiL5}rLb6AY zF9SoB8UsT^3j@P1pisjL28L1t28LG&3=CE?7#PG0=Ijcz0ZK5H1o;IsFqBO`YXRaV zdAqwXFy8GFUIOHC7I;J!GcfQS24TkI`72U@g6t)pzOL*~SS1B@naT~OT?Gosd%8G= zWZZjukdYV2JG9`te=eW-0w5C%_VFqL9b7LtXE~6oTH+c}l9E`GYL#4+3Zxi}42%qP z4NP^7OhXLKtxSxqOpUY+46F4D^f)+SDVNL9X(2^>bP0l+XkK_!w84 literal 0 HcmV?d00001 diff --git a/resources/generic/compute/rack.png b/resources/generic/compute/rack.png new file mode 100644 index 0000000000000000000000000000000000000000..c749fdd2c5c2f4f191303bbe34306cace2674d95 GIT binary patch literal 47357 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 DCeJ%~ literal 0 HcmV?d00001 diff --git a/resources/generic/network/firewall.png b/resources/generic/network/firewall.png new file mode 100644 index 0000000000000000000000000000000000000000..e6c21830d49676d7f2664df8907486c86a3a20db GIT binary patch literal 6473 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 literal 0 HcmV?d00001 diff --git a/resources/generic/network/router.png b/resources/generic/network/router.png new file mode 100644 index 0000000000000000000000000000000000000000..377e2b5519c9c6ddc60b470c775f061ceb1bafab GIT binary patch literal 6536 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 b`lJBVSXwU^h+h2q6cj)%WH(Z=J%jZhs@MI< literal 0 HcmV?d00001 diff --git a/resources/generic/network/vpn.png b/resources/generic/network/vpn.png new file mode 100644 index 0000000000000000000000000000000000000000..009e8437ba5d9363c228927fd8f0df78bfd32031 GIT binary patch literal 4908 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 ajyYno|4WGP?U^_xfVR56TBV9z%>Mu@-*2b@ literal 0 HcmV?d00001 diff --git a/resources/generic/place/datacenter.png b/resources/generic/place/datacenter.png new file mode 100644 index 0000000000000000000000000000000000000000..064eaa8f4bd03b5713018f7344a96253f88abda4 GIT binary patch literal 6731 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 literal 0 HcmV?d00001 diff --git a/resources/generic/storage/storage.png b/resources/generic/storage/storage.png new file mode 100644 index 0000000000000000000000000000000000000000..3b30272979bd89f8b616f1681a4f5ae114f71d45 GIT binary patch literal 4755 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 Z*QB-kC;V0020Y@3!PC{xWt~$(69842m`eZv literal 0 HcmV?d00001 diff --git a/resources/aws/general/disk.png b/resources/aws/general/disk.png new file mode 100644 index 0000000000000000000000000000000000000000..533ee568c63cf376218a3bf9f297c9cc491c3c0a GIT binary patch literal 5779 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 Rev|+J002ovPDHLkV1jZ-u5thX literal 0 HcmV?d00001 diff --git a/resources/aws/general/general.png b/resources/aws/general/general.png new file mode 100644 index 0000000000000000000000000000000000000000..779941e75b02ce43541dd412c20265c13317d173 GIT binary patch literal 17893 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 literal 0 HcmV?d00001 diff --git a/resources/aws/general/generic-database.png b/resources/aws/general/generic-database.png new file mode 100644 index 0000000000000000000000000000000000000000..b1e7bf1ec90118feffcec5d607a5fb9f02a0b18d GIT binary patch literal 2841 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 literal 0 HcmV?d00001 diff --git a/resources/aws/general/generic-firewall.png b/resources/aws/general/generic-firewall.png new file mode 100644 index 0000000000000000000000000000000000000000..4f91b1a616b6e7da79d0dfa16419ed7e24ebd71f GIT binary patch literal 5115 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%0AK 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 HtBC&tUE{fmO}Z#WAE}&YQb;18?7wI{t9_ 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 F@qcp|-!K3G literal 0 HcmV?d00001 diff --git a/resources/aws/general/generic-sdk.png b/resources/aws/general/generic-sdk.png new file mode 100644 index 0000000000000000000000000000000000000000..0ce11f87930d022f8f61db95ed8c5863e3651c6c GIT binary patch literal 3630 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 RUi3Z?WOmuo=oQK}=6{(0i>Lqq literal 0 HcmV?d00001 diff --git a/resources/aws/general/marketplace.png b/resources/aws/general/marketplace.png new file mode 100644 index 0000000000000000000000000000000000000000..c1c863b15cf77d75180b208159d644cb68365bf6 GIT binary patch literal 17391 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 LtDnm{r-UW|CuF+e literal 0 HcmV?d00001 diff --git a/resources/aws/general/user.png b/resources/aws/general/user.png new file mode 100644 index 0000000000000000000000000000000000000000..cd17f337030af2df5497ec7d00a67ca2175f50b2 GIT binary patch literal 3863 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 Z|NotKv@)c>vq=B|002ovPDHLkV1h624x9i0 literal 0 HcmV?d00001 diff --git a/resources/aws/general/users.png b/resources/aws/general/users.png new file mode 100644 index 0000000000000000000000000000000000000000..d699247ece29ecb652cb6296b1b395a608c71873 GIT binary patch literal 5299 zcmV;k6in-hP)Td+xoLs3kuC{PVUx$}k$Uv9Zz4=QO$5L}8>r6R`x{X~Hm4Bt$4) zcbG7Y9Pkm!Q_>4f97Znq^ktDiOdLjTNc%KvYcz{vRE#eZ(H0RE`0rIBy0Yf-IT20p zcjo@4lk(%9A2~@z#rSHaofm(bYc8J=(L=QHWI8ENdVX9lICrb|Up0yYqS(gYjfNk0 zPDF=9bYfz;2t?u9c!!9tHT<|!B0AD4mO7EF{TFTGfH3y(w{G+b#aS2k^7f~b@?p!L zofHtpJ`vsO;NzWjIdX%NwgG9KNLKz|h2q%nNEpk^VNuk*z^=gnbl8zFmT~R8H=UG6 zJ$#p#RU&!f|7a4&s2CR*ahjTVU))HyGo6%YJ%4W$M#Xp=?cDVMv`mS1R%5l7MIuh~ z_RXjmJKy)c2;v|F`ftN>WzDD%-JbIG#?*o!Af2 zHgKuVA`L*R*wx~4Rjr6RfhZHlf^#C;$|WvQD2@dx2BVb%$v_9(@9yh_5C3@foMqcO7rjTrQPhpKb=lW_u{VOJ2*D+%*lYxDShTe zLZa2O5a$BJJ>3=Fa!o^;J*q%3s!8gp=3TtBDlq3;LXnK&Hl%_y4mj`HwSjvo70Dfx zzC`1x$nl4Cgy_W|^%P0;(M>|7hK*y^S1Q|6B+=U0X(O5if%TANQ+E3d*6>{t>u@Cz zDd za}~qD1EJ#OL*MUN7 zyE+A~9~Yd*bgdo%D>7p)i&6*IyFi35PQ$3SfPEHZq!&m= zTNUkGIp?L0D2b3*0^vrtD;nG^xL4ekK$_~A9wDp%*hc4!&9>J1yjTK}l(K7B^DTJ> zjq%3#UY>M2QVnh(hvXT@*j=(W zDx2AHvBxatR?vsV`ouK9M{?Rgs`>B(VH2cg)dCK4+` z*c+*Hk-#68?$Miq^;jT%*85$H#959}F+LIQs2SCIP;7y~ib!9c6Uj*zF$rGUk;m~1 z2Ps&O1+XHg!prY>wI?o;0cRe^cSqltZzJ~62jqWd#Ro+6pKTqmiEP!8M-5o?UB^QR z*hRm@Nwlp@(7|;*Afi7P-g0j`DWj*LwFt!b}_`>@N*ChB7{RP&M@Bp+-i2qc79VlJCq(o$e8=s8-5qCIN>9*XLY4`f;@m*j z2H!>cyls9(ME_rDXKu+u9j;HEb-md`XD${3@smJPzgTB+xN2?#KK56M=%0z`F9RR( zH$?PP_c=A+u_Mg>sGA=d6=P?$Utunr!5v#^{V<>LB_jIU1}@u&MD!*ReS6J!EK1%b zs|r`KIA5`o_U}X>4JM=JaK{dPOy{T=|2uZY_68lpo*OC8 zBqJt7_}}j6AsR%_{I9jE3k+dq1Kyj!_k#a009oD*5xNZl3A%fsoxS=O?868X# z-odH8`igC!62;(sF{>&D*SjlDWflhX$z(EJnCbO z5U{9C+Rm;GwwhYbMgj>~$8kIIq4lkjz^rvr@tp*?T+(IHP9#^GSktBxg+B8fySa#? zvab4pVsQ}My@|3tcpHH}v@5)Pv+2HN!4{;F9g)yUjyeW#DWyAdNSLqLclL72*)J7K zSlhxg?md`J%AiVzAc3sNuh)^AIDF!*W#)@{3?~ZVT*g(*oh;^2nuz8UE>{)-yr)R6 zhr}bH0+|S3R5qg)UdCadI8Kp*ZJg4sl)&r+uJbrY@S2NABqcQzy3XBOARa-|>2y+N z;rqgee-Lo%F(&6a36dKuh{{bQ(p_=9lSEzu@yJ?JdUKaxJ4^o$I5ueSEDzgyjc0jHo2El(`HBBy>HpsPvWe(Yn4~XF&!b5R8;u%~ej~ zSY&v($-`XY5J?{m5(sBvXDQ7E)F2rMa!Eu~;W|zh1&rvUTpY5tuh$8LGqK4B=YZ=7 z^BfWpE0Cl>b4mAd?{95iZ?f%AE}dp51Hm$q-<5?GY4Q&11j1#oa&WH*+w0Vke4Mok zp;gR9AY5Nv+tVkSx|E3y`=GIa(2JLDZ1k ztF?W7tw6BE^k(js1fwMP8?zcLaAKClAAfr9H|v&D*Up3B#uEf|sW0NMn=CqG4yeB} zD#lxxR1c7FlZv_pReKqvzaL6m$lzn3b3%9qq593LB?u2fnoTEV>H}gcSQhKCrQ|j- z$YtMJ$-Y=wY;n{ECXmNSHfBhA^9E$&>RibMS?%J|1QW<(B%|gS?pUfwe&g|g(z`4s z5P(i0IVJWe#oaz|zP+TtFlj5_6NZCXfmqR^&!1XZpd~ zok-8O@8OY>!UXapd%`pQ?%+&vwLlza!ZR1|S?uv7CXgkt`b=sa?rRlEMI4f|-m^L1 zzHMxxa1EZT=5{q5L+2?D$4eG_ti~+JdbWkG7QvFJ5C{VDhaTd%XX03oS&$mg+1~TG zHx7a#;1``MaVvPHqw|$+6UhnI8h*2?io%}mQ^fw;2IWcc#a)d=^ zm_P&sisVxwdX0$Q=&BP!7+)cxfAYN51?7c_gU19SWK@j5Ohn%Zxb^o$^p?A~4c7|+ zxQmb6^Sl`F5g!oIe@rLkJ58Tu2$(<^U_JIcg5Ekl!H(+RBch*3=N(`v{(*>ICZg*t zJO^Py^vDAAdQ2cIz$m?kKgkSq6FwxO&)|}ML_|*$(F^#u=ZNUpj=$fFtqW-WT6S=A|{ajErxbXC=~`T5R`%Mn=qchxn6rik5L9I5KICdwG@2k z%qb>62bmHcT&an3r$)v25HsXW#o^qMd#GjFAfjEQQDgCzdln-43p~rIN4d;8ZV=H! ztwot#GbjrJt8pSM|6a!&pK-WuUIX9rDiQrl4_PQD$T!waNLJ=ew$a&}FgR;67=Z-T zDJ`=o2|w}aAP~zQc4urN%msfSqMs4b_lf9DpEVrVm1U=4GQtfI+e3*>vKI(O(4z*U zXNjy%D;)xYac$1PcjBnyEAh@*r!1{rJkf^6WKhs%|XNRk&wfH<-^=c8`|wi3!hBuUp| zA(iVRj@u@VFko%BF!v#06Q`3Ux6yZ%WGzU5*;lo>TgqS$Fv&S1l=|)|Nm`IfhQ-7Y z0a#(lCf@{?EZGyQk`##NIt~*@2Y8C)R;uOl$+=jbX-5-B$9TG1*Ha7HlM;w$++h=d zJ>jv@cXIJaYA%*E?l?Aa^vX6mKgYGyj#)^?f_N-=I-gF;qK8K^DxlDDA{@YyIc^~d z3xdX%h+~diz0or$cb5j@$;5?82*jg7t$ZXR(@A-PB?BB+QaR&My^Dp?>j#2M?@cG= zUJs9CFpP@vM39D`V~2Uw3$0SHAd*R@a}$RuB(BzG3IV%nfxrw)){~n!6oI)8iK}%B z^>k`cE0D@MX%0JMPa#ONOH#k8t%zEI2saRzYj5CzBN^bvnyrX-fpF|w)=Dq1?2__$ zwJx$sfuOLBvmUeQq)fI-bU;Wt{|(G_sY9hegl?0$RtbPKuB7T$<@;185cs29=4xhD zx=A7F{M#B=AF30GFo&*kv@upAv?7}*dQ^offnWsT))vgodL)S?UQ`#Xs}hKC1hK$8 zK`?n(GM8P`7ObZz5VIcXB6)YJ+$=Q$fqTVmb9t)0xXoA(Tx0G?I8|%c)d)m5a-8(= z97eZr?@*PSWdbq!M)D5TxLKM6!qwxPT3Jc@U{Mw4W~r&oQXvrRR>GB*nDxj9?p>Nd zmXI`vm9*yr_bxXvXhtU$fy^v>l@*e~PK6cGA`ou0Fzb;K80==uWoAJtaK(v9ZC7cC z;08Svsov-U5w0dPf#e7GP9KNFa?1~7XBOQA@K@KAcA1b zCI>S_IO!WbP}d+3ZWWoiSNXz~zeitTn1Voz;bJb9U=LTzVC4(+T5&uQh*ONx6L0UvegI=wR6Qz-K@6jY3j(oN#27lu z8ZZlD7&Sa05VIo2P+8UYS6YysMZ#_WVhoqwCJNW}`L!-qk0Mcbs*s_A-p;_U>+7{K zNFO4>X2v(ok{A_ABHHR>H%+dOixi-Ae#9^uAu#}=ES3fCMs7&^v^dRcA~ABor!NQf zdULsq6bTvR8<_XDh*0TXp~d002ovPDHLk FV1hXl#%urp literal 0 HcmV?d00001 diff --git a/resources/aws/iot/iot-alexa-echo.png b/resources/aws/iot/iot-alexa-echo.png new file mode 100644 index 0000000000000000000000000000000000000000..3c1b998733f69c93216c48e44ec045383e83ff7f GIT binary patch literal 3244 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 literal 0 HcmV?d00001 diff --git a/resources/aws/iot/iot-hardware-board.png b/resources/aws/iot/iot-hardware-board.png new file mode 100644 index 0000000000000000000000000000000000000000..d7224b2f70fe55ce47ef7dd05a6e4389658877bf GIT binary patch literal 4136 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 literal 0 HcmV?d00001 diff --git a/resources/aws/iot/iot-jobs.png b/resources/aws/iot/iot-jobs.png new file mode 100644 index 0000000000000000000000000000000000000000..6690df51196a5a15abfbbfca5e5a733de9bf5a5c GIT binary patch literal 4394 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 GeDxov98rb< literal 0 HcmV?d00001 diff --git a/resources/aws/iot/iot-mqtt.png b/resources/aws/iot/iot-mqtt.png new file mode 100644 index 0000000000000000000000000000000000000000..308866c5ef2c382224d161a438a25c20da4d5d47 GIT binary patch literal 2734 zcmeHJ`8OMg6DQ)V`>I7FwMeURS6rpeMc1yXrjE36wNX`95p~B=w2n>b3QJw3>WW4x z?pq^>(z?&+Hg!iFMM=ZjpTGMje1DjkH}B1x_vZ7NnfG~m{da320a*bK4h|t(8_OG~ zk@Bzc@tpb^XM6z%hd`*UrP+sUep-?&rAcI$HOB@G=!lv5(t z&!}0HvY&2$6((^X6rMY+_(R7+)ehtLs<3Pb{YXc2K7k?^on|boU-w7xd7q=mPN`3k zHcop6pXm=jhD_$PklOciJIGNK!BxcJ7xZs_x%%;kHL7bZ_?M)5n?Tc2aIK>K8WJU8 zXwR3TtT3fV&KXSU*+>pufH!ss*tjzZPcKjuHl8|J-QnI8Q5qbC;+}Lb?z>3smH0yB zGK(-2!#;($fMaj?m|h$UkkCI!O`;!k&R-3w$pUg)l4J8ai^o}&Zzkg)e1htp;{C$) z(yr$oa*1oF)+@^A2>2v0xzNTqQjOvIit&PsS37s>Pd%z>*Lnlj&oTggc#zWFh3|2J z?hi|UGXZW?lD6@f#LH3LafG$`7zCH%`|wG&{DIw9&+1aYg|H3udB6Ez*Uik;x0;2f zc=canVKXxm^_UQ~(kn#s3_=#{XpVsJMKC2qyW=WW9#q+KuDX&$+WEQl>+q!0(yV|S zMQ{$5PMU#$JNwrqL^r>7-c)KBr(*(%60b|_5%*HKFYxgdfx(z~42J*!@c-mLF!+8r z1>umVB)>@D<3kmzuE7U_1PL76oSc$C;B`?^Q!`TzZld$)GPh}wp&8L2{rt)|muP6f z-`+jjgQHK(^_WuFQP?E6QrmA?wf+9M4dF#K z8s0C$*t|mU-bMypbgOEm-hw;OR9VP!B)<5~%rPTE7788%v!vMl7ka>M`komyOW0Dd z7qw$o`&a&5+n>R#(2IpjTK+d^b_-RRJj`8iPvvqp(@iXMQpS@(`|bWKTzLgFvUTz$ zM1FYZIBdw!B0|IiMq*g-uP)=s0jXtYt8ci#NO@KVR~my($u_ ztIIjvanG{$?M)LlJUn;)aS{q99}XWgO1CAc`7u6Ma88i)9`Fnt$bMk8IXlwWS3mEpD+i>T(g$XevjarVVaIaS z4j%mNB2sHti1{Y7{2^C^Pecq?#=P&cn}Te)-}DHF`KF(Z=|v2_2-x*afdn=hkCu7A zZ%<_w{FyLUuZNm@6lr>6Yt!pq1VfVj3##8U$$ztYCb+xuxPNst;cdJTs6DAwfMG?C zK_7JYPAB(-0849%<`ls{e?(imQ=*mA%kvs}BEQeP@Znrl9YMu5OjD|_jMmW;Sj$f9|On&CO`G==#^i?7;&0j1e@hlJWCGlVW-!twbw4 z8~E(;x2wW-YgxXB+%RC7N8Z!Ls_?3k1)KD3gTJHI@72&(^Mvc!+STRH4Th7`59JelACY`jg7|z3qZ$ZU)BOhNkwU?&#*tf z!rTsy$O|~mw7TenG>`vR$Yr@2Td3PP3?xU@`o|Ty t3mm1z@W|pItc?(2TyO-=OJS$SFM=;+uD^mWb8 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 literal 0 HcmV?d00001 diff --git a/resources/aws/iot/iot-shadow.png b/resources/aws/iot/iot-shadow.png new file mode 100644 index 0000000000000000000000000000000000000000..9fc50eb7b9d610d2422449d8f90a16b3fd88fa06 GIT binary patch literal 4963 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 literal 0 HcmV?d00001 diff --git a/resources/aws/robotics/robomaker-simulator.png b/resources/aws/robotics/robomaker-simulator.png new file mode 100644 index 0000000000000000000000000000000000000000..3c95e14ee874d6d5608d935eecad42669e72b520 GIT binary patch literal 4185 zcmZvgX*d*I8^@7l>_&sE4JKJe_95#SgF$2`p{!XVyKFH`lC7~vmNG-Kj6F=qzN8RY zvy**aL-Oi*-}iZ+5ATO_&UKyp-2eN3-Cxf6o#*;`n)EarG$bS>^javS;lg=0Ws z0|aPSB}Usnyi0-b#1iH?=2OVt$f53)#T^);^||nmjN^`F|Jo7aJe?C4;|*CzfjcRo zriEO>STRhrAITAGs$I8liS~yx+0NbpSMgx#1xCn40lch&ObDnx7-KFscM^ehaZ&}8 z>yHmXICUen-_;qq)ShedExewHt$Fq8SDGwYw?>jt-Zw)bnbA`m(CcyPqL{;tVVU*| z=}+Wdeql>se1b=UUK9n*MNQCu#4$ep9}8!1244}*yTLueb;7O{6u`0=lH`&YConvb zwBwhQUm6S^bMhi2pSXWm?C(PnFIhqVZR#}~P>x*(z>4V$&EslbbsBH6M9;HRe^tCN z^z2ufJ((vobD9lziK>NIdz~EEAMl&@pQ&&(lP#Kzw~dSf@o!JvhpOXP@Mz=%$d~Xx zefh7)KMmNn#y`My*Jo=2Tm1^`A7PN?%0t^+7-?prImY~tk^ib8J|*5oFzCTD>W#Fs zMDq0FLZ9esi+-{276JiQ$UELSrC7;UeqFG>CpG2Xb_PU{dtKemNM2^2TWIQob0A?E zpOX!9DAKZp@)|D+mKeGStW>oQuX5Q?s8_{*h7Ik@N(J?1UdeF0QHm?n0 z6d7*`d5q^0iND8+ivS9ZeJ`owGg>TDgC*m2bI4d$eh?LwfZSjxy^$y6MQ1xeEM@q7$}LEC<5N?mLmR+W2xJ4PFLx+K zqvZ$FURKj8@Wu=gVjS?Iu*rzf>zsS_3Xe9l$J^Qf<-DRSQFwks_)t)JmZ%^aXhs44eaiIIXplyyNTr5i^ZM^# zL2P71vpqv@z;B8*cGifN{nlp%&F+vfr`!jdAD^bJ9Sl(c99Am?%VTOEY;J_M*9{el0goANC3aK$>^K3P)^_2OfyG-l zp{^`3r=qi7&{YPYW;FlO6?D|BvfB7V>q!Py4d)dJ$3YXD1VSAfkvU=_#6UYl{c=P= zoNL+|G7d(`G(MHwlmayfRTCg>DKQdO#HRrv zM9t?yy(nXTR3rug0anEf5$VTf?yM7O-Vb@SM<_onBVHB`>BWl{uhYokm!JQ@d?^Yd zcU)VNp=p zTj3w+GG)=sswxu)UrWG|W~;5bXbFUsYAmb*b5iWLAX5S7m-H$>(tzZPuWRJU~ytf|#xZ`T4dYW4vE zLeWS?XMHfRDJNyvOef*9d!XMhz6mJpq=?66(NBx(-#qG%CKkT)rc4X$&sh|W0`ry= zpN}|BP*Fo>V(YUE=3HWCKQz{xy{&Y_b@NTrz5`3&FN5!QcF=vT$dfLP{dfkN%P{qU z9h)#iC+fr+YZ^bk2a5#XZr9S}B6|yONe`fF6wykOoFOjNi!1bUlNlV}2R5EdEx)Yr zBd1jc!G!nT%O`fw=y*HI7AF*3HAT;z{xGO#5y+f-ppE`U?Rc#laY$Vm^63VjIxW8^ z8)EHdu(fQH#kwS??k2DOj(bgC^|jIvxYe1%Y`~{sErpz5NrGxify-k@W?_c3P~|>Z z(m2Y8rhFL^7@E6`pSQ-G<{H>8H{aSGQ#wYLfhd?`7u2$;EEu#hj#NCZ{$^QEYqM|Y zfIX5^qe>lj?TRCw6?*K3bYaxlMCgk87^Qf|eeHzkICW&1?GjH6t4IgJf5-ajuQDBq zfD?rzIjp&Xz|}=VFoJ17i7iq$LLmU6c*J)-U#Yhx!DFTMnq})t4u7D=q>i*tIn?Q# zeNu@hf#j&hV=>-M09$C%oA%PtLxaq&kgsl(s1JpJ{z{%BH5c_HABj zaC11KbE?1jb&Nw8zV*?m3*f#QXvF!ia28&$6$pfzChmK7W;g>OW;-f=%1i;^dYmHs}K6}$YL zzs}W&{PMScIl(1faU~oKN)?~FlkcpSwA=t^9`=H4#ZEbv!R}B)yBU<8acY%Pgm=&o zVu$!#Ynggp;u=oE%0gbaRIseLfoP>N`vk_7pvdW7K1RxwMYC|4?y+nRub{yt!Qlzq zo$;Lcjr2bvN3gd(x+Zk{BLhUGl?{gZ2J@rwL4hph zv+nAgC|0fJ;FgCVzAbrLroDtYyVfW6>9%oT>Q7RSydBL4bZm!F#?dIdEohWJI7k69 z5ZP&s(3|qB@+7>$%LDs1Qm9D`J_~ydE5Bo-Et;(1yhr=JQ=KScvPe)3;^f`Xq>>Q& zaq(d2(@1*uQ2H31qly2esh(~~%bEw!d3>3G(NppaW?1R_E`q+_UrT9eWLe~lJpGE^ z3O5Ud3C^Dxd-(4<(iP=H*ye7UlCG!*gj(-B7!*MR*ur%^b#0BBLpW}U06qzH3HBsM z*E5>gcN|QkB)kS>(Q?k=TMYgJ>gh%MVc9k|q-U6K2Std%XR0kOnvY_oZW$)?TWU{; z(%{qa<0h#@WINhRV#?idltPTBo6C3;>-2V_I&Chda!`R{z}k=}|HK9RG6A2+pRP8d zZm{Y0JVmFuiKQG5AJ>UKNio!R3>tL7WY=s~DBg}|D!#oOvf=6Uq8gS>Ce)8b=@w3U zIM))d)ZKMDSKL}PWU_N=&+VD^FFAt{CbJAzKhAF~`qWR>w|dgvc*FI*anG6>SxfD^ zoH(bb&m?d3Dhe_DSjAi7N%;7$P@M^mttuaAq?Ibwi2uCT#>L(8<*D=2{`%VkN_o2q zTPg4`*BO~SZrz6=Z6!;D9b@tDPw0vR(rPtRY*`~yb&gwA_P2O6h$4 zpDk)7T}hARSWOqIY7G``Mu2NJm(Ge>{d?5Y_{xbVa-A2(T z?f{4MbIe5Ryx`hfq%48= zX$a+~$-^9o+`P@Bm6F);@ z{G^$5z5e_ZdsyDExoNEt&Oh2ktAKA<7lm3yNo)8|zlCczMNUk3@90@~$&zr6t$d}T zX+zAAri3`sudPkKE_tU9M$82MaOSB_`S3ng20_rt`zf3XN}TYKQWR_~u4!q9MDNCx(j4+9Zy=LH_S?o<9hTKSuO{>eK3 z#F_tl;IWZ-b!j{pQ$=d=A3pqNN_geQZMMLJMW2;Nyw#phBLcGDQ2c|k{!}6gVn3*< zkgPCRfx3S6Gs1~#Y2+2HcSaQto@$mEZ`7G%AkQx7t)&uPCB%!V$GZN-Y!@smg7}+dFECgAZ_Iu4Cv>7cHY!#P z22rnYn%FfCwCAG!aI)_j2ZoQ=s#B&TE5;`pcTiK&w=Pwwf+#3mkfH=Z=|~5WqV$AB2u=6^{(leI zE&Pg?UyM5e0SjF1l>*Q+V|(7j9yFPHvPb_p#3b6qe0fr^ZuW^6)>OsT>NW9^a-mKn zUEyO5)aqMr;*!vXao~%_hs%`FKyp{J3Z}=)3nJW{)&)fh!6mwUw69p*xk9W244&2% zmpqAhQHA3FNjT7RPskhII=`~wI%IIMIPJ4@b)_0lemrgE8;DXw8FZ0 z{W9W&ls0qS=^7hh&~Bx%5En>PUCBVmu*FOZl)vs_gjU&q%^{*yaaL|p2&RxnJP83L zP~Qa-yv-x4pf(eihY+IfD(jPIO5KGB0aOR|?m>WHg3$tz#1a&NL`VnGQZ%|F zPm=7>m&lq33d%rXGQ87Bkg_YSe3}=dau|LC5(WY*S_nbL9?2D$0IKkxOA4lh&bNa8 z!{>jyAf0-6r$Z*a*<-7cdcOH^vg!CEX!5uIk*JBEj&>{$&r$XR-Xi@QlQyC{ND3`T zO#5l|&x?FpjLULRnw*d3V76b%Qa>XRKm|&J)FlC5(?TTU zYIFFMoiVqAlFg2cGLi0oOJ*+TjjHSynG+r{{BQ(bO=}os+OABzW=(S;T_4?H6!qCp z;)Av^4IIZy69MuI@@9@-o0!iUW@PBb%4X@(^g3>sJ||6z2(>X%nKkM4QhtaG15A!@ zkDwN`%qfGCU(k`vYGsniNGl+D5kRgSTX%4U=OuWG@9lAbrD>ck-~(A1m5pqJNiCZc zlP$CNud%SGi0loz7ML{MduFD3l7*ow%9Qc#KC|;Wq2P}Gz%Pc(=;P(wjuk`!mWv~K zLUXHVfen3me%%4e7qP;z$P9IiQ9VMj@M;vtn6%Jun8S0Lq=b;&{iLH%dn}G}d{Oz{ z3uZF@aJ3q2>VeaRqflR;kH>0sMG2Iv6aCUtL|b*3ip7H`r)uFxwpjf&KQ=Qk;EUjn z&f-JA0T0MvyQ{Ir39Am}hn1=w!?^;XmJ=r&qBksf=JF(BtUqQdebD>V0}4 z*V7dH`8GW~B+c6gIQy5}q!Iy=ixCIId3Pl%gO3;I+nv?K?=CYC4JZuz|IMmg8=1rE z%!BDk$;q6ylf)m6*J-IK9_&3JmHD(afW=fnb-pAg^dlTRe}cbz+2LrgpFOC8FptP1 zoU#ID9~#6`(u`X*ojq`jD`sOZ>{Z=~^gU0-D3q+kN1yDw5(l^Oi{FLB2!+9c!r8l0 z_az86n_nJXLbOhfLz!-4Qbf@Bi}tB0oi|xu54RAx$Xhn2Y${o%YaPbO|1=qR(0NrQ z6JY&@ukx%0w`ocaV@Wwy*46JvqJPUX z*Zt-ys;yW5yG*_kFnFkE=?mz>*ZM1}pMVI^o0s)Fmw}-owlpj({HK?G+BGUI?SJBzVyFJhUz!oC{z86%7IHV<)E1wBqU_SzA2*Z! zFv>irh~4Tn?i%upV{qSb0F-WS>$|f$*u5T?6ObP9I9P>Hrc}CE(d0U(JSS3^=(+bV z;WL92tcqX9=h$N9w(S@`fA4!LlhGAcWunSX1Soh^`uu^byKFIP4Dcpda^9n-apiS2 zSs88Dr{vzkk%S_r-VMWeeuGYH_tWo2U4i&(`IsEgT0WHNz3MgNRU`YVwkt*?H(Ts2-E0i>ug*ZyUfxCc&uxaDHt=ZVAed4nV8bV=RUP!jp^ zt-qq|bCm|MtY7SX3NKlt_5olG#q@~ng5WsyytHB;pRxrf7nu66FgJ&_uul=tUQCZz za4}h0XRo5*vemb}4<@IvdNMH@Ad%nz;_PKZUvoCYMDM&olB72dwk8(qhP|)hF~(MJ z)YbU+*J+fB&+5O_4U%bqiMr{%@pr0I5^Dju7pU>|@}o;gS_Zca&o3aEj35lM%U0IY zbnxa4TG+!I2v*qgKR&v$sOO-M!>%Sez_UCTpui&afpNlTLHY(^YOd-FdTk7eS9AOC zPf1lA_}Ixy41EGh!ujS*u#`zlX{<~WS9)~jJTRzRM}FEIiGE|wSsCs#n~MN1db>~0 zt__T!LvC4%w@tR541me$42lR77c>IZH=8GRQ%Jt^UfjX1#8npN9wnLi@X$RfvP6dd zEpJUO1|Ju_YztUU*t<$IE`0a7fBzoDB6v;bH~CsQlqJm8V*~EE7_;ry-wMXM*i*c# z5@|DU1DvK}2u7w8yBX*$|0;vx{Tj*3VBMtn1TDL6JX@OKG5yM2ggkO_sM@$e7KuD8 zAlgsU*{?nP)R7+-BD6JA3QnT?TBr2Fd=bZZUXsVg7i`}LD!%x$I-XW!tcNphg*F-3 z2r-n7yVXca)*qcD`?Zp!BF5&wU4>O0T>*!U&ubki;8N4<@XHpHA|6}p_1B-c!ZVc% z#hrWm0C9TwS7t_|6AwBd=G=NWCIiusX**znNWQMLlJnGBn`UekASvD1s{K7({Q`%f@fGZql9rS`(`Jm^oP1y8_vTSA)@3! zv^La{gA}HU9~tmCV%1Lo32Kw+ncow7F2+1*tw~4;nyx~4m4BCnQ=4rQR3p8 zcTa3z*Lh&BgWo;&q$M-UxuR7=M&SNoO=w-sEmhPs(AHm78CcF}px$L|X{x>GH9L+* zSV{Ovh*iLgoP_hA3IS4rFyv$H!s4*k9#gZ?8TET-BhEQF@k9o09DX;$9G-ym2hwJE^I3b7mHtK7oFXe$yeS z`S!*0`?;%*-l-Dyb2BA%N9@PwV(!8A)SwlFWB;@)inTUf@G{U}B1zd)Srr+*Hc7Mb z)Rs>sV13Xs?gx*lA9x+sKGzRUM>zh`ZJ8PBt~%{a?4)j_YVbn8kW5xJvB#l;aJPGK{&GJ;RExy_;D*K7NK->;gcfRfCSao{GR_R2b)@(~(CP!qb?}Dqr zQtM9fc`$L!+gtj6;Nq-tfjc)>G>dQ0;r^~Cj`Q1Js$g61qbdiA>;QCDmIVl%YnTLQaju|a_meWVP!@O&)M}Op7Yii z!%DfdS1AP0z{ar0S#?kmAYX(P(NNmbAO*+r6JGO)F7@)aJx@TDZL~%w?doyBZijAO zH(_QheBcbl)Z_swLow;=Hz5jUA|)3R%-9-X0Zq6OTUEE{w%Q_`g%>Dub5L=XnXGUh zBFcYz@=FJOib$=vOuOq~JL4#KB0b!Ov0^Rcw*CY5XFTj~dN(60eC(^E)9iTQFzNgE zirly!z!a4HPEWhy?*i&m)3Mn6H$a_;(Y5(L&(Ohaqrf1C&G|elW1-@RI9LE_ z=wmWQ?0*#(0GKD?{ie&Cn7K|ZM4OE^F4PJA)KA_pUZgcx?qt%#8uV8s*E?@92 zj<9auCt3ZA)MspbAH|zA5|_DZL1?4Cd$TS&sW~l$l6_k9z8SaK6JB~VP^K?W!3^>n z{DY)1w`O57TPhWQt#0e9!8OUQ#(3c$vfnVE)J5olheDUSW}6m*pv=oovfrxvW9?%_ zfRWhsx5gtYHQXzfg5c??Z=kE}_EKrf{@Cfn;_>bPlf^l}(NVr2Xt|ypS=oN6i>IWAwScuX+v?aSf{A{R?=zpm73G}34(7h1g$GUGwE2!!BWnVF4!8X#XOST<-|1GG80JxT&2};9>$6WpeNEaQy>GX%;D9F4258h{ z+r&Z3>KHRBGtr~tlADW4G<(6ZXXe&-4Yg2SjZH!Si(GGH{=9AcByYWgp4QdP`k|e+ zPh$xx@>wNAP4RZM{wUP&A@d~7?cVv-YCly27f>amoW?-|z$q!ExkH^;&X4yneH@-W z0<+1wDf_vN`Xpi}BWB8~pRN54J^rgB#|08u>~I?D{(v}7!4y5UPvQm#JHMQ|m)l$S zE>z#hCw&*CvO^0IU6mQJ|6m!YhDqS0-#OHZflv!L`0icU6?MLDAuD4_D9X{`y||QG zca<7bG~l1l`n@u5|BX#beGK&)|GFx*>2>+s-M3r1@4afCe^ipwFy++fcDM?+tJd;L zX>JbPU$*tX3S@KDTSOxOY)`KW&$!t~d~hbwm`oy0J?FKOoA6Q{DcFmucS~Js ze?pgpSRtcS+Yhh2mPl1F?z38{=`ggaY3i?Rcb_jEEnit*T3j+B%RKSrzDuAQp>Ij~ zEHi2z-ZFG}O$QVqokvN$uo3<66r}Gf#0I&|IjuQDlQXyldEWKRLuKgU?IiVN`eVh2 z{eL|He%pZpoc+b?I$*?BeXJaevwzQY6*_$ZAy~1jtK~pt% zjDSs7`gwIh)8ano@Wa>7>Vu9z9BuxO)5FcM)*k7D4P|SSgCMcXJ_l1g{QxyOYs5p% zsm0ae4=q^Gfsry2P>-FqpWD#FiiYkYgEdDp zH++QfGz{6d_pVjL=P{5I@o8zLAAEr6_hbC_OVeFH&0nI%`)}J?E;ZmLv5fa`#avK4 z98=7w)<_GPJ{bASIBoypGvh}gc8IM7S!a2x+_$W|orV_ExDjH#FpG23ZjGWSZ6hD% zE680hAuMZ2^7jZenJ@=Er`X+xPEWihw2|!O_sJ1Cpg6=0a$-=yDS1m{7{@O){vMAf z*eYD`Q-x;vNMhYe^_j=~I9km^o&+YW44cD49CS^JztNGEZLKaU6!s<{yHX(vmaxdm zsBxs0ytXoPW^$u*WOjictE8ovf}kSgcDX};-gP%eO7%278#w_z*8sg&V-D-ALG*X^!kc&Y*E<*6^#qelYntAO4$93GgHP4oWJig! z2h7B7#phyeTopnX@xEj9hrfIGNcBg&wg8TmuEpnTXZ81Jo~6VL9B#m|F3+YoP@L~y zlK&gscl^448Ja|7n3ne@*s=AyILNtk!dGTwrSD_KzK?!8yCXuQ7_MTf+#~WBvC}=~ z@31AuG8-{6-Yi}f?ty9egH&fSx%6M{wQv=$uE>`eJ^A&R2*6pS{wQXe@sMvqZsx(+ z$EbgV(AM#Q%TYs~_Y_+)#*#%p!~XmgyeQv^Zf1yixBQnL6eBY~`$4okCR9bwNlRlL zS1nV4S(hFzPgPgt@Z6Cmh_uAV*uSTQ2_ceou_XQ@l56v-vS+PAF06aBd%EEvDpL{jyFS|W z>~?3)SbHALfR0!x(KLU6Q?os2iu=ML^+(Oq0s60n`{%yaQ>U&v6{Ge{QDJ}awe$0b zk&RE~hF@?tvsAUII6I{;Kg?6li7^fK7eQ>0U!deei14YBDY|3j;Vx|&-(5LkkWre+ z!Z1!ZX27iqh1iH=BViD7`0$t>2&cs}KcZ2WZ<*Fd$?WAW_~h))z0%Ricn^5~+d&CQ z9S5nT>^jIacZ{WjoF}cy)?Ahq26;{gHeEQFs926{ zj#m-x!=y7YOtA?W*03%RvlSQmr}%Jt`7Vo$@o|qmp5`<@nkj%Ej12e-%x58HlA<;n zY-KEt{;UG0IT*`BR8j{!>4Gqcp&*-^_`$Cw62G!#tjai7UwIynRv!Iyo_3lJm|lD) zxKkyowu|-@IlZEMUuTq}duaVWb5z&jyBAad1Rj-kWM+feo~l7%tdQ>t-0YDhR`q4c*tW;PjG7KOc>Ba~k#jh*a8|e}tw9R*TJFc_ zNULFG6c``B0GfTjvtedE_(U8ZhIJB8sn%k?%lueLxPhica8i*AoH;ed?!M(0o-0zY zBz_Z&EWB~92u3FPS{GLTG;rtONcz4Ksp#Ttfgs=hH_+@A$~4{qtQwZH)0Zayy2TK< z&4JSAKZ#}0@)i$tFYsDlw^V{-WKk_S25rR3*<_A$pQ|_YT zd^1XMw3!%Ux4EN(zXfWz*PM8E$-#Oq4-Z?4Kl&a@UB$M$*nJpnCINCQ)UM>yfbcXf zXmSC5xXZ;^PY>^<6hJhr4QIXa_6T$r!?Q_JvYUMls`LYXrd};eM5C4m9viXF?X%#`TX<7(<}NTG zdD@KH|Jm)y+yW0`h)UPy?oaF8ZuPqm0;nQhA$h%ffx7f=s#g(ptK3M-C^Z&$?IjjAwm^Wd8oZxwUSzgzF911TO z$uR_q90*1Jw}b?t=1&VF7%h=V{~w)6G)TDyuPP;3($V7;r7}u>BtL}$=y=oMu=!%k5G}bO0(lmk0;IQ2_La{F-Yb1 zn&~+FUlr~ZlNivDKwbIWc#kgYT`0jHYrpR^8IKzRFC%KwOL(rdNFK!b)ou)H7IbG2 l5YMIbP}kp36A;|o$Sf+7=y&@5#S4`LYRa0gDilqF{|{>RR)hcm literal 0 HcmV?d00001 diff --git a/resources/aws/robotics/robotics.png b/resources/aws/robotics/robotics.png new file mode 100644 index 0000000000000000000000000000000000000000..7b878bb41ad2e390a0f6ad600e02d0197e4cb085 GIT binary patch literal 7747 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 literal 0 HcmV?d00001 From 2f2a957dbb6de820499301bb171bf1a85104ba46 Mon Sep 17 00:00:00 2001 From: pbeaudequin Date: Sat, 23 May 2020 12:24:36 +0200 Subject: [PATCH 03/23] Adding couchbase in onprem/database (https://www.couchbase.com/) (#164) --- diagrams/onprem/database.py | 4 ++++ docs/nodes/onprem.md | 1 + resources/onprem/database/couchbase.png | Bin 0 -> 12091 bytes 3 files changed, 5 insertions(+) create mode 100644 resources/onprem/database/couchbase.png diff --git a/diagrams/onprem/database.py b/diagrams/onprem/database.py index 0d5d7ee83..9551d9387 100644 --- a/diagrams/onprem/database.py +++ b/diagrams/onprem/database.py @@ -20,6 +20,10 @@ class Cockroachdb(_Database): _icon = "cockroachdb.png" +class Couchbase(_Database): + _icon = "couchbase.png" + + class Couchdb(_Database): _icon = "couchdb.png" diff --git a/docs/nodes/onprem.md b/docs/nodes/onprem.md index 699164708..79a98f9f8 100644 --- a/docs/nodes/onprem.md +++ b/docs/nodes/onprem.md @@ -49,6 +49,7 @@ Node classes list of onprem provider. - **diagrams.onprem.database.Cassandra** - **diagrams.onprem.database.Clickhouse**, **ClickHouse** (alias) - **diagrams.onprem.database.Cockroachdb**, **CockroachDB** (alias) +- **diagrams.onprem.database.Couchbase** - **diagrams.onprem.database.Couchdb**, **CouchDB** (alias) - **diagrams.onprem.database.Dgraph** - **diagrams.onprem.database.Hbase**, **HBase** (alias) diff --git a/resources/onprem/database/couchbase.png b/resources/onprem/database/couchbase.png new file mode 100644 index 0000000000000000000000000000000000000000..6144f54b7a877effba8d624e7c4fb1d7b8a19cff GIT binary patch literal 12091 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