Updated docs to include images of nodes

pull/499/head
lrjball 5 years ago
parent ac4e502277
commit be9d5b96c1

@ -56,6 +56,10 @@ done
echo "generating the docs for custom" echo "generating the docs for custom"
python -m scripts.generate "custom" python -m scripts.generate "custom"
# copy icons across to website
echo "copying icons to website static folder"
cp -r resources website/static/img/resources
# run black # run black
echo "linting the all the diagram modules" echo "linting the all the diagram modules"
black "$app_root_dir"/**/*.py black "$app_root_dir"/**/*.py

@ -2,7 +2,6 @@
from . import _AWS from . import _AWS
class _Analytics(_AWS): class _Analytics(_AWS):
_type = "analytics" _type = "analytics"
_icon_dir = "resources/aws/analytics" _icon_dir = "resources/aws/analytics"
@ -10,116 +9,61 @@ class _Analytics(_AWS):
class Analytics(_Analytics): class Analytics(_Analytics):
_icon = "analytics.png" _icon = "analytics.png"
class Athena(_Analytics): class Athena(_Analytics):
_icon = "athena.png" _icon = "athena.png"
class CloudsearchSearchDocuments(_Analytics): class CloudsearchSearchDocuments(_Analytics):
_icon = "cloudsearch-search-documents.png" _icon = "cloudsearch-search-documents.png"
class Cloudsearch(_Analytics): class Cloudsearch(_Analytics):
_icon = "cloudsearch.png" _icon = "cloudsearch.png"
class DataLakeResource(_Analytics): class DataLakeResource(_Analytics):
_icon = "data-lake-resource.png" _icon = "data-lake-resource.png"
class DataPipeline(_Analytics): class DataPipeline(_Analytics):
_icon = "data-pipeline.png" _icon = "data-pipeline.png"
class ElasticsearchService(_Analytics): class ElasticsearchService(_Analytics):
_icon = "elasticsearch-service.png" _icon = "elasticsearch-service.png"
class EMRCluster(_Analytics): class EMRCluster(_Analytics):
_icon = "emr-cluster.png" _icon = "emr-cluster.png"
class EMREngineMaprM3(_Analytics): class EMREngineMaprM3(_Analytics):
_icon = "emr-engine-mapr-m3.png" _icon = "emr-engine-mapr-m3.png"
class EMREngineMaprM5(_Analytics): class EMREngineMaprM5(_Analytics):
_icon = "emr-engine-mapr-m5.png" _icon = "emr-engine-mapr-m5.png"
class EMREngineMaprM7(_Analytics): class EMREngineMaprM7(_Analytics):
_icon = "emr-engine-mapr-m7.png" _icon = "emr-engine-mapr-m7.png"
class EMREngine(_Analytics): class EMREngine(_Analytics):
_icon = "emr-engine.png" _icon = "emr-engine.png"
class EMRHdfsCluster(_Analytics): class EMRHdfsCluster(_Analytics):
_icon = "emr-hdfs-cluster.png" _icon = "emr-hdfs-cluster.png"
class EMR(_Analytics): class EMR(_Analytics):
_icon = "emr.png" _icon = "emr.png"
class GlueCrawlers(_Analytics): class GlueCrawlers(_Analytics):
_icon = "glue-crawlers.png" _icon = "glue-crawlers.png"
class GlueDataCatalog(_Analytics): class GlueDataCatalog(_Analytics):
_icon = "glue-data-catalog.png" _icon = "glue-data-catalog.png"
class Glue(_Analytics): class Glue(_Analytics):
_icon = "glue.png" _icon = "glue.png"
class KinesisDataAnalytics(_Analytics): class KinesisDataAnalytics(_Analytics):
_icon = "kinesis-data-analytics.png" _icon = "kinesis-data-analytics.png"
class KinesisDataFirehose(_Analytics): class KinesisDataFirehose(_Analytics):
_icon = "kinesis-data-firehose.png" _icon = "kinesis-data-firehose.png"
class KinesisDataStreams(_Analytics): class KinesisDataStreams(_Analytics):
_icon = "kinesis-data-streams.png" _icon = "kinesis-data-streams.png"
class KinesisVideoStreams(_Analytics): class KinesisVideoStreams(_Analytics):
_icon = "kinesis-video-streams.png" _icon = "kinesis-video-streams.png"
class Kinesis(_Analytics): class Kinesis(_Analytics):
_icon = "kinesis.png" _icon = "kinesis.png"
class LakeFormation(_Analytics): class LakeFormation(_Analytics):
_icon = "lake-formation.png" _icon = "lake-formation.png"
class ManagedStreamingForKafka(_Analytics): class ManagedStreamingForKafka(_Analytics):
_icon = "managed-streaming-for-kafka.png" _icon = "managed-streaming-for-kafka.png"
class Quicksight(_Analytics): class Quicksight(_Analytics):
_icon = "quicksight.png" _icon = "quicksight.png"
class RedshiftDenseComputeNode(_Analytics): class RedshiftDenseComputeNode(_Analytics):
_icon = "redshift-dense-compute-node.png" _icon = "redshift-dense-compute-node.png"
class RedshiftDenseStorageNode(_Analytics): class RedshiftDenseStorageNode(_Analytics):
_icon = "redshift-dense-storage-node.png" _icon = "redshift-dense-storage-node.png"
class Redshift(_Analytics): class Redshift(_Analytics):
_icon = "redshift.png" _icon = "redshift.png"
# Aliases # Aliases
ES = ElasticsearchService ES = ElasticsearchService

@ -2,7 +2,6 @@
from . import _AWS from . import _AWS
class _Ar(_AWS): class _Ar(_AWS):
_type = "ar" _type = "ar"
_icon_dir = "resources/aws/ar" _icon_dir = "resources/aws/ar"
@ -10,10 +9,7 @@ class _Ar(_AWS):
class ArVr(_Ar): class ArVr(_Ar):
_icon = "ar-vr.png" _icon = "ar-vr.png"
class Sumerian(_Ar): class Sumerian(_Ar):
_icon = "sumerian.png" _icon = "sumerian.png"
# Aliases # Aliases

@ -2,7 +2,6 @@
from . import _AWS from . import _AWS
class _Blockchain(_AWS): class _Blockchain(_AWS):
_type = "blockchain" _type = "blockchain"
_icon_dir = "resources/aws/blockchain" _icon_dir = "resources/aws/blockchain"
@ -10,20 +9,13 @@ class _Blockchain(_AWS):
class BlockchainResource(_Blockchain): class BlockchainResource(_Blockchain):
_icon = "blockchain-resource.png" _icon = "blockchain-resource.png"
class Blockchain(_Blockchain): class Blockchain(_Blockchain):
_icon = "blockchain.png" _icon = "blockchain.png"
class ManagedBlockchain(_Blockchain): class ManagedBlockchain(_Blockchain):
_icon = "managed-blockchain.png" _icon = "managed-blockchain.png"
class QuantumLedgerDatabaseQldb(_Blockchain): class QuantumLedgerDatabaseQldb(_Blockchain):
_icon = "quantum-ledger-database-qldb.png" _icon = "quantum-ledger-database-qldb.png"
# Aliases # Aliases
QLDB = QuantumLedgerDatabaseQldb QLDB = QuantumLedgerDatabaseQldb

@ -2,7 +2,6 @@
from . import _AWS from . import _AWS
class _Business(_AWS): class _Business(_AWS):
_type = "business" _type = "business"
_icon_dir = "resources/aws/business" _icon_dir = "resources/aws/business"
@ -10,20 +9,13 @@ class _Business(_AWS):
class AlexaForBusiness(_Business): class AlexaForBusiness(_Business):
_icon = "alexa-for-business.png" _icon = "alexa-for-business.png"
class BusinessApplications(_Business): class BusinessApplications(_Business):
_icon = "business-applications.png" _icon = "business-applications.png"
class Chime(_Business): class Chime(_Business):
_icon = "chime.png" _icon = "chime.png"
class Workmail(_Business): class Workmail(_Business):
_icon = "workmail.png" _icon = "workmail.png"
# Aliases # Aliases
A4B = AlexaForBusiness A4B = AlexaForBusiness

@ -2,7 +2,6 @@
from . import _AWS from . import _AWS
class _Compute(_AWS): class _Compute(_AWS):
_type = "compute" _type = "compute"
_icon_dir = "resources/aws/compute" _icon_dir = "resources/aws/compute"
@ -10,160 +9,83 @@ class _Compute(_AWS):
class ApplicationAutoScaling(_Compute): class ApplicationAutoScaling(_Compute):
_icon = "application-auto-scaling.png" _icon = "application-auto-scaling.png"
class Batch(_Compute): class Batch(_Compute):
_icon = "batch.png" _icon = "batch.png"
class ComputeOptimizer(_Compute): class ComputeOptimizer(_Compute):
_icon = "compute-optimizer.png" _icon = "compute-optimizer.png"
class Compute(_Compute): class Compute(_Compute):
_icon = "compute.png" _icon = "compute.png"
class EC2Ami(_Compute): class EC2Ami(_Compute):
_icon = "ec2-ami.png" _icon = "ec2-ami.png"
class EC2AutoScaling(_Compute): class EC2AutoScaling(_Compute):
_icon = "ec2-auto-scaling.png" _icon = "ec2-auto-scaling.png"
class EC2ContainerRegistryImage(_Compute): class EC2ContainerRegistryImage(_Compute):
_icon = "ec2-container-registry-image.png" _icon = "ec2-container-registry-image.png"
class EC2ContainerRegistryRegistry(_Compute): class EC2ContainerRegistryRegistry(_Compute):
_icon = "ec2-container-registry-registry.png" _icon = "ec2-container-registry-registry.png"
class EC2ContainerRegistry(_Compute): class EC2ContainerRegistry(_Compute):
_icon = "ec2-container-registry.png" _icon = "ec2-container-registry.png"
class EC2ElasticIpAddress(_Compute): class EC2ElasticIpAddress(_Compute):
_icon = "ec2-elastic-ip-address.png" _icon = "ec2-elastic-ip-address.png"
class EC2ImageBuilder(_Compute): class EC2ImageBuilder(_Compute):
_icon = "ec2-image-builder.png" _icon = "ec2-image-builder.png"
class EC2Instance(_Compute): class EC2Instance(_Compute):
_icon = "ec2-instance.png" _icon = "ec2-instance.png"
class EC2Instances(_Compute): class EC2Instances(_Compute):
_icon = "ec2-instances.png" _icon = "ec2-instances.png"
class EC2Rescue(_Compute): class EC2Rescue(_Compute):
_icon = "ec2-rescue.png" _icon = "ec2-rescue.png"
class EC2SpotInstance(_Compute): class EC2SpotInstance(_Compute):
_icon = "ec2-spot-instance.png" _icon = "ec2-spot-instance.png"
class EC2(_Compute): class EC2(_Compute):
_icon = "ec2.png" _icon = "ec2.png"
class ElasticBeanstalkApplication(_Compute): class ElasticBeanstalkApplication(_Compute):
_icon = "elastic-beanstalk-application.png" _icon = "elastic-beanstalk-application.png"
class ElasticBeanstalkDeployment(_Compute): class ElasticBeanstalkDeployment(_Compute):
_icon = "elastic-beanstalk-deployment.png" _icon = "elastic-beanstalk-deployment.png"
class ElasticBeanstalk(_Compute): class ElasticBeanstalk(_Compute):
_icon = "elastic-beanstalk.png" _icon = "elastic-beanstalk.png"
class ElasticContainerServiceContainer(_Compute): class ElasticContainerServiceContainer(_Compute):
_icon = "elastic-container-service-container.png" _icon = "elastic-container-service-container.png"
class ElasticContainerServiceService(_Compute): class ElasticContainerServiceService(_Compute):
_icon = "elastic-container-service-service.png" _icon = "elastic-container-service-service.png"
class ElasticContainerService(_Compute): class ElasticContainerService(_Compute):
_icon = "elastic-container-service.png" _icon = "elastic-container-service.png"
class ElasticKubernetesService(_Compute): class ElasticKubernetesService(_Compute):
_icon = "elastic-kubernetes-service.png" _icon = "elastic-kubernetes-service.png"
class Fargate(_Compute): class Fargate(_Compute):
_icon = "fargate.png" _icon = "fargate.png"
class LambdaFunction(_Compute): class LambdaFunction(_Compute):
_icon = "lambda-function.png" _icon = "lambda-function.png"
class Lambda(_Compute): class Lambda(_Compute):
_icon = "lambda.png" _icon = "lambda.png"
class Lightsail(_Compute): class Lightsail(_Compute):
_icon = "lightsail.png" _icon = "lightsail.png"
class LocalZones(_Compute): class LocalZones(_Compute):
_icon = "local-zones.png" _icon = "local-zones.png"
class Outposts(_Compute): class Outposts(_Compute):
_icon = "outposts.png" _icon = "outposts.png"
class ServerlessApplicationRepository(_Compute): class ServerlessApplicationRepository(_Compute):
_icon = "serverless-application-repository.png" _icon = "serverless-application-repository.png"
class ThinkboxDeadline(_Compute): class ThinkboxDeadline(_Compute):
_icon = "thinkbox-deadline.png" _icon = "thinkbox-deadline.png"
class ThinkboxDraft(_Compute): class ThinkboxDraft(_Compute):
_icon = "thinkbox-draft.png" _icon = "thinkbox-draft.png"
class ThinkboxFrost(_Compute): class ThinkboxFrost(_Compute):
_icon = "thinkbox-frost.png" _icon = "thinkbox-frost.png"
class ThinkboxKrakatoa(_Compute): class ThinkboxKrakatoa(_Compute):
_icon = "thinkbox-krakatoa.png" _icon = "thinkbox-krakatoa.png"
class ThinkboxSequoia(_Compute): class ThinkboxSequoia(_Compute):
_icon = "thinkbox-sequoia.png" _icon = "thinkbox-sequoia.png"
class ThinkboxStoke(_Compute): class ThinkboxStoke(_Compute):
_icon = "thinkbox-stoke.png" _icon = "thinkbox-stoke.png"
class ThinkboxXmesh(_Compute): class ThinkboxXmesh(_Compute):
_icon = "thinkbox-xmesh.png" _icon = "thinkbox-xmesh.png"
class VmwareCloudOnAWS(_Compute): class VmwareCloudOnAWS(_Compute):
_icon = "vmware-cloud-on-aws.png" _icon = "vmware-cloud-on-aws.png"
class Wavelength(_Compute): class Wavelength(_Compute):
_icon = "wavelength.png" _icon = "wavelength.png"
# Aliases # Aliases
AutoScaling = ApplicationAutoScaling AutoScaling = ApplicationAutoScaling

@ -2,7 +2,6 @@
from . import _AWS from . import _AWS
class _Cost(_AWS): class _Cost(_AWS):
_type = "cost" _type = "cost"
_icon_dir = "resources/aws/cost" _icon_dir = "resources/aws/cost"
@ -10,26 +9,15 @@ class _Cost(_AWS):
class Budgets(_Cost): class Budgets(_Cost):
_icon = "budgets.png" _icon = "budgets.png"
class CostAndUsageReport(_Cost): class CostAndUsageReport(_Cost):
_icon = "cost-and-usage-report.png" _icon = "cost-and-usage-report.png"
class CostExplorer(_Cost): class CostExplorer(_Cost):
_icon = "cost-explorer.png" _icon = "cost-explorer.png"
class CostManagement(_Cost): class CostManagement(_Cost):
_icon = "cost-management.png" _icon = "cost-management.png"
class ReservedInstanceReporting(_Cost): class ReservedInstanceReporting(_Cost):
_icon = "reserved-instance-reporting.png" _icon = "reserved-instance-reporting.png"
class SavingsPlans(_Cost): class SavingsPlans(_Cost):
_icon = "savings-plans.png" _icon = "savings-plans.png"
# Aliases # Aliases

@ -2,7 +2,6 @@
from . import _AWS from . import _AWS
class _Database(_AWS): class _Database(_AWS):
_type = "database" _type = "database"
_icon_dir = "resources/aws/database" _icon_dir = "resources/aws/database"
@ -10,136 +9,71 @@ class _Database(_AWS):
class AuroraInstance(_Database): class AuroraInstance(_Database):
_icon = "aurora-instance.png" _icon = "aurora-instance.png"
class Aurora(_Database): class Aurora(_Database):
_icon = "aurora.png" _icon = "aurora.png"
class DatabaseMigrationServiceDatabaseMigrationWorkflow(_Database): class DatabaseMigrationServiceDatabaseMigrationWorkflow(_Database):
_icon = "database-migration-service-database-migration-workflow.png" _icon = "database-migration-service-database-migration-workflow.png"
class DatabaseMigrationService(_Database): class DatabaseMigrationService(_Database):
_icon = "database-migration-service.png" _icon = "database-migration-service.png"
class Database(_Database): class Database(_Database):
_icon = "database.png" _icon = "database.png"
class DocumentdbMongodbCompatibility(_Database): class DocumentdbMongodbCompatibility(_Database):
_icon = "documentdb-mongodb-compatibility.png" _icon = "documentdb-mongodb-compatibility.png"
class DynamodbAttribute(_Database): class DynamodbAttribute(_Database):
_icon = "dynamodb-attribute.png" _icon = "dynamodb-attribute.png"
class DynamodbAttributes(_Database): class DynamodbAttributes(_Database):
_icon = "dynamodb-attributes.png" _icon = "dynamodb-attributes.png"
class DynamodbDax(_Database): class DynamodbDax(_Database):
_icon = "dynamodb-dax.png" _icon = "dynamodb-dax.png"
class DynamodbGlobalSecondaryIndex(_Database): class DynamodbGlobalSecondaryIndex(_Database):
_icon = "dynamodb-global-secondary-index.png" _icon = "dynamodb-global-secondary-index.png"
class DynamodbItem(_Database): class DynamodbItem(_Database):
_icon = "dynamodb-item.png" _icon = "dynamodb-item.png"
class DynamodbItems(_Database): class DynamodbItems(_Database):
_icon = "dynamodb-items.png" _icon = "dynamodb-items.png"
class DynamodbTable(_Database): class DynamodbTable(_Database):
_icon = "dynamodb-table.png" _icon = "dynamodb-table.png"
class Dynamodb(_Database): class Dynamodb(_Database):
_icon = "dynamodb.png" _icon = "dynamodb.png"
class ElasticacheCacheNode(_Database): class ElasticacheCacheNode(_Database):
_icon = "elasticache-cache-node.png" _icon = "elasticache-cache-node.png"
class ElasticacheForMemcached(_Database): class ElasticacheForMemcached(_Database):
_icon = "elasticache-for-memcached.png" _icon = "elasticache-for-memcached.png"
class ElasticacheForRedis(_Database): class ElasticacheForRedis(_Database):
_icon = "elasticache-for-redis.png" _icon = "elasticache-for-redis.png"
class Elasticache(_Database): class Elasticache(_Database):
_icon = "elasticache.png" _icon = "elasticache.png"
class KeyspacesManagedApacheCassandraService(_Database): class KeyspacesManagedApacheCassandraService(_Database):
_icon = "keyspaces-managed-apache-cassandra-service.png" _icon = "keyspaces-managed-apache-cassandra-service.png"
class Neptune(_Database): class Neptune(_Database):
_icon = "neptune.png" _icon = "neptune.png"
class QuantumLedgerDatabaseQldb(_Database): class QuantumLedgerDatabaseQldb(_Database):
_icon = "quantum-ledger-database-qldb.png" _icon = "quantum-ledger-database-qldb.png"
class RDSInstance(_Database): class RDSInstance(_Database):
_icon = "rds-instance.png" _icon = "rds-instance.png"
class RDSMariadbInstance(_Database): class RDSMariadbInstance(_Database):
_icon = "rds-mariadb-instance.png" _icon = "rds-mariadb-instance.png"
class RDSMysqlInstance(_Database): class RDSMysqlInstance(_Database):
_icon = "rds-mysql-instance.png" _icon = "rds-mysql-instance.png"
class RDSOnVmware(_Database): class RDSOnVmware(_Database):
_icon = "rds-on-vmware.png" _icon = "rds-on-vmware.png"
class RDSOracleInstance(_Database): class RDSOracleInstance(_Database):
_icon = "rds-oracle-instance.png" _icon = "rds-oracle-instance.png"
class RDSPostgresqlInstance(_Database): class RDSPostgresqlInstance(_Database):
_icon = "rds-postgresql-instance.png" _icon = "rds-postgresql-instance.png"
class RDSSqlServerInstance(_Database): class RDSSqlServerInstance(_Database):
_icon = "rds-sql-server-instance.png" _icon = "rds-sql-server-instance.png"
class RDS(_Database): class RDS(_Database):
_icon = "rds.png" _icon = "rds.png"
class RedshiftDenseComputeNode(_Database): class RedshiftDenseComputeNode(_Database):
_icon = "redshift-dense-compute-node.png" _icon = "redshift-dense-compute-node.png"
class RedshiftDenseStorageNode(_Database): class RedshiftDenseStorageNode(_Database):
_icon = "redshift-dense-storage-node.png" _icon = "redshift-dense-storage-node.png"
class Redshift(_Database): class Redshift(_Database):
_icon = "redshift.png" _icon = "redshift.png"
class Timestream(_Database): class Timestream(_Database):
_icon = "timestream.png" _icon = "timestream.png"
# Aliases # Aliases
DMS = DatabaseMigrationService DMS = DatabaseMigrationService

@ -2,7 +2,6 @@
from . import _AWS from . import _AWS
class _Devtools(_AWS): class _Devtools(_AWS):
_type = "devtools" _type = "devtools"
_icon_dir = "resources/aws/devtools" _icon_dir = "resources/aws/devtools"
@ -10,52 +9,29 @@ class _Devtools(_AWS):
class CloudDevelopmentKit(_Devtools): class CloudDevelopmentKit(_Devtools):
_icon = "cloud-development-kit.png" _icon = "cloud-development-kit.png"
class Cloud9Resource(_Devtools): class Cloud9Resource(_Devtools):
_icon = "cloud9-resource.png" _icon = "cloud9-resource.png"
class Cloud9(_Devtools): class Cloud9(_Devtools):
_icon = "cloud9.png" _icon = "cloud9.png"
class Codebuild(_Devtools): class Codebuild(_Devtools):
_icon = "codebuild.png" _icon = "codebuild.png"
class Codecommit(_Devtools): class Codecommit(_Devtools):
_icon = "codecommit.png" _icon = "codecommit.png"
class Codedeploy(_Devtools): class Codedeploy(_Devtools):
_icon = "codedeploy.png" _icon = "codedeploy.png"
class Codepipeline(_Devtools): class Codepipeline(_Devtools):
_icon = "codepipeline.png" _icon = "codepipeline.png"
class Codestar(_Devtools): class Codestar(_Devtools):
_icon = "codestar.png" _icon = "codestar.png"
class CommandLineInterface(_Devtools): class CommandLineInterface(_Devtools):
_icon = "command-line-interface.png" _icon = "command-line-interface.png"
class DeveloperTools(_Devtools): class DeveloperTools(_Devtools):
_icon = "developer-tools.png" _icon = "developer-tools.png"
class ToolsAndSdks(_Devtools): class ToolsAndSdks(_Devtools):
_icon = "tools-and-sdks.png" _icon = "tools-and-sdks.png"
class XRay(_Devtools): class XRay(_Devtools):
_icon = "x-ray.png" _icon = "x-ray.png"
# Aliases # Aliases
CLI = CommandLineInterface CLI = CommandLineInterface

@ -2,7 +2,6 @@
from . import _AWS from . import _AWS
class _Enablement(_AWS): class _Enablement(_AWS):
_type = "enablement" _type = "enablement"
_icon_dir = "resources/aws/enablement" _icon_dir = "resources/aws/enablement"
@ -10,22 +9,13 @@ class _Enablement(_AWS):
class CustomerEnablement(_Enablement): class CustomerEnablement(_Enablement):
_icon = "customer-enablement.png" _icon = "customer-enablement.png"
class Iq(_Enablement): class Iq(_Enablement):
_icon = "iq.png" _icon = "iq.png"
class ManagedServices(_Enablement): class ManagedServices(_Enablement):
_icon = "managed-services.png" _icon = "managed-services.png"
class ProfessionalServices(_Enablement): class ProfessionalServices(_Enablement):
_icon = "professional-services.png" _icon = "professional-services.png"
class Support(_Enablement): class Support(_Enablement):
_icon = "support.png" _icon = "support.png"
# Aliases # Aliases

@ -2,7 +2,6 @@
from . import _AWS from . import _AWS
class _Enduser(_AWS): class _Enduser(_AWS):
_type = "enduser" _type = "enduser"
_icon_dir = "resources/aws/enduser" _icon_dir = "resources/aws/enduser"
@ -10,22 +9,13 @@ class _Enduser(_AWS):
class Appstream20(_Enduser): class Appstream20(_Enduser):
_icon = "appstream-2-0.png" _icon = "appstream-2-0.png"
class DesktopAndAppStreaming(_Enduser): class DesktopAndAppStreaming(_Enduser):
_icon = "desktop-and-app-streaming.png" _icon = "desktop-and-app-streaming.png"
class Workdocs(_Enduser): class Workdocs(_Enduser):
_icon = "workdocs.png" _icon = "workdocs.png"
class Worklink(_Enduser): class Worklink(_Enduser):
_icon = "worklink.png" _icon = "worklink.png"
class Workspaces(_Enduser): class Workspaces(_Enduser):
_icon = "workspaces.png" _icon = "workspaces.png"
# Aliases # Aliases

@ -2,7 +2,6 @@
from . import _AWS from . import _AWS
class _Engagement(_AWS): class _Engagement(_AWS):
_type = "engagement" _type = "engagement"
_icon_dir = "resources/aws/engagement" _icon_dir = "resources/aws/engagement"
@ -10,24 +9,15 @@ class _Engagement(_AWS):
class Connect(_Engagement): class Connect(_Engagement):
_icon = "connect.png" _icon = "connect.png"
class CustomerEngagement(_Engagement): class CustomerEngagement(_Engagement):
_icon = "customer-engagement.png" _icon = "customer-engagement.png"
class Pinpoint(_Engagement): class Pinpoint(_Engagement):
_icon = "pinpoint.png" _icon = "pinpoint.png"
class SimpleEmailServiceSesEmail(_Engagement): class SimpleEmailServiceSesEmail(_Engagement):
_icon = "simple-email-service-ses-email.png" _icon = "simple-email-service-ses-email.png"
class SimpleEmailServiceSes(_Engagement): class SimpleEmailServiceSes(_Engagement):
_icon = "simple-email-service-ses.png" _icon = "simple-email-service-ses.png"
# Aliases # Aliases
SES = SimpleEmailServiceSes SES = SimpleEmailServiceSes

@ -2,7 +2,6 @@
from . import _AWS from . import _AWS
class _Game(_AWS): class _Game(_AWS):
_type = "game" _type = "game"
_icon_dir = "resources/aws/game" _icon_dir = "resources/aws/game"
@ -10,10 +9,7 @@ class _Game(_AWS):
class GameTech(_Game): class GameTech(_Game):
_icon = "game-tech.png" _icon = "game-tech.png"
class Gamelift(_Game): class Gamelift(_Game):
_icon = "gamelift.png" _icon = "gamelift.png"
# Aliases # Aliases

@ -2,7 +2,6 @@
from . import _AWS from . import _AWS
class _General(_AWS): class _General(_AWS):
_type = "general" _type = "general"
_icon_dir = "resources/aws/general" _icon_dir = "resources/aws/general"
@ -10,100 +9,53 @@ class _General(_AWS):
class Client(_General): class Client(_General):
_icon = "client.png" _icon = "client.png"
class Disk(_General): class Disk(_General):
_icon = "disk.png" _icon = "disk.png"
class Forums(_General): class Forums(_General):
_icon = "forums.png" _icon = "forums.png"
class General(_General): class General(_General):
_icon = "general.png" _icon = "general.png"
class GenericDatabase(_General): class GenericDatabase(_General):
_icon = "generic-database.png" _icon = "generic-database.png"
class GenericFirewall(_General): class GenericFirewall(_General):
_icon = "generic-firewall.png" _icon = "generic-firewall.png"
class GenericOfficeBuilding(_General): class GenericOfficeBuilding(_General):
_icon = "generic-office-building.png" _icon = "generic-office-building.png"
class GenericSamlToken(_General): class GenericSamlToken(_General):
_icon = "generic-saml-token.png" _icon = "generic-saml-token.png"
class GenericSDK(_General): class GenericSDK(_General):
_icon = "generic-sdk.png" _icon = "generic-sdk.png"
class InternetAlt1(_General): class InternetAlt1(_General):
_icon = "internet-alt1.png" _icon = "internet-alt1.png"
class InternetAlt2(_General): class InternetAlt2(_General):
_icon = "internet-alt2.png" _icon = "internet-alt2.png"
class InternetGateway(_General): class InternetGateway(_General):
_icon = "internet-gateway.png" _icon = "internet-gateway.png"
class Marketplace(_General): class Marketplace(_General):
_icon = "marketplace.png" _icon = "marketplace.png"
class MobileClient(_General): class MobileClient(_General):
_icon = "mobile-client.png" _icon = "mobile-client.png"
class Multimedia(_General): class Multimedia(_General):
_icon = "multimedia.png" _icon = "multimedia.png"
class OfficeBuilding(_General): class OfficeBuilding(_General):
_icon = "office-building.png" _icon = "office-building.png"
class SamlToken(_General): class SamlToken(_General):
_icon = "saml-token.png" _icon = "saml-token.png"
class SDK(_General): class SDK(_General):
_icon = "sdk.png" _icon = "sdk.png"
class SslPadlock(_General): class SslPadlock(_General):
_icon = "ssl-padlock.png" _icon = "ssl-padlock.png"
class TapeStorage(_General): class TapeStorage(_General):
_icon = "tape-storage.png" _icon = "tape-storage.png"
class Toolkit(_General): class Toolkit(_General):
_icon = "toolkit.png" _icon = "toolkit.png"
class TraditionalServer(_General): class TraditionalServer(_General):
_icon = "traditional-server.png" _icon = "traditional-server.png"
class User(_General): class User(_General):
_icon = "user.png" _icon = "user.png"
class Users(_General): class Users(_General):
_icon = "users.png" _icon = "users.png"
# Aliases # Aliases
OfficeBuilding = GenericOfficeBuilding OfficeBuilding = GenericOfficeBuilding

@ -2,7 +2,6 @@
from . import _AWS from . import _AWS
class _Integration(_AWS): class _Integration(_AWS):
_type = "integration" _type = "integration"
_icon_dir = "resources/aws/integration" _icon_dir = "resources/aws/integration"
@ -10,76 +9,41 @@ class _Integration(_AWS):
class ApplicationIntegration(_Integration): class ApplicationIntegration(_Integration):
_icon = "application-integration.png" _icon = "application-integration.png"
class Appsync(_Integration): class Appsync(_Integration):
_icon = "appsync.png" _icon = "appsync.png"
class ConsoleMobileApplication(_Integration): class ConsoleMobileApplication(_Integration):
_icon = "console-mobile-application.png" _icon = "console-mobile-application.png"
class EventResource(_Integration): class EventResource(_Integration):
_icon = "event-resource.png" _icon = "event-resource.png"
class EventbridgeCustomEventBusResource(_Integration): class EventbridgeCustomEventBusResource(_Integration):
_icon = "eventbridge-custom-event-bus-resource.png" _icon = "eventbridge-custom-event-bus-resource.png"
class EventbridgeDefaultEventBusResource(_Integration): class EventbridgeDefaultEventBusResource(_Integration):
_icon = "eventbridge-default-event-bus-resource.png" _icon = "eventbridge-default-event-bus-resource.png"
class EventbridgeSaasPartnerEventBusResource(_Integration): class EventbridgeSaasPartnerEventBusResource(_Integration):
_icon = "eventbridge-saas-partner-event-bus-resource.png" _icon = "eventbridge-saas-partner-event-bus-resource.png"
class Eventbridge(_Integration): class Eventbridge(_Integration):
_icon = "eventbridge.png" _icon = "eventbridge.png"
class ExpressWorkflows(_Integration): class ExpressWorkflows(_Integration):
_icon = "express-workflows.png" _icon = "express-workflows.png"
class MQ(_Integration): class MQ(_Integration):
_icon = "mq.png" _icon = "mq.png"
class SimpleNotificationServiceSnsEmailNotification(_Integration): class SimpleNotificationServiceSnsEmailNotification(_Integration):
_icon = "simple-notification-service-sns-email-notification.png" _icon = "simple-notification-service-sns-email-notification.png"
class SimpleNotificationServiceSnsHttpNotification(_Integration): class SimpleNotificationServiceSnsHttpNotification(_Integration):
_icon = "simple-notification-service-sns-http-notification.png" _icon = "simple-notification-service-sns-http-notification.png"
class SimpleNotificationServiceSnsTopic(_Integration): class SimpleNotificationServiceSnsTopic(_Integration):
_icon = "simple-notification-service-sns-topic.png" _icon = "simple-notification-service-sns-topic.png"
class SimpleNotificationServiceSns(_Integration): class SimpleNotificationServiceSns(_Integration):
_icon = "simple-notification-service-sns.png" _icon = "simple-notification-service-sns.png"
class SimpleQueueServiceSqsMessage(_Integration): class SimpleQueueServiceSqsMessage(_Integration):
_icon = "simple-queue-service-sqs-message.png" _icon = "simple-queue-service-sqs-message.png"
class SimpleQueueServiceSqsQueue(_Integration): class SimpleQueueServiceSqsQueue(_Integration):
_icon = "simple-queue-service-sqs-queue.png" _icon = "simple-queue-service-sqs-queue.png"
class SimpleQueueServiceSqs(_Integration): class SimpleQueueServiceSqs(_Integration):
_icon = "simple-queue-service-sqs.png" _icon = "simple-queue-service-sqs.png"
class StepFunctions(_Integration): class StepFunctions(_Integration):
_icon = "step-functions.png" _icon = "step-functions.png"
# Aliases # Aliases
SNS = SimpleNotificationServiceSns SNS = SimpleNotificationServiceSns

@ -2,7 +2,6 @@
from . import _AWS from . import _AWS
class _Iot(_AWS): class _Iot(_AWS):
_type = "iot" _type = "iot"
_icon_dir = "resources/aws/iot" _icon_dir = "resources/aws/iot"
@ -10,248 +9,127 @@ class _Iot(_AWS):
class Freertos(_Iot): class Freertos(_Iot):
_icon = "freertos.png" _icon = "freertos.png"
class InternetOfThings(_Iot): class InternetOfThings(_Iot):
_icon = "internet-of-things.png" _icon = "internet-of-things.png"
class Iot1Click(_Iot): class Iot1Click(_Iot):
_icon = "iot-1-click.png" _icon = "iot-1-click.png"
class IotAction(_Iot): class IotAction(_Iot):
_icon = "iot-action.png" _icon = "iot-action.png"
class IotActuator(_Iot): class IotActuator(_Iot):
_icon = "iot-actuator.png" _icon = "iot-actuator.png"
class IotAlexaEcho(_Iot): class IotAlexaEcho(_Iot):
_icon = "iot-alexa-echo.png" _icon = "iot-alexa-echo.png"
class IotAlexaEnabledDevice(_Iot): class IotAlexaEnabledDevice(_Iot):
_icon = "iot-alexa-enabled-device.png" _icon = "iot-alexa-enabled-device.png"
class IotAlexaSkill(_Iot): class IotAlexaSkill(_Iot):
_icon = "iot-alexa-skill.png" _icon = "iot-alexa-skill.png"
class IotAlexaVoiceService(_Iot): class IotAlexaVoiceService(_Iot):
_icon = "iot-alexa-voice-service.png" _icon = "iot-alexa-voice-service.png"
class IotAnalyticsChannel(_Iot): class IotAnalyticsChannel(_Iot):
_icon = "iot-analytics-channel.png" _icon = "iot-analytics-channel.png"
class IotAnalyticsDataSet(_Iot): class IotAnalyticsDataSet(_Iot):
_icon = "iot-analytics-data-set.png" _icon = "iot-analytics-data-set.png"
class IotAnalyticsDataStore(_Iot): class IotAnalyticsDataStore(_Iot):
_icon = "iot-analytics-data-store.png" _icon = "iot-analytics-data-store.png"
class IotAnalyticsNotebook(_Iot): class IotAnalyticsNotebook(_Iot):
_icon = "iot-analytics-notebook.png" _icon = "iot-analytics-notebook.png"
class IotAnalyticsPipeline(_Iot): class IotAnalyticsPipeline(_Iot):
_icon = "iot-analytics-pipeline.png" _icon = "iot-analytics-pipeline.png"
class IotAnalytics(_Iot): class IotAnalytics(_Iot):
_icon = "iot-analytics.png" _icon = "iot-analytics.png"
class IotBank(_Iot): class IotBank(_Iot):
_icon = "iot-bank.png" _icon = "iot-bank.png"
class IotBicycle(_Iot): class IotBicycle(_Iot):
_icon = "iot-bicycle.png" _icon = "iot-bicycle.png"
class IotButton(_Iot): class IotButton(_Iot):
_icon = "iot-button.png" _icon = "iot-button.png"
class IotCamera(_Iot): class IotCamera(_Iot):
_icon = "iot-camera.png" _icon = "iot-camera.png"
class IotCar(_Iot): class IotCar(_Iot):
_icon = "iot-car.png" _icon = "iot-car.png"
class IotCart(_Iot): class IotCart(_Iot):
_icon = "iot-cart.png" _icon = "iot-cart.png"
class IotCertificate(_Iot): class IotCertificate(_Iot):
_icon = "iot-certificate.png" _icon = "iot-certificate.png"
class IotCoffeePot(_Iot): class IotCoffeePot(_Iot):
_icon = "iot-coffee-pot.png" _icon = "iot-coffee-pot.png"
class IotCore(_Iot): class IotCore(_Iot):
_icon = "iot-core.png" _icon = "iot-core.png"
class IotDesiredState(_Iot): class IotDesiredState(_Iot):
_icon = "iot-desired-state.png" _icon = "iot-desired-state.png"
class IotDeviceDefender(_Iot): class IotDeviceDefender(_Iot):
_icon = "iot-device-defender.png" _icon = "iot-device-defender.png"
class IotDeviceGateway(_Iot): class IotDeviceGateway(_Iot):
_icon = "iot-device-gateway.png" _icon = "iot-device-gateway.png"
class IotDeviceManagement(_Iot): class IotDeviceManagement(_Iot):
_icon = "iot-device-management.png" _icon = "iot-device-management.png"
class IotDoorLock(_Iot): class IotDoorLock(_Iot):
_icon = "iot-door-lock.png" _icon = "iot-door-lock.png"
class IotEvents(_Iot): class IotEvents(_Iot):
_icon = "iot-events.png" _icon = "iot-events.png"
class IotFactory(_Iot): class IotFactory(_Iot):
_icon = "iot-factory.png" _icon = "iot-factory.png"
class IotFireTvStick(_Iot): class IotFireTvStick(_Iot):
_icon = "iot-fire-tv-stick.png" _icon = "iot-fire-tv-stick.png"
class IotFireTv(_Iot): class IotFireTv(_Iot):
_icon = "iot-fire-tv.png" _icon = "iot-fire-tv.png"
class IotGeneric(_Iot): class IotGeneric(_Iot):
_icon = "iot-generic.png" _icon = "iot-generic.png"
class IotGreengrassConnector(_Iot): class IotGreengrassConnector(_Iot):
_icon = "iot-greengrass-connector.png" _icon = "iot-greengrass-connector.png"
class IotGreengrass(_Iot): class IotGreengrass(_Iot):
_icon = "iot-greengrass.png" _icon = "iot-greengrass.png"
class IotHardwareBoard(_Iot): class IotHardwareBoard(_Iot):
_icon = "iot-hardware-board.png" _icon = "iot-hardware-board.png"
class IotHouse(_Iot): class IotHouse(_Iot):
_icon = "iot-house.png" _icon = "iot-house.png"
class IotHttp(_Iot): class IotHttp(_Iot):
_icon = "iot-http.png" _icon = "iot-http.png"
class IotHttp2(_Iot): class IotHttp2(_Iot):
_icon = "iot-http2.png" _icon = "iot-http2.png"
class IotJobs(_Iot): class IotJobs(_Iot):
_icon = "iot-jobs.png" _icon = "iot-jobs.png"
class IotLambda(_Iot): class IotLambda(_Iot):
_icon = "iot-lambda.png" _icon = "iot-lambda.png"
class IotLightbulb(_Iot): class IotLightbulb(_Iot):
_icon = "iot-lightbulb.png" _icon = "iot-lightbulb.png"
class IotMedicalEmergency(_Iot): class IotMedicalEmergency(_Iot):
_icon = "iot-medical-emergency.png" _icon = "iot-medical-emergency.png"
class IotMqtt(_Iot): class IotMqtt(_Iot):
_icon = "iot-mqtt.png" _icon = "iot-mqtt.png"
class IotOverTheAirUpdate(_Iot): class IotOverTheAirUpdate(_Iot):
_icon = "iot-over-the-air-update.png" _icon = "iot-over-the-air-update.png"
class IotPolicyEmergency(_Iot): class IotPolicyEmergency(_Iot):
_icon = "iot-policy-emergency.png" _icon = "iot-policy-emergency.png"
class IotPolicy(_Iot): class IotPolicy(_Iot):
_icon = "iot-policy.png" _icon = "iot-policy.png"
class IotReportedState(_Iot): class IotReportedState(_Iot):
_icon = "iot-reported-state.png" _icon = "iot-reported-state.png"
class IotRule(_Iot): class IotRule(_Iot):
_icon = "iot-rule.png" _icon = "iot-rule.png"
class IotSensor(_Iot): class IotSensor(_Iot):
_icon = "iot-sensor.png" _icon = "iot-sensor.png"
class IotServo(_Iot): class IotServo(_Iot):
_icon = "iot-servo.png" _icon = "iot-servo.png"
class IotShadow(_Iot): class IotShadow(_Iot):
_icon = "iot-shadow.png" _icon = "iot-shadow.png"
class IotSimulator(_Iot): class IotSimulator(_Iot):
_icon = "iot-simulator.png" _icon = "iot-simulator.png"
class IotSitewise(_Iot): class IotSitewise(_Iot):
_icon = "iot-sitewise.png" _icon = "iot-sitewise.png"
class IotThermostat(_Iot): class IotThermostat(_Iot):
_icon = "iot-thermostat.png" _icon = "iot-thermostat.png"
class IotThingsGraph(_Iot): class IotThingsGraph(_Iot):
_icon = "iot-things-graph.png" _icon = "iot-things-graph.png"
class IotTopic(_Iot): class IotTopic(_Iot):
_icon = "iot-topic.png" _icon = "iot-topic.png"
class IotTravel(_Iot): class IotTravel(_Iot):
_icon = "iot-travel.png" _icon = "iot-travel.png"
class IotUtility(_Iot): class IotUtility(_Iot):
_icon = "iot-utility.png" _icon = "iot-utility.png"
class IotWindfarm(_Iot): class IotWindfarm(_Iot):
_icon = "iot-windfarm.png" _icon = "iot-windfarm.png"
# Aliases # Aliases
FreeRTOS = Freertos FreeRTOS = Freertos

@ -2,7 +2,6 @@
from . import _AWS from . import _AWS
class _Management(_AWS): class _Management(_AWS):
_type = "management" _type = "management"
_icon_dir = "resources/aws/management" _icon_dir = "resources/aws/management"
@ -10,204 +9,105 @@ class _Management(_AWS):
class AutoScaling(_Management): class AutoScaling(_Management):
_icon = "auto-scaling.png" _icon = "auto-scaling.png"
class CloudformationChangeSet(_Management): class CloudformationChangeSet(_Management):
_icon = "cloudformation-change-set.png" _icon = "cloudformation-change-set.png"
class CloudformationStack(_Management): class CloudformationStack(_Management):
_icon = "cloudformation-stack.png" _icon = "cloudformation-stack.png"
class CloudformationTemplate(_Management): class CloudformationTemplate(_Management):
_icon = "cloudformation-template.png" _icon = "cloudformation-template.png"
class Cloudformation(_Management): class Cloudformation(_Management):
_icon = "cloudformation.png" _icon = "cloudformation.png"
class Cloudtrail(_Management): class Cloudtrail(_Management):
_icon = "cloudtrail.png" _icon = "cloudtrail.png"
class CloudwatchAlarm(_Management): class CloudwatchAlarm(_Management):
_icon = "cloudwatch-alarm.png" _icon = "cloudwatch-alarm.png"
class CloudwatchEventEventBased(_Management): class CloudwatchEventEventBased(_Management):
_icon = "cloudwatch-event-event-based.png" _icon = "cloudwatch-event-event-based.png"
class CloudwatchEventTimeBased(_Management): class CloudwatchEventTimeBased(_Management):
_icon = "cloudwatch-event-time-based.png" _icon = "cloudwatch-event-time-based.png"
class CloudwatchRule(_Management): class CloudwatchRule(_Management):
_icon = "cloudwatch-rule.png" _icon = "cloudwatch-rule.png"
class Cloudwatch(_Management): class Cloudwatch(_Management):
_icon = "cloudwatch.png" _icon = "cloudwatch.png"
class Codeguru(_Management): class Codeguru(_Management):
_icon = "codeguru.png" _icon = "codeguru.png"
class CommandLineInterface(_Management): class CommandLineInterface(_Management):
_icon = "command-line-interface.png" _icon = "command-line-interface.png"
class Config(_Management): class Config(_Management):
_icon = "config.png" _icon = "config.png"
class ControlTower(_Management): class ControlTower(_Management):
_icon = "control-tower.png" _icon = "control-tower.png"
class LicenseManager(_Management): class LicenseManager(_Management):
_icon = "license-manager.png" _icon = "license-manager.png"
class ManagedServices(_Management): class ManagedServices(_Management):
_icon = "managed-services.png" _icon = "managed-services.png"
class ManagementAndGovernance(_Management): class ManagementAndGovernance(_Management):
_icon = "management-and-governance.png" _icon = "management-and-governance.png"
class ManagementConsole(_Management): class ManagementConsole(_Management):
_icon = "management-console.png" _icon = "management-console.png"
class OpsworksApps(_Management): class OpsworksApps(_Management):
_icon = "opsworks-apps.png" _icon = "opsworks-apps.png"
class OpsworksDeployments(_Management): class OpsworksDeployments(_Management):
_icon = "opsworks-deployments.png" _icon = "opsworks-deployments.png"
class OpsworksInstances(_Management): class OpsworksInstances(_Management):
_icon = "opsworks-instances.png" _icon = "opsworks-instances.png"
class OpsworksLayers(_Management): class OpsworksLayers(_Management):
_icon = "opsworks-layers.png" _icon = "opsworks-layers.png"
class OpsworksMonitoring(_Management): class OpsworksMonitoring(_Management):
_icon = "opsworks-monitoring.png" _icon = "opsworks-monitoring.png"
class OpsworksPermissions(_Management): class OpsworksPermissions(_Management):
_icon = "opsworks-permissions.png" _icon = "opsworks-permissions.png"
class OpsworksResources(_Management): class OpsworksResources(_Management):
_icon = "opsworks-resources.png" _icon = "opsworks-resources.png"
class OpsworksStack(_Management): class OpsworksStack(_Management):
_icon = "opsworks-stack.png" _icon = "opsworks-stack.png"
class Opsworks(_Management): class Opsworks(_Management):
_icon = "opsworks.png" _icon = "opsworks.png"
class OrganizationsAccount(_Management): class OrganizationsAccount(_Management):
_icon = "organizations-account.png" _icon = "organizations-account.png"
class OrganizationsOrganizationalUnit(_Management): class OrganizationsOrganizationalUnit(_Management):
_icon = "organizations-organizational-unit.png" _icon = "organizations-organizational-unit.png"
class Organizations(_Management): class Organizations(_Management):
_icon = "organizations.png" _icon = "organizations.png"
class PersonalHealthDashboard(_Management): class PersonalHealthDashboard(_Management):
_icon = "personal-health-dashboard.png" _icon = "personal-health-dashboard.png"
class ServiceCatalog(_Management): class ServiceCatalog(_Management):
_icon = "service-catalog.png" _icon = "service-catalog.png"
class SystemsManagerAutomation(_Management): class SystemsManagerAutomation(_Management):
_icon = "systems-manager-automation.png" _icon = "systems-manager-automation.png"
class SystemsManagerDocuments(_Management): class SystemsManagerDocuments(_Management):
_icon = "systems-manager-documents.png" _icon = "systems-manager-documents.png"
class SystemsManagerInventory(_Management): class SystemsManagerInventory(_Management):
_icon = "systems-manager-inventory.png" _icon = "systems-manager-inventory.png"
class SystemsManagerMaintenanceWindows(_Management): class SystemsManagerMaintenanceWindows(_Management):
_icon = "systems-manager-maintenance-windows.png" _icon = "systems-manager-maintenance-windows.png"
class SystemsManagerOpscenter(_Management): class SystemsManagerOpscenter(_Management):
_icon = "systems-manager-opscenter.png" _icon = "systems-manager-opscenter.png"
class SystemsManagerParameterStore(_Management): class SystemsManagerParameterStore(_Management):
_icon = "systems-manager-parameter-store.png" _icon = "systems-manager-parameter-store.png"
class SystemsManagerPatchManager(_Management): class SystemsManagerPatchManager(_Management):
_icon = "systems-manager-patch-manager.png" _icon = "systems-manager-patch-manager.png"
class SystemsManagerRunCommand(_Management): class SystemsManagerRunCommand(_Management):
_icon = "systems-manager-run-command.png" _icon = "systems-manager-run-command.png"
class SystemsManagerStateManager(_Management): class SystemsManagerStateManager(_Management):
_icon = "systems-manager-state-manager.png" _icon = "systems-manager-state-manager.png"
class SystemsManager(_Management): class SystemsManager(_Management):
_icon = "systems-manager.png" _icon = "systems-manager.png"
class TrustedAdvisorChecklistCost(_Management): class TrustedAdvisorChecklistCost(_Management):
_icon = "trusted-advisor-checklist-cost.png" _icon = "trusted-advisor-checklist-cost.png"
class TrustedAdvisorChecklistFaultTolerant(_Management): class TrustedAdvisorChecklistFaultTolerant(_Management):
_icon = "trusted-advisor-checklist-fault-tolerant.png" _icon = "trusted-advisor-checklist-fault-tolerant.png"
class TrustedAdvisorChecklistPerformance(_Management): class TrustedAdvisorChecklistPerformance(_Management):
_icon = "trusted-advisor-checklist-performance.png" _icon = "trusted-advisor-checklist-performance.png"
class TrustedAdvisorChecklistSecurity(_Management): class TrustedAdvisorChecklistSecurity(_Management):
_icon = "trusted-advisor-checklist-security.png" _icon = "trusted-advisor-checklist-security.png"
class TrustedAdvisorChecklist(_Management): class TrustedAdvisorChecklist(_Management):
_icon = "trusted-advisor-checklist.png" _icon = "trusted-advisor-checklist.png"
class TrustedAdvisor(_Management): class TrustedAdvisor(_Management):
_icon = "trusted-advisor.png" _icon = "trusted-advisor.png"
class WellArchitectedTool(_Management): class WellArchitectedTool(_Management):
_icon = "well-architected-tool.png" _icon = "well-architected-tool.png"
# Aliases # Aliases
SSM = SystemsManager SSM = SystemsManager

@ -2,7 +2,6 @@
from . import _AWS from . import _AWS
class _Media(_AWS): class _Media(_AWS):
_type = "media" _type = "media"
_icon_dir = "resources/aws/media" _icon_dir = "resources/aws/media"
@ -10,54 +9,29 @@ class _Media(_AWS):
class ElasticTranscoder(_Media): class ElasticTranscoder(_Media):
_icon = "elastic-transcoder.png" _icon = "elastic-transcoder.png"
class ElementalConductor(_Media): class ElementalConductor(_Media):
_icon = "elemental-conductor.png" _icon = "elemental-conductor.png"
class ElementalDelta(_Media): class ElementalDelta(_Media):
_icon = "elemental-delta.png" _icon = "elemental-delta.png"
class ElementalLive(_Media): class ElementalLive(_Media):
_icon = "elemental-live.png" _icon = "elemental-live.png"
class ElementalMediaconnect(_Media): class ElementalMediaconnect(_Media):
_icon = "elemental-mediaconnect.png" _icon = "elemental-mediaconnect.png"
class ElementalMediaconvert(_Media): class ElementalMediaconvert(_Media):
_icon = "elemental-mediaconvert.png" _icon = "elemental-mediaconvert.png"
class ElementalMedialive(_Media): class ElementalMedialive(_Media):
_icon = "elemental-medialive.png" _icon = "elemental-medialive.png"
class ElementalMediapackage(_Media): class ElementalMediapackage(_Media):
_icon = "elemental-mediapackage.png" _icon = "elemental-mediapackage.png"
class ElementalMediastore(_Media): class ElementalMediastore(_Media):
_icon = "elemental-mediastore.png" _icon = "elemental-mediastore.png"
class ElementalMediatailor(_Media): class ElementalMediatailor(_Media):
_icon = "elemental-mediatailor.png" _icon = "elemental-mediatailor.png"
class ElementalServer(_Media): class ElementalServer(_Media):
_icon = "elemental-server.png" _icon = "elemental-server.png"
class KinesisVideoStreams(_Media): class KinesisVideoStreams(_Media):
_icon = "kinesis-video-streams.png" _icon = "kinesis-video-streams.png"
class MediaServices(_Media): class MediaServices(_Media):
_icon = "media-services.png" _icon = "media-services.png"
# Aliases # Aliases

@ -2,7 +2,6 @@
from . import _AWS from . import _AWS
class _Migration(_AWS): class _Migration(_AWS):
_type = "migration" _type = "migration"
_icon_dir = "resources/aws/migration" _icon_dir = "resources/aws/migration"
@ -10,52 +9,29 @@ class _Migration(_AWS):
class ApplicationDiscoveryService(_Migration): class ApplicationDiscoveryService(_Migration):
_icon = "application-discovery-service.png" _icon = "application-discovery-service.png"
class CloudendureMigration(_Migration): class CloudendureMigration(_Migration):
_icon = "cloudendure-migration.png" _icon = "cloudendure-migration.png"
class DatabaseMigrationService(_Migration): class DatabaseMigrationService(_Migration):
_icon = "database-migration-service.png" _icon = "database-migration-service.png"
class DatasyncAgent(_Migration): class DatasyncAgent(_Migration):
_icon = "datasync-agent.png" _icon = "datasync-agent.png"
class Datasync(_Migration): class Datasync(_Migration):
_icon = "datasync.png" _icon = "datasync.png"
class MigrationAndTransfer(_Migration): class MigrationAndTransfer(_Migration):
_icon = "migration-and-transfer.png" _icon = "migration-and-transfer.png"
class MigrationHub(_Migration): class MigrationHub(_Migration):
_icon = "migration-hub.png" _icon = "migration-hub.png"
class ServerMigrationService(_Migration): class ServerMigrationService(_Migration):
_icon = "server-migration-service.png" _icon = "server-migration-service.png"
class SnowballEdge(_Migration): class SnowballEdge(_Migration):
_icon = "snowball-edge.png" _icon = "snowball-edge.png"
class Snowball(_Migration): class Snowball(_Migration):
_icon = "snowball.png" _icon = "snowball.png"
class Snowmobile(_Migration): class Snowmobile(_Migration):
_icon = "snowmobile.png" _icon = "snowmobile.png"
class TransferForSftp(_Migration): class TransferForSftp(_Migration):
_icon = "transfer-for-sftp.png" _icon = "transfer-for-sftp.png"
# Aliases # Aliases
ADS = ApplicationDiscoveryService ADS = ApplicationDiscoveryService

@ -2,7 +2,6 @@
from . import _AWS from . import _AWS
class _ML(_AWS): class _ML(_AWS):
_type = "ml" _type = "ml"
_icon_dir = "resources/aws/ml" _icon_dir = "resources/aws/ml"
@ -10,116 +9,61 @@ class _ML(_AWS):
class ApacheMxnetOnAWS(_ML): class ApacheMxnetOnAWS(_ML):
_icon = "apache-mxnet-on-aws.png" _icon = "apache-mxnet-on-aws.png"
class AugmentedAi(_ML): class AugmentedAi(_ML):
_icon = "augmented-ai.png" _icon = "augmented-ai.png"
class Comprehend(_ML): class Comprehend(_ML):
_icon = "comprehend.png" _icon = "comprehend.png"
class DeepLearningAmis(_ML): class DeepLearningAmis(_ML):
_icon = "deep-learning-amis.png" _icon = "deep-learning-amis.png"
class DeepLearningContainers(_ML): class DeepLearningContainers(_ML):
_icon = "deep-learning-containers.png" _icon = "deep-learning-containers.png"
class Deepcomposer(_ML): class Deepcomposer(_ML):
_icon = "deepcomposer.png" _icon = "deepcomposer.png"
class Deeplens(_ML): class Deeplens(_ML):
_icon = "deeplens.png" _icon = "deeplens.png"
class Deepracer(_ML): class Deepracer(_ML):
_icon = "deepracer.png" _icon = "deepracer.png"
class ElasticInference(_ML): class ElasticInference(_ML):
_icon = "elastic-inference.png" _icon = "elastic-inference.png"
class Forecast(_ML): class Forecast(_ML):
_icon = "forecast.png" _icon = "forecast.png"
class FraudDetector(_ML): class FraudDetector(_ML):
_icon = "fraud-detector.png" _icon = "fraud-detector.png"
class Kendra(_ML): class Kendra(_ML):
_icon = "kendra.png" _icon = "kendra.png"
class Lex(_ML): class Lex(_ML):
_icon = "lex.png" _icon = "lex.png"
class MachineLearning(_ML): class MachineLearning(_ML):
_icon = "machine-learning.png" _icon = "machine-learning.png"
class Personalize(_ML): class Personalize(_ML):
_icon = "personalize.png" _icon = "personalize.png"
class Polly(_ML): class Polly(_ML):
_icon = "polly.png" _icon = "polly.png"
class RekognitionImage(_ML): class RekognitionImage(_ML):
_icon = "rekognition-image.png" _icon = "rekognition-image.png"
class RekognitionVideo(_ML): class RekognitionVideo(_ML):
_icon = "rekognition-video.png" _icon = "rekognition-video.png"
class Rekognition(_ML): class Rekognition(_ML):
_icon = "rekognition.png" _icon = "rekognition.png"
class SagemakerGroundTruth(_ML): class SagemakerGroundTruth(_ML):
_icon = "sagemaker-ground-truth.png" _icon = "sagemaker-ground-truth.png"
class SagemakerModel(_ML): class SagemakerModel(_ML):
_icon = "sagemaker-model.png" _icon = "sagemaker-model.png"
class SagemakerNotebook(_ML): class SagemakerNotebook(_ML):
_icon = "sagemaker-notebook.png" _icon = "sagemaker-notebook.png"
class SagemakerTrainingJob(_ML): class SagemakerTrainingJob(_ML):
_icon = "sagemaker-training-job.png" _icon = "sagemaker-training-job.png"
class Sagemaker(_ML): class Sagemaker(_ML):
_icon = "sagemaker.png" _icon = "sagemaker.png"
class TensorflowOnAWS(_ML): class TensorflowOnAWS(_ML):
_icon = "tensorflow-on-aws.png" _icon = "tensorflow-on-aws.png"
class Textract(_ML): class Textract(_ML):
_icon = "textract.png" _icon = "textract.png"
class Transcribe(_ML): class Transcribe(_ML):
_icon = "transcribe.png" _icon = "transcribe.png"
class Translate(_ML): class Translate(_ML):
_icon = "translate.png" _icon = "translate.png"
# Aliases # Aliases
DLC = DeepLearningContainers DLC = DeepLearningContainers

@ -2,7 +2,6 @@
from . import _AWS from . import _AWS
class _Mobile(_AWS): class _Mobile(_AWS):
_type = "mobile" _type = "mobile"
_icon_dir = "resources/aws/mobile" _icon_dir = "resources/aws/mobile"
@ -10,30 +9,17 @@ class _Mobile(_AWS):
class Amplify(_Mobile): class Amplify(_Mobile):
_icon = "amplify.png" _icon = "amplify.png"
class APIGatewayEndpoint(_Mobile): class APIGatewayEndpoint(_Mobile):
_icon = "api-gateway-endpoint.png" _icon = "api-gateway-endpoint.png"
class APIGateway(_Mobile): class APIGateway(_Mobile):
_icon = "api-gateway.png" _icon = "api-gateway.png"
class Appsync(_Mobile): class Appsync(_Mobile):
_icon = "appsync.png" _icon = "appsync.png"
class DeviceFarm(_Mobile): class DeviceFarm(_Mobile):
_icon = "device-farm.png" _icon = "device-farm.png"
class Mobile(_Mobile): class Mobile(_Mobile):
_icon = "mobile.png" _icon = "mobile.png"
class Pinpoint(_Mobile): class Pinpoint(_Mobile):
_icon = "pinpoint.png" _icon = "pinpoint.png"
# Aliases # Aliases

@ -2,7 +2,6 @@
from . import _AWS from . import _AWS
class _Network(_AWS): class _Network(_AWS):
_type = "network" _type = "network"
_icon_dir = "resources/aws/network" _icon_dir = "resources/aws/network"
@ -10,156 +9,81 @@ class _Network(_AWS):
class APIGatewayEndpoint(_Network): class APIGatewayEndpoint(_Network):
_icon = "api-gateway-endpoint.png" _icon = "api-gateway-endpoint.png"
class APIGateway(_Network): class APIGateway(_Network):
_icon = "api-gateway.png" _icon = "api-gateway.png"
class AppMesh(_Network): class AppMesh(_Network):
_icon = "app-mesh.png" _icon = "app-mesh.png"
class ClientVpn(_Network): class ClientVpn(_Network):
_icon = "client-vpn.png" _icon = "client-vpn.png"
class CloudMap(_Network): class CloudMap(_Network):
_icon = "cloud-map.png" _icon = "cloud-map.png"
class CloudFrontDownloadDistribution(_Network): class CloudFrontDownloadDistribution(_Network):
_icon = "cloudfront-download-distribution.png" _icon = "cloudfront-download-distribution.png"
class CloudFrontEdgeLocation(_Network): class CloudFrontEdgeLocation(_Network):
_icon = "cloudfront-edge-location.png" _icon = "cloudfront-edge-location.png"
class CloudFrontStreamingDistribution(_Network): class CloudFrontStreamingDistribution(_Network):
_icon = "cloudfront-streaming-distribution.png" _icon = "cloudfront-streaming-distribution.png"
class CloudFront(_Network): class CloudFront(_Network):
_icon = "cloudfront.png" _icon = "cloudfront.png"
class DirectConnect(_Network): class DirectConnect(_Network):
_icon = "direct-connect.png" _icon = "direct-connect.png"
class ElasticLoadBalancing(_Network): class ElasticLoadBalancing(_Network):
_icon = "elastic-load-balancing.png" _icon = "elastic-load-balancing.png"
class ElbApplicationLoadBalancer(_Network): class ElbApplicationLoadBalancer(_Network):
_icon = "elb-application-load-balancer.png" _icon = "elb-application-load-balancer.png"
class ElbClassicLoadBalancer(_Network): class ElbClassicLoadBalancer(_Network):
_icon = "elb-classic-load-balancer.png" _icon = "elb-classic-load-balancer.png"
class ElbNetworkLoadBalancer(_Network): class ElbNetworkLoadBalancer(_Network):
_icon = "elb-network-load-balancer.png" _icon = "elb-network-load-balancer.png"
class Endpoint(_Network): class Endpoint(_Network):
_icon = "endpoint.png" _icon = "endpoint.png"
class GlobalAccelerator(_Network): class GlobalAccelerator(_Network):
_icon = "global-accelerator.png" _icon = "global-accelerator.png"
class InternetGateway(_Network): class InternetGateway(_Network):
_icon = "internet-gateway.png" _icon = "internet-gateway.png"
class Nacl(_Network): class Nacl(_Network):
_icon = "nacl.png" _icon = "nacl.png"
class NATGateway(_Network): class NATGateway(_Network):
_icon = "nat-gateway.png" _icon = "nat-gateway.png"
class NetworkingAndContentDelivery(_Network): class NetworkingAndContentDelivery(_Network):
_icon = "networking-and-content-delivery.png" _icon = "networking-and-content-delivery.png"
class PrivateSubnet(_Network): class PrivateSubnet(_Network):
_icon = "private-subnet.png" _icon = "private-subnet.png"
class Privatelink(_Network): class Privatelink(_Network):
_icon = "privatelink.png" _icon = "privatelink.png"
class PublicSubnet(_Network): class PublicSubnet(_Network):
_icon = "public-subnet.png" _icon = "public-subnet.png"
class Route53HostedZone(_Network): class Route53HostedZone(_Network):
_icon = "route-53-hosted-zone.png" _icon = "route-53-hosted-zone.png"
class Route53(_Network): class Route53(_Network):
_icon = "route-53.png" _icon = "route-53.png"
class RouteTable(_Network): class RouteTable(_Network):
_icon = "route-table.png" _icon = "route-table.png"
class SiteToSiteVpn(_Network): class SiteToSiteVpn(_Network):
_icon = "site-to-site-vpn.png" _icon = "site-to-site-vpn.png"
class TransitGateway(_Network): class TransitGateway(_Network):
_icon = "transit-gateway.png" _icon = "transit-gateway.png"
class VPCCustomerGateway(_Network): class VPCCustomerGateway(_Network):
_icon = "vpc-customer-gateway.png" _icon = "vpc-customer-gateway.png"
class VPCElasticNetworkAdapter(_Network): class VPCElasticNetworkAdapter(_Network):
_icon = "vpc-elastic-network-adapter.png" _icon = "vpc-elastic-network-adapter.png"
class VPCElasticNetworkInterface(_Network): class VPCElasticNetworkInterface(_Network):
_icon = "vpc-elastic-network-interface.png" _icon = "vpc-elastic-network-interface.png"
class VPCFlowLogs(_Network): class VPCFlowLogs(_Network):
_icon = "vpc-flow-logs.png" _icon = "vpc-flow-logs.png"
class VPCPeering(_Network): class VPCPeering(_Network):
_icon = "vpc-peering.png" _icon = "vpc-peering.png"
class VPCRouter(_Network): class VPCRouter(_Network):
_icon = "vpc-router.png" _icon = "vpc-router.png"
class VPCTrafficMirroring(_Network): class VPCTrafficMirroring(_Network):
_icon = "vpc-traffic-mirroring.png" _icon = "vpc-traffic-mirroring.png"
class VPC(_Network): class VPC(_Network):
_icon = "vpc.png" _icon = "vpc.png"
class VpnConnection(_Network): class VpnConnection(_Network):
_icon = "vpn-connection.png" _icon = "vpn-connection.png"
class VpnGateway(_Network): class VpnGateway(_Network):
_icon = "vpn-gateway.png" _icon = "vpn-gateway.png"
# Aliases # Aliases
CF = CloudFront CF = CloudFront

@ -2,7 +2,6 @@
from . import _AWS from . import _AWS
class _Quantum(_AWS): class _Quantum(_AWS):
_type = "quantum" _type = "quantum"
_icon_dir = "resources/aws/quantum" _icon_dir = "resources/aws/quantum"
@ -10,10 +9,7 @@ class _Quantum(_AWS):
class Braket(_Quantum): class Braket(_Quantum):
_icon = "braket.png" _icon = "braket.png"
class QuantumTechnologies(_Quantum): class QuantumTechnologies(_Quantum):
_icon = "quantum-technologies.png" _icon = "quantum-technologies.png"
# Aliases # Aliases

@ -2,7 +2,6 @@
from . import _AWS from . import _AWS
class _Robotics(_AWS): class _Robotics(_AWS):
_type = "robotics" _type = "robotics"
_icon_dir = "resources/aws/robotics" _icon_dir = "resources/aws/robotics"
@ -10,26 +9,15 @@ class _Robotics(_AWS):
class RobomakerCloudExtensionRos(_Robotics): class RobomakerCloudExtensionRos(_Robotics):
_icon = "robomaker-cloud-extension-ros.png" _icon = "robomaker-cloud-extension-ros.png"
class RobomakerDevelopmentEnvironment(_Robotics): class RobomakerDevelopmentEnvironment(_Robotics):
_icon = "robomaker-development-environment.png" _icon = "robomaker-development-environment.png"
class RobomakerFleetManagement(_Robotics): class RobomakerFleetManagement(_Robotics):
_icon = "robomaker-fleet-management.png" _icon = "robomaker-fleet-management.png"
class RobomakerSimulator(_Robotics): class RobomakerSimulator(_Robotics):
_icon = "robomaker-simulator.png" _icon = "robomaker-simulator.png"
class Robomaker(_Robotics): class Robomaker(_Robotics):
_icon = "robomaker.png" _icon = "robomaker.png"
class Robotics(_Robotics): class Robotics(_Robotics):
_icon = "robotics.png" _icon = "robotics.png"
# Aliases # Aliases

@ -2,7 +2,6 @@
from . import _AWS from . import _AWS
class _Satellite(_AWS): class _Satellite(_AWS):
_type = "satellite" _type = "satellite"
_icon_dir = "resources/aws/satellite" _icon_dir = "resources/aws/satellite"
@ -10,10 +9,7 @@ class _Satellite(_AWS):
class GroundStation(_Satellite): class GroundStation(_Satellite):
_icon = "ground-station.png" _icon = "ground-station.png"
class Satellite(_Satellite): class Satellite(_Satellite):
_icon = "satellite.png" _icon = "satellite.png"
# Aliases # Aliases

@ -2,7 +2,6 @@
from . import _AWS from . import _AWS
class _Security(_AWS): class _Security(_AWS):
_type = "security" _type = "security"
_icon_dir = "resources/aws/security" _icon_dir = "resources/aws/security"
@ -10,160 +9,83 @@ class _Security(_AWS):
class AdConnector(_Security): class AdConnector(_Security):
_icon = "ad-connector.png" _icon = "ad-connector.png"
class Artifact(_Security): class Artifact(_Security):
_icon = "artifact.png" _icon = "artifact.png"
class CertificateAuthority(_Security): class CertificateAuthority(_Security):
_icon = "certificate-authority.png" _icon = "certificate-authority.png"
class CertificateManager(_Security): class CertificateManager(_Security):
_icon = "certificate-manager.png" _icon = "certificate-manager.png"
class CloudDirectory(_Security): class CloudDirectory(_Security):
_icon = "cloud-directory.png" _icon = "cloud-directory.png"
class Cloudhsm(_Security): class Cloudhsm(_Security):
_icon = "cloudhsm.png" _icon = "cloudhsm.png"
class Cognito(_Security): class Cognito(_Security):
_icon = "cognito.png" _icon = "cognito.png"
class Detective(_Security): class Detective(_Security):
_icon = "detective.png" _icon = "detective.png"
class DirectoryService(_Security): class DirectoryService(_Security):
_icon = "directory-service.png" _icon = "directory-service.png"
class FirewallManager(_Security): class FirewallManager(_Security):
_icon = "firewall-manager.png" _icon = "firewall-manager.png"
class Guardduty(_Security): class Guardduty(_Security):
_icon = "guardduty.png" _icon = "guardduty.png"
class IdentityAndAccessManagementIamAccessAnalyzer(_Security): class IdentityAndAccessManagementIamAccessAnalyzer(_Security):
_icon = "identity-and-access-management-iam-access-analyzer.png" _icon = "identity-and-access-management-iam-access-analyzer.png"
class IdentityAndAccessManagementIamAddOn(_Security): class IdentityAndAccessManagementIamAddOn(_Security):
_icon = "identity-and-access-management-iam-add-on.png" _icon = "identity-and-access-management-iam-add-on.png"
class IdentityAndAccessManagementIamAWSStsAlternate(_Security): class IdentityAndAccessManagementIamAWSStsAlternate(_Security):
_icon = "identity-and-access-management-iam-aws-sts-alternate.png" _icon = "identity-and-access-management-iam-aws-sts-alternate.png"
class IdentityAndAccessManagementIamAWSSts(_Security): class IdentityAndAccessManagementIamAWSSts(_Security):
_icon = "identity-and-access-management-iam-aws-sts.png" _icon = "identity-and-access-management-iam-aws-sts.png"
class IdentityAndAccessManagementIamDataEncryptionKey(_Security): class IdentityAndAccessManagementIamDataEncryptionKey(_Security):
_icon = "identity-and-access-management-iam-data-encryption-key.png" _icon = "identity-and-access-management-iam-data-encryption-key.png"
class IdentityAndAccessManagementIamEncryptedData(_Security): class IdentityAndAccessManagementIamEncryptedData(_Security):
_icon = "identity-and-access-management-iam-encrypted-data.png" _icon = "identity-and-access-management-iam-encrypted-data.png"
class IdentityAndAccessManagementIamLongTermSecurityCredential(_Security): class IdentityAndAccessManagementIamLongTermSecurityCredential(_Security):
_icon = "identity-and-access-management-iam-long-term-security-credential.png" _icon = "identity-and-access-management-iam-long-term-security-credential.png"
class IdentityAndAccessManagementIamMfaToken(_Security): class IdentityAndAccessManagementIamMfaToken(_Security):
_icon = "identity-and-access-management-iam-mfa-token.png" _icon = "identity-and-access-management-iam-mfa-token.png"
class IdentityAndAccessManagementIamPermissions(_Security): class IdentityAndAccessManagementIamPermissions(_Security):
_icon = "identity-and-access-management-iam-permissions.png" _icon = "identity-and-access-management-iam-permissions.png"
class IdentityAndAccessManagementIamRole(_Security): class IdentityAndAccessManagementIamRole(_Security):
_icon = "identity-and-access-management-iam-role.png" _icon = "identity-and-access-management-iam-role.png"
class IdentityAndAccessManagementIamTemporarySecurityCredential(_Security): class IdentityAndAccessManagementIamTemporarySecurityCredential(_Security):
_icon = "identity-and-access-management-iam-temporary-security-credential.png" _icon = "identity-and-access-management-iam-temporary-security-credential.png"
class IdentityAndAccessManagementIam(_Security): class IdentityAndAccessManagementIam(_Security):
_icon = "identity-and-access-management-iam.png" _icon = "identity-and-access-management-iam.png"
class InspectorAgent(_Security): class InspectorAgent(_Security):
_icon = "inspector-agent.png" _icon = "inspector-agent.png"
class Inspector(_Security): class Inspector(_Security):
_icon = "inspector.png" _icon = "inspector.png"
class KeyManagementService(_Security): class KeyManagementService(_Security):
_icon = "key-management-service.png" _icon = "key-management-service.png"
class Macie(_Security): class Macie(_Security):
_icon = "macie.png" _icon = "macie.png"
class ManagedMicrosoftAd(_Security): class ManagedMicrosoftAd(_Security):
_icon = "managed-microsoft-ad.png" _icon = "managed-microsoft-ad.png"
class ResourceAccessManager(_Security): class ResourceAccessManager(_Security):
_icon = "resource-access-manager.png" _icon = "resource-access-manager.png"
class SecretsManager(_Security): class SecretsManager(_Security):
_icon = "secrets-manager.png" _icon = "secrets-manager.png"
class SecurityHubFinding(_Security): class SecurityHubFinding(_Security):
_icon = "security-hub-finding.png" _icon = "security-hub-finding.png"
class SecurityHub(_Security): class SecurityHub(_Security):
_icon = "security-hub.png" _icon = "security-hub.png"
class SecurityIdentityAndCompliance(_Security): class SecurityIdentityAndCompliance(_Security):
_icon = "security-identity-and-compliance.png" _icon = "security-identity-and-compliance.png"
class ShieldAdvanced(_Security): class ShieldAdvanced(_Security):
_icon = "shield-advanced.png" _icon = "shield-advanced.png"
class Shield(_Security): class Shield(_Security):
_icon = "shield.png" _icon = "shield.png"
class SimpleAd(_Security): class SimpleAd(_Security):
_icon = "simple-ad.png" _icon = "simple-ad.png"
class SingleSignOn(_Security): class SingleSignOn(_Security):
_icon = "single-sign-on.png" _icon = "single-sign-on.png"
class WAFFilteringRule(_Security): class WAFFilteringRule(_Security):
_icon = "waf-filtering-rule.png" _icon = "waf-filtering-rule.png"
class WAF(_Security): class WAF(_Security):
_icon = "waf.png" _icon = "waf.png"
# Aliases # Aliases
ACM = CertificateManager ACM = CertificateManager

@ -2,7 +2,6 @@
from . import _AWS from . import _AWS
class _Storage(_AWS): class _Storage(_AWS):
_type = "storage" _type = "storage"
_icon_dir = "resources/aws/storage" _icon_dir = "resources/aws/storage"
@ -10,120 +9,63 @@ class _Storage(_AWS):
class Backup(_Storage): class Backup(_Storage):
_icon = "backup.png" _icon = "backup.png"
class CloudendureDisasterRecovery(_Storage): class CloudendureDisasterRecovery(_Storage):
_icon = "cloudendure-disaster-recovery.png" _icon = "cloudendure-disaster-recovery.png"
class EFSInfrequentaccessPrimaryBg(_Storage): class EFSInfrequentaccessPrimaryBg(_Storage):
_icon = "efs-infrequentaccess-primary-bg.png" _icon = "efs-infrequentaccess-primary-bg.png"
class EFSStandardPrimaryBg(_Storage): class EFSStandardPrimaryBg(_Storage):
_icon = "efs-standard-primary-bg.png" _icon = "efs-standard-primary-bg.png"
class ElasticBlockStoreEBSSnapshot(_Storage): class ElasticBlockStoreEBSSnapshot(_Storage):
_icon = "elastic-block-store-ebs-snapshot.png" _icon = "elastic-block-store-ebs-snapshot.png"
class ElasticBlockStoreEBSVolume(_Storage): class ElasticBlockStoreEBSVolume(_Storage):
_icon = "elastic-block-store-ebs-volume.png" _icon = "elastic-block-store-ebs-volume.png"
class ElasticBlockStoreEBS(_Storage): class ElasticBlockStoreEBS(_Storage):
_icon = "elastic-block-store-ebs.png" _icon = "elastic-block-store-ebs.png"
class ElasticFileSystemEFSFileSystem(_Storage): class ElasticFileSystemEFSFileSystem(_Storage):
_icon = "elastic-file-system-efs-file-system.png" _icon = "elastic-file-system-efs-file-system.png"
class ElasticFileSystemEFS(_Storage): class ElasticFileSystemEFS(_Storage):
_icon = "elastic-file-system-efs.png" _icon = "elastic-file-system-efs.png"
class FsxForLustre(_Storage): class FsxForLustre(_Storage):
_icon = "fsx-for-lustre.png" _icon = "fsx-for-lustre.png"
class FsxForWindowsFileServer(_Storage): class FsxForWindowsFileServer(_Storage):
_icon = "fsx-for-windows-file-server.png" _icon = "fsx-for-windows-file-server.png"
class Fsx(_Storage): class Fsx(_Storage):
_icon = "fsx.png" _icon = "fsx.png"
class MultipleVolumesResource(_Storage): class MultipleVolumesResource(_Storage):
_icon = "multiple-volumes-resource.png" _icon = "multiple-volumes-resource.png"
class S3GlacierArchive(_Storage): class S3GlacierArchive(_Storage):
_icon = "s3-glacier-archive.png" _icon = "s3-glacier-archive.png"
class S3GlacierVault(_Storage): class S3GlacierVault(_Storage):
_icon = "s3-glacier-vault.png" _icon = "s3-glacier-vault.png"
class S3Glacier(_Storage): class S3Glacier(_Storage):
_icon = "s3-glacier.png" _icon = "s3-glacier.png"
class SimpleStorageServiceS3BucketWithObjects(_Storage): class SimpleStorageServiceS3BucketWithObjects(_Storage):
_icon = "simple-storage-service-s3-bucket-with-objects.png" _icon = "simple-storage-service-s3-bucket-with-objects.png"
class SimpleStorageServiceS3Bucket(_Storage): class SimpleStorageServiceS3Bucket(_Storage):
_icon = "simple-storage-service-s3-bucket.png" _icon = "simple-storage-service-s3-bucket.png"
class SimpleStorageServiceS3Object(_Storage): class SimpleStorageServiceS3Object(_Storage):
_icon = "simple-storage-service-s3-object.png" _icon = "simple-storage-service-s3-object.png"
class SimpleStorageServiceS3(_Storage): class SimpleStorageServiceS3(_Storage):
_icon = "simple-storage-service-s3.png" _icon = "simple-storage-service-s3.png"
class SnowFamilySnowballImportExport(_Storage): class SnowFamilySnowballImportExport(_Storage):
_icon = "snow-family-snowball-import-export.png" _icon = "snow-family-snowball-import-export.png"
class SnowballEdge(_Storage): class SnowballEdge(_Storage):
_icon = "snowball-edge.png" _icon = "snowball-edge.png"
class Snowball(_Storage): class Snowball(_Storage):
_icon = "snowball.png" _icon = "snowball.png"
class Snowmobile(_Storage): class Snowmobile(_Storage):
_icon = "snowmobile.png" _icon = "snowmobile.png"
class StorageGatewayCachedVolume(_Storage): class StorageGatewayCachedVolume(_Storage):
_icon = "storage-gateway-cached-volume.png" _icon = "storage-gateway-cached-volume.png"
class StorageGatewayNonCachedVolume(_Storage): class StorageGatewayNonCachedVolume(_Storage):
_icon = "storage-gateway-non-cached-volume.png" _icon = "storage-gateway-non-cached-volume.png"
class StorageGatewayVirtualTapeLibrary(_Storage): class StorageGatewayVirtualTapeLibrary(_Storage):
_icon = "storage-gateway-virtual-tape-library.png" _icon = "storage-gateway-virtual-tape-library.png"
class StorageGateway(_Storage): class StorageGateway(_Storage):
_icon = "storage-gateway.png" _icon = "storage-gateway.png"
class Storage(_Storage): class Storage(_Storage):
_icon = "storage.png" _icon = "storage.png"
# Aliases # Aliases
CDR = CloudendureDisasterRecovery CDR = CloudendureDisasterRecovery

@ -2,7 +2,6 @@
from . import _OpenStack from . import _OpenStack
class _Apiproxies(_OpenStack): class _Apiproxies(_OpenStack):
_type = "apiproxies" _type = "apiproxies"
_icon_dir = "resources/openstack/apiproxies" _icon_dir = "resources/openstack/apiproxies"
@ -11,5 +10,4 @@ class _Apiproxies(_OpenStack):
class EC2API(_Apiproxies): class EC2API(_Apiproxies):
_icon = "ec2api.png" _icon = "ec2api.png"
# Aliases # Aliases

@ -2,7 +2,6 @@
from . import _OpenStack from . import _OpenStack
class _Applicationlifecycle(_OpenStack): class _Applicationlifecycle(_OpenStack):
_type = "applicationlifecycle" _type = "applicationlifecycle"
_icon_dir = "resources/openstack/applicationlifecycle" _icon_dir = "resources/openstack/applicationlifecycle"
@ -10,18 +9,11 @@ class _Applicationlifecycle(_OpenStack):
class Freezer(_Applicationlifecycle): class Freezer(_Applicationlifecycle):
_icon = "freezer.png" _icon = "freezer.png"
class Masakari(_Applicationlifecycle): class Masakari(_Applicationlifecycle):
_icon = "masakari.png" _icon = "masakari.png"
class Murano(_Applicationlifecycle): class Murano(_Applicationlifecycle):
_icon = "murano.png" _icon = "murano.png"
class Solum(_Applicationlifecycle): class Solum(_Applicationlifecycle):
_icon = "solum.png" _icon = "solum.png"
# Aliases # Aliases

@ -2,7 +2,6 @@
from . import _OpenStack from . import _OpenStack
class _Baremetal(_OpenStack): class _Baremetal(_OpenStack):
_type = "baremetal" _type = "baremetal"
_icon_dir = "resources/openstack/baremetal" _icon_dir = "resources/openstack/baremetal"
@ -10,10 +9,7 @@ class _Baremetal(_OpenStack):
class Cyborg(_Baremetal): class Cyborg(_Baremetal):
_icon = "cyborg.png" _icon = "cyborg.png"
class Ironic(_Baremetal): class Ironic(_Baremetal):
_icon = "ironic.png" _icon = "ironic.png"
# Aliases # Aliases

@ -2,7 +2,6 @@
from . import _OpenStack from . import _OpenStack
class _Compute(_OpenStack): class _Compute(_OpenStack):
_type = "compute" _type = "compute"
_icon_dir = "resources/openstack/compute" _icon_dir = "resources/openstack/compute"
@ -10,14 +9,9 @@ class _Compute(_OpenStack):
class Nova(_Compute): class Nova(_Compute):
_icon = "nova.png" _icon = "nova.png"
class Qinling(_Compute): class Qinling(_Compute):
_icon = "qinling.png" _icon = "qinling.png"
class Zun(_Compute): class Zun(_Compute):
_icon = "zun.png" _icon = "zun.png"
# Aliases # Aliases

@ -2,7 +2,6 @@
from . import _OpenStack from . import _OpenStack
class _Frontend(_OpenStack): class _Frontend(_OpenStack):
_type = "frontend" _type = "frontend"
_icon_dir = "resources/openstack/frontend" _icon_dir = "resources/openstack/frontend"
@ -11,5 +10,4 @@ class _Frontend(_OpenStack):
class Horizon(_Frontend): class Horizon(_Frontend):
_icon = "horizon.png" _icon = "horizon.png"
# Aliases # Aliases

@ -2,10 +2,10 @@
from . import _OpenStack from . import _OpenStack
class _Lifecyclemanagement(_OpenStack): class _Lifecyclemanagement(_OpenStack):
_type = "lifecyclemanagement" _type = "lifecyclemanagement"
_icon_dir = "resources/openstack/lifecyclemanagement" _icon_dir = "resources/openstack/lifecyclemanagement"
# Aliases # Aliases

@ -2,7 +2,6 @@
from . import _OpenStack from . import _OpenStack
class _Orchestration(_OpenStack): class _Orchestration(_OpenStack):
_type = "orchestration" _type = "orchestration"
_icon_dir = "resources/openstack/orchestration" _icon_dir = "resources/openstack/orchestration"
@ -10,22 +9,13 @@ class _Orchestration(_OpenStack):
class Blazar(_Orchestration): class Blazar(_Orchestration):
_icon = "blazar.png" _icon = "blazar.png"
class Heat(_Orchestration): class Heat(_Orchestration):
_icon = "heat.png" _icon = "heat.png"
class Mistral(_Orchestration): class Mistral(_Orchestration):
_icon = "mistral.png" _icon = "mistral.png"
class Senlin(_Orchestration): class Senlin(_Orchestration):
_icon = "senlin.png" _icon = "senlin.png"
class Zaqar(_Orchestration): class Zaqar(_Orchestration):
_icon = "zaqar.png" _icon = "zaqar.png"
# Aliases # Aliases

@ -2,7 +2,6 @@
from . import _OpenStack from . import _OpenStack
class _Packaging(_OpenStack): class _Packaging(_OpenStack):
_type = "packaging" _type = "packaging"
_icon_dir = "resources/openstack/packaging" _icon_dir = "resources/openstack/packaging"
@ -10,14 +9,9 @@ class _Packaging(_OpenStack):
class LOCI(_Packaging): class LOCI(_Packaging):
_icon = "loci.png" _icon = "loci.png"
class Puppet(_Packaging): class Puppet(_Packaging):
_icon = "puppet.png" _icon = "puppet.png"
class RPM(_Packaging): class RPM(_Packaging):
_icon = "rpm.png" _icon = "rpm.png"
# Aliases # Aliases

@ -2,7 +2,6 @@
from . import _OpenStack from . import _OpenStack
class _Workloadprovisioning(_OpenStack): class _Workloadprovisioning(_OpenStack):
_type = "workloadprovisioning" _type = "workloadprovisioning"
_icon_dir = "resources/openstack/workloadprovisioning" _icon_dir = "resources/openstack/workloadprovisioning"
@ -10,14 +9,9 @@ class _Workloadprovisioning(_OpenStack):
class Magnum(_Workloadprovisioning): class Magnum(_Workloadprovisioning):
_icon = "magnum.png" _icon = "magnum.png"
class Sahara(_Workloadprovisioning): class Sahara(_Workloadprovisioning):
_icon = "sahara.png" _icon = "sahara.png"
class Trove(_Workloadprovisioning): class Trove(_Workloadprovisioning):
_icon = "trove.png" _icon = "trove.png"
# Aliases # Aliases

@ -7,124 +7,312 @@ Node classes list of alibabacloud provider.
## alibabacloud.analytics ## alibabacloud.analytics
- **diagrams.alibabacloud.analytics.AnalyticDb**
- **diagrams.alibabacloud.analytics.ClickHouse** <img width="30" src="/img/resources/alibabacloud/analytics/analytic-db.png" alt="AnalyticDb" style="float: left; padding-right: 5px;" >
- **diagrams.alibabacloud.analytics.DataLakeAnalytics** **diagrams.alibabacloud.analytics.AnalyticDb**
- **diagrams.alibabacloud.analytics.ElaticMapReduce**
- **diagrams.alibabacloud.analytics.OpenSearch** <img width="30" src="/img/resources/alibabacloud/analytics/click-house.png" alt="ClickHouse" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.analytics.ClickHouse**
<img width="30" src="/img/resources/alibabacloud/analytics/data-lake-analytics.png" alt="DataLakeAnalytics" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.analytics.DataLakeAnalytics**
<img width="30" src="/img/resources/alibabacloud/analytics/elatic-map-reduce.png" alt="ElaticMapReduce" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.analytics.ElaticMapReduce**
<img width="30" src="/img/resources/alibabacloud/analytics/open-search.png" alt="OpenSearch" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.analytics.OpenSearch**
## alibabacloud.application ## alibabacloud.application
- **diagrams.alibabacloud.application.ApiGateway**
- **diagrams.alibabacloud.application.BeeBot** <img width="30" src="/img/resources/alibabacloud/application/api-gateway.png" alt="ApiGateway" style="float: left; padding-right: 5px;" >
- **diagrams.alibabacloud.application.BlockchainAsAService** **diagrams.alibabacloud.application.ApiGateway**
- **diagrams.alibabacloud.application.CloudCallCenter**
- **diagrams.alibabacloud.application.CodePipeline** <img width="30" src="/img/resources/alibabacloud/application/bee-bot.png" alt="BeeBot" style="float: left; padding-right: 5px;" >
- **diagrams.alibabacloud.application.DirectMail** **diagrams.alibabacloud.application.BeeBot**
- **diagrams.alibabacloud.application.LogService**, **SLS** (alias)
- **diagrams.alibabacloud.application.MessageNotificationService**, **MNS** (alias) <img width="30" src="/img/resources/alibabacloud/application/blockchain-as-a-service.png" alt="BlockchainAsAService" style="float: left; padding-right: 5px;" >
- **diagrams.alibabacloud.application.NodeJsPerformancePlatform** **diagrams.alibabacloud.application.BlockchainAsAService**
- **diagrams.alibabacloud.application.OpenSearch**
- **diagrams.alibabacloud.application.PerformanceTestingService**, **PTS** (alias) <img width="30" src="/img/resources/alibabacloud/application/cloud-call-center.png" alt="CloudCallCenter" style="float: left; padding-right: 5px;" >
- **diagrams.alibabacloud.application.RdCloud** **diagrams.alibabacloud.application.CloudCallCenter**
- **diagrams.alibabacloud.application.SmartConversationAnalysis**, **SCA** (alias)
- **diagrams.alibabacloud.application.Yida** <img width="30" src="/img/resources/alibabacloud/application/code-pipeline.png" alt="CodePipeline" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.application.CodePipeline**
<img width="30" src="/img/resources/alibabacloud/application/direct-mail.png" alt="DirectMail" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.application.DirectMail**
<img width="30" src="/img/resources/alibabacloud/application/log-service.png" alt="LogService" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.application.LogService**, **SLS** (alias)
<img width="30" src="/img/resources/alibabacloud/application/message-notification-service.png" alt="MessageNotificationService" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.application.MessageNotificationService**, **MNS** (alias)
<img width="30" src="/img/resources/alibabacloud/application/node-js-performance-platform.png" alt="NodeJsPerformancePlatform" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.application.NodeJsPerformancePlatform**
<img width="30" src="/img/resources/alibabacloud/application/open-search.png" alt="OpenSearch" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.application.OpenSearch**
<img width="30" src="/img/resources/alibabacloud/application/performance-testing-service.png" alt="PerformanceTestingService" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.application.PerformanceTestingService**, **PTS** (alias)
<img width="30" src="/img/resources/alibabacloud/application/rd-cloud.png" alt="RdCloud" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.application.RdCloud**
<img width="30" src="/img/resources/alibabacloud/application/smart-conversation-analysis.png" alt="SmartConversationAnalysis" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.application.SmartConversationAnalysis**, **SCA** (alias)
<img width="30" src="/img/resources/alibabacloud/application/yida.png" alt="Yida" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.application.Yida**
## alibabacloud.communication ## alibabacloud.communication
- **diagrams.alibabacloud.communication.DirectMail**
- **diagrams.alibabacloud.communication.MobilePush** <img width="30" src="/img/resources/alibabacloud/communication/direct-mail.png" alt="DirectMail" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.communication.DirectMail**
<img width="30" src="/img/resources/alibabacloud/communication/mobile-push.png" alt="MobilePush" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.communication.MobilePush**
## alibabacloud.compute ## alibabacloud.compute
- **diagrams.alibabacloud.compute.AutoScaling**, **ESS** (alias)
- **diagrams.alibabacloud.compute.BatchCompute** <img width="30" src="/img/resources/alibabacloud/compute/auto-scaling.png" alt="AutoScaling" style="float: left; padding-right: 5px;" >
- **diagrams.alibabacloud.compute.ContainerRegistry** **diagrams.alibabacloud.compute.AutoScaling**, **ESS** (alias)
- **diagrams.alibabacloud.compute.ContainerService**
- **diagrams.alibabacloud.compute.ElasticComputeService**, **ECS** (alias) <img width="30" src="/img/resources/alibabacloud/compute/batch-compute.png" alt="BatchCompute" style="float: left; padding-right: 5px;" >
- **diagrams.alibabacloud.compute.ElasticContainerInstance**, **ECI** (alias) **diagrams.alibabacloud.compute.BatchCompute**
- **diagrams.alibabacloud.compute.ElasticHighPerformanceComputing**, **EHPC** (alias)
- **diagrams.alibabacloud.compute.ElasticSearch** <img width="30" src="/img/resources/alibabacloud/compute/container-registry.png" alt="ContainerRegistry" style="float: left; padding-right: 5px;" >
- **diagrams.alibabacloud.compute.FunctionCompute**, **FC** (alias) **diagrams.alibabacloud.compute.ContainerRegistry**
- **diagrams.alibabacloud.compute.OperationOrchestrationService**, **OOS** (alias)
- **diagrams.alibabacloud.compute.ResourceOrchestrationService**, **ROS** (alias) <img width="30" src="/img/resources/alibabacloud/compute/container-service.png" alt="ContainerService" style="float: left; padding-right: 5px;" >
- **diagrams.alibabacloud.compute.ServerLoadBalancer**, **SLB** (alias) **diagrams.alibabacloud.compute.ContainerService**
- **diagrams.alibabacloud.compute.ServerlessAppEngine**, **SAE** (alias)
- **diagrams.alibabacloud.compute.SimpleApplicationServer**, **SAS** (alias) <img width="30" src="/img/resources/alibabacloud/compute/elastic-compute-service.png" alt="ElasticComputeService" style="float: left; padding-right: 5px;" >
- **diagrams.alibabacloud.compute.WebAppService**, **WAS** (alias) **diagrams.alibabacloud.compute.ElasticComputeService**, **ECS** (alias)
<img width="30" src="/img/resources/alibabacloud/compute/elastic-container-instance.png" alt="ElasticContainerInstance" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.compute.ElasticContainerInstance**, **ECI** (alias)
<img width="30" src="/img/resources/alibabacloud/compute/elastic-high-performance-computing.png" alt="ElasticHighPerformanceComputing" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.compute.ElasticHighPerformanceComputing**, **EHPC** (alias)
<img width="30" src="/img/resources/alibabacloud/compute/elastic-search.png" alt="ElasticSearch" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.compute.ElasticSearch**
<img width="30" src="/img/resources/alibabacloud/compute/function-compute.png" alt="FunctionCompute" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.compute.FunctionCompute**, **FC** (alias)
<img width="30" src="/img/resources/alibabacloud/compute/operation-orchestration-service.png" alt="OperationOrchestrationService" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.compute.OperationOrchestrationService**, **OOS** (alias)
<img width="30" src="/img/resources/alibabacloud/compute/resource-orchestration-service.png" alt="ResourceOrchestrationService" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.compute.ResourceOrchestrationService**, **ROS** (alias)
<img width="30" src="/img/resources/alibabacloud/compute/server-load-balancer.png" alt="ServerLoadBalancer" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.compute.ServerLoadBalancer**, **SLB** (alias)
<img width="30" src="/img/resources/alibabacloud/compute/serverless-app-engine.png" alt="ServerlessAppEngine" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.compute.ServerlessAppEngine**, **SAE** (alias)
<img width="30" src="/img/resources/alibabacloud/compute/simple-application-server.png" alt="SimpleApplicationServer" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.compute.SimpleApplicationServer**, **SAS** (alias)
<img width="30" src="/img/resources/alibabacloud/compute/web-app-service.png" alt="WebAppService" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.compute.WebAppService**, **WAS** (alias)
## alibabacloud.database ## alibabacloud.database
- **diagrams.alibabacloud.database.ApsaradbCassandra**
- **diagrams.alibabacloud.database.ApsaradbHbase** <img width="30" src="/img/resources/alibabacloud/database/apsaradb-cassandra.png" alt="ApsaradbCassandra" style="float: left; padding-right: 5px;" >
- **diagrams.alibabacloud.database.ApsaradbMemcache** **diagrams.alibabacloud.database.ApsaradbCassandra**
- **diagrams.alibabacloud.database.ApsaradbMongodb**
- **diagrams.alibabacloud.database.ApsaradbOceanbase** <img width="30" src="/img/resources/alibabacloud/database/apsaradb-hbase.png" alt="ApsaradbHbase" style="float: left; padding-right: 5px;" >
- **diagrams.alibabacloud.database.ApsaradbPolardb** **diagrams.alibabacloud.database.ApsaradbHbase**
- **diagrams.alibabacloud.database.ApsaradbPostgresql**
- **diagrams.alibabacloud.database.ApsaradbPpas** <img width="30" src="/img/resources/alibabacloud/database/apsaradb-memcache.png" alt="ApsaradbMemcache" style="float: left; padding-right: 5px;" >
- **diagrams.alibabacloud.database.ApsaradbRedis** **diagrams.alibabacloud.database.ApsaradbMemcache**
- **diagrams.alibabacloud.database.ApsaradbSqlserver**
- **diagrams.alibabacloud.database.DataManagementService**, **DMS** (alias) <img width="30" src="/img/resources/alibabacloud/database/apsaradb-mongodb.png" alt="ApsaradbMongodb" style="float: left; padding-right: 5px;" >
- **diagrams.alibabacloud.database.DataTransmissionService**, **DTS** (alias) **diagrams.alibabacloud.database.ApsaradbMongodb**
- **diagrams.alibabacloud.database.DatabaseBackupService**, **DBS** (alias)
- **diagrams.alibabacloud.database.DisributeRelationalDatabaseService**, **DRDS** (alias) <img width="30" src="/img/resources/alibabacloud/database/apsaradb-oceanbase.png" alt="ApsaradbOceanbase" style="float: left; padding-right: 5px;" >
- **diagrams.alibabacloud.database.GraphDatabaseService**, **GDS** (alias) **diagrams.alibabacloud.database.ApsaradbOceanbase**
- **diagrams.alibabacloud.database.HybriddbForMysql**
- **diagrams.alibabacloud.database.RelationalDatabaseService**, **RDS** (alias) <img width="30" src="/img/resources/alibabacloud/database/apsaradb-polardb.png" alt="ApsaradbPolardb" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.database.ApsaradbPolardb**
<img width="30" src="/img/resources/alibabacloud/database/apsaradb-postgresql.png" alt="ApsaradbPostgresql" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.database.ApsaradbPostgresql**
<img width="30" src="/img/resources/alibabacloud/database/apsaradb-ppas.png" alt="ApsaradbPpas" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.database.ApsaradbPpas**
<img width="30" src="/img/resources/alibabacloud/database/apsaradb-redis.png" alt="ApsaradbRedis" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.database.ApsaradbRedis**
<img width="30" src="/img/resources/alibabacloud/database/apsaradb-sqlserver.png" alt="ApsaradbSqlserver" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.database.ApsaradbSqlserver**
<img width="30" src="/img/resources/alibabacloud/database/data-management-service.png" alt="DataManagementService" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.database.DataManagementService**, **DMS** (alias)
<img width="30" src="/img/resources/alibabacloud/database/data-transmission-service.png" alt="DataTransmissionService" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.database.DataTransmissionService**, **DTS** (alias)
<img width="30" src="/img/resources/alibabacloud/database/database-backup-service.png" alt="DatabaseBackupService" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.database.DatabaseBackupService**, **DBS** (alias)
<img width="30" src="/img/resources/alibabacloud/database/disribute-relational-database-service.png" alt="DisributeRelationalDatabaseService" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.database.DisributeRelationalDatabaseService**, **DRDS** (alias)
<img width="30" src="/img/resources/alibabacloud/database/graph-database-service.png" alt="GraphDatabaseService" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.database.GraphDatabaseService**, **GDS** (alias)
<img width="30" src="/img/resources/alibabacloud/database/hybriddb-for-mysql.png" alt="HybriddbForMysql" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.database.HybriddbForMysql**
<img width="30" src="/img/resources/alibabacloud/database/relational-database-service.png" alt="RelationalDatabaseService" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.database.RelationalDatabaseService**, **RDS** (alias)
## alibabacloud.iot ## alibabacloud.iot
- **diagrams.alibabacloud.iot.IotInternetDeviceId**
- **diagrams.alibabacloud.iot.IotLinkWan** <img width="30" src="/img/resources/alibabacloud/iot/iot-internet-device-id.png" alt="IotInternetDeviceId" style="float: left; padding-right: 5px;" >
- **diagrams.alibabacloud.iot.IotMobileConnectionPackage** **diagrams.alibabacloud.iot.IotInternetDeviceId**
- **diagrams.alibabacloud.iot.IotPlatform**
<img width="30" src="/img/resources/alibabacloud/iot/iot-link-wan.png" alt="IotLinkWan" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.iot.IotLinkWan**
<img width="30" src="/img/resources/alibabacloud/iot/iot-mobile-connection-package.png" alt="IotMobileConnectionPackage" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.iot.IotMobileConnectionPackage**
<img width="30" src="/img/resources/alibabacloud/iot/iot-platform.png" alt="IotPlatform" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.iot.IotPlatform**
## alibabacloud.network ## alibabacloud.network
- **diagrams.alibabacloud.network.Cdn**
- **diagrams.alibabacloud.network.CloudEnterpriseNetwork**, **CEN** (alias) <img width="30" src="/img/resources/alibabacloud/network/cdn.png" alt="Cdn" style="float: left; padding-right: 5px;" >
- **diagrams.alibabacloud.network.ElasticIpAddress**, **EIP** (alias) **diagrams.alibabacloud.network.Cdn**
- **diagrams.alibabacloud.network.ExpressConnect**
- **diagrams.alibabacloud.network.NatGateway** <img width="30" src="/img/resources/alibabacloud/network/cloud-enterprise-network.png" alt="CloudEnterpriseNetwork" style="float: left; padding-right: 5px;" >
- **diagrams.alibabacloud.network.ServerLoadBalancer**, **SLB** (alias) **diagrams.alibabacloud.network.CloudEnterpriseNetwork**, **CEN** (alias)
- **diagrams.alibabacloud.network.SmartAccessGateway**
- **diagrams.alibabacloud.network.VirtualPrivateCloud**, **VPC** (alias) <img width="30" src="/img/resources/alibabacloud/network/elastic-ip-address.png" alt="ElasticIpAddress" style="float: left; padding-right: 5px;" >
- **diagrams.alibabacloud.network.VpnGateway** **diagrams.alibabacloud.network.ElasticIpAddress**, **EIP** (alias)
<img width="30" src="/img/resources/alibabacloud/network/express-connect.png" alt="ExpressConnect" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.network.ExpressConnect**
<img width="30" src="/img/resources/alibabacloud/network/nat-gateway.png" alt="NatGateway" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.network.NatGateway**
<img width="30" src="/img/resources/alibabacloud/network/server-load-balancer.png" alt="ServerLoadBalancer" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.network.ServerLoadBalancer**, **SLB** (alias)
<img width="30" src="/img/resources/alibabacloud/network/smart-access-gateway.png" alt="SmartAccessGateway" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.network.SmartAccessGateway**
<img width="30" src="/img/resources/alibabacloud/network/virtual-private-cloud.png" alt="VirtualPrivateCloud" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.network.VirtualPrivateCloud**, **VPC** (alias)
<img width="30" src="/img/resources/alibabacloud/network/vpn-gateway.png" alt="VpnGateway" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.network.VpnGateway**
## alibabacloud.security ## alibabacloud.security
- **diagrams.alibabacloud.security.AntiBotService**, **ABS** (alias)
- **diagrams.alibabacloud.security.AntiDdosBasic** <img width="30" src="/img/resources/alibabacloud/security/anti-bot-service.png" alt="AntiBotService" style="float: left; padding-right: 5px;" >
- **diagrams.alibabacloud.security.AntiDdosPro** **diagrams.alibabacloud.security.AntiBotService**, **ABS** (alias)
- **diagrams.alibabacloud.security.AntifraudService**, **AS** (alias)
- **diagrams.alibabacloud.security.BastionHost** <img width="30" src="/img/resources/alibabacloud/security/anti-ddos-basic.png" alt="AntiDdosBasic" style="float: left; padding-right: 5px;" >
- **diagrams.alibabacloud.security.CloudFirewall**, **CFW** (alias) **diagrams.alibabacloud.security.AntiDdosBasic**
- **diagrams.alibabacloud.security.CloudSecurityScanner**
- **diagrams.alibabacloud.security.ContentModeration**, **CM** (alias) <img width="30" src="/img/resources/alibabacloud/security/anti-ddos-pro.png" alt="AntiDdosPro" style="float: left; padding-right: 5px;" >
- **diagrams.alibabacloud.security.CrowdsourcedSecurityTesting** **diagrams.alibabacloud.security.AntiDdosPro**
- **diagrams.alibabacloud.security.DataEncryptionService**, **DES** (alias)
- **diagrams.alibabacloud.security.DbAudit** <img width="30" src="/img/resources/alibabacloud/security/antifraud-service.png" alt="AntifraudService" style="float: left; padding-right: 5px;" >
- **diagrams.alibabacloud.security.GameShield** **diagrams.alibabacloud.security.AntifraudService**, **AS** (alias)
- **diagrams.alibabacloud.security.IdVerification**
- **diagrams.alibabacloud.security.ManagedSecurityService** <img width="30" src="/img/resources/alibabacloud/security/bastion-host.png" alt="BastionHost" style="float: left; padding-right: 5px;" >
- **diagrams.alibabacloud.security.SecurityCenter** **diagrams.alibabacloud.security.BastionHost**
- **diagrams.alibabacloud.security.ServerGuard**
- **diagrams.alibabacloud.security.SslCertificates** <img width="30" src="/img/resources/alibabacloud/security/cloud-firewall.png" alt="CloudFirewall" style="float: left; padding-right: 5px;" >
- **diagrams.alibabacloud.security.WebApplicationFirewall**, **WAF** (alias) **diagrams.alibabacloud.security.CloudFirewall**, **CFW** (alias)
<img width="30" src="/img/resources/alibabacloud/security/cloud-security-scanner.png" alt="CloudSecurityScanner" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.security.CloudSecurityScanner**
<img width="30" src="/img/resources/alibabacloud/security/content-moderation.png" alt="ContentModeration" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.security.ContentModeration**, **CM** (alias)
<img width="30" src="/img/resources/alibabacloud/security/crowdsourced-security-testing.png" alt="CrowdsourcedSecurityTesting" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.security.CrowdsourcedSecurityTesting**
<img width="30" src="/img/resources/alibabacloud/security/data-encryption-service.png" alt="DataEncryptionService" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.security.DataEncryptionService**, **DES** (alias)
<img width="30" src="/img/resources/alibabacloud/security/db-audit.png" alt="DbAudit" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.security.DbAudit**
<img width="30" src="/img/resources/alibabacloud/security/game-shield.png" alt="GameShield" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.security.GameShield**
<img width="30" src="/img/resources/alibabacloud/security/id-verification.png" alt="IdVerification" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.security.IdVerification**
<img width="30" src="/img/resources/alibabacloud/security/managed-security-service.png" alt="ManagedSecurityService" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.security.ManagedSecurityService**
<img width="30" src="/img/resources/alibabacloud/security/security-center.png" alt="SecurityCenter" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.security.SecurityCenter**
<img width="30" src="/img/resources/alibabacloud/security/server-guard.png" alt="ServerGuard" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.security.ServerGuard**
<img width="30" src="/img/resources/alibabacloud/security/ssl-certificates.png" alt="SslCertificates" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.security.SslCertificates**
<img width="30" src="/img/resources/alibabacloud/security/web-application-firewall.png" alt="WebApplicationFirewall" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.security.WebApplicationFirewall**, **WAF** (alias)
## alibabacloud.storage ## alibabacloud.storage
- **diagrams.alibabacloud.storage.CloudStorageGateway**
- **diagrams.alibabacloud.storage.FileStorageHdfs**, **HDFS** (alias) <img width="30" src="/img/resources/alibabacloud/storage/cloud-storage-gateway.png" alt="CloudStorageGateway" style="float: left; padding-right: 5px;" >
- **diagrams.alibabacloud.storage.FileStorageNas**, **NAS** (alias) **diagrams.alibabacloud.storage.CloudStorageGateway**
- **diagrams.alibabacloud.storage.HybridBackupRecovery**, **HBR** (alias)
- **diagrams.alibabacloud.storage.HybridCloudDisasterRecovery**, **HDR** (alias) <img width="30" src="/img/resources/alibabacloud/storage/file-storage-hdfs.png" alt="FileStorageHdfs" style="float: left; padding-right: 5px;" >
- **diagrams.alibabacloud.storage.Imm** **diagrams.alibabacloud.storage.FileStorageHdfs**, **HDFS** (alias)
- **diagrams.alibabacloud.storage.ObjectStorageService**, **OSS** (alias)
- **diagrams.alibabacloud.storage.ObjectTableStore**, **OTS** (alias) <img width="30" src="/img/resources/alibabacloud/storage/file-storage-nas.png" alt="FileStorageNas" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.storage.FileStorageNas**, **NAS** (alias)
<img width="30" src="/img/resources/alibabacloud/storage/hybrid-backup-recovery.png" alt="HybridBackupRecovery" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.storage.HybridBackupRecovery**, **HBR** (alias)
<img width="30" src="/img/resources/alibabacloud/storage/hybrid-cloud-disaster-recovery.png" alt="HybridCloudDisasterRecovery" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.storage.HybridCloudDisasterRecovery**, **HDR** (alias)
<img width="30" src="/img/resources/alibabacloud/storage/imm.png" alt="Imm" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.storage.Imm**
<img width="30" src="/img/resources/alibabacloud/storage/object-storage-service.png" alt="ObjectStorageService" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.storage.ObjectStorageService**, **OSS** (alias)
<img width="30" src="/img/resources/alibabacloud/storage/object-table-store.png" alt="ObjectTableStore" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.storage.ObjectTableStore**, **OTS** (alias)
## alibabacloud.web ## alibabacloud.web
- **diagrams.alibabacloud.web.Dns**
- **diagrams.alibabacloud.web.Domain** <img width="30" src="/img/resources/alibabacloud/web/dns.png" alt="Dns" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.web.Dns**
<img width="30" src="/img/resources/alibabacloud/web/domain.png" alt="Domain" style="float: left; padding-right: 5px;" >
**diagrams.alibabacloud.web.Domain**

File diff suppressed because it is too large Load Diff

@ -7,238 +7,624 @@ Node classes list of azure provider.
## azure.analytics ## azure.analytics
- **diagrams.azure.analytics.AnalysisServices**
- **diagrams.azure.analytics.DataExplorerClusters** <img width="30" src="/img/resources/azure/analytics/analysis-services.png" alt="AnalysisServices" style="float: left; padding-right: 5px;" >
- **diagrams.azure.analytics.DataFactories** **diagrams.azure.analytics.AnalysisServices**
- **diagrams.azure.analytics.DataLakeAnalytics**
- **diagrams.azure.analytics.DataLakeStoreGen1** <img width="30" src="/img/resources/azure/analytics/data-explorer-clusters.png" alt="DataExplorerClusters" style="float: left; padding-right: 5px;" >
- **diagrams.azure.analytics.Databricks** **diagrams.azure.analytics.DataExplorerClusters**
- **diagrams.azure.analytics.EventHubClusters**
- **diagrams.azure.analytics.EventHubs** <img width="30" src="/img/resources/azure/analytics/data-factories.png" alt="DataFactories" style="float: left; padding-right: 5px;" >
- **diagrams.azure.analytics.Hdinsightclusters** **diagrams.azure.analytics.DataFactories**
- **diagrams.azure.analytics.LogAnalyticsWorkspaces**
- **diagrams.azure.analytics.StreamAnalyticsJobs** <img width="30" src="/img/resources/azure/analytics/data-lake-analytics.png" alt="DataLakeAnalytics" style="float: left; padding-right: 5px;" >
**diagrams.azure.analytics.DataLakeAnalytics**
<img width="30" src="/img/resources/azure/analytics/data-lake-store-gen1.png" alt="DataLakeStoreGen1" style="float: left; padding-right: 5px;" >
**diagrams.azure.analytics.DataLakeStoreGen1**
<img width="30" src="/img/resources/azure/analytics/databricks.png" alt="Databricks" style="float: left; padding-right: 5px;" >
**diagrams.azure.analytics.Databricks**
<img width="30" src="/img/resources/azure/analytics/event-hub-clusters.png" alt="EventHubClusters" style="float: left; padding-right: 5px;" >
**diagrams.azure.analytics.EventHubClusters**
<img width="30" src="/img/resources/azure/analytics/event-hubs.png" alt="EventHubs" style="float: left; padding-right: 5px;" >
**diagrams.azure.analytics.EventHubs**
<img width="30" src="/img/resources/azure/analytics/hdinsightclusters.png" alt="Hdinsightclusters" style="float: left; padding-right: 5px;" >
**diagrams.azure.analytics.Hdinsightclusters**
<img width="30" src="/img/resources/azure/analytics/log-analytics-workspaces.png" alt="LogAnalyticsWorkspaces" style="float: left; padding-right: 5px;" >
**diagrams.azure.analytics.LogAnalyticsWorkspaces**
<img width="30" src="/img/resources/azure/analytics/stream-analytics-jobs.png" alt="StreamAnalyticsJobs" style="float: left; padding-right: 5px;" >
**diagrams.azure.analytics.StreamAnalyticsJobs**
## azure.compute ## azure.compute
- **diagrams.azure.compute.AvailabilitySets**
- **diagrams.azure.compute.BatchAccounts** <img width="30" src="/img/resources/azure/compute/availability-sets.png" alt="AvailabilitySets" style="float: left; padding-right: 5px;" >
- **diagrams.azure.compute.CitrixVirtualDesktopsEssentials** **diagrams.azure.compute.AvailabilitySets**
- **diagrams.azure.compute.CloudServicesClassic**
- **diagrams.azure.compute.CloudServices** <img width="30" src="/img/resources/azure/compute/batch-accounts.png" alt="BatchAccounts" style="float: left; padding-right: 5px;" >
- **diagrams.azure.compute.CloudsimpleVirtualMachines** **diagrams.azure.compute.BatchAccounts**
- **diagrams.azure.compute.ContainerInstances**
- **diagrams.azure.compute.ContainerRegistries**, **ACR** (alias) <img width="30" src="/img/resources/azure/compute/citrix-virtual-desktops-essentials.png" alt="CitrixVirtualDesktopsEssentials" style="float: left; padding-right: 5px;" >
- **diagrams.azure.compute.DiskSnapshots** **diagrams.azure.compute.CitrixVirtualDesktopsEssentials**
- **diagrams.azure.compute.Disks**
- **diagrams.azure.compute.FunctionApps** <img width="30" src="/img/resources/azure/compute/cloud-services-classic.png" alt="CloudServicesClassic" style="float: left; padding-right: 5px;" >
- **diagrams.azure.compute.KubernetesServices**, **AKS** (alias) **diagrams.azure.compute.CloudServicesClassic**
- **diagrams.azure.compute.MeshApplications**
- **diagrams.azure.compute.SAPHANAOnAzure** <img width="30" src="/img/resources/azure/compute/cloud-services.png" alt="CloudServices" style="float: left; padding-right: 5px;" >
- **diagrams.azure.compute.ServiceFabricClusters** **diagrams.azure.compute.CloudServices**
- **diagrams.azure.compute.VMClassic**
- **diagrams.azure.compute.VMImages** <img width="30" src="/img/resources/azure/compute/cloudsimple-virtual-machines.png" alt="CloudsimpleVirtualMachines" style="float: left; padding-right: 5px;" >
- **diagrams.azure.compute.VMLinux** **diagrams.azure.compute.CloudsimpleVirtualMachines**
- **diagrams.azure.compute.VMScaleSet**, **VMSS** (alias)
- **diagrams.azure.compute.VMWindows** <img width="30" src="/img/resources/azure/compute/container-instances.png" alt="ContainerInstances" style="float: left; padding-right: 5px;" >
- **diagrams.azure.compute.VM** **diagrams.azure.compute.ContainerInstances**
<img width="30" src="/img/resources/azure/compute/container-registries.png" alt="ContainerRegistries" style="float: left; padding-right: 5px;" >
**diagrams.azure.compute.ContainerRegistries**, **ACR** (alias)
<img width="30" src="/img/resources/azure/compute/disk-snapshots.png" alt="DiskSnapshots" style="float: left; padding-right: 5px;" >
**diagrams.azure.compute.DiskSnapshots**
<img width="30" src="/img/resources/azure/compute/disks.png" alt="Disks" style="float: left; padding-right: 5px;" >
**diagrams.azure.compute.Disks**
<img width="30" src="/img/resources/azure/compute/function-apps.png" alt="FunctionApps" style="float: left; padding-right: 5px;" >
**diagrams.azure.compute.FunctionApps**
<img width="30" src="/img/resources/azure/compute/kubernetes-services.png" alt="KubernetesServices" style="float: left; padding-right: 5px;" >
**diagrams.azure.compute.KubernetesServices**, **AKS** (alias)
<img width="30" src="/img/resources/azure/compute/mesh-applications.png" alt="MeshApplications" style="float: left; padding-right: 5px;" >
**diagrams.azure.compute.MeshApplications**
<img width="30" src="/img/resources/azure/compute/sap-hana-on-azure.png" alt="SAPHANAOnAzure" style="float: left; padding-right: 5px;" >
**diagrams.azure.compute.SAPHANAOnAzure**
<img width="30" src="/img/resources/azure/compute/service-fabric-clusters.png" alt="ServiceFabricClusters" style="float: left; padding-right: 5px;" >
**diagrams.azure.compute.ServiceFabricClusters**
<img width="30" src="/img/resources/azure/compute/vm-classic.png" alt="VMClassic" style="float: left; padding-right: 5px;" >
**diagrams.azure.compute.VMClassic**
<img width="30" src="/img/resources/azure/compute/vm-images.png" alt="VMImages" style="float: left; padding-right: 5px;" >
**diagrams.azure.compute.VMImages**
<img width="30" src="/img/resources/azure/compute/vm-linux.png" alt="VMLinux" style="float: left; padding-right: 5px;" >
**diagrams.azure.compute.VMLinux**
<img width="30" src="/img/resources/azure/compute/vm-scale-set.png" alt="VMScaleSet" style="float: left; padding-right: 5px;" >
**diagrams.azure.compute.VMScaleSet**, **VMSS** (alias)
<img width="30" src="/img/resources/azure/compute/vm-windows.png" alt="VMWindows" style="float: left; padding-right: 5px;" >
**diagrams.azure.compute.VMWindows**
<img width="30" src="/img/resources/azure/compute/vm.png" alt="VM" style="float: left; padding-right: 5px;" >
**diagrams.azure.compute.VM**
## azure.database ## azure.database
- **diagrams.azure.database.BlobStorage**
- **diagrams.azure.database.CacheForRedis** <img width="30" src="/img/resources/azure/database/blob-storage.png" alt="BlobStorage" style="float: left; padding-right: 5px;" >
- **diagrams.azure.database.CosmosDb** **diagrams.azure.database.BlobStorage**
- **diagrams.azure.database.DataLake**
- **diagrams.azure.database.DatabaseForMariadbServers** <img width="30" src="/img/resources/azure/database/cache-for-redis.png" alt="CacheForRedis" style="float: left; padding-right: 5px;" >
- **diagrams.azure.database.DatabaseForMysqlServers** **diagrams.azure.database.CacheForRedis**
- **diagrams.azure.database.DatabaseForPostgresqlServers**
- **diagrams.azure.database.ElasticDatabasePools** <img width="30" src="/img/resources/azure/database/cosmos-db.png" alt="CosmosDb" style="float: left; padding-right: 5px;" >
- **diagrams.azure.database.ElasticJobAgents** **diagrams.azure.database.CosmosDb**
- **diagrams.azure.database.ManagedDatabases**
- **diagrams.azure.database.SQLDatabases** <img width="30" src="/img/resources/azure/database/data-lake.png" alt="DataLake" style="float: left; padding-right: 5px;" >
- **diagrams.azure.database.SQLDatawarehouse** **diagrams.azure.database.DataLake**
- **diagrams.azure.database.SQLManagedInstances**
- **diagrams.azure.database.SQLServerStretchDatabases** <img width="30" src="/img/resources/azure/database/database-for-mariadb-servers.png" alt="DatabaseForMariadbServers" style="float: left; padding-right: 5px;" >
- **diagrams.azure.database.SQLServers** **diagrams.azure.database.DatabaseForMariadbServers**
- **diagrams.azure.database.VirtualClusters**
- **diagrams.azure.database.VirtualDatacenter** <img width="30" src="/img/resources/azure/database/database-for-mysql-servers.png" alt="DatabaseForMysqlServers" style="float: left; padding-right: 5px;" >
**diagrams.azure.database.DatabaseForMysqlServers**
<img width="30" src="/img/resources/azure/database/database-for-postgresql-servers.png" alt="DatabaseForPostgresqlServers" style="float: left; padding-right: 5px;" >
**diagrams.azure.database.DatabaseForPostgresqlServers**
<img width="30" src="/img/resources/azure/database/elastic-database-pools.png" alt="ElasticDatabasePools" style="float: left; padding-right: 5px;" >
**diagrams.azure.database.ElasticDatabasePools**
<img width="30" src="/img/resources/azure/database/elastic-job-agents.png" alt="ElasticJobAgents" style="float: left; padding-right: 5px;" >
**diagrams.azure.database.ElasticJobAgents**
<img width="30" src="/img/resources/azure/database/managed-databases.png" alt="ManagedDatabases" style="float: left; padding-right: 5px;" >
**diagrams.azure.database.ManagedDatabases**
<img width="30" src="/img/resources/azure/database/sql-databases.png" alt="SQLDatabases" style="float: left; padding-right: 5px;" >
**diagrams.azure.database.SQLDatabases**
<img width="30" src="/img/resources/azure/database/sql-datawarehouse.png" alt="SQLDatawarehouse" style="float: left; padding-right: 5px;" >
**diagrams.azure.database.SQLDatawarehouse**
<img width="30" src="/img/resources/azure/database/sql-managed-instances.png" alt="SQLManagedInstances" style="float: left; padding-right: 5px;" >
**diagrams.azure.database.SQLManagedInstances**
<img width="30" src="/img/resources/azure/database/sql-server-stretch-databases.png" alt="SQLServerStretchDatabases" style="float: left; padding-right: 5px;" >
**diagrams.azure.database.SQLServerStretchDatabases**
<img width="30" src="/img/resources/azure/database/sql-servers.png" alt="SQLServers" style="float: left; padding-right: 5px;" >
**diagrams.azure.database.SQLServers**
<img width="30" src="/img/resources/azure/database/virtual-clusters.png" alt="VirtualClusters" style="float: left; padding-right: 5px;" >
**diagrams.azure.database.VirtualClusters**
<img width="30" src="/img/resources/azure/database/virtual-datacenter.png" alt="VirtualDatacenter" style="float: left; padding-right: 5px;" >
**diagrams.azure.database.VirtualDatacenter**
## azure.devops ## azure.devops
- **diagrams.azure.devops.ApplicationInsights**
- **diagrams.azure.devops.Artifacts** <img width="30" src="/img/resources/azure/devops/application-insights.png" alt="ApplicationInsights" style="float: left; padding-right: 5px;" >
- **diagrams.azure.devops.Boards** **diagrams.azure.devops.ApplicationInsights**
- **diagrams.azure.devops.Devops**
- **diagrams.azure.devops.DevtestLabs** <img width="30" src="/img/resources/azure/devops/artifacts.png" alt="Artifacts" style="float: left; padding-right: 5px;" >
- **diagrams.azure.devops.Pipelines** **diagrams.azure.devops.Artifacts**
- **diagrams.azure.devops.Repos**
- **diagrams.azure.devops.TestPlans** <img width="30" src="/img/resources/azure/devops/boards.png" alt="Boards" style="float: left; padding-right: 5px;" >
**diagrams.azure.devops.Boards**
<img width="30" src="/img/resources/azure/devops/devops.png" alt="Devops" style="float: left; padding-right: 5px;" >
**diagrams.azure.devops.Devops**
<img width="30" src="/img/resources/azure/devops/devtest-labs.png" alt="DevtestLabs" style="float: left; padding-right: 5px;" >
**diagrams.azure.devops.DevtestLabs**
<img width="30" src="/img/resources/azure/devops/pipelines.png" alt="Pipelines" style="float: left; padding-right: 5px;" >
**diagrams.azure.devops.Pipelines**
<img width="30" src="/img/resources/azure/devops/repos.png" alt="Repos" style="float: left; padding-right: 5px;" >
**diagrams.azure.devops.Repos**
<img width="30" src="/img/resources/azure/devops/test-plans.png" alt="TestPlans" style="float: left; padding-right: 5px;" >
**diagrams.azure.devops.TestPlans**
## azure.general ## azure.general
- **diagrams.azure.general.Allresources**
- **diagrams.azure.general.Azurehome** <img width="30" src="/img/resources/azure/general/allresources.png" alt="Allresources" style="float: left; padding-right: 5px;" >
- **diagrams.azure.general.Developertools** **diagrams.azure.general.Allresources**
- **diagrams.azure.general.Helpsupport**
- **diagrams.azure.general.Information** <img width="30" src="/img/resources/azure/general/azurehome.png" alt="Azurehome" style="float: left; padding-right: 5px;" >
- **diagrams.azure.general.Managementgroups** **diagrams.azure.general.Azurehome**
- **diagrams.azure.general.Marketplace**
- **diagrams.azure.general.Quickstartcenter** <img width="30" src="/img/resources/azure/general/developertools.png" alt="Developertools" style="float: left; padding-right: 5px;" >
- **diagrams.azure.general.Recent** **diagrams.azure.general.Developertools**
- **diagrams.azure.general.Reservations**
- **diagrams.azure.general.Resource** <img width="30" src="/img/resources/azure/general/helpsupport.png" alt="Helpsupport" style="float: left; padding-right: 5px;" >
- **diagrams.azure.general.Resourcegroups** **diagrams.azure.general.Helpsupport**
- **diagrams.azure.general.Servicehealth**
- **diagrams.azure.general.Shareddashboard** <img width="30" src="/img/resources/azure/general/information.png" alt="Information" style="float: left; padding-right: 5px;" >
- **diagrams.azure.general.Subscriptions** **diagrams.azure.general.Information**
- **diagrams.azure.general.Support**
- **diagrams.azure.general.Supportrequests** <img width="30" src="/img/resources/azure/general/managementgroups.png" alt="Managementgroups" style="float: left; padding-right: 5px;" >
- **diagrams.azure.general.Tag** **diagrams.azure.general.Managementgroups**
- **diagrams.azure.general.Tags**
- **diagrams.azure.general.Templates** <img width="30" src="/img/resources/azure/general/marketplace.png" alt="Marketplace" style="float: left; padding-right: 5px;" >
- **diagrams.azure.general.Twousericon** **diagrams.azure.general.Marketplace**
- **diagrams.azure.general.Userhealthicon**
- **diagrams.azure.general.Usericon** <img width="30" src="/img/resources/azure/general/quickstartcenter.png" alt="Quickstartcenter" style="float: left; padding-right: 5px;" >
- **diagrams.azure.general.Userprivacy** **diagrams.azure.general.Quickstartcenter**
- **diagrams.azure.general.Userresource**
- **diagrams.azure.general.Whatsnew** <img width="30" src="/img/resources/azure/general/recent.png" alt="Recent" style="float: left; padding-right: 5px;" >
**diagrams.azure.general.Recent**
<img width="30" src="/img/resources/azure/general/reservations.png" alt="Reservations" style="float: left; padding-right: 5px;" >
**diagrams.azure.general.Reservations**
<img width="30" src="/img/resources/azure/general/resource.png" alt="Resource" style="float: left; padding-right: 5px;" >
**diagrams.azure.general.Resource**
<img width="30" src="/img/resources/azure/general/resourcegroups.png" alt="Resourcegroups" style="float: left; padding-right: 5px;" >
**diagrams.azure.general.Resourcegroups**
<img width="30" src="/img/resources/azure/general/servicehealth.png" alt="Servicehealth" style="float: left; padding-right: 5px;" >
**diagrams.azure.general.Servicehealth**
<img width="30" src="/img/resources/azure/general/shareddashboard.png" alt="Shareddashboard" style="float: left; padding-right: 5px;" >
**diagrams.azure.general.Shareddashboard**
<img width="30" src="/img/resources/azure/general/subscriptions.png" alt="Subscriptions" style="float: left; padding-right: 5px;" >
**diagrams.azure.general.Subscriptions**
<img width="30" src="/img/resources/azure/general/support.png" alt="Support" style="float: left; padding-right: 5px;" >
**diagrams.azure.general.Support**
<img width="30" src="/img/resources/azure/general/supportrequests.png" alt="Supportrequests" style="float: left; padding-right: 5px;" >
**diagrams.azure.general.Supportrequests**
<img width="30" src="/img/resources/azure/general/tag.png" alt="Tag" style="float: left; padding-right: 5px;" >
**diagrams.azure.general.Tag**
<img width="30" src="/img/resources/azure/general/tags.png" alt="Tags" style="float: left; padding-right: 5px;" >
**diagrams.azure.general.Tags**
<img width="30" src="/img/resources/azure/general/templates.png" alt="Templates" style="float: left; padding-right: 5px;" >
**diagrams.azure.general.Templates**
<img width="30" src="/img/resources/azure/general/twousericon.png" alt="Twousericon" style="float: left; padding-right: 5px;" >
**diagrams.azure.general.Twousericon**
<img width="30" src="/img/resources/azure/general/userhealthicon.png" alt="Userhealthicon" style="float: left; padding-right: 5px;" >
**diagrams.azure.general.Userhealthicon**
<img width="30" src="/img/resources/azure/general/usericon.png" alt="Usericon" style="float: left; padding-right: 5px;" >
**diagrams.azure.general.Usericon**
<img width="30" src="/img/resources/azure/general/userprivacy.png" alt="Userprivacy" style="float: left; padding-right: 5px;" >
**diagrams.azure.general.Userprivacy**
<img width="30" src="/img/resources/azure/general/userresource.png" alt="Userresource" style="float: left; padding-right: 5px;" >
**diagrams.azure.general.Userresource**
<img width="30" src="/img/resources/azure/general/whatsnew.png" alt="Whatsnew" style="float: left; padding-right: 5px;" >
**diagrams.azure.general.Whatsnew**
## azure.identity ## azure.identity
- **diagrams.azure.identity.AccessReview**
- **diagrams.azure.identity.ActiveDirectoryConnectHealth** <img width="30" src="/img/resources/azure/identity/access-review.png" alt="AccessReview" style="float: left; padding-right: 5px;" >
- **diagrams.azure.identity.ActiveDirectory** **diagrams.azure.identity.AccessReview**
- **diagrams.azure.identity.ADB2C**
- **diagrams.azure.identity.ADDomainServices** <img width="30" src="/img/resources/azure/identity/active-directory-connect-health.png" alt="ActiveDirectoryConnectHealth" style="float: left; padding-right: 5px;" >
- **diagrams.azure.identity.ADIdentityProtection** **diagrams.azure.identity.ActiveDirectoryConnectHealth**
- **diagrams.azure.identity.ADPrivilegedIdentityManagement**
- **diagrams.azure.identity.AppRegistrations** <img width="30" src="/img/resources/azure/identity/active-directory.png" alt="ActiveDirectory" style="float: left; padding-right: 5px;" >
- **diagrams.azure.identity.ConditionalAccess** **diagrams.azure.identity.ActiveDirectory**
- **diagrams.azure.identity.EnterpriseApplications**
- **diagrams.azure.identity.IdentityGovernance** <img width="30" src="/img/resources/azure/identity/ad-b2c.png" alt="ADB2C" style="float: left; padding-right: 5px;" >
- **diagrams.azure.identity.InformationProtection** **diagrams.azure.identity.ADB2C**
- **diagrams.azure.identity.ManagedIdentities**
<img width="30" src="/img/resources/azure/identity/ad-domain-services.png" alt="ADDomainServices" style="float: left; padding-right: 5px;" >
**diagrams.azure.identity.ADDomainServices**
<img width="30" src="/img/resources/azure/identity/ad-identity-protection.png" alt="ADIdentityProtection" style="float: left; padding-right: 5px;" >
**diagrams.azure.identity.ADIdentityProtection**
<img width="30" src="/img/resources/azure/identity/ad-privileged-identity-management.png" alt="ADPrivilegedIdentityManagement" style="float: left; padding-right: 5px;" >
**diagrams.azure.identity.ADPrivilegedIdentityManagement**
<img width="30" src="/img/resources/azure/identity/app-registrations.png" alt="AppRegistrations" style="float: left; padding-right: 5px;" >
**diagrams.azure.identity.AppRegistrations**
<img width="30" src="/img/resources/azure/identity/conditional-access.png" alt="ConditionalAccess" style="float: left; padding-right: 5px;" >
**diagrams.azure.identity.ConditionalAccess**
<img width="30" src="/img/resources/azure/identity/enterprise-applications.png" alt="EnterpriseApplications" style="float: left; padding-right: 5px;" >
**diagrams.azure.identity.EnterpriseApplications**
<img width="30" src="/img/resources/azure/identity/identity-governance.png" alt="IdentityGovernance" style="float: left; padding-right: 5px;" >
**diagrams.azure.identity.IdentityGovernance**
<img width="30" src="/img/resources/azure/identity/information-protection.png" alt="InformationProtection" style="float: left; padding-right: 5px;" >
**diagrams.azure.identity.InformationProtection**
<img width="30" src="/img/resources/azure/identity/managed-identities.png" alt="ManagedIdentities" style="float: left; padding-right: 5px;" >
**diagrams.azure.identity.ManagedIdentities**
## azure.integration ## azure.integration
- **diagrams.azure.integration.APIForFhir**
- **diagrams.azure.integration.APIManagement** <img width="30" src="/img/resources/azure/integration/api-for-fhir.png" alt="APIForFhir" style="float: left; padding-right: 5px;" >
- **diagrams.azure.integration.AppConfiguration** **diagrams.azure.integration.APIForFhir**
- **diagrams.azure.integration.DataCatalog**
- **diagrams.azure.integration.EventGridDomains** <img width="30" src="/img/resources/azure/integration/api-management.png" alt="APIManagement" style="float: left; padding-right: 5px;" >
- **diagrams.azure.integration.EventGridSubscriptions** **diagrams.azure.integration.APIManagement**
- **diagrams.azure.integration.EventGridTopics**
- **diagrams.azure.integration.IntegrationAccounts** <img width="30" src="/img/resources/azure/integration/app-configuration.png" alt="AppConfiguration" style="float: left; padding-right: 5px;" >
- **diagrams.azure.integration.IntegrationServiceEnvironments** **diagrams.azure.integration.AppConfiguration**
- **diagrams.azure.integration.LogicAppsCustomConnector**
- **diagrams.azure.integration.LogicApps** <img width="30" src="/img/resources/azure/integration/data-catalog.png" alt="DataCatalog" style="float: left; padding-right: 5px;" >
- **diagrams.azure.integration.SendgridAccounts** **diagrams.azure.integration.DataCatalog**
- **diagrams.azure.integration.ServiceBusRelays**
- **diagrams.azure.integration.ServiceBus** <img width="30" src="/img/resources/azure/integration/event-grid-domains.png" alt="EventGridDomains" style="float: left; padding-right: 5px;" >
- **diagrams.azure.integration.ServiceCatalogManagedApplicationDefinitions** **diagrams.azure.integration.EventGridDomains**
- **diagrams.azure.integration.SoftwareAsAService**
- **diagrams.azure.integration.StorsimpleDeviceManagers** <img width="30" src="/img/resources/azure/integration/event-grid-subscriptions.png" alt="EventGridSubscriptions" style="float: left; padding-right: 5px;" >
**diagrams.azure.integration.EventGridSubscriptions**
<img width="30" src="/img/resources/azure/integration/event-grid-topics.png" alt="EventGridTopics" style="float: left; padding-right: 5px;" >
**diagrams.azure.integration.EventGridTopics**
<img width="30" src="/img/resources/azure/integration/integration-accounts.png" alt="IntegrationAccounts" style="float: left; padding-right: 5px;" >
**diagrams.azure.integration.IntegrationAccounts**
<img width="30" src="/img/resources/azure/integration/integration-service-environments.png" alt="IntegrationServiceEnvironments" style="float: left; padding-right: 5px;" >
**diagrams.azure.integration.IntegrationServiceEnvironments**
<img width="30" src="/img/resources/azure/integration/logic-apps-custom-connector.png" alt="LogicAppsCustomConnector" style="float: left; padding-right: 5px;" >
**diagrams.azure.integration.LogicAppsCustomConnector**
<img width="30" src="/img/resources/azure/integration/logic-apps.png" alt="LogicApps" style="float: left; padding-right: 5px;" >
**diagrams.azure.integration.LogicApps**
<img width="30" src="/img/resources/azure/integration/sendgrid-accounts.png" alt="SendgridAccounts" style="float: left; padding-right: 5px;" >
**diagrams.azure.integration.SendgridAccounts**
<img width="30" src="/img/resources/azure/integration/service-bus-relays.png" alt="ServiceBusRelays" style="float: left; padding-right: 5px;" >
**diagrams.azure.integration.ServiceBusRelays**
<img width="30" src="/img/resources/azure/integration/service-bus.png" alt="ServiceBus" style="float: left; padding-right: 5px;" >
**diagrams.azure.integration.ServiceBus**
<img width="30" src="/img/resources/azure/integration/service-catalog-managed-application-definitions.png" alt="ServiceCatalogManagedApplicationDefinitions" style="float: left; padding-right: 5px;" >
**diagrams.azure.integration.ServiceCatalogManagedApplicationDefinitions**
<img width="30" src="/img/resources/azure/integration/software-as-a-service.png" alt="SoftwareAsAService" style="float: left; padding-right: 5px;" >
**diagrams.azure.integration.SoftwareAsAService**
<img width="30" src="/img/resources/azure/integration/storsimple-device-managers.png" alt="StorsimpleDeviceManagers" style="float: left; padding-right: 5px;" >
**diagrams.azure.integration.StorsimpleDeviceManagers**
## azure.iot ## azure.iot
- **diagrams.azure.iot.DeviceProvisioningServices**
- **diagrams.azure.iot.DigitalTwins** <img width="30" src="/img/resources/azure/iot/device-provisioning-services.png" alt="DeviceProvisioningServices" style="float: left; padding-right: 5px;" >
- **diagrams.azure.iot.IotCentralApplications** **diagrams.azure.iot.DeviceProvisioningServices**
- **diagrams.azure.iot.IotHubSecurity**
- **diagrams.azure.iot.IotHub** <img width="30" src="/img/resources/azure/iot/digital-twins.png" alt="DigitalTwins" style="float: left; padding-right: 5px;" >
- **diagrams.azure.iot.Maps** **diagrams.azure.iot.DigitalTwins**
- **diagrams.azure.iot.Sphere**
- **diagrams.azure.iot.TimeSeriesInsightsEnvironments** <img width="30" src="/img/resources/azure/iot/iot-central-applications.png" alt="IotCentralApplications" style="float: left; padding-right: 5px;" >
- **diagrams.azure.iot.TimeSeriesInsightsEventsSources** **diagrams.azure.iot.IotCentralApplications**
- **diagrams.azure.iot.Windows10IotCoreServices**
<img width="30" src="/img/resources/azure/iot/iot-hub-security.png" alt="IotHubSecurity" style="float: left; padding-right: 5px;" >
**diagrams.azure.iot.IotHubSecurity**
<img width="30" src="/img/resources/azure/iot/iot-hub.png" alt="IotHub" style="float: left; padding-right: 5px;" >
**diagrams.azure.iot.IotHub**
<img width="30" src="/img/resources/azure/iot/maps.png" alt="Maps" style="float: left; padding-right: 5px;" >
**diagrams.azure.iot.Maps**
<img width="30" src="/img/resources/azure/iot/sphere.png" alt="Sphere" style="float: left; padding-right: 5px;" >
**diagrams.azure.iot.Sphere**
<img width="30" src="/img/resources/azure/iot/time-series-insights-environments.png" alt="TimeSeriesInsightsEnvironments" style="float: left; padding-right: 5px;" >
**diagrams.azure.iot.TimeSeriesInsightsEnvironments**
<img width="30" src="/img/resources/azure/iot/time-series-insights-events-sources.png" alt="TimeSeriesInsightsEventsSources" style="float: left; padding-right: 5px;" >
**diagrams.azure.iot.TimeSeriesInsightsEventsSources**
<img width="30" src="/img/resources/azure/iot/windows-10-iot-core-services.png" alt="Windows10IotCoreServices" style="float: left; padding-right: 5px;" >
**diagrams.azure.iot.Windows10IotCoreServices**
## azure.migration ## azure.migration
- **diagrams.azure.migration.DatabaseMigrationServices**
- **diagrams.azure.migration.MigrationProjects** <img width="30" src="/img/resources/azure/migration/database-migration-services.png" alt="DatabaseMigrationServices" style="float: left; padding-right: 5px;" >
- **diagrams.azure.migration.RecoveryServicesVaults** **diagrams.azure.migration.DatabaseMigrationServices**
<img width="30" src="/img/resources/azure/migration/migration-projects.png" alt="MigrationProjects" style="float: left; padding-right: 5px;" >
**diagrams.azure.migration.MigrationProjects**
<img width="30" src="/img/resources/azure/migration/recovery-services-vaults.png" alt="RecoveryServicesVaults" style="float: left; padding-right: 5px;" >
**diagrams.azure.migration.RecoveryServicesVaults**
## azure.ml ## azure.ml
- **diagrams.azure.ml.BatchAI**
- **diagrams.azure.ml.BotServices** <img width="30" src="/img/resources/azure/ml/batch-ai.png" alt="BatchAI" style="float: left; padding-right: 5px;" >
- **diagrams.azure.ml.CognitiveServices** **diagrams.azure.ml.BatchAI**
- **diagrams.azure.ml.GenomicsAccounts**
- **diagrams.azure.ml.MachineLearningServiceWorkspaces** <img width="30" src="/img/resources/azure/ml/bot-services.png" alt="BotServices" style="float: left; padding-right: 5px;" >
- **diagrams.azure.ml.MachineLearningStudioWebServicePlans** **diagrams.azure.ml.BotServices**
- **diagrams.azure.ml.MachineLearningStudioWebServices**
- **diagrams.azure.ml.MachineLearningStudioWorkspaces** <img width="30" src="/img/resources/azure/ml/cognitive-services.png" alt="CognitiveServices" style="float: left; padding-right: 5px;" >
**diagrams.azure.ml.CognitiveServices**
<img width="30" src="/img/resources/azure/ml/genomics-accounts.png" alt="GenomicsAccounts" style="float: left; padding-right: 5px;" >
**diagrams.azure.ml.GenomicsAccounts**
<img width="30" src="/img/resources/azure/ml/machine-learning-service-workspaces.png" alt="MachineLearningServiceWorkspaces" style="float: left; padding-right: 5px;" >
**diagrams.azure.ml.MachineLearningServiceWorkspaces**
<img width="30" src="/img/resources/azure/ml/machine-learning-studio-web-service-plans.png" alt="MachineLearningStudioWebServicePlans" style="float: left; padding-right: 5px;" >
**diagrams.azure.ml.MachineLearningStudioWebServicePlans**
<img width="30" src="/img/resources/azure/ml/machine-learning-studio-web-services.png" alt="MachineLearningStudioWebServices" style="float: left; padding-right: 5px;" >
**diagrams.azure.ml.MachineLearningStudioWebServices**
<img width="30" src="/img/resources/azure/ml/machine-learning-studio-workspaces.png" alt="MachineLearningStudioWorkspaces" style="float: left; padding-right: 5px;" >
**diagrams.azure.ml.MachineLearningStudioWorkspaces**
## azure.mobile ## azure.mobile
- **diagrams.azure.mobile.AppServiceMobile**
- **diagrams.azure.mobile.MobileEngagement** <img width="30" src="/img/resources/azure/mobile/app-service---mobile.png" alt="AppServiceMobile" style="float: left; padding-right: 5px;" >
- **diagrams.azure.mobile.NotificationHubs** **diagrams.azure.mobile.AppServiceMobile**
<img width="30" src="/img/resources/azure/mobile/mobile-engagement.png" alt="MobileEngagement" style="float: left; padding-right: 5px;" >
**diagrams.azure.mobile.MobileEngagement**
<img width="30" src="/img/resources/azure/mobile/notification-hubs.png" alt="NotificationHubs" style="float: left; padding-right: 5px;" >
**diagrams.azure.mobile.NotificationHubs**
## azure.network ## azure.network
- **diagrams.azure.network.ApplicationGateway**
- **diagrams.azure.network.ApplicationSecurityGroups** <img width="30" src="/img/resources/azure/network/application-gateway.png" alt="ApplicationGateway" style="float: left; padding-right: 5px;" >
- **diagrams.azure.network.CDNProfiles** **diagrams.azure.network.ApplicationGateway**
- **diagrams.azure.network.Connections**
- **diagrams.azure.network.DDOSProtectionPlans** <img width="30" src="/img/resources/azure/network/application-security-groups.png" alt="ApplicationSecurityGroups" style="float: left; padding-right: 5px;" >
- **diagrams.azure.network.DNSPrivateZones** **diagrams.azure.network.ApplicationSecurityGroups**
- **diagrams.azure.network.DNSZones**
- **diagrams.azure.network.ExpressrouteCircuits** <img width="30" src="/img/resources/azure/network/cdn-profiles.png" alt="CDNProfiles" style="float: left; padding-right: 5px;" >
- **diagrams.azure.network.Firewall** **diagrams.azure.network.CDNProfiles**
- **diagrams.azure.network.FrontDoors**
- **diagrams.azure.network.LoadBalancers** <img width="30" src="/img/resources/azure/network/connections.png" alt="Connections" style="float: left; padding-right: 5px;" >
- **diagrams.azure.network.LocalNetworkGateways** **diagrams.azure.network.Connections**
- **diagrams.azure.network.NetworkInterfaces**
- **diagrams.azure.network.NetworkSecurityGroupsClassic** <img width="30" src="/img/resources/azure/network/ddos-protection-plans.png" alt="DDOSProtectionPlans" style="float: left; padding-right: 5px;" >
- **diagrams.azure.network.NetworkWatcher** **diagrams.azure.network.DDOSProtectionPlans**
- **diagrams.azure.network.OnPremisesDataGateways**
- **diagrams.azure.network.PublicIpAddresses** <img width="30" src="/img/resources/azure/network/dns-private-zones.png" alt="DNSPrivateZones" style="float: left; padding-right: 5px;" >
- **diagrams.azure.network.ReservedIpAddressesClassic** **diagrams.azure.network.DNSPrivateZones**
- **diagrams.azure.network.RouteFilters**
- **diagrams.azure.network.RouteTables** <img width="30" src="/img/resources/azure/network/dns-zones.png" alt="DNSZones" style="float: left; padding-right: 5px;" >
- **diagrams.azure.network.ServiceEndpointPolicies** **diagrams.azure.network.DNSZones**
- **diagrams.azure.network.Subnets**
- **diagrams.azure.network.TrafficManagerProfiles** <img width="30" src="/img/resources/azure/network/expressroute-circuits.png" alt="ExpressrouteCircuits" style="float: left; padding-right: 5px;" >
- **diagrams.azure.network.VirtualNetworkClassic** **diagrams.azure.network.ExpressrouteCircuits**
- **diagrams.azure.network.VirtualNetworkGateways**
- **diagrams.azure.network.VirtualNetworks** <img width="30" src="/img/resources/azure/network/firewall.png" alt="Firewall" style="float: left; padding-right: 5px;" >
- **diagrams.azure.network.VirtualWans** **diagrams.azure.network.Firewall**
<img width="30" src="/img/resources/azure/network/front-doors.png" alt="FrontDoors" style="float: left; padding-right: 5px;" >
**diagrams.azure.network.FrontDoors**
<img width="30" src="/img/resources/azure/network/load-balancers.png" alt="LoadBalancers" style="float: left; padding-right: 5px;" >
**diagrams.azure.network.LoadBalancers**
<img width="30" src="/img/resources/azure/network/local-network-gateways.png" alt="LocalNetworkGateways" style="float: left; padding-right: 5px;" >
**diagrams.azure.network.LocalNetworkGateways**
<img width="30" src="/img/resources/azure/network/network-interfaces.png" alt="NetworkInterfaces" style="float: left; padding-right: 5px;" >
**diagrams.azure.network.NetworkInterfaces**
<img width="30" src="/img/resources/azure/network/network-security-groups-classic.png" alt="NetworkSecurityGroupsClassic" style="float: left; padding-right: 5px;" >
**diagrams.azure.network.NetworkSecurityGroupsClassic**
<img width="30" src="/img/resources/azure/network/network-watcher.png" alt="NetworkWatcher" style="float: left; padding-right: 5px;" >
**diagrams.azure.network.NetworkWatcher**
<img width="30" src="/img/resources/azure/network/on-premises-data-gateways.png" alt="OnPremisesDataGateways" style="float: left; padding-right: 5px;" >
**diagrams.azure.network.OnPremisesDataGateways**
<img width="30" src="/img/resources/azure/network/public-ip-addresses.png" alt="PublicIpAddresses" style="float: left; padding-right: 5px;" >
**diagrams.azure.network.PublicIpAddresses**
<img width="30" src="/img/resources/azure/network/reserved-ip-addresses-classic.png" alt="ReservedIpAddressesClassic" style="float: left; padding-right: 5px;" >
**diagrams.azure.network.ReservedIpAddressesClassic**
<img width="30" src="/img/resources/azure/network/route-filters.png" alt="RouteFilters" style="float: left; padding-right: 5px;" >
**diagrams.azure.network.RouteFilters**
<img width="30" src="/img/resources/azure/network/route-tables.png" alt="RouteTables" style="float: left; padding-right: 5px;" >
**diagrams.azure.network.RouteTables**
<img width="30" src="/img/resources/azure/network/service-endpoint-policies.png" alt="ServiceEndpointPolicies" style="float: left; padding-right: 5px;" >
**diagrams.azure.network.ServiceEndpointPolicies**
<img width="30" src="/img/resources/azure/network/subnets.png" alt="Subnets" style="float: left; padding-right: 5px;" >
**diagrams.azure.network.Subnets**
<img width="30" src="/img/resources/azure/network/traffic-manager-profiles.png" alt="TrafficManagerProfiles" style="float: left; padding-right: 5px;" >
**diagrams.azure.network.TrafficManagerProfiles**
<img width="30" src="/img/resources/azure/network/virtual-network-classic.png" alt="VirtualNetworkClassic" style="float: left; padding-right: 5px;" >
**diagrams.azure.network.VirtualNetworkClassic**
<img width="30" src="/img/resources/azure/network/virtual-network-gateways.png" alt="VirtualNetworkGateways" style="float: left; padding-right: 5px;" >
**diagrams.azure.network.VirtualNetworkGateways**
<img width="30" src="/img/resources/azure/network/virtual-networks.png" alt="VirtualNetworks" style="float: left; padding-right: 5px;" >
**diagrams.azure.network.VirtualNetworks**
<img width="30" src="/img/resources/azure/network/virtual-wans.png" alt="VirtualWans" style="float: left; padding-right: 5px;" >
**diagrams.azure.network.VirtualWans**
## azure.security ## azure.security
- **diagrams.azure.security.KeyVaults**
- **diagrams.azure.security.SecurityCenter** <img width="30" src="/img/resources/azure/security/key-vaults.png" alt="KeyVaults" style="float: left; padding-right: 5px;" >
- **diagrams.azure.security.Sentinel** **diagrams.azure.security.KeyVaults**
<img width="30" src="/img/resources/azure/security/security-center.png" alt="SecurityCenter" style="float: left; padding-right: 5px;" >
**diagrams.azure.security.SecurityCenter**
<img width="30" src="/img/resources/azure/security/sentinel.png" alt="Sentinel" style="float: left; padding-right: 5px;" >
**diagrams.azure.security.Sentinel**
## azure.storage ## azure.storage
- **diagrams.azure.storage.ArchiveStorage**
- **diagrams.azure.storage.Azurefxtedgefiler** <img width="30" src="/img/resources/azure/storage/archive-storage.png" alt="ArchiveStorage" style="float: left; padding-right: 5px;" >
- **diagrams.azure.storage.BlobStorage** **diagrams.azure.storage.ArchiveStorage**
- **diagrams.azure.storage.DataBoxEdgeDataBoxGateway**
- **diagrams.azure.storage.DataBox** <img width="30" src="/img/resources/azure/storage/azurefxtedgefiler.png" alt="Azurefxtedgefiler" style="float: left; padding-right: 5px;" >
- **diagrams.azure.storage.DataLakeStorage** **diagrams.azure.storage.Azurefxtedgefiler**
- **diagrams.azure.storage.GeneralStorage**
- **diagrams.azure.storage.NetappFiles** <img width="30" src="/img/resources/azure/storage/blob-storage.png" alt="BlobStorage" style="float: left; padding-right: 5px;" >
- **diagrams.azure.storage.QueuesStorage** **diagrams.azure.storage.BlobStorage**
- **diagrams.azure.storage.StorageAccountsClassic**
- **diagrams.azure.storage.StorageAccounts** <img width="30" src="/img/resources/azure/storage/data-box-edge---data-box-gateway.png" alt="DataBoxEdgeDataBoxGateway" style="float: left; padding-right: 5px;" >
- **diagrams.azure.storage.StorageExplorer** **diagrams.azure.storage.DataBoxEdgeDataBoxGateway**
- **diagrams.azure.storage.StorageSyncServices**
- **diagrams.azure.storage.StorsimpleDataManagers** <img width="30" src="/img/resources/azure/storage/data-box.png" alt="DataBox" style="float: left; padding-right: 5px;" >
- **diagrams.azure.storage.StorsimpleDeviceManagers** **diagrams.azure.storage.DataBox**
- **diagrams.azure.storage.TableStorage**
<img width="30" src="/img/resources/azure/storage/data-lake-storage.png" alt="DataLakeStorage" style="float: left; padding-right: 5px;" >
**diagrams.azure.storage.DataLakeStorage**
<img width="30" src="/img/resources/azure/storage/general-storage.png" alt="GeneralStorage" style="float: left; padding-right: 5px;" >
**diagrams.azure.storage.GeneralStorage**
<img width="30" src="/img/resources/azure/storage/netapp-files.png" alt="NetappFiles" style="float: left; padding-right: 5px;" >
**diagrams.azure.storage.NetappFiles**
<img width="30" src="/img/resources/azure/storage/queues-storage.png" alt="QueuesStorage" style="float: left; padding-right: 5px;" >
**diagrams.azure.storage.QueuesStorage**
<img width="30" src="/img/resources/azure/storage/storage-accounts-classic.png" alt="StorageAccountsClassic" style="float: left; padding-right: 5px;" >
**diagrams.azure.storage.StorageAccountsClassic**
<img width="30" src="/img/resources/azure/storage/storage-accounts.png" alt="StorageAccounts" style="float: left; padding-right: 5px;" >
**diagrams.azure.storage.StorageAccounts**
<img width="30" src="/img/resources/azure/storage/storage-explorer.png" alt="StorageExplorer" style="float: left; padding-right: 5px;" >
**diagrams.azure.storage.StorageExplorer**
<img width="30" src="/img/resources/azure/storage/storage-sync-services.png" alt="StorageSyncServices" style="float: left; padding-right: 5px;" >
**diagrams.azure.storage.StorageSyncServices**
<img width="30" src="/img/resources/azure/storage/storsimple-data-managers.png" alt="StorsimpleDataManagers" style="float: left; padding-right: 5px;" >
**diagrams.azure.storage.StorsimpleDataManagers**
<img width="30" src="/img/resources/azure/storage/storsimple-device-managers.png" alt="StorsimpleDeviceManagers" style="float: left; padding-right: 5px;" >
**diagrams.azure.storage.StorsimpleDeviceManagers**
<img width="30" src="/img/resources/azure/storage/table-storage.png" alt="TableStorage" style="float: left; padding-right: 5px;" >
**diagrams.azure.storage.TableStorage**
## azure.web ## azure.web
- **diagrams.azure.web.APIConnections**
- **diagrams.azure.web.AppServiceCertificates** <img width="30" src="/img/resources/azure/web/api-connections.png" alt="APIConnections" style="float: left; padding-right: 5px;" >
- **diagrams.azure.web.AppServiceDomains** **diagrams.azure.web.APIConnections**
- **diagrams.azure.web.AppServiceEnvironments**
- **diagrams.azure.web.AppServicePlans** <img width="30" src="/img/resources/azure/web/app-service-certificates.png" alt="AppServiceCertificates" style="float: left; padding-right: 5px;" >
- **diagrams.azure.web.AppServices** **diagrams.azure.web.AppServiceCertificates**
- **diagrams.azure.web.MediaServices**
- **diagrams.azure.web.NotificationHubNamespaces** <img width="30" src="/img/resources/azure/web/app-service-domains.png" alt="AppServiceDomains" style="float: left; padding-right: 5px;" >
- **diagrams.azure.web.Search** **diagrams.azure.web.AppServiceDomains**
- **diagrams.azure.web.Signalr**
<img width="30" src="/img/resources/azure/web/app-service-environments.png" alt="AppServiceEnvironments" style="float: left; padding-right: 5px;" >
**diagrams.azure.web.AppServiceEnvironments**
<img width="30" src="/img/resources/azure/web/app-service-plans.png" alt="AppServicePlans" style="float: left; padding-right: 5px;" >
**diagrams.azure.web.AppServicePlans**
<img width="30" src="/img/resources/azure/web/app-services.png" alt="AppServices" style="float: left; padding-right: 5px;" >
**diagrams.azure.web.AppServices**
<img width="30" src="/img/resources/azure/web/media-services.png" alt="MediaServices" style="float: left; padding-right: 5px;" >
**diagrams.azure.web.MediaServices**
<img width="30" src="/img/resources/azure/web/notification-hub-namespaces.png" alt="NotificationHubNamespaces" style="float: left; padding-right: 5px;" >
**diagrams.azure.web.NotificationHubNamespaces**
<img width="30" src="/img/resources/azure/web/search.png" alt="Search" style="float: left; padding-right: 5px;" >
**diagrams.azure.web.Search**
<img width="30" src="/img/resources/azure/web/signalr.png" alt="Signalr" style="float: left; padding-right: 5px;" >
**diagrams.azure.web.Signalr**

@ -7,44 +7,96 @@ Node classes list of elastic provider.
## elastic.elasticsearch ## elastic.elasticsearch
- **diagrams.elastic.elasticsearch.Alerting**
- **diagrams.elastic.elasticsearch.Beats** <img width="30" src="/img/resources/elastic/elasticsearch/alerting.png" alt="Alerting" style="float: left; padding-right: 5px;" >
- **diagrams.elastic.elasticsearch.Elasticsearch** **diagrams.elastic.elasticsearch.Alerting**
- **diagrams.elastic.elasticsearch.Kibana**
- **diagrams.elastic.elasticsearch.Logstash**, **LogStash** (alias) <img width="30" src="/img/resources/elastic/elasticsearch/beats.png" alt="Beats" style="float: left; padding-right: 5px;" >
- **diagrams.elastic.elasticsearch.MachineLearning** **diagrams.elastic.elasticsearch.Beats**
- **diagrams.elastic.elasticsearch.Maps**
- **diagrams.elastic.elasticsearch.Monitoring** <img width="30" src="/img/resources/elastic/elasticsearch/elasticsearch.png" alt="Elasticsearch" style="float: left; padding-right: 5px;" >
- **diagrams.elastic.elasticsearch.SecuritySettings** **diagrams.elastic.elasticsearch.Elasticsearch**
- **diagrams.elastic.elasticsearch.Sql**
<img width="30" src="/img/resources/elastic/elasticsearch/kibana.png" alt="Kibana" style="float: left; padding-right: 5px;" >
**diagrams.elastic.elasticsearch.Kibana**
<img width="30" src="/img/resources/elastic/elasticsearch/logstash.png" alt="Logstash" style="float: left; padding-right: 5px;" >
**diagrams.elastic.elasticsearch.Logstash**, **LogStash** (alias)
<img width="30" src="/img/resources/elastic/elasticsearch/machine-learning.png" alt="MachineLearning" style="float: left; padding-right: 5px;" >
**diagrams.elastic.elasticsearch.MachineLearning**
<img width="30" src="/img/resources/elastic/elasticsearch/maps.png" alt="Maps" style="float: left; padding-right: 5px;" >
**diagrams.elastic.elasticsearch.Maps**
<img width="30" src="/img/resources/elastic/elasticsearch/monitoring.png" alt="Monitoring" style="float: left; padding-right: 5px;" >
**diagrams.elastic.elasticsearch.Monitoring**
<img width="30" src="/img/resources/elastic/elasticsearch/security-settings.png" alt="SecuritySettings" style="float: left; padding-right: 5px;" >
**diagrams.elastic.elasticsearch.SecuritySettings**
<img width="30" src="/img/resources/elastic/elasticsearch/sql.png" alt="Sql" style="float: left; padding-right: 5px;" >
**diagrams.elastic.elasticsearch.Sql**
## elastic.enterprisesearch ## elastic.enterprisesearch
- **diagrams.elastic.enterprisesearch.AppSearch**
- **diagrams.elastic.enterprisesearch.EnterpriseSearch** <img width="30" src="/img/resources/elastic/enterprisesearch/app-search.png" alt="AppSearch" style="float: left; padding-right: 5px;" >
- **diagrams.elastic.enterprisesearch.SiteSearch** **diagrams.elastic.enterprisesearch.AppSearch**
- **diagrams.elastic.enterprisesearch.WorkplaceSearch**
<img width="30" src="/img/resources/elastic/enterprisesearch/enterprise-search.png" alt="EnterpriseSearch" style="float: left; padding-right: 5px;" >
**diagrams.elastic.enterprisesearch.EnterpriseSearch**
<img width="30" src="/img/resources/elastic/enterprisesearch/site-search.png" alt="SiteSearch" style="float: left; padding-right: 5px;" >
**diagrams.elastic.enterprisesearch.SiteSearch**
<img width="30" src="/img/resources/elastic/enterprisesearch/workplace-search.png" alt="WorkplaceSearch" style="float: left; padding-right: 5px;" >
**diagrams.elastic.enterprisesearch.WorkplaceSearch**
## elastic.observability ## elastic.observability
- **diagrams.elastic.observability.APM**
- **diagrams.elastic.observability.Logs** <img width="30" src="/img/resources/elastic/observability/apm.png" alt="APM" style="float: left; padding-right: 5px;" >
- **diagrams.elastic.observability.Metrics** **diagrams.elastic.observability.APM**
- **diagrams.elastic.observability.Observability**
- **diagrams.elastic.observability.Uptime** <img width="30" src="/img/resources/elastic/observability/logs.png" alt="Logs" style="float: left; padding-right: 5px;" >
**diagrams.elastic.observability.Logs**
<img width="30" src="/img/resources/elastic/observability/metrics.png" alt="Metrics" style="float: left; padding-right: 5px;" >
**diagrams.elastic.observability.Metrics**
<img width="30" src="/img/resources/elastic/observability/observability.png" alt="Observability" style="float: left; padding-right: 5px;" >
**diagrams.elastic.observability.Observability**
<img width="30" src="/img/resources/elastic/observability/uptime.png" alt="Uptime" style="float: left; padding-right: 5px;" >
**diagrams.elastic.observability.Uptime**
## elastic.orchestration ## elastic.orchestration
- **diagrams.elastic.orchestration.ECE**
- **diagrams.elastic.orchestration.ECK** <img width="30" src="/img/resources/elastic/orchestration/ece.png" alt="ECE" style="float: left; padding-right: 5px;" >
**diagrams.elastic.orchestration.ECE**
<img width="30" src="/img/resources/elastic/orchestration/eck.png" alt="ECK" style="float: left; padding-right: 5px;" >
**diagrams.elastic.orchestration.ECK**
## elastic.saas ## elastic.saas
- **diagrams.elastic.saas.Cloud**
- **diagrams.elastic.saas.Elastic** <img width="30" src="/img/resources/elastic/saas/cloud.png" alt="Cloud" style="float: left; padding-right: 5px;" >
**diagrams.elastic.saas.Cloud**
<img width="30" src="/img/resources/elastic/saas/elastic.png" alt="Elastic" style="float: left; padding-right: 5px;" >
**diagrams.elastic.saas.Elastic**
## elastic.security ## elastic.security
- **diagrams.elastic.security.Endpoint**
- **diagrams.elastic.security.Security** <img width="30" src="/img/resources/elastic/security/endpoint.png" alt="Endpoint" style="float: left; padding-right: 5px;" >
- **diagrams.elastic.security.SIEM** **diagrams.elastic.security.Endpoint**
<img width="30" src="/img/resources/elastic/security/security.png" alt="Security" style="float: left; padding-right: 5px;" >
**diagrams.elastic.security.Security**
<img width="30" src="/img/resources/elastic/security/siem.png" alt="SIEM" style="float: left; padding-right: 5px;" >
**diagrams.elastic.security.SIEM**

@ -7,37 +7,81 @@ Node classes list of firebase provider.
## firebase.base ## firebase.base
- **diagrams.firebase.base.Firebase**
<img width="30" src="/img/resources/firebase/base/firebase.png" alt="Firebase" style="float: left; padding-right: 5px;" >
**diagrams.firebase.base.Firebase**
## firebase.develop ## firebase.develop
- **diagrams.firebase.develop.Authentication**
- **diagrams.firebase.develop.Firestore** <img width="30" src="/img/resources/firebase/develop/authentication.png" alt="Authentication" style="float: left; padding-right: 5px;" >
- **diagrams.firebase.develop.Functions** **diagrams.firebase.develop.Authentication**
- **diagrams.firebase.develop.Hosting**
- **diagrams.firebase.develop.MLKit** <img width="30" src="/img/resources/firebase/develop/firestore.png" alt="Firestore" style="float: left; padding-right: 5px;" >
- **diagrams.firebase.develop.RealtimeDatabase** **diagrams.firebase.develop.Firestore**
- **diagrams.firebase.develop.Storage**
<img width="30" src="/img/resources/firebase/develop/functions.png" alt="Functions" style="float: left; padding-right: 5px;" >
**diagrams.firebase.develop.Functions**
<img width="30" src="/img/resources/firebase/develop/hosting.png" alt="Hosting" style="float: left; padding-right: 5px;" >
**diagrams.firebase.develop.Hosting**
<img width="30" src="/img/resources/firebase/develop/ml-kit.png" alt="MLKit" style="float: left; padding-right: 5px;" >
**diagrams.firebase.develop.MLKit**
<img width="30" src="/img/resources/firebase/develop/realtime-database.png" alt="RealtimeDatabase" style="float: left; padding-right: 5px;" >
**diagrams.firebase.develop.RealtimeDatabase**
<img width="30" src="/img/resources/firebase/develop/storage.png" alt="Storage" style="float: left; padding-right: 5px;" >
**diagrams.firebase.develop.Storage**
## firebase.extentions ## firebase.extentions
- **diagrams.firebase.extentions.Extensions**
<img width="30" src="/img/resources/firebase/extentions/extensions.png" alt="Extensions" style="float: left; padding-right: 5px;" >
**diagrams.firebase.extentions.Extensions**
## firebase.grow ## firebase.grow
- **diagrams.firebase.grow.ABTesting**
- **diagrams.firebase.grow.AppIndexing** <img width="30" src="/img/resources/firebase/grow/ab-testing.png" alt="ABTesting" style="float: left; padding-right: 5px;" >
- **diagrams.firebase.grow.DynamicLinks** **diagrams.firebase.grow.ABTesting**
- **diagrams.firebase.grow.InAppMessaging**
- **diagrams.firebase.grow.Invites** <img width="30" src="/img/resources/firebase/grow/app-indexing.png" alt="AppIndexing" style="float: left; padding-right: 5px;" >
- **diagrams.firebase.grow.Messaging**, **FCM** (alias) **diagrams.firebase.grow.AppIndexing**
- **diagrams.firebase.grow.Predictions**
- **diagrams.firebase.grow.RemoteConfig** <img width="30" src="/img/resources/firebase/grow/dynamic-links.png" alt="DynamicLinks" style="float: left; padding-right: 5px;" >
**diagrams.firebase.grow.DynamicLinks**
<img width="30" src="/img/resources/firebase/grow/in-app-messaging.png" alt="InAppMessaging" style="float: left; padding-right: 5px;" >
**diagrams.firebase.grow.InAppMessaging**
<img width="30" src="/img/resources/firebase/grow/invites.png" alt="Invites" style="float: left; padding-right: 5px;" >
**diagrams.firebase.grow.Invites**
<img width="30" src="/img/resources/firebase/grow/messaging.png" alt="Messaging" style="float: left; padding-right: 5px;" >
**diagrams.firebase.grow.Messaging**, **FCM** (alias)
<img width="30" src="/img/resources/firebase/grow/predictions.png" alt="Predictions" style="float: left; padding-right: 5px;" >
**diagrams.firebase.grow.Predictions**
<img width="30" src="/img/resources/firebase/grow/remote-config.png" alt="RemoteConfig" style="float: left; padding-right: 5px;" >
**diagrams.firebase.grow.RemoteConfig**
## firebase.quality ## firebase.quality
- **diagrams.firebase.quality.AppDistribution**
- **diagrams.firebase.quality.CrashReporting** <img width="30" src="/img/resources/firebase/quality/app-distribution.png" alt="AppDistribution" style="float: left; padding-right: 5px;" >
- **diagrams.firebase.quality.Crashlytics** **diagrams.firebase.quality.AppDistribution**
- **diagrams.firebase.quality.PerformanceMonitoring**
- **diagrams.firebase.quality.TestLab** <img width="30" src="/img/resources/firebase/quality/crash-reporting.png" alt="CrashReporting" style="float: left; padding-right: 5px;" >
**diagrams.firebase.quality.CrashReporting**
<img width="30" src="/img/resources/firebase/quality/crashlytics.png" alt="Crashlytics" style="float: left; padding-right: 5px;" >
**diagrams.firebase.quality.Crashlytics**
<img width="30" src="/img/resources/firebase/quality/performance-monitoring.png" alt="PerformanceMonitoring" style="float: left; padding-right: 5px;" >
**diagrams.firebase.quality.PerformanceMonitoring**
<img width="30" src="/img/resources/firebase/quality/test-lab.png" alt="TestLab" style="float: left; padding-right: 5px;" >
**diagrams.firebase.quality.TestLab**

@ -7,126 +7,306 @@ Node classes list of gcp provider.
## gcp.analytics ## gcp.analytics
- **diagrams.gcp.analytics.Bigquery**, **BigQuery** (alias)
- **diagrams.gcp.analytics.Composer** <img width="30" src="/img/resources/gcp/analytics/bigquery.png" alt="Bigquery" style="float: left; padding-right: 5px;" >
- **diagrams.gcp.analytics.DataCatalog** **diagrams.gcp.analytics.Bigquery**, **BigQuery** (alias)
- **diagrams.gcp.analytics.DataFusion**
- **diagrams.gcp.analytics.Dataflow** <img width="30" src="/img/resources/gcp/analytics/composer.png" alt="Composer" style="float: left; padding-right: 5px;" >
- **diagrams.gcp.analytics.Datalab** **diagrams.gcp.analytics.Composer**
- **diagrams.gcp.analytics.Dataprep**
- **diagrams.gcp.analytics.Dataproc** <img width="30" src="/img/resources/gcp/analytics/data-catalog.png" alt="DataCatalog" style="float: left; padding-right: 5px;" >
- **diagrams.gcp.analytics.Genomics** **diagrams.gcp.analytics.DataCatalog**
- **diagrams.gcp.analytics.Pubsub**, **PubSub** (alias)
<img width="30" src="/img/resources/gcp/analytics/data-fusion.png" alt="DataFusion" style="float: left; padding-right: 5px;" >
**diagrams.gcp.analytics.DataFusion**
<img width="30" src="/img/resources/gcp/analytics/dataflow.png" alt="Dataflow" style="float: left; padding-right: 5px;" >
**diagrams.gcp.analytics.Dataflow**
<img width="30" src="/img/resources/gcp/analytics/datalab.png" alt="Datalab" style="float: left; padding-right: 5px;" >
**diagrams.gcp.analytics.Datalab**
<img width="30" src="/img/resources/gcp/analytics/dataprep.png" alt="Dataprep" style="float: left; padding-right: 5px;" >
**diagrams.gcp.analytics.Dataprep**
<img width="30" src="/img/resources/gcp/analytics/dataproc.png" alt="Dataproc" style="float: left; padding-right: 5px;" >
**diagrams.gcp.analytics.Dataproc**
<img width="30" src="/img/resources/gcp/analytics/genomics.png" alt="Genomics" style="float: left; padding-right: 5px;" >
**diagrams.gcp.analytics.Genomics**
<img width="30" src="/img/resources/gcp/analytics/pubsub.png" alt="Pubsub" style="float: left; padding-right: 5px;" >
**diagrams.gcp.analytics.Pubsub**, **PubSub** (alias)
## gcp.api ## gcp.api
- **diagrams.gcp.api.Endpoints**
<img width="30" src="/img/resources/gcp/api/endpoints.png" alt="Endpoints" style="float: left; padding-right: 5px;" >
**diagrams.gcp.api.Endpoints**
## gcp.compute ## gcp.compute
- **diagrams.gcp.compute.AppEngine**, **GAE** (alias)
- **diagrams.gcp.compute.ComputeEngine**, **GCE** (alias) <img width="30" src="/img/resources/gcp/compute/app-engine.png" alt="AppEngine" style="float: left; padding-right: 5px;" >
- **diagrams.gcp.compute.ContainerOptimizedOS** **diagrams.gcp.compute.AppEngine**, **GAE** (alias)
- **diagrams.gcp.compute.Functions**, **GCF** (alias)
- **diagrams.gcp.compute.GKEOnPrem** <img width="30" src="/img/resources/gcp/compute/compute-engine.png" alt="ComputeEngine" style="float: left; padding-right: 5px;" >
- **diagrams.gcp.compute.GPU** **diagrams.gcp.compute.ComputeEngine**, **GCE** (alias)
- **diagrams.gcp.compute.KubernetesEngine**, **GKE** (alias)
- **diagrams.gcp.compute.Run** <img width="30" src="/img/resources/gcp/compute/container-optimized-os.png" alt="ContainerOptimizedOS" style="float: left; padding-right: 5px;" >
**diagrams.gcp.compute.ContainerOptimizedOS**
<img width="30" src="/img/resources/gcp/compute/functions.png" alt="Functions" style="float: left; padding-right: 5px;" >
**diagrams.gcp.compute.Functions**, **GCF** (alias)
<img width="30" src="/img/resources/gcp/compute/gke-on-prem.png" alt="GKEOnPrem" style="float: left; padding-right: 5px;" >
**diagrams.gcp.compute.GKEOnPrem**
<img width="30" src="/img/resources/gcp/compute/gpu.png" alt="GPU" style="float: left; padding-right: 5px;" >
**diagrams.gcp.compute.GPU**
<img width="30" src="/img/resources/gcp/compute/kubernetes-engine.png" alt="KubernetesEngine" style="float: left; padding-right: 5px;" >
**diagrams.gcp.compute.KubernetesEngine**, **GKE** (alias)
<img width="30" src="/img/resources/gcp/compute/run.png" alt="Run" style="float: left; padding-right: 5px;" >
**diagrams.gcp.compute.Run**
## gcp.database ## gcp.database
- **diagrams.gcp.database.Bigtable**, **BigTable** (alias)
- **diagrams.gcp.database.Datastore** <img width="30" src="/img/resources/gcp/database/bigtable.png" alt="Bigtable" style="float: left; padding-right: 5px;" >
- **diagrams.gcp.database.Firestore** **diagrams.gcp.database.Bigtable**, **BigTable** (alias)
- **diagrams.gcp.database.Memorystore**
- **diagrams.gcp.database.Spanner** <img width="30" src="/img/resources/gcp/database/datastore.png" alt="Datastore" style="float: left; padding-right: 5px;" >
- **diagrams.gcp.database.SQL** **diagrams.gcp.database.Datastore**
<img width="30" src="/img/resources/gcp/database/firestore.png" alt="Firestore" style="float: left; padding-right: 5px;" >
**diagrams.gcp.database.Firestore**
<img width="30" src="/img/resources/gcp/database/memorystore.png" alt="Memorystore" style="float: left; padding-right: 5px;" >
**diagrams.gcp.database.Memorystore**
<img width="30" src="/img/resources/gcp/database/spanner.png" alt="Spanner" style="float: left; padding-right: 5px;" >
**diagrams.gcp.database.Spanner**
<img width="30" src="/img/resources/gcp/database/sql.png" alt="SQL" style="float: left; padding-right: 5px;" >
**diagrams.gcp.database.SQL**
## gcp.devtools ## gcp.devtools
- **diagrams.gcp.devtools.Build**
- **diagrams.gcp.devtools.CodeForIntellij** <img width="30" src="/img/resources/gcp/devtools/build.png" alt="Build" style="float: left; padding-right: 5px;" >
- **diagrams.gcp.devtools.Code** **diagrams.gcp.devtools.Build**
- **diagrams.gcp.devtools.ContainerRegistry**, **GCR** (alias)
- **diagrams.gcp.devtools.GradleAppEnginePlugin** <img width="30" src="/img/resources/gcp/devtools/code-for-intellij.png" alt="CodeForIntellij" style="float: left; padding-right: 5px;" >
- **diagrams.gcp.devtools.IdePlugins** **diagrams.gcp.devtools.CodeForIntellij**
- **diagrams.gcp.devtools.MavenAppEnginePlugin**
- **diagrams.gcp.devtools.Scheduler** <img width="30" src="/img/resources/gcp/devtools/code.png" alt="Code" style="float: left; padding-right: 5px;" >
- **diagrams.gcp.devtools.SDK** **diagrams.gcp.devtools.Code**
- **diagrams.gcp.devtools.SourceRepositories**
- **diagrams.gcp.devtools.Tasks** <img width="30" src="/img/resources/gcp/devtools/container-registry.png" alt="ContainerRegistry" style="float: left; padding-right: 5px;" >
- **diagrams.gcp.devtools.TestLab** **diagrams.gcp.devtools.ContainerRegistry**, **GCR** (alias)
- **diagrams.gcp.devtools.ToolsForEclipse**
- **diagrams.gcp.devtools.ToolsForPowershell** <img width="30" src="/img/resources/gcp/devtools/gradle-app-engine-plugin.png" alt="GradleAppEnginePlugin" style="float: left; padding-right: 5px;" >
- **diagrams.gcp.devtools.ToolsForVisualStudio** **diagrams.gcp.devtools.GradleAppEnginePlugin**
<img width="30" src="/img/resources/gcp/devtools/ide-plugins.png" alt="IdePlugins" style="float: left; padding-right: 5px;" >
**diagrams.gcp.devtools.IdePlugins**
<img width="30" src="/img/resources/gcp/devtools/maven-app-engine-plugin.png" alt="MavenAppEnginePlugin" style="float: left; padding-right: 5px;" >
**diagrams.gcp.devtools.MavenAppEnginePlugin**
<img width="30" src="/img/resources/gcp/devtools/scheduler.png" alt="Scheduler" style="float: left; padding-right: 5px;" >
**diagrams.gcp.devtools.Scheduler**
<img width="30" src="/img/resources/gcp/devtools/sdk.png" alt="SDK" style="float: left; padding-right: 5px;" >
**diagrams.gcp.devtools.SDK**
<img width="30" src="/img/resources/gcp/devtools/source-repositories.png" alt="SourceRepositories" style="float: left; padding-right: 5px;" >
**diagrams.gcp.devtools.SourceRepositories**
<img width="30" src="/img/resources/gcp/devtools/tasks.png" alt="Tasks" style="float: left; padding-right: 5px;" >
**diagrams.gcp.devtools.Tasks**
<img width="30" src="/img/resources/gcp/devtools/test-lab.png" alt="TestLab" style="float: left; padding-right: 5px;" >
**diagrams.gcp.devtools.TestLab**
<img width="30" src="/img/resources/gcp/devtools/tools-for-eclipse.png" alt="ToolsForEclipse" style="float: left; padding-right: 5px;" >
**diagrams.gcp.devtools.ToolsForEclipse**
<img width="30" src="/img/resources/gcp/devtools/tools-for-powershell.png" alt="ToolsForPowershell" style="float: left; padding-right: 5px;" >
**diagrams.gcp.devtools.ToolsForPowershell**
<img width="30" src="/img/resources/gcp/devtools/tools-for-visual-studio.png" alt="ToolsForVisualStudio" style="float: left; padding-right: 5px;" >
**diagrams.gcp.devtools.ToolsForVisualStudio**
## gcp.iot ## gcp.iot
- **diagrams.gcp.iot.IotCore**
<img width="30" src="/img/resources/gcp/iot/iot-core.png" alt="IotCore" style="float: left; padding-right: 5px;" >
**diagrams.gcp.iot.IotCore**
## gcp.migration ## gcp.migration
- **diagrams.gcp.migration.TransferAppliance**
<img width="30" src="/img/resources/gcp/migration/transfer-appliance.png" alt="TransferAppliance" style="float: left; padding-right: 5px;" >
**diagrams.gcp.migration.TransferAppliance**
## gcp.ml ## gcp.ml
- **diagrams.gcp.ml.AdvancedSolutionsLab**
- **diagrams.gcp.ml.AIHub** <img width="30" src="/img/resources/gcp/ml/advanced-solutions-lab.png" alt="AdvancedSolutionsLab" style="float: left; padding-right: 5px;" >
- **diagrams.gcp.ml.AIPlatformDataLabelingService** **diagrams.gcp.ml.AdvancedSolutionsLab**
- **diagrams.gcp.ml.AIPlatform**
- **diagrams.gcp.ml.AutomlNaturalLanguage** <img width="30" src="/img/resources/gcp/ml/ai-hub.png" alt="AIHub" style="float: left; padding-right: 5px;" >
- **diagrams.gcp.ml.AutomlTables** **diagrams.gcp.ml.AIHub**
- **diagrams.gcp.ml.AutomlTranslation**
- **diagrams.gcp.ml.AutomlVideoIntelligence** <img width="30" src="/img/resources/gcp/ml/ai-platform-data-labeling-service.png" alt="AIPlatformDataLabelingService" style="float: left; padding-right: 5px;" >
- **diagrams.gcp.ml.AutomlVision** **diagrams.gcp.ml.AIPlatformDataLabelingService**
- **diagrams.gcp.ml.Automl**, **AutoML** (alias)
- **diagrams.gcp.ml.DialogFlowEnterpriseEdition** <img width="30" src="/img/resources/gcp/ml/ai-platform.png" alt="AIPlatform" style="float: left; padding-right: 5px;" >
- **diagrams.gcp.ml.InferenceAPI** **diagrams.gcp.ml.AIPlatform**
- **diagrams.gcp.ml.JobsAPI**
- **diagrams.gcp.ml.NaturalLanguageAPI**, **NLAPI** (alias) <img width="30" src="/img/resources/gcp/ml/automl-natural-language.png" alt="AutomlNaturalLanguage" style="float: left; padding-right: 5px;" >
- **diagrams.gcp.ml.RecommendationsAI** **diagrams.gcp.ml.AutomlNaturalLanguage**
- **diagrams.gcp.ml.SpeechToText**, **STT** (alias)
- **diagrams.gcp.ml.TextToSpeech**, **TTS** (alias) <img width="30" src="/img/resources/gcp/ml/automl-tables.png" alt="AutomlTables" style="float: left; padding-right: 5px;" >
- **diagrams.gcp.ml.TPU** **diagrams.gcp.ml.AutomlTables**
- **diagrams.gcp.ml.TranslationAPI**
- **diagrams.gcp.ml.VideoIntelligenceAPI** <img width="30" src="/img/resources/gcp/ml/automl-translation.png" alt="AutomlTranslation" style="float: left; padding-right: 5px;" >
- **diagrams.gcp.ml.VisionAPI** **diagrams.gcp.ml.AutomlTranslation**
<img width="30" src="/img/resources/gcp/ml/automl-video-intelligence.png" alt="AutomlVideoIntelligence" style="float: left; padding-right: 5px;" >
**diagrams.gcp.ml.AutomlVideoIntelligence**
<img width="30" src="/img/resources/gcp/ml/automl-vision.png" alt="AutomlVision" style="float: left; padding-right: 5px;" >
**diagrams.gcp.ml.AutomlVision**
<img width="30" src="/img/resources/gcp/ml/automl.png" alt="Automl" style="float: left; padding-right: 5px;" >
**diagrams.gcp.ml.Automl**, **AutoML** (alias)
<img width="30" src="/img/resources/gcp/ml/dialog-flow-enterprise-edition.png" alt="DialogFlowEnterpriseEdition" style="float: left; padding-right: 5px;" >
**diagrams.gcp.ml.DialogFlowEnterpriseEdition**
<img width="30" src="/img/resources/gcp/ml/inference-api.png" alt="InferenceAPI" style="float: left; padding-right: 5px;" >
**diagrams.gcp.ml.InferenceAPI**
<img width="30" src="/img/resources/gcp/ml/jobs-api.png" alt="JobsAPI" style="float: left; padding-right: 5px;" >
**diagrams.gcp.ml.JobsAPI**
<img width="30" src="/img/resources/gcp/ml/natural-language-api.png" alt="NaturalLanguageAPI" style="float: left; padding-right: 5px;" >
**diagrams.gcp.ml.NaturalLanguageAPI**, **NLAPI** (alias)
<img width="30" src="/img/resources/gcp/ml/recommendations-ai.png" alt="RecommendationsAI" style="float: left; padding-right: 5px;" >
**diagrams.gcp.ml.RecommendationsAI**
<img width="30" src="/img/resources/gcp/ml/speech-to-text.png" alt="SpeechToText" style="float: left; padding-right: 5px;" >
**diagrams.gcp.ml.SpeechToText**, **STT** (alias)
<img width="30" src="/img/resources/gcp/ml/text-to-speech.png" alt="TextToSpeech" style="float: left; padding-right: 5px;" >
**diagrams.gcp.ml.TextToSpeech**, **TTS** (alias)
<img width="30" src="/img/resources/gcp/ml/tpu.png" alt="TPU" style="float: left; padding-right: 5px;" >
**diagrams.gcp.ml.TPU**
<img width="30" src="/img/resources/gcp/ml/translation-api.png" alt="TranslationAPI" style="float: left; padding-right: 5px;" >
**diagrams.gcp.ml.TranslationAPI**
<img width="30" src="/img/resources/gcp/ml/video-intelligence-api.png" alt="VideoIntelligenceAPI" style="float: left; padding-right: 5px;" >
**diagrams.gcp.ml.VideoIntelligenceAPI**
<img width="30" src="/img/resources/gcp/ml/vision-api.png" alt="VisionAPI" style="float: left; padding-right: 5px;" >
**diagrams.gcp.ml.VisionAPI**
## gcp.network ## gcp.network
- **diagrams.gcp.network.Armor**
- **diagrams.gcp.network.CDN** <img width="30" src="/img/resources/gcp/network/armor.png" alt="Armor" style="float: left; padding-right: 5px;" >
- **diagrams.gcp.network.DedicatedInterconnect** **diagrams.gcp.network.Armor**
- **diagrams.gcp.network.DNS**
- **diagrams.gcp.network.ExternalIpAddresses** <img width="30" src="/img/resources/gcp/network/cdn.png" alt="CDN" style="float: left; padding-right: 5px;" >
- **diagrams.gcp.network.FirewallRules** **diagrams.gcp.network.CDN**
- **diagrams.gcp.network.LoadBalancing**
- **diagrams.gcp.network.NAT** <img width="30" src="/img/resources/gcp/network/dedicated-interconnect.png" alt="DedicatedInterconnect" style="float: left; padding-right: 5px;" >
- **diagrams.gcp.network.Network** **diagrams.gcp.network.DedicatedInterconnect**
- **diagrams.gcp.network.PartnerInterconnect**
- **diagrams.gcp.network.PremiumNetworkTier** <img width="30" src="/img/resources/gcp/network/dns.png" alt="DNS" style="float: left; padding-right: 5px;" >
- **diagrams.gcp.network.Router** **diagrams.gcp.network.DNS**
- **diagrams.gcp.network.Routes**
- **diagrams.gcp.network.StandardNetworkTier** <img width="30" src="/img/resources/gcp/network/external-ip-addresses.png" alt="ExternalIpAddresses" style="float: left; padding-right: 5px;" >
- **diagrams.gcp.network.TrafficDirector** **diagrams.gcp.network.ExternalIpAddresses**
- **diagrams.gcp.network.VirtualPrivateCloud**, **VPC** (alias)
- **diagrams.gcp.network.VPN** <img width="30" src="/img/resources/gcp/network/firewall-rules.png" alt="FirewallRules" style="float: left; padding-right: 5px;" >
**diagrams.gcp.network.FirewallRules**
<img width="30" src="/img/resources/gcp/network/load-balancing.png" alt="LoadBalancing" style="float: left; padding-right: 5px;" >
**diagrams.gcp.network.LoadBalancing**
<img width="30" src="/img/resources/gcp/network/nat.png" alt="NAT" style="float: left; padding-right: 5px;" >
**diagrams.gcp.network.NAT**
<img width="30" src="/img/resources/gcp/network/network.png" alt="Network" style="float: left; padding-right: 5px;" >
**diagrams.gcp.network.Network**
<img width="30" src="/img/resources/gcp/network/partner-interconnect.png" alt="PartnerInterconnect" style="float: left; padding-right: 5px;" >
**diagrams.gcp.network.PartnerInterconnect**
<img width="30" src="/img/resources/gcp/network/premium-network-tier.png" alt="PremiumNetworkTier" style="float: left; padding-right: 5px;" >
**diagrams.gcp.network.PremiumNetworkTier**
<img width="30" src="/img/resources/gcp/network/router.png" alt="Router" style="float: left; padding-right: 5px;" >
**diagrams.gcp.network.Router**
<img width="30" src="/img/resources/gcp/network/routes.png" alt="Routes" style="float: left; padding-right: 5px;" >
**diagrams.gcp.network.Routes**
<img width="30" src="/img/resources/gcp/network/standard-network-tier.png" alt="StandardNetworkTier" style="float: left; padding-right: 5px;" >
**diagrams.gcp.network.StandardNetworkTier**
<img width="30" src="/img/resources/gcp/network/traffic-director.png" alt="TrafficDirector" style="float: left; padding-right: 5px;" >
**diagrams.gcp.network.TrafficDirector**
<img width="30" src="/img/resources/gcp/network/virtual-private-cloud.png" alt="VirtualPrivateCloud" style="float: left; padding-right: 5px;" >
**diagrams.gcp.network.VirtualPrivateCloud**, **VPC** (alias)
<img width="30" src="/img/resources/gcp/network/vpn.png" alt="VPN" style="float: left; padding-right: 5px;" >
**diagrams.gcp.network.VPN**
## gcp.operations ## gcp.operations
- **diagrams.gcp.operations.Monitoring**
<img width="30" src="/img/resources/gcp/operations/monitoring.png" alt="Monitoring" style="float: left; padding-right: 5px;" >
**diagrams.gcp.operations.Monitoring**
## gcp.security ## gcp.security
- **diagrams.gcp.security.Iam**
- **diagrams.gcp.security.IAP** <img width="30" src="/img/resources/gcp/security/iam.png" alt="Iam" style="float: left; padding-right: 5px;" >
- **diagrams.gcp.security.KeyManagementService**, **KMS** (alias) **diagrams.gcp.security.Iam**
- **diagrams.gcp.security.ResourceManager**
- **diagrams.gcp.security.SecurityCommandCenter**, **SCC** (alias) <img width="30" src="/img/resources/gcp/security/iap.png" alt="IAP" style="float: left; padding-right: 5px;" >
- **diagrams.gcp.security.SecurityScanner** **diagrams.gcp.security.IAP**
<img width="30" src="/img/resources/gcp/security/key-management-service.png" alt="KeyManagementService" style="float: left; padding-right: 5px;" >
**diagrams.gcp.security.KeyManagementService**, **KMS** (alias)
<img width="30" src="/img/resources/gcp/security/resource-manager.png" alt="ResourceManager" style="float: left; padding-right: 5px;" >
**diagrams.gcp.security.ResourceManager**
<img width="30" src="/img/resources/gcp/security/security-command-center.png" alt="SecurityCommandCenter" style="float: left; padding-right: 5px;" >
**diagrams.gcp.security.SecurityCommandCenter**, **SCC** (alias)
<img width="30" src="/img/resources/gcp/security/security-scanner.png" alt="SecurityScanner" style="float: left; padding-right: 5px;" >
**diagrams.gcp.security.SecurityScanner**
## gcp.storage ## gcp.storage
- **diagrams.gcp.storage.Filestore**
- **diagrams.gcp.storage.PersistentDisk** <img width="30" src="/img/resources/gcp/storage/filestore.png" alt="Filestore" style="float: left; padding-right: 5px;" >
- **diagrams.gcp.storage.Storage**, **GCS** (alias) **diagrams.gcp.storage.Filestore**
<img width="30" src="/img/resources/gcp/storage/persistent-disk.png" alt="PersistentDisk" style="float: left; padding-right: 5px;" >
**diagrams.gcp.storage.PersistentDisk**
<img width="30" src="/img/resources/gcp/storage/storage.png" alt="Storage" style="float: left; padding-right: 5px;" >
**diagrams.gcp.storage.Storage**, **GCS** (alias)

@ -7,49 +7,93 @@ Node classes list of generic provider.
## generic.blank ## generic.blank
- **diagrams.generic.blank.Blank**
<img width="30" src="/img/resources/generic/blank/blank.png" alt="Blank" style="float: left; padding-right: 5px;" >
**diagrams.generic.blank.Blank**
## generic.compute ## generic.compute
- **diagrams.generic.compute.Rack**
<img width="30" src="/img/resources/generic/compute/rack.png" alt="Rack" style="float: left; padding-right: 5px;" >
**diagrams.generic.compute.Rack**
## generic.database ## generic.database
- **diagrams.generic.database.SQL**
<img width="30" src="/img/resources/generic/database/sql.png" alt="SQL" style="float: left; padding-right: 5px;" >
**diagrams.generic.database.SQL**
## generic.device ## generic.device
- **diagrams.generic.device.Mobile**
- **diagrams.generic.device.Tablet** <img width="30" src="/img/resources/generic/device/mobile.png" alt="Mobile" style="float: left; padding-right: 5px;" >
**diagrams.generic.device.Mobile**
<img width="30" src="/img/resources/generic/device/tablet.png" alt="Tablet" style="float: left; padding-right: 5px;" >
**diagrams.generic.device.Tablet**
## generic.network ## generic.network
- **diagrams.generic.network.Firewall**
- **diagrams.generic.network.Router** <img width="30" src="/img/resources/generic/network/firewall.png" alt="Firewall" style="float: left; padding-right: 5px;" >
- **diagrams.generic.network.Subnet** **diagrams.generic.network.Firewall**
- **diagrams.generic.network.Switch**
- **diagrams.generic.network.VPN** <img width="30" src="/img/resources/generic/network/router.png" alt="Router" style="float: left; padding-right: 5px;" >
**diagrams.generic.network.Router**
<img width="30" src="/img/resources/generic/network/subnet.png" alt="Subnet" style="float: left; padding-right: 5px;" >
**diagrams.generic.network.Subnet**
<img width="30" src="/img/resources/generic/network/switch.png" alt="Switch" style="float: left; padding-right: 5px;" >
**diagrams.generic.network.Switch**
<img width="30" src="/img/resources/generic/network/vpn.png" alt="VPN" style="float: left; padding-right: 5px;" >
**diagrams.generic.network.VPN**
## generic.os ## generic.os
- **diagrams.generic.os.Android**
- **diagrams.generic.os.Centos** <img width="30" src="/img/resources/generic/os/android.png" alt="Android" style="float: left; padding-right: 5px;" >
- **diagrams.generic.os.IOS** **diagrams.generic.os.Android**
- **diagrams.generic.os.LinuxGeneral**
- **diagrams.generic.os.Suse** <img width="30" src="/img/resources/generic/os/centos.png" alt="Centos" style="float: left; padding-right: 5px;" >
- **diagrams.generic.os.Ubuntu** **diagrams.generic.os.Centos**
- **diagrams.generic.os.Windows**
<img width="30" src="/img/resources/generic/os/ios.png" alt="IOS" style="float: left; padding-right: 5px;" >
**diagrams.generic.os.IOS**
<img width="30" src="/img/resources/generic/os/linux-general.png" alt="LinuxGeneral" style="float: left; padding-right: 5px;" >
**diagrams.generic.os.LinuxGeneral**
<img width="30" src="/img/resources/generic/os/suse.png" alt="Suse" style="float: left; padding-right: 5px;" >
**diagrams.generic.os.Suse**
<img width="30" src="/img/resources/generic/os/ubuntu.png" alt="Ubuntu" style="float: left; padding-right: 5px;" >
**diagrams.generic.os.Ubuntu**
<img width="30" src="/img/resources/generic/os/windows.png" alt="Windows" style="float: left; padding-right: 5px;" >
**diagrams.generic.os.Windows**
## generic.place ## generic.place
- **diagrams.generic.place.Datacenter**
<img width="30" src="/img/resources/generic/place/datacenter.png" alt="Datacenter" style="float: left; padding-right: 5px;" >
**diagrams.generic.place.Datacenter**
## generic.storage ## generic.storage
- **diagrams.generic.storage.Storage**
<img width="30" src="/img/resources/generic/storage/storage.png" alt="Storage" style="float: left; padding-right: 5px;" >
**diagrams.generic.storage.Storage**
## generic.virtualization ## generic.virtualization
- **diagrams.generic.virtualization.Virtualbox**
- **diagrams.generic.virtualization.Vmware** <img width="30" src="/img/resources/generic/virtualization/virtualbox.png" alt="Virtualbox" style="float: left; padding-right: 5px;" >
- **diagrams.generic.virtualization.XEN** **diagrams.generic.virtualization.Virtualbox**
<img width="30" src="/img/resources/generic/virtualization/vmware.png" alt="Vmware" style="float: left; padding-right: 5px;" >
**diagrams.generic.virtualization.Vmware**
<img width="30" src="/img/resources/generic/virtualization/xen.png" alt="XEN" style="float: left; padding-right: 5px;" >
**diagrams.generic.virtualization.XEN**

@ -7,81 +7,171 @@ Node classes list of k8s provider.
## k8s.chaos ## k8s.chaos
- **diagrams.k8s.chaos.ChaosMesh**
- **diagrams.k8s.chaos.LitmusChaos** <img width="30" src="/img/resources/k8s/chaos/chaos-mesh.png" alt="ChaosMesh" style="float: left; padding-right: 5px;" >
**diagrams.k8s.chaos.ChaosMesh**
<img width="30" src="/img/resources/k8s/chaos/litmus-chaos.png" alt="LitmusChaos" style="float: left; padding-right: 5px;" >
**diagrams.k8s.chaos.LitmusChaos**
## k8s.clusterconfig ## k8s.clusterconfig
- **diagrams.k8s.clusterconfig.HPA**, **HorizontalPodAutoscaler** (alias)
- **diagrams.k8s.clusterconfig.Limits**, **LimitRange** (alias) <img width="30" src="/img/resources/k8s/clusterconfig/hpa.png" alt="HPA" style="float: left; padding-right: 5px;" >
- **diagrams.k8s.clusterconfig.Quota** **diagrams.k8s.clusterconfig.HPA**, **HorizontalPodAutoscaler** (alias)
<img width="30" src="/img/resources/k8s/clusterconfig/limits.png" alt="Limits" style="float: left; padding-right: 5px;" >
**diagrams.k8s.clusterconfig.Limits**, **LimitRange** (alias)
<img width="30" src="/img/resources/k8s/clusterconfig/quota.png" alt="Quota" style="float: left; padding-right: 5px;" >
**diagrams.k8s.clusterconfig.Quota**
## k8s.compute ## k8s.compute
- **diagrams.k8s.compute.Cronjob**
- **diagrams.k8s.compute.Deploy**, **Deployment** (alias) <img width="30" src="/img/resources/k8s/compute/cronjob.png" alt="Cronjob" style="float: left; padding-right: 5px;" >
- **diagrams.k8s.compute.DS**, **DaemonSet** (alias) **diagrams.k8s.compute.Cronjob**
- **diagrams.k8s.compute.Job**
- **diagrams.k8s.compute.Pod** <img width="30" src="/img/resources/k8s/compute/deploy.png" alt="Deploy" style="float: left; padding-right: 5px;" >
- **diagrams.k8s.compute.RS**, **ReplicaSet** (alias) **diagrams.k8s.compute.Deploy**, **Deployment** (alias)
- **diagrams.k8s.compute.STS**, **StatefulSet** (alias)
<img width="30" src="/img/resources/k8s/compute/ds.png" alt="DS" style="float: left; padding-right: 5px;" >
**diagrams.k8s.compute.DS**, **DaemonSet** (alias)
<img width="30" src="/img/resources/k8s/compute/job.png" alt="Job" style="float: left; padding-right: 5px;" >
**diagrams.k8s.compute.Job**
<img width="30" src="/img/resources/k8s/compute/pod.png" alt="Pod" style="float: left; padding-right: 5px;" >
**diagrams.k8s.compute.Pod**
<img width="30" src="/img/resources/k8s/compute/rs.png" alt="RS" style="float: left; padding-right: 5px;" >
**diagrams.k8s.compute.RS**, **ReplicaSet** (alias)
<img width="30" src="/img/resources/k8s/compute/sts.png" alt="STS" style="float: left; padding-right: 5px;" >
**diagrams.k8s.compute.STS**, **StatefulSet** (alias)
## k8s.controlplane ## k8s.controlplane
- **diagrams.k8s.controlplane.API**, **APIServer** (alias)
- **diagrams.k8s.controlplane.CCM** <img width="30" src="/img/resources/k8s/controlplane/api.png" alt="API" style="float: left; padding-right: 5px;" >
- **diagrams.k8s.controlplane.CM**, **ControllerManager** (alias) **diagrams.k8s.controlplane.API**, **APIServer** (alias)
- **diagrams.k8s.controlplane.KProxy**, **KubeProxy** (alias)
- **diagrams.k8s.controlplane.Kubelet** <img width="30" src="/img/resources/k8s/controlplane/c-c-m.png" alt="CCM" style="float: left; padding-right: 5px;" >
- **diagrams.k8s.controlplane.Sched**, **Scheduler** (alias) **diagrams.k8s.controlplane.CCM**
<img width="30" src="/img/resources/k8s/controlplane/c-m.png" alt="CM" style="float: left; padding-right: 5px;" >
**diagrams.k8s.controlplane.CM**, **ControllerManager** (alias)
<img width="30" src="/img/resources/k8s/controlplane/k-proxy.png" alt="KProxy" style="float: left; padding-right: 5px;" >
**diagrams.k8s.controlplane.KProxy**, **KubeProxy** (alias)
<img width="30" src="/img/resources/k8s/controlplane/kubelet.png" alt="Kubelet" style="float: left; padding-right: 5px;" >
**diagrams.k8s.controlplane.Kubelet**
<img width="30" src="/img/resources/k8s/controlplane/sched.png" alt="Sched" style="float: left; padding-right: 5px;" >
**diagrams.k8s.controlplane.Sched**, **Scheduler** (alias)
## k8s.ecosystem ## k8s.ecosystem
- **diagrams.k8s.ecosystem.ExternalDns**
- **diagrams.k8s.ecosystem.Helm** <img width="30" src="/img/resources/k8s/ecosystem/external-dns.png" alt="ExternalDns" style="float: left; padding-right: 5px;" >
- **diagrams.k8s.ecosystem.Krew** **diagrams.k8s.ecosystem.ExternalDns**
- **diagrams.k8s.ecosystem.Kustomize**
<img width="30" src="/img/resources/k8s/ecosystem/helm.png" alt="Helm" style="float: left; padding-right: 5px;" >
**diagrams.k8s.ecosystem.Helm**
<img width="30" src="/img/resources/k8s/ecosystem/krew.png" alt="Krew" style="float: left; padding-right: 5px;" >
**diagrams.k8s.ecosystem.Krew**
<img width="30" src="/img/resources/k8s/ecosystem/kustomize.png" alt="Kustomize" style="float: left; padding-right: 5px;" >
**diagrams.k8s.ecosystem.Kustomize**
## k8s.group ## k8s.group
- **diagrams.k8s.group.NS**, **Namespace** (alias)
<img width="30" src="/img/resources/k8s/group/ns.png" alt="NS" style="float: left; padding-right: 5px;" >
**diagrams.k8s.group.NS**, **Namespace** (alias)
## k8s.infra ## k8s.infra
- **diagrams.k8s.infra.ETCD**
- **diagrams.k8s.infra.Master** <img width="30" src="/img/resources/k8s/infra/etcd.png" alt="ETCD" style="float: left; padding-right: 5px;" >
- **diagrams.k8s.infra.Node** **diagrams.k8s.infra.ETCD**
<img width="30" src="/img/resources/k8s/infra/master.png" alt="Master" style="float: left; padding-right: 5px;" >
**diagrams.k8s.infra.Master**
<img width="30" src="/img/resources/k8s/infra/node.png" alt="Node" style="float: left; padding-right: 5px;" >
**diagrams.k8s.infra.Node**
## k8s.network ## k8s.network
- **diagrams.k8s.network.Ep**, **Endpoint** (alias)
- **diagrams.k8s.network.Ing**, **Ingress** (alias) <img width="30" src="/img/resources/k8s/network/ep.png" alt="Ep" style="float: left; padding-right: 5px;" >
- **diagrams.k8s.network.Netpol**, **NetworkPolicy** (alias) **diagrams.k8s.network.Ep**, **Endpoint** (alias)
- **diagrams.k8s.network.SVC**, **Service** (alias)
<img width="30" src="/img/resources/k8s/network/ing.png" alt="Ing" style="float: left; padding-right: 5px;" >
**diagrams.k8s.network.Ing**, **Ingress** (alias)
<img width="30" src="/img/resources/k8s/network/netpol.png" alt="Netpol" style="float: left; padding-right: 5px;" >
**diagrams.k8s.network.Netpol**, **NetworkPolicy** (alias)
<img width="30" src="/img/resources/k8s/network/svc.png" alt="SVC" style="float: left; padding-right: 5px;" >
**diagrams.k8s.network.SVC**, **Service** (alias)
## k8s.others ## k8s.others
- **diagrams.k8s.others.CRD**
- **diagrams.k8s.others.PSP** <img width="30" src="/img/resources/k8s/others/crd.png" alt="CRD" style="float: left; padding-right: 5px;" >
**diagrams.k8s.others.CRD**
<img width="30" src="/img/resources/k8s/others/psp.png" alt="PSP" style="float: left; padding-right: 5px;" >
**diagrams.k8s.others.PSP**
## k8s.podconfig ## k8s.podconfig
- **diagrams.k8s.podconfig.CM**, **ConfigMap** (alias)
- **diagrams.k8s.podconfig.Secret** <img width="30" src="/img/resources/k8s/podconfig/cm.png" alt="CM" style="float: left; padding-right: 5px;" >
**diagrams.k8s.podconfig.CM**, **ConfigMap** (alias)
<img width="30" src="/img/resources/k8s/podconfig/secret.png" alt="Secret" style="float: left; padding-right: 5px;" >
**diagrams.k8s.podconfig.Secret**
## k8s.rbac ## k8s.rbac
- **diagrams.k8s.rbac.CRole**, **ClusterRole** (alias)
- **diagrams.k8s.rbac.CRB**, **ClusterRoleBinding** (alias) <img width="30" src="/img/resources/k8s/rbac/c-role.png" alt="CRole" style="float: left; padding-right: 5px;" >
- **diagrams.k8s.rbac.Group** **diagrams.k8s.rbac.CRole**, **ClusterRole** (alias)
- **diagrams.k8s.rbac.RB**, **RoleBinding** (alias)
- **diagrams.k8s.rbac.Role** <img width="30" src="/img/resources/k8s/rbac/crb.png" alt="CRB" style="float: left; padding-right: 5px;" >
- **diagrams.k8s.rbac.SA**, **ServiceAccount** (alias) **diagrams.k8s.rbac.CRB**, **ClusterRoleBinding** (alias)
- **diagrams.k8s.rbac.User**
<img width="30" src="/img/resources/k8s/rbac/group.png" alt="Group" style="float: left; padding-right: 5px;" >
**diagrams.k8s.rbac.Group**
<img width="30" src="/img/resources/k8s/rbac/rb.png" alt="RB" style="float: left; padding-right: 5px;" >
**diagrams.k8s.rbac.RB**, **RoleBinding** (alias)
<img width="30" src="/img/resources/k8s/rbac/role.png" alt="Role" style="float: left; padding-right: 5px;" >
**diagrams.k8s.rbac.Role**
<img width="30" src="/img/resources/k8s/rbac/sa.png" alt="SA" style="float: left; padding-right: 5px;" >
**diagrams.k8s.rbac.SA**, **ServiceAccount** (alias)
<img width="30" src="/img/resources/k8s/rbac/user.png" alt="User" style="float: left; padding-right: 5px;" >
**diagrams.k8s.rbac.User**
## k8s.storage ## k8s.storage
- **diagrams.k8s.storage.PV**, **PersistentVolume** (alias)
- **diagrams.k8s.storage.PVC**, **PersistentVolumeClaim** (alias) <img width="30" src="/img/resources/k8s/storage/pv.png" alt="PV" style="float: left; padding-right: 5px;" >
- **diagrams.k8s.storage.SC**, **StorageClass** (alias) **diagrams.k8s.storage.PV**, **PersistentVolume** (alias)
- **diagrams.k8s.storage.Vol**, **Volume** (alias)
<img width="30" src="/img/resources/k8s/storage/pvc.png" alt="PVC" style="float: left; padding-right: 5px;" >
**diagrams.k8s.storage.PVC**, **PersistentVolumeClaim** (alias)
<img width="30" src="/img/resources/k8s/storage/sc.png" alt="SC" style="float: left; padding-right: 5px;" >
**diagrams.k8s.storage.SC**, **StorageClass** (alias)
<img width="30" src="/img/resources/k8s/storage/vol.png" alt="Vol" style="float: left; padding-right: 5px;" >
**diagrams.k8s.storage.Vol**, **Volume** (alias)

@ -7,167 +7,447 @@ Node classes list of oci provider.
## oci.compute ## oci.compute
- **diagrams.oci.compute.AutoscaleWhite**
- **diagrams.oci.compute.Autoscale** <img width="30" src="/img/resources/oci/compute/autoscale-white.png" alt="AutoscaleWhite" style="float: left; padding-right: 5px;" >
- **diagrams.oci.compute.BMWhite**, **BareMetalWhite** (alias) **diagrams.oci.compute.AutoscaleWhite**
- **diagrams.oci.compute.BM**, **BareMetal** (alias)
- **diagrams.oci.compute.ContainerWhite** <img width="30" src="/img/resources/oci/compute/autoscale.png" alt="Autoscale" style="float: left; padding-right: 5px;" >
- **diagrams.oci.compute.Container** **diagrams.oci.compute.Autoscale**
- **diagrams.oci.compute.FunctionsWhite**
- **diagrams.oci.compute.Functions** <img width="30" src="/img/resources/oci/compute/bm-white.png" alt="BMWhite" style="float: left; padding-right: 5px;" >
- **diagrams.oci.compute.InstancePoolsWhite** **diagrams.oci.compute.BMWhite**, **BareMetalWhite** (alias)
- **diagrams.oci.compute.InstancePools**
- **diagrams.oci.compute.OCIRWhite**, **OCIRegistryWhite** (alias) <img width="30" src="/img/resources/oci/compute/bm.png" alt="BM" style="float: left; padding-right: 5px;" >
- **diagrams.oci.compute.OCIR**, **OCIRegistry** (alias) **diagrams.oci.compute.BM**, **BareMetal** (alias)
- **diagrams.oci.compute.OKEWhite**, **ContainerEngineWhite** (alias)
- **diagrams.oci.compute.OKE**, **ContainerEngine** (alias) <img width="30" src="/img/resources/oci/compute/container-white.png" alt="ContainerWhite" style="float: left; padding-right: 5px;" >
- **diagrams.oci.compute.VMWhite**, **VirtualMachineWhite** (alias) **diagrams.oci.compute.ContainerWhite**
- **diagrams.oci.compute.VM**, **VirtualMachine** (alias)
<img width="30" src="/img/resources/oci/compute/container.png" alt="Container" style="float: left; padding-right: 5px;" >
**diagrams.oci.compute.Container**
<img width="30" src="/img/resources/oci/compute/functions-white.png" alt="FunctionsWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.compute.FunctionsWhite**
<img width="30" src="/img/resources/oci/compute/functions.png" alt="Functions" style="float: left; padding-right: 5px;" >
**diagrams.oci.compute.Functions**
<img width="30" src="/img/resources/oci/compute/instance-pools-white.png" alt="InstancePoolsWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.compute.InstancePoolsWhite**
<img width="30" src="/img/resources/oci/compute/instance-pools.png" alt="InstancePools" style="float: left; padding-right: 5px;" >
**diagrams.oci.compute.InstancePools**
<img width="30" src="/img/resources/oci/compute/ocir-white.png" alt="OCIRWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.compute.OCIRWhite**, **OCIRegistryWhite** (alias)
<img width="30" src="/img/resources/oci/compute/ocir.png" alt="OCIR" style="float: left; padding-right: 5px;" >
**diagrams.oci.compute.OCIR**, **OCIRegistry** (alias)
<img width="30" src="/img/resources/oci/compute/oke-white.png" alt="OKEWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.compute.OKEWhite**, **ContainerEngineWhite** (alias)
<img width="30" src="/img/resources/oci/compute/oke.png" alt="OKE" style="float: left; padding-right: 5px;" >
**diagrams.oci.compute.OKE**, **ContainerEngine** (alias)
<img width="30" src="/img/resources/oci/compute/vm-white.png" alt="VMWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.compute.VMWhite**, **VirtualMachineWhite** (alias)
<img width="30" src="/img/resources/oci/compute/vm.png" alt="VM" style="float: left; padding-right: 5px;" >
**diagrams.oci.compute.VM**, **VirtualMachine** (alias)
## oci.connectivity ## oci.connectivity
- **diagrams.oci.connectivity.BackboneWhite**
- **diagrams.oci.connectivity.Backbone** <img width="30" src="/img/resources/oci/connectivity/backbone-white.png" alt="BackboneWhite" style="float: left; padding-right: 5px;" >
- **diagrams.oci.connectivity.CDNWhite** **diagrams.oci.connectivity.BackboneWhite**
- **diagrams.oci.connectivity.CDN**
- **diagrams.oci.connectivity.CustomerDatacenter** <img width="30" src="/img/resources/oci/connectivity/backbone.png" alt="Backbone" style="float: left; padding-right: 5px;" >
- **diagrams.oci.connectivity.CustomerDatacntrWhite** **diagrams.oci.connectivity.Backbone**
- **diagrams.oci.connectivity.CustomerPremiseWhite**
- **diagrams.oci.connectivity.CustomerPremise** <img width="30" src="/img/resources/oci/connectivity/cdn-white.png" alt="CDNWhite" style="float: left; padding-right: 5px;" >
- **diagrams.oci.connectivity.DisconnectedRegionsWhite** **diagrams.oci.connectivity.CDNWhite**
- **diagrams.oci.connectivity.DisconnectedRegions**
- **diagrams.oci.connectivity.DNSWhite** <img width="30" src="/img/resources/oci/connectivity/cdn.png" alt="CDN" style="float: left; padding-right: 5px;" >
- **diagrams.oci.connectivity.DNS** **diagrams.oci.connectivity.CDN**
- **diagrams.oci.connectivity.FastConnectWhite**
- **diagrams.oci.connectivity.FastConnect** <img width="30" src="/img/resources/oci/connectivity/customer-datacenter.png" alt="CustomerDatacenter" style="float: left; padding-right: 5px;" >
- **diagrams.oci.connectivity.NATGatewayWhite** **diagrams.oci.connectivity.CustomerDatacenter**
- **diagrams.oci.connectivity.NATGateway**
- **diagrams.oci.connectivity.VPNWhite** <img width="30" src="/img/resources/oci/connectivity/customer-datacntr-white.png" alt="CustomerDatacntrWhite" style="float: left; padding-right: 5px;" >
- **diagrams.oci.connectivity.VPN** **diagrams.oci.connectivity.CustomerDatacntrWhite**
<img width="30" src="/img/resources/oci/connectivity/customer-premise-white.png" alt="CustomerPremiseWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.connectivity.CustomerPremiseWhite**
<img width="30" src="/img/resources/oci/connectivity/customer-premise.png" alt="CustomerPremise" style="float: left; padding-right: 5px;" >
**diagrams.oci.connectivity.CustomerPremise**
<img width="30" src="/img/resources/oci/connectivity/disconnected-regions-white.png" alt="DisconnectedRegionsWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.connectivity.DisconnectedRegionsWhite**
<img width="30" src="/img/resources/oci/connectivity/disconnected-regions.png" alt="DisconnectedRegions" style="float: left; padding-right: 5px;" >
**diagrams.oci.connectivity.DisconnectedRegions**
<img width="30" src="/img/resources/oci/connectivity/dns-white.png" alt="DNSWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.connectivity.DNSWhite**
<img width="30" src="/img/resources/oci/connectivity/dns.png" alt="DNS" style="float: left; padding-right: 5px;" >
**diagrams.oci.connectivity.DNS**
<img width="30" src="/img/resources/oci/connectivity/fast-connect-white.png" alt="FastConnectWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.connectivity.FastConnectWhite**
<img width="30" src="/img/resources/oci/connectivity/fast-connect.png" alt="FastConnect" style="float: left; padding-right: 5px;" >
**diagrams.oci.connectivity.FastConnect**
<img width="30" src="/img/resources/oci/connectivity/nat-gateway-white.png" alt="NATGatewayWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.connectivity.NATGatewayWhite**
<img width="30" src="/img/resources/oci/connectivity/nat-gateway.png" alt="NATGateway" style="float: left; padding-right: 5px;" >
**diagrams.oci.connectivity.NATGateway**
<img width="30" src="/img/resources/oci/connectivity/vpn-white.png" alt="VPNWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.connectivity.VPNWhite**
<img width="30" src="/img/resources/oci/connectivity/vpn.png" alt="VPN" style="float: left; padding-right: 5px;" >
**diagrams.oci.connectivity.VPN**
## oci.database ## oci.database
- **diagrams.oci.database.AutonomousWhite**, **ADBWhite** (alias)
- **diagrams.oci.database.Autonomous**, **ADB** (alias) <img width="30" src="/img/resources/oci/database/autonomous-white.png" alt="AutonomousWhite" style="float: left; padding-right: 5px;" >
- **diagrams.oci.database.BigdataServiceWhite** **diagrams.oci.database.AutonomousWhite**, **ADBWhite** (alias)
- **diagrams.oci.database.BigdataService**
- **diagrams.oci.database.DatabaseServiceWhite**, **DBServiceWhite** (alias) <img width="30" src="/img/resources/oci/database/autonomous.png" alt="Autonomous" style="float: left; padding-right: 5px;" >
- **diagrams.oci.database.DatabaseService**, **DBService** (alias) **diagrams.oci.database.Autonomous**, **ADB** (alias)
- **diagrams.oci.database.DataflowApacheWhite**
- **diagrams.oci.database.DataflowApache** <img width="30" src="/img/resources/oci/database/bigdata-service-white.png" alt="BigdataServiceWhite" style="float: left; padding-right: 5px;" >
- **diagrams.oci.database.DcatWhite** **diagrams.oci.database.BigdataServiceWhite**
- **diagrams.oci.database.Dcat**
- **diagrams.oci.database.DisWhite** <img width="30" src="/img/resources/oci/database/bigdata-service.png" alt="BigdataService" style="float: left; padding-right: 5px;" >
- **diagrams.oci.database.Dis** **diagrams.oci.database.BigdataService**
- **diagrams.oci.database.DMSWhite**
- **diagrams.oci.database.DMS** <img width="30" src="/img/resources/oci/database/database-service-white.png" alt="DatabaseServiceWhite" style="float: left; padding-right: 5px;" >
- **diagrams.oci.database.ScienceWhite** **diagrams.oci.database.DatabaseServiceWhite**, **DBServiceWhite** (alias)
- **diagrams.oci.database.Science**
- **diagrams.oci.database.StreamWhite** <img width="30" src="/img/resources/oci/database/database-service.png" alt="DatabaseService" style="float: left; padding-right: 5px;" >
- **diagrams.oci.database.Stream** **diagrams.oci.database.DatabaseService**, **DBService** (alias)
<img width="30" src="/img/resources/oci/database/dataflow-apache-white.png" alt="DataflowApacheWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.database.DataflowApacheWhite**
<img width="30" src="/img/resources/oci/database/dataflow-apache.png" alt="DataflowApache" style="float: left; padding-right: 5px;" >
**diagrams.oci.database.DataflowApache**
<img width="30" src="/img/resources/oci/database/dcat-white.png" alt="DcatWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.database.DcatWhite**
<img width="30" src="/img/resources/oci/database/dcat.png" alt="Dcat" style="float: left; padding-right: 5px;" >
**diagrams.oci.database.Dcat**
<img width="30" src="/img/resources/oci/database/dis-white.png" alt="DisWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.database.DisWhite**
<img width="30" src="/img/resources/oci/database/dis.png" alt="Dis" style="float: left; padding-right: 5px;" >
**diagrams.oci.database.Dis**
<img width="30" src="/img/resources/oci/database/dms-white.png" alt="DMSWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.database.DMSWhite**
<img width="30" src="/img/resources/oci/database/dms.png" alt="DMS" style="float: left; padding-right: 5px;" >
**diagrams.oci.database.DMS**
<img width="30" src="/img/resources/oci/database/science-white.png" alt="ScienceWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.database.ScienceWhite**
<img width="30" src="/img/resources/oci/database/science.png" alt="Science" style="float: left; padding-right: 5px;" >
**diagrams.oci.database.Science**
<img width="30" src="/img/resources/oci/database/stream-white.png" alt="StreamWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.database.StreamWhite**
<img width="30" src="/img/resources/oci/database/stream.png" alt="Stream" style="float: left; padding-right: 5px;" >
**diagrams.oci.database.Stream**
## oci.devops ## oci.devops
- **diagrams.oci.devops.APIGatewayWhite**
- **diagrams.oci.devops.APIGateway** <img width="30" src="/img/resources/oci/devops/api-gateway-white.png" alt="APIGatewayWhite" style="float: left; padding-right: 5px;" >
- **diagrams.oci.devops.APIServiceWhite** **diagrams.oci.devops.APIGatewayWhite**
- **diagrams.oci.devops.APIService**
- **diagrams.oci.devops.ResourceMgmtWhite** <img width="30" src="/img/resources/oci/devops/api-gateway.png" alt="APIGateway" style="float: left; padding-right: 5px;" >
- **diagrams.oci.devops.ResourceMgmt** **diagrams.oci.devops.APIGateway**
<img width="30" src="/img/resources/oci/devops/api-service-white.png" alt="APIServiceWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.devops.APIServiceWhite**
<img width="30" src="/img/resources/oci/devops/api-service.png" alt="APIService" style="float: left; padding-right: 5px;" >
**diagrams.oci.devops.APIService**
<img width="30" src="/img/resources/oci/devops/resource-mgmt-white.png" alt="ResourceMgmtWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.devops.ResourceMgmtWhite**
<img width="30" src="/img/resources/oci/devops/resource-mgmt.png" alt="ResourceMgmt" style="float: left; padding-right: 5px;" >
**diagrams.oci.devops.ResourceMgmt**
## oci.governance ## oci.governance
- **diagrams.oci.governance.AuditWhite**
- **diagrams.oci.governance.Audit** <img width="30" src="/img/resources/oci/governance/audit-white.png" alt="AuditWhite" style="float: left; padding-right: 5px;" >
- **diagrams.oci.governance.CompartmentsWhite** **diagrams.oci.governance.AuditWhite**
- **diagrams.oci.governance.Compartments**
- **diagrams.oci.governance.GroupsWhite** <img width="30" src="/img/resources/oci/governance/audit.png" alt="Audit" style="float: left; padding-right: 5px;" >
- **diagrams.oci.governance.Groups** **diagrams.oci.governance.Audit**
- **diagrams.oci.governance.LoggingWhite**
- **diagrams.oci.governance.Logging** <img width="30" src="/img/resources/oci/governance/compartments-white.png" alt="CompartmentsWhite" style="float: left; padding-right: 5px;" >
- **diagrams.oci.governance.OCIDWhite** **diagrams.oci.governance.CompartmentsWhite**
- **diagrams.oci.governance.OCID**
- **diagrams.oci.governance.PoliciesWhite** <img width="30" src="/img/resources/oci/governance/compartments.png" alt="Compartments" style="float: left; padding-right: 5px;" >
- **diagrams.oci.governance.Policies** **diagrams.oci.governance.Compartments**
- **diagrams.oci.governance.TaggingWhite**
- **diagrams.oci.governance.Tagging** <img width="30" src="/img/resources/oci/governance/groups-white.png" alt="GroupsWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.governance.GroupsWhite**
<img width="30" src="/img/resources/oci/governance/groups.png" alt="Groups" style="float: left; padding-right: 5px;" >
**diagrams.oci.governance.Groups**
<img width="30" src="/img/resources/oci/governance/logging-white.png" alt="LoggingWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.governance.LoggingWhite**
<img width="30" src="/img/resources/oci/governance/logging.png" alt="Logging" style="float: left; padding-right: 5px;" >
**diagrams.oci.governance.Logging**
<img width="30" src="/img/resources/oci/governance/ocid-white.png" alt="OCIDWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.governance.OCIDWhite**
<img width="30" src="/img/resources/oci/governance/ocid.png" alt="OCID" style="float: left; padding-right: 5px;" >
**diagrams.oci.governance.OCID**
<img width="30" src="/img/resources/oci/governance/policies-white.png" alt="PoliciesWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.governance.PoliciesWhite**
<img width="30" src="/img/resources/oci/governance/policies.png" alt="Policies" style="float: left; padding-right: 5px;" >
**diagrams.oci.governance.Policies**
<img width="30" src="/img/resources/oci/governance/tagging-white.png" alt="TaggingWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.governance.TaggingWhite**
<img width="30" src="/img/resources/oci/governance/tagging.png" alt="Tagging" style="float: left; padding-right: 5px;" >
**diagrams.oci.governance.Tagging**
## oci.monitoring ## oci.monitoring
- **diagrams.oci.monitoring.AlarmWhite**
- **diagrams.oci.monitoring.Alarm** <img width="30" src="/img/resources/oci/monitoring/alarm-white.png" alt="AlarmWhite" style="float: left; padding-right: 5px;" >
- **diagrams.oci.monitoring.EmailWhite** **diagrams.oci.monitoring.AlarmWhite**
- **diagrams.oci.monitoring.Email**
- **diagrams.oci.monitoring.EventsWhite** <img width="30" src="/img/resources/oci/monitoring/alarm.png" alt="Alarm" style="float: left; padding-right: 5px;" >
- **diagrams.oci.monitoring.Events** **diagrams.oci.monitoring.Alarm**
- **diagrams.oci.monitoring.HealthCheckWhite**
- **diagrams.oci.monitoring.HealthCheck** <img width="30" src="/img/resources/oci/monitoring/email-white.png" alt="EmailWhite" style="float: left; padding-right: 5px;" >
- **diagrams.oci.monitoring.NotificationsWhite** **diagrams.oci.monitoring.EmailWhite**
- **diagrams.oci.monitoring.Notifications**
- **diagrams.oci.monitoring.QueueWhite** <img width="30" src="/img/resources/oci/monitoring/email.png" alt="Email" style="float: left; padding-right: 5px;" >
- **diagrams.oci.monitoring.Queue** **diagrams.oci.monitoring.Email**
- **diagrams.oci.monitoring.SearchWhite**
- **diagrams.oci.monitoring.Search** <img width="30" src="/img/resources/oci/monitoring/events-white.png" alt="EventsWhite" style="float: left; padding-right: 5px;" >
- **diagrams.oci.monitoring.TelemetryWhite** **diagrams.oci.monitoring.EventsWhite**
- **diagrams.oci.monitoring.Telemetry**
- **diagrams.oci.monitoring.WorkflowWhite** <img width="30" src="/img/resources/oci/monitoring/events.png" alt="Events" style="float: left; padding-right: 5px;" >
- **diagrams.oci.monitoring.Workflow** **diagrams.oci.monitoring.Events**
<img width="30" src="/img/resources/oci/monitoring/health-check-white.png" alt="HealthCheckWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.monitoring.HealthCheckWhite**
<img width="30" src="/img/resources/oci/monitoring/health-check.png" alt="HealthCheck" style="float: left; padding-right: 5px;" >
**diagrams.oci.monitoring.HealthCheck**
<img width="30" src="/img/resources/oci/monitoring/notifications-white.png" alt="NotificationsWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.monitoring.NotificationsWhite**
<img width="30" src="/img/resources/oci/monitoring/notifications.png" alt="Notifications" style="float: left; padding-right: 5px;" >
**diagrams.oci.monitoring.Notifications**
<img width="30" src="/img/resources/oci/monitoring/queue-white.png" alt="QueueWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.monitoring.QueueWhite**
<img width="30" src="/img/resources/oci/monitoring/queue.png" alt="Queue" style="float: left; padding-right: 5px;" >
**diagrams.oci.monitoring.Queue**
<img width="30" src="/img/resources/oci/monitoring/search-white.png" alt="SearchWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.monitoring.SearchWhite**
<img width="30" src="/img/resources/oci/monitoring/search.png" alt="Search" style="float: left; padding-right: 5px;" >
**diagrams.oci.monitoring.Search**
<img width="30" src="/img/resources/oci/monitoring/telemetry-white.png" alt="TelemetryWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.monitoring.TelemetryWhite**
<img width="30" src="/img/resources/oci/monitoring/telemetry.png" alt="Telemetry" style="float: left; padding-right: 5px;" >
**diagrams.oci.monitoring.Telemetry**
<img width="30" src="/img/resources/oci/monitoring/workflow-white.png" alt="WorkflowWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.monitoring.WorkflowWhite**
<img width="30" src="/img/resources/oci/monitoring/workflow.png" alt="Workflow" style="float: left; padding-right: 5px;" >
**diagrams.oci.monitoring.Workflow**
## oci.network ## oci.network
- **diagrams.oci.network.DrgWhite**
- **diagrams.oci.network.Drg** <img width="30" src="/img/resources/oci/network/drg-white.png" alt="DrgWhite" style="float: left; padding-right: 5px;" >
- **diagrams.oci.network.FirewallWhite** **diagrams.oci.network.DrgWhite**
- **diagrams.oci.network.Firewall**
- **diagrams.oci.network.InternetGatewayWhite** <img width="30" src="/img/resources/oci/network/drg.png" alt="Drg" style="float: left; padding-right: 5px;" >
- **diagrams.oci.network.InternetGateway** **diagrams.oci.network.Drg**
- **diagrams.oci.network.LoadBalancerWhite**
- **diagrams.oci.network.LoadBalancer** <img width="30" src="/img/resources/oci/network/firewall-white.png" alt="FirewallWhite" style="float: left; padding-right: 5px;" >
- **diagrams.oci.network.RouteTableWhite** **diagrams.oci.network.FirewallWhite**
- **diagrams.oci.network.RouteTable**
- **diagrams.oci.network.SecurityListsWhite** <img width="30" src="/img/resources/oci/network/firewall.png" alt="Firewall" style="float: left; padding-right: 5px;" >
- **diagrams.oci.network.SecurityLists** **diagrams.oci.network.Firewall**
- **diagrams.oci.network.ServiceGatewayWhite**
- **diagrams.oci.network.ServiceGateway** <img width="30" src="/img/resources/oci/network/internet-gateway-white.png" alt="InternetGatewayWhite" style="float: left; padding-right: 5px;" >
- **diagrams.oci.network.VcnWhite** **diagrams.oci.network.InternetGatewayWhite**
- **diagrams.oci.network.Vcn**
<img width="30" src="/img/resources/oci/network/internet-gateway.png" alt="InternetGateway" style="float: left; padding-right: 5px;" >
**diagrams.oci.network.InternetGateway**
<img width="30" src="/img/resources/oci/network/load-balancer-white.png" alt="LoadBalancerWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.network.LoadBalancerWhite**
<img width="30" src="/img/resources/oci/network/load-balancer.png" alt="LoadBalancer" style="float: left; padding-right: 5px;" >
**diagrams.oci.network.LoadBalancer**
<img width="30" src="/img/resources/oci/network/route-table-white.png" alt="RouteTableWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.network.RouteTableWhite**
<img width="30" src="/img/resources/oci/network/route-table.png" alt="RouteTable" style="float: left; padding-right: 5px;" >
**diagrams.oci.network.RouteTable**
<img width="30" src="/img/resources/oci/network/security-lists-white.png" alt="SecurityListsWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.network.SecurityListsWhite**
<img width="30" src="/img/resources/oci/network/security-lists.png" alt="SecurityLists" style="float: left; padding-right: 5px;" >
**diagrams.oci.network.SecurityLists**
<img width="30" src="/img/resources/oci/network/service-gateway-white.png" alt="ServiceGatewayWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.network.ServiceGatewayWhite**
<img width="30" src="/img/resources/oci/network/service-gateway.png" alt="ServiceGateway" style="float: left; padding-right: 5px;" >
**diagrams.oci.network.ServiceGateway**
<img width="30" src="/img/resources/oci/network/vcn-white.png" alt="VcnWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.network.VcnWhite**
<img width="30" src="/img/resources/oci/network/vcn.png" alt="Vcn" style="float: left; padding-right: 5px;" >
**diagrams.oci.network.Vcn**
## oci.security ## oci.security
- **diagrams.oci.security.CloudGuardWhite**
- **diagrams.oci.security.CloudGuard** <img width="30" src="/img/resources/oci/security/cloud-guard-white.png" alt="CloudGuardWhite" style="float: left; padding-right: 5px;" >
- **diagrams.oci.security.DDOSWhite** **diagrams.oci.security.CloudGuardWhite**
- **diagrams.oci.security.DDOS**
- **diagrams.oci.security.EncryptionWhite** <img width="30" src="/img/resources/oci/security/cloud-guard.png" alt="CloudGuard" style="float: left; padding-right: 5px;" >
- **diagrams.oci.security.Encryption** **diagrams.oci.security.CloudGuard**
- **diagrams.oci.security.IDAccessWhite**
- **diagrams.oci.security.IDAccess** <img width="30" src="/img/resources/oci/security/ddos-white.png" alt="DDOSWhite" style="float: left; padding-right: 5px;" >
- **diagrams.oci.security.KeyManagementWhite** **diagrams.oci.security.DDOSWhite**
- **diagrams.oci.security.KeyManagement**
- **diagrams.oci.security.MaxSecurityZoneWhite** <img width="30" src="/img/resources/oci/security/ddos.png" alt="DDOS" style="float: left; padding-right: 5px;" >
- **diagrams.oci.security.MaxSecurityZone** **diagrams.oci.security.DDOS**
- **diagrams.oci.security.VaultWhite**
- **diagrams.oci.security.Vault** <img width="30" src="/img/resources/oci/security/encryption-white.png" alt="EncryptionWhite" style="float: left; padding-right: 5px;" >
- **diagrams.oci.security.WAFWhite** **diagrams.oci.security.EncryptionWhite**
- **diagrams.oci.security.WAF**
<img width="30" src="/img/resources/oci/security/encryption.png" alt="Encryption" style="float: left; padding-right: 5px;" >
**diagrams.oci.security.Encryption**
<img width="30" src="/img/resources/oci/security/id-access-white.png" alt="IDAccessWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.security.IDAccessWhite**
<img width="30" src="/img/resources/oci/security/id-access.png" alt="IDAccess" style="float: left; padding-right: 5px;" >
**diagrams.oci.security.IDAccess**
<img width="30" src="/img/resources/oci/security/key-management-white.png" alt="KeyManagementWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.security.KeyManagementWhite**
<img width="30" src="/img/resources/oci/security/key-management.png" alt="KeyManagement" style="float: left; padding-right: 5px;" >
**diagrams.oci.security.KeyManagement**
<img width="30" src="/img/resources/oci/security/max-security-zone-white.png" alt="MaxSecurityZoneWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.security.MaxSecurityZoneWhite**
<img width="30" src="/img/resources/oci/security/max-security-zone.png" alt="MaxSecurityZone" style="float: left; padding-right: 5px;" >
**diagrams.oci.security.MaxSecurityZone**
<img width="30" src="/img/resources/oci/security/vault-white.png" alt="VaultWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.security.VaultWhite**
<img width="30" src="/img/resources/oci/security/vault.png" alt="Vault" style="float: left; padding-right: 5px;" >
**diagrams.oci.security.Vault**
<img width="30" src="/img/resources/oci/security/waf-white.png" alt="WAFWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.security.WAFWhite**
<img width="30" src="/img/resources/oci/security/waf.png" alt="WAF" style="float: left; padding-right: 5px;" >
**diagrams.oci.security.WAF**
## oci.storage ## oci.storage
- **diagrams.oci.storage.BackupRestoreWhite**
- **diagrams.oci.storage.BackupRestore** <img width="30" src="/img/resources/oci/storage/backup-restore-white.png" alt="BackupRestoreWhite" style="float: left; padding-right: 5px;" >
- **diagrams.oci.storage.BlockStorageCloneWhite** **diagrams.oci.storage.BackupRestoreWhite**
- **diagrams.oci.storage.BlockStorageClone**
- **diagrams.oci.storage.BlockStorageWhite** <img width="30" src="/img/resources/oci/storage/backup-restore.png" alt="BackupRestore" style="float: left; padding-right: 5px;" >
- **diagrams.oci.storage.BlockStorage** **diagrams.oci.storage.BackupRestore**
- **diagrams.oci.storage.BucketsWhite**
- **diagrams.oci.storage.Buckets** <img width="30" src="/img/resources/oci/storage/block-storage-clone-white.png" alt="BlockStorageCloneWhite" style="float: left; padding-right: 5px;" >
- **diagrams.oci.storage.DataTransferWhite** **diagrams.oci.storage.BlockStorageCloneWhite**
- **diagrams.oci.storage.DataTransfer**
- **diagrams.oci.storage.ElasticPerformanceWhite** <img width="30" src="/img/resources/oci/storage/block-storage-clone.png" alt="BlockStorageClone" style="float: left; padding-right: 5px;" >
- **diagrams.oci.storage.ElasticPerformance** **diagrams.oci.storage.BlockStorageClone**
- **diagrams.oci.storage.FileStorageWhite**
- **diagrams.oci.storage.FileStorage** <img width="30" src="/img/resources/oci/storage/block-storage-white.png" alt="BlockStorageWhite" style="float: left; padding-right: 5px;" >
- **diagrams.oci.storage.ObjectStorageWhite** **diagrams.oci.storage.BlockStorageWhite**
- **diagrams.oci.storage.ObjectStorage**
- **diagrams.oci.storage.StorageGatewayWhite** <img width="30" src="/img/resources/oci/storage/block-storage.png" alt="BlockStorage" style="float: left; padding-right: 5px;" >
- **diagrams.oci.storage.StorageGateway** **diagrams.oci.storage.BlockStorage**
<img width="30" src="/img/resources/oci/storage/buckets-white.png" alt="BucketsWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.storage.BucketsWhite**
<img width="30" src="/img/resources/oci/storage/buckets.png" alt="Buckets" style="float: left; padding-right: 5px;" >
**diagrams.oci.storage.Buckets**
<img width="30" src="/img/resources/oci/storage/data-transfer-white.png" alt="DataTransferWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.storage.DataTransferWhite**
<img width="30" src="/img/resources/oci/storage/data-transfer.png" alt="DataTransfer" style="float: left; padding-right: 5px;" >
**diagrams.oci.storage.DataTransfer**
<img width="30" src="/img/resources/oci/storage/elastic-performance-white.png" alt="ElasticPerformanceWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.storage.ElasticPerformanceWhite**
<img width="30" src="/img/resources/oci/storage/elastic-performance.png" alt="ElasticPerformance" style="float: left; padding-right: 5px;" >
**diagrams.oci.storage.ElasticPerformance**
<img width="30" src="/img/resources/oci/storage/file-storage-white.png" alt="FileStorageWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.storage.FileStorageWhite**
<img width="30" src="/img/resources/oci/storage/file-storage.png" alt="FileStorage" style="float: left; padding-right: 5px;" >
**diagrams.oci.storage.FileStorage**
<img width="30" src="/img/resources/oci/storage/object-storage-white.png" alt="ObjectStorageWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.storage.ObjectStorageWhite**
<img width="30" src="/img/resources/oci/storage/object-storage.png" alt="ObjectStorage" style="float: left; padding-right: 5px;" >
**diagrams.oci.storage.ObjectStorage**
<img width="30" src="/img/resources/oci/storage/storage-gateway-white.png" alt="StorageGatewayWhite" style="float: left; padding-right: 5px;" >
**diagrams.oci.storage.StorageGatewayWhite**
<img width="30" src="/img/resources/oci/storage/storage-gateway.png" alt="StorageGateway" style="float: left; padding-right: 5px;" >
**diagrams.oci.storage.StorageGateway**

@ -7,234 +7,528 @@ Node classes list of onprem provider.
## onprem.aggregator ## onprem.aggregator
- **diagrams.onprem.aggregator.Fluentd**
- **diagrams.onprem.aggregator.Vector** <img width="30" src="/img/resources/onprem/aggregator/fluentd.png" alt="Fluentd" style="float: left; padding-right: 5px;" >
**diagrams.onprem.aggregator.Fluentd**
<img width="30" src="/img/resources/onprem/aggregator/vector.png" alt="Vector" style="float: left; padding-right: 5px;" >
**diagrams.onprem.aggregator.Vector**
## onprem.analytics ## onprem.analytics
- **diagrams.onprem.analytics.Beam**
- **diagrams.onprem.analytics.Databricks** <img width="30" src="/img/resources/onprem/analytics/beam.png" alt="Beam" style="float: left; padding-right: 5px;" >
- **diagrams.onprem.analytics.Dbt** **diagrams.onprem.analytics.Beam**
- **diagrams.onprem.analytics.Flink**
- **diagrams.onprem.analytics.Hadoop** <img width="30" src="/img/resources/onprem/analytics/databricks.png" alt="Databricks" style="float: left; padding-right: 5px;" >
- **diagrams.onprem.analytics.Hive** **diagrams.onprem.analytics.Databricks**
- **diagrams.onprem.analytics.Metabase**
- **diagrams.onprem.analytics.Norikra** <img width="30" src="/img/resources/onprem/analytics/dbt.png" alt="Dbt" style="float: left; padding-right: 5px;" >
- **diagrams.onprem.analytics.Powerbi**, **PowerBI** (alias) **diagrams.onprem.analytics.Dbt**
- **diagrams.onprem.analytics.Presto**
- **diagrams.onprem.analytics.Singer** <img width="30" src="/img/resources/onprem/analytics/flink.png" alt="Flink" style="float: left; padding-right: 5px;" >
- **diagrams.onprem.analytics.Spark** **diagrams.onprem.analytics.Flink**
- **diagrams.onprem.analytics.Storm**
- **diagrams.onprem.analytics.Superset** <img width="30" src="/img/resources/onprem/analytics/hadoop.png" alt="Hadoop" style="float: left; padding-right: 5px;" >
- **diagrams.onprem.analytics.Tableau** **diagrams.onprem.analytics.Hadoop**
<img width="30" src="/img/resources/onprem/analytics/hive.png" alt="Hive" style="float: left; padding-right: 5px;" >
**diagrams.onprem.analytics.Hive**
<img width="30" src="/img/resources/onprem/analytics/metabase.png" alt="Metabase" style="float: left; padding-right: 5px;" >
**diagrams.onprem.analytics.Metabase**
<img width="30" src="/img/resources/onprem/analytics/norikra.png" alt="Norikra" style="float: left; padding-right: 5px;" >
**diagrams.onprem.analytics.Norikra**
<img width="30" src="/img/resources/onprem/analytics/powerbi.png" alt="Powerbi" style="float: left; padding-right: 5px;" >
**diagrams.onprem.analytics.Powerbi**, **PowerBI** (alias)
<img width="30" src="/img/resources/onprem/analytics/presto.png" alt="Presto" style="float: left; padding-right: 5px;" >
**diagrams.onprem.analytics.Presto**
<img width="30" src="/img/resources/onprem/analytics/singer.png" alt="Singer" style="float: left; padding-right: 5px;" >
**diagrams.onprem.analytics.Singer**
<img width="30" src="/img/resources/onprem/analytics/spark.png" alt="Spark" style="float: left; padding-right: 5px;" >
**diagrams.onprem.analytics.Spark**
<img width="30" src="/img/resources/onprem/analytics/storm.png" alt="Storm" style="float: left; padding-right: 5px;" >
**diagrams.onprem.analytics.Storm**
<img width="30" src="/img/resources/onprem/analytics/superset.png" alt="Superset" style="float: left; padding-right: 5px;" >
**diagrams.onprem.analytics.Superset**
<img width="30" src="/img/resources/onprem/analytics/tableau.png" alt="Tableau" style="float: left; padding-right: 5px;" >
**diagrams.onprem.analytics.Tableau**
## onprem.auth ## onprem.auth
- **diagrams.onprem.auth.Boundary**
- **diagrams.onprem.auth.BuzzfeedSso** <img width="30" src="/img/resources/onprem/auth/boundary.png" alt="Boundary" style="float: left; padding-right: 5px;" >
- **diagrams.onprem.auth.Oauth2Proxy** **diagrams.onprem.auth.Boundary**
<img width="30" src="/img/resources/onprem/auth/buzzfeed-sso.png" alt="BuzzfeedSso" style="float: left; padding-right: 5px;" >
**diagrams.onprem.auth.BuzzfeedSso**
<img width="30" src="/img/resources/onprem/auth/oauth2-proxy.png" alt="Oauth2Proxy" style="float: left; padding-right: 5px;" >
**diagrams.onprem.auth.Oauth2Proxy**
## onprem.cd ## onprem.cd
- **diagrams.onprem.cd.Spinnaker**
- **diagrams.onprem.cd.TektonCli** <img width="30" src="/img/resources/onprem/cd/spinnaker.png" alt="Spinnaker" style="float: left; padding-right: 5px;" >
- **diagrams.onprem.cd.Tekton** **diagrams.onprem.cd.Spinnaker**
<img width="30" src="/img/resources/onprem/cd/tekton-cli.png" alt="TektonCli" style="float: left; padding-right: 5px;" >
**diagrams.onprem.cd.TektonCli**
<img width="30" src="/img/resources/onprem/cd/tekton.png" alt="Tekton" style="float: left; padding-right: 5px;" >
**diagrams.onprem.cd.Tekton**
## onprem.certificates ## onprem.certificates
- **diagrams.onprem.certificates.CertManager**
- **diagrams.onprem.certificates.LetsEncrypt** <img width="30" src="/img/resources/onprem/certificates/cert-manager.png" alt="CertManager" style="float: left; padding-right: 5px;" >
**diagrams.onprem.certificates.CertManager**
<img width="30" src="/img/resources/onprem/certificates/lets-encrypt.png" alt="LetsEncrypt" style="float: left; padding-right: 5px;" >
**diagrams.onprem.certificates.LetsEncrypt**
## onprem.ci ## onprem.ci
- **diagrams.onprem.ci.Circleci**, **CircleCI** (alias)
- **diagrams.onprem.ci.Concourseci**, **ConcourseCI** (alias) <img width="30" src="/img/resources/onprem/ci/circleci.png" alt="Circleci" style="float: left; padding-right: 5px;" >
- **diagrams.onprem.ci.Droneci**, **DroneCI** (alias) **diagrams.onprem.ci.Circleci**, **CircleCI** (alias)
- **diagrams.onprem.ci.GithubActions**
- **diagrams.onprem.ci.Gitlabci**, **GitlabCI** (alias) <img width="30" src="/img/resources/onprem/ci/concourseci.png" alt="Concourseci" style="float: left; padding-right: 5px;" >
- **diagrams.onprem.ci.Jenkins** **diagrams.onprem.ci.Concourseci**, **ConcourseCI** (alias)
- **diagrams.onprem.ci.Teamcity**, **TC** (alias)
- **diagrams.onprem.ci.Travisci**, **TravisCI** (alias) <img width="30" src="/img/resources/onprem/ci/droneci.png" alt="Droneci" style="float: left; padding-right: 5px;" >
- **diagrams.onprem.ci.Zuulci**, **ZuulCI** (alias) **diagrams.onprem.ci.Droneci**, **DroneCI** (alias)
<img width="30" src="/img/resources/onprem/ci/github-actions.png" alt="GithubActions" style="float: left; padding-right: 5px;" >
**diagrams.onprem.ci.GithubActions**
<img width="30" src="/img/resources/onprem/ci/gitlabci.png" alt="Gitlabci" style="float: left; padding-right: 5px;" >
**diagrams.onprem.ci.Gitlabci**, **GitlabCI** (alias)
<img width="30" src="/img/resources/onprem/ci/jenkins.png" alt="Jenkins" style="float: left; padding-right: 5px;" >
**diagrams.onprem.ci.Jenkins**
<img width="30" src="/img/resources/onprem/ci/teamcity.png" alt="Teamcity" style="float: left; padding-right: 5px;" >
**diagrams.onprem.ci.Teamcity**, **TC** (alias)
<img width="30" src="/img/resources/onprem/ci/travisci.png" alt="Travisci" style="float: left; padding-right: 5px;" >
**diagrams.onprem.ci.Travisci**, **TravisCI** (alias)
<img width="30" src="/img/resources/onprem/ci/zuulci.png" alt="Zuulci" style="float: left; padding-right: 5px;" >
**diagrams.onprem.ci.Zuulci**, **ZuulCI** (alias)
## onprem.client ## onprem.client
- **diagrams.onprem.client.Client**
- **diagrams.onprem.client.User** <img width="30" src="/img/resources/onprem/client/client.png" alt="Client" style="float: left; padding-right: 5px;" >
- **diagrams.onprem.client.Users** **diagrams.onprem.client.Client**
<img width="30" src="/img/resources/onprem/client/user.png" alt="User" style="float: left; padding-right: 5px;" >
**diagrams.onprem.client.User**
<img width="30" src="/img/resources/onprem/client/users.png" alt="Users" style="float: left; padding-right: 5px;" >
**diagrams.onprem.client.Users**
## onprem.compute ## onprem.compute
- **diagrams.onprem.compute.Nomad**
- **diagrams.onprem.compute.Server** <img width="30" src="/img/resources/onprem/compute/nomad.png" alt="Nomad" style="float: left; padding-right: 5px;" >
**diagrams.onprem.compute.Nomad**
<img width="30" src="/img/resources/onprem/compute/server.png" alt="Server" style="float: left; padding-right: 5px;" >
**diagrams.onprem.compute.Server**
## onprem.container ## onprem.container
- **diagrams.onprem.container.Containerd**
- **diagrams.onprem.container.Crio** <img width="30" src="/img/resources/onprem/container/containerd.png" alt="Containerd" style="float: left; padding-right: 5px;" >
- **diagrams.onprem.container.Docker** **diagrams.onprem.container.Containerd**
- **diagrams.onprem.container.Firecracker**
- **diagrams.onprem.container.Gvisor** <img width="30" src="/img/resources/onprem/container/crio.png" alt="Crio" style="float: left; padding-right: 5px;" >
- **diagrams.onprem.container.Lxc**, **LXC** (alias) **diagrams.onprem.container.Crio**
- **diagrams.onprem.container.Rkt**, **RKT** (alias)
<img width="30" src="/img/resources/onprem/container/docker.png" alt="Docker" style="float: left; padding-right: 5px;" >
**diagrams.onprem.container.Docker**
<img width="30" src="/img/resources/onprem/container/firecracker.png" alt="Firecracker" style="float: left; padding-right: 5px;" >
**diagrams.onprem.container.Firecracker**
<img width="30" src="/img/resources/onprem/container/gvisor.png" alt="Gvisor" style="float: left; padding-right: 5px;" >
**diagrams.onprem.container.Gvisor**
<img width="30" src="/img/resources/onprem/container/lxc.png" alt="Lxc" style="float: left; padding-right: 5px;" >
**diagrams.onprem.container.Lxc**, **LXC** (alias)
<img width="30" src="/img/resources/onprem/container/rkt.png" alt="Rkt" style="float: left; padding-right: 5px;" >
**diagrams.onprem.container.Rkt**, **RKT** (alias)
## onprem.database ## onprem.database
- **diagrams.onprem.database.Cassandra**
- **diagrams.onprem.database.Clickhouse**, **ClickHouse** (alias) <img width="30" src="/img/resources/onprem/database/cassandra.png" alt="Cassandra" style="float: left; padding-right: 5px;" >
- **diagrams.onprem.database.Cockroachdb**, **CockroachDB** (alias) **diagrams.onprem.database.Cassandra**
- **diagrams.onprem.database.Couchbase**
- **diagrams.onprem.database.Couchdb**, **CouchDB** (alias) <img width="30" src="/img/resources/onprem/database/clickhouse.png" alt="Clickhouse" style="float: left; padding-right: 5px;" >
- **diagrams.onprem.database.Dgraph** **diagrams.onprem.database.Clickhouse**, **ClickHouse** (alias)
- **diagrams.onprem.database.Druid**
- **diagrams.onprem.database.Hbase**, **HBase** (alias) <img width="30" src="/img/resources/onprem/database/cockroachdb.png" alt="Cockroachdb" style="float: left; padding-right: 5px;" >
- **diagrams.onprem.database.Influxdb**, **InfluxDB** (alias) **diagrams.onprem.database.Cockroachdb**, **CockroachDB** (alias)
- **diagrams.onprem.database.Janusgraph**, **JanusGraph** (alias)
- **diagrams.onprem.database.Mariadb**, **MariaDB** (alias) <img width="30" src="/img/resources/onprem/database/couchbase.png" alt="Couchbase" style="float: left; padding-right: 5px;" >
- **diagrams.onprem.database.Mongodb**, **MongoDB** (alias) **diagrams.onprem.database.Couchbase**
- **diagrams.onprem.database.Mssql**, **MSSQL** (alias)
- **diagrams.onprem.database.Mysql**, **MySQL** (alias) <img width="30" src="/img/resources/onprem/database/couchdb.png" alt="Couchdb" style="float: left; padding-right: 5px;" >
- **diagrams.onprem.database.Neo4J** **diagrams.onprem.database.Couchdb**, **CouchDB** (alias)
- **diagrams.onprem.database.Oracle**
- **diagrams.onprem.database.Postgresql**, **PostgreSQL** (alias) <img width="30" src="/img/resources/onprem/database/dgraph.png" alt="Dgraph" style="float: left; padding-right: 5px;" >
- **diagrams.onprem.database.Scylla** **diagrams.onprem.database.Dgraph**
<img width="30" src="/img/resources/onprem/database/druid.png" alt="Druid" style="float: left; padding-right: 5px;" >
**diagrams.onprem.database.Druid**
<img width="30" src="/img/resources/onprem/database/hbase.png" alt="Hbase" style="float: left; padding-right: 5px;" >
**diagrams.onprem.database.Hbase**, **HBase** (alias)
<img width="30" src="/img/resources/onprem/database/influxdb.png" alt="Influxdb" style="float: left; padding-right: 5px;" >
**diagrams.onprem.database.Influxdb**, **InfluxDB** (alias)
<img width="30" src="/img/resources/onprem/database/janusgraph.png" alt="Janusgraph" style="float: left; padding-right: 5px;" >
**diagrams.onprem.database.Janusgraph**, **JanusGraph** (alias)
<img width="30" src="/img/resources/onprem/database/mariadb.png" alt="Mariadb" style="float: left; padding-right: 5px;" >
**diagrams.onprem.database.Mariadb**, **MariaDB** (alias)
<img width="30" src="/img/resources/onprem/database/mongodb.png" alt="Mongodb" style="float: left; padding-right: 5px;" >
**diagrams.onprem.database.Mongodb**, **MongoDB** (alias)
<img width="30" src="/img/resources/onprem/database/mssql.png" alt="Mssql" style="float: left; padding-right: 5px;" >
**diagrams.onprem.database.Mssql**, **MSSQL** (alias)
<img width="30" src="/img/resources/onprem/database/mysql.png" alt="Mysql" style="float: left; padding-right: 5px;" >
**diagrams.onprem.database.Mysql**, **MySQL** (alias)
<img width="30" src="/img/resources/onprem/database/neo4j.png" alt="Neo4J" style="float: left; padding-right: 5px;" >
**diagrams.onprem.database.Neo4J**
<img width="30" src="/img/resources/onprem/database/oracle.png" alt="Oracle" style="float: left; padding-right: 5px;" >
**diagrams.onprem.database.Oracle**
<img width="30" src="/img/resources/onprem/database/postgresql.png" alt="Postgresql" style="float: left; padding-right: 5px;" >
**diagrams.onprem.database.Postgresql**, **PostgreSQL** (alias)
<img width="30" src="/img/resources/onprem/database/scylla.png" alt="Scylla" style="float: left; padding-right: 5px;" >
**diagrams.onprem.database.Scylla**
## onprem.dns ## onprem.dns
- **diagrams.onprem.dns.Coredns**
- **diagrams.onprem.dns.Powerdns** <img width="30" src="/img/resources/onprem/dns/coredns.png" alt="Coredns" style="float: left; padding-right: 5px;" >
**diagrams.onprem.dns.Coredns**
<img width="30" src="/img/resources/onprem/dns/powerdns.png" alt="Powerdns" style="float: left; padding-right: 5px;" >
**diagrams.onprem.dns.Powerdns**
## onprem.etl ## onprem.etl
- **diagrams.onprem.etl.Embulk**
<img width="30" src="/img/resources/onprem/etl/embulk.png" alt="Embulk" style="float: left; padding-right: 5px;" >
**diagrams.onprem.etl.Embulk**
## onprem.gitops ## onprem.gitops
- **diagrams.onprem.gitops.Argocd**, **ArgoCD** (alias)
- **diagrams.onprem.gitops.Flagger** <img width="30" src="/img/resources/onprem/gitops/argocd.png" alt="Argocd" style="float: left; padding-right: 5px;" >
- **diagrams.onprem.gitops.Flux** **diagrams.onprem.gitops.Argocd**, **ArgoCD** (alias)
<img width="30" src="/img/resources/onprem/gitops/flagger.png" alt="Flagger" style="float: left; padding-right: 5px;" >
**diagrams.onprem.gitops.Flagger**
<img width="30" src="/img/resources/onprem/gitops/flux.png" alt="Flux" style="float: left; padding-right: 5px;" >
**diagrams.onprem.gitops.Flux**
## onprem.groupware ## onprem.groupware
- **diagrams.onprem.groupware.Nextcloud**
<img width="30" src="/img/resources/onprem/groupware/nextcloud.png" alt="Nextcloud" style="float: left; padding-right: 5px;" >
**diagrams.onprem.groupware.Nextcloud**
## onprem.iac ## onprem.iac
- **diagrams.onprem.iac.Ansible**
- **diagrams.onprem.iac.Atlantis** <img width="30" src="/img/resources/onprem/iac/ansible.png" alt="Ansible" style="float: left; padding-right: 5px;" >
- **diagrams.onprem.iac.Awx** **diagrams.onprem.iac.Ansible**
- **diagrams.onprem.iac.Terraform**
<img width="30" src="/img/resources/onprem/iac/atlantis.png" alt="Atlantis" style="float: left; padding-right: 5px;" >
**diagrams.onprem.iac.Atlantis**
<img width="30" src="/img/resources/onprem/iac/awx.png" alt="Awx" style="float: left; padding-right: 5px;" >
**diagrams.onprem.iac.Awx**
<img width="30" src="/img/resources/onprem/iac/terraform.png" alt="Terraform" style="float: left; padding-right: 5px;" >
**diagrams.onprem.iac.Terraform**
## onprem.identity ## onprem.identity
- **diagrams.onprem.identity.Dex**
<img width="30" src="/img/resources/onprem/identity/dex.png" alt="Dex" style="float: left; padding-right: 5px;" >
**diagrams.onprem.identity.Dex**
## onprem.inmemory ## onprem.inmemory
- **diagrams.onprem.inmemory.Aerospike**
- **diagrams.onprem.inmemory.Hazelcast** <img width="30" src="/img/resources/onprem/inmemory/aerospike.png" alt="Aerospike" style="float: left; padding-right: 5px;" >
- **diagrams.onprem.inmemory.Memcached** **diagrams.onprem.inmemory.Aerospike**
- **diagrams.onprem.inmemory.Redis**
<img width="30" src="/img/resources/onprem/inmemory/hazelcast.png" alt="Hazelcast" style="float: left; padding-right: 5px;" >
**diagrams.onprem.inmemory.Hazelcast**
<img width="30" src="/img/resources/onprem/inmemory/memcached.png" alt="Memcached" style="float: left; padding-right: 5px;" >
**diagrams.onprem.inmemory.Memcached**
<img width="30" src="/img/resources/onprem/inmemory/redis.png" alt="Redis" style="float: left; padding-right: 5px;" >
**diagrams.onprem.inmemory.Redis**
## onprem.logging ## onprem.logging
- **diagrams.onprem.logging.Fluentbit**, **FluentBit** (alias)
- **diagrams.onprem.logging.Graylog** <img width="30" src="/img/resources/onprem/logging/fluentbit.png" alt="Fluentbit" style="float: left; padding-right: 5px;" >
- **diagrams.onprem.logging.Loki** **diagrams.onprem.logging.Fluentbit**, **FluentBit** (alias)
- **diagrams.onprem.logging.Rsyslog**, **RSyslog** (alias)
- **diagrams.onprem.logging.SyslogNg** <img width="30" src="/img/resources/onprem/logging/graylog.png" alt="Graylog" style="float: left; padding-right: 5px;" >
**diagrams.onprem.logging.Graylog**
<img width="30" src="/img/resources/onprem/logging/loki.png" alt="Loki" style="float: left; padding-right: 5px;" >
**diagrams.onprem.logging.Loki**
<img width="30" src="/img/resources/onprem/logging/rsyslog.png" alt="Rsyslog" style="float: left; padding-right: 5px;" >
**diagrams.onprem.logging.Rsyslog**, **RSyslog** (alias)
<img width="30" src="/img/resources/onprem/logging/syslog-ng.png" alt="SyslogNg" style="float: left; padding-right: 5px;" >
**diagrams.onprem.logging.SyslogNg**
## onprem.mlops ## onprem.mlops
- **diagrams.onprem.mlops.Polyaxon**
<img width="30" src="/img/resources/onprem/mlops/polyaxon.png" alt="Polyaxon" style="float: left; padding-right: 5px;" >
**diagrams.onprem.mlops.Polyaxon**
## onprem.monitoring ## onprem.monitoring
- **diagrams.onprem.monitoring.Cortex**
- **diagrams.onprem.monitoring.Datadog** <img width="30" src="/img/resources/onprem/monitoring/cortex.png" alt="Cortex" style="float: left; padding-right: 5px;" >
- **diagrams.onprem.monitoring.Grafana** **diagrams.onprem.monitoring.Cortex**
- **diagrams.onprem.monitoring.Humio**
- **diagrams.onprem.monitoring.Newrelic** <img width="30" src="/img/resources/onprem/monitoring/datadog.png" alt="Datadog" style="float: left; padding-right: 5px;" >
- **diagrams.onprem.monitoring.PrometheusOperator** **diagrams.onprem.monitoring.Datadog**
- **diagrams.onprem.monitoring.Prometheus**
- **diagrams.onprem.monitoring.Sentry** <img width="30" src="/img/resources/onprem/monitoring/grafana.png" alt="Grafana" style="float: left; padding-right: 5px;" >
- **diagrams.onprem.monitoring.Splunk** **diagrams.onprem.monitoring.Grafana**
- **diagrams.onprem.monitoring.Thanos**
- **diagrams.onprem.monitoring.Zabbix** <img width="30" src="/img/resources/onprem/monitoring/humio.png" alt="Humio" style="float: left; padding-right: 5px;" >
**diagrams.onprem.monitoring.Humio**
<img width="30" src="/img/resources/onprem/monitoring/newrelic.png" alt="Newrelic" style="float: left; padding-right: 5px;" >
**diagrams.onprem.monitoring.Newrelic**
<img width="30" src="/img/resources/onprem/monitoring/prometheus-operator.png" alt="PrometheusOperator" style="float: left; padding-right: 5px;" >
**diagrams.onprem.monitoring.PrometheusOperator**
<img width="30" src="/img/resources/onprem/monitoring/prometheus.png" alt="Prometheus" style="float: left; padding-right: 5px;" >
**diagrams.onprem.monitoring.Prometheus**
<img width="30" src="/img/resources/onprem/monitoring/sentry.png" alt="Sentry" style="float: left; padding-right: 5px;" >
**diagrams.onprem.monitoring.Sentry**
<img width="30" src="/img/resources/onprem/monitoring/splunk.png" alt="Splunk" style="float: left; padding-right: 5px;" >
**diagrams.onprem.monitoring.Splunk**
<img width="30" src="/img/resources/onprem/monitoring/thanos.png" alt="Thanos" style="float: left; padding-right: 5px;" >
**diagrams.onprem.monitoring.Thanos**
<img width="30" src="/img/resources/onprem/monitoring/zabbix.png" alt="Zabbix" style="float: left; padding-right: 5px;" >
**diagrams.onprem.monitoring.Zabbix**
## onprem.network ## onprem.network
- **diagrams.onprem.network.Ambassador**
- **diagrams.onprem.network.Apache** <img width="30" src="/img/resources/onprem/network/ambassador.png" alt="Ambassador" style="float: left; padding-right: 5px;" >
- **diagrams.onprem.network.Bind9** **diagrams.onprem.network.Ambassador**
- **diagrams.onprem.network.Caddy**
- **diagrams.onprem.network.Consul** <img width="30" src="/img/resources/onprem/network/apache.png" alt="Apache" style="float: left; padding-right: 5px;" >
- **diagrams.onprem.network.Envoy** **diagrams.onprem.network.Apache**
- **diagrams.onprem.network.Etcd**, **ETCD** (alias)
- **diagrams.onprem.network.Glassfish** <img width="30" src="/img/resources/onprem/network/bind-9.png" alt="Bind9" style="float: left; padding-right: 5px;" >
- **diagrams.onprem.network.Gunicorn** **diagrams.onprem.network.Bind9**
- **diagrams.onprem.network.Haproxy**, **HAProxy** (alias)
- **diagrams.onprem.network.Internet** <img width="30" src="/img/resources/onprem/network/caddy.png" alt="Caddy" style="float: left; padding-right: 5px;" >
- **diagrams.onprem.network.Istio** **diagrams.onprem.network.Caddy**
- **diagrams.onprem.network.Jbossas**
- **diagrams.onprem.network.Jetty** <img width="30" src="/img/resources/onprem/network/consul.png" alt="Consul" style="float: left; padding-right: 5px;" >
- **diagrams.onprem.network.Kong** **diagrams.onprem.network.Consul**
- **diagrams.onprem.network.Linkerd**
- **diagrams.onprem.network.Nginx** <img width="30" src="/img/resources/onprem/network/envoy.png" alt="Envoy" style="float: left; padding-right: 5px;" >
- **diagrams.onprem.network.Ocelot** **diagrams.onprem.network.Envoy**
- **diagrams.onprem.network.OpenServiceMesh**, **OSM** (alias)
- **diagrams.onprem.network.Opnsense**, **OPNSense** (alias) <img width="30" src="/img/resources/onprem/network/etcd.png" alt="Etcd" style="float: left; padding-right: 5px;" >
- **diagrams.onprem.network.Pfsense**, **PFSense** (alias) **diagrams.onprem.network.Etcd**, **ETCD** (alias)
- **diagrams.onprem.network.Pomerium**
- **diagrams.onprem.network.Powerdns** <img width="30" src="/img/resources/onprem/network/glassfish.png" alt="Glassfish" style="float: left; padding-right: 5px;" >
- **diagrams.onprem.network.Tomcat** **diagrams.onprem.network.Glassfish**
- **diagrams.onprem.network.Traefik**
- **diagrams.onprem.network.Vyos**, **VyOS** (alias) <img width="30" src="/img/resources/onprem/network/gunicorn.png" alt="Gunicorn" style="float: left; padding-right: 5px;" >
- **diagrams.onprem.network.Wildfly** **diagrams.onprem.network.Gunicorn**
- **diagrams.onprem.network.Zookeeper**
<img width="30" src="/img/resources/onprem/network/haproxy.png" alt="Haproxy" style="float: left; padding-right: 5px;" >
**diagrams.onprem.network.Haproxy**, **HAProxy** (alias)
<img width="30" src="/img/resources/onprem/network/internet.png" alt="Internet" style="float: left; padding-right: 5px;" >
**diagrams.onprem.network.Internet**
<img width="30" src="/img/resources/onprem/network/istio.png" alt="Istio" style="float: left; padding-right: 5px;" >
**diagrams.onprem.network.Istio**
<img width="30" src="/img/resources/onprem/network/jbossas.png" alt="Jbossas" style="float: left; padding-right: 5px;" >
**diagrams.onprem.network.Jbossas**
<img width="30" src="/img/resources/onprem/network/jetty.png" alt="Jetty" style="float: left; padding-right: 5px;" >
**diagrams.onprem.network.Jetty**
<img width="30" src="/img/resources/onprem/network/kong.png" alt="Kong" style="float: left; padding-right: 5px;" >
**diagrams.onprem.network.Kong**
<img width="30" src="/img/resources/onprem/network/linkerd.png" alt="Linkerd" style="float: left; padding-right: 5px;" >
**diagrams.onprem.network.Linkerd**
<img width="30" src="/img/resources/onprem/network/nginx.png" alt="Nginx" style="float: left; padding-right: 5px;" >
**diagrams.onprem.network.Nginx**
<img width="30" src="/img/resources/onprem/network/ocelot.png" alt="Ocelot" style="float: left; padding-right: 5px;" >
**diagrams.onprem.network.Ocelot**
<img width="30" src="/img/resources/onprem/network/open-service-mesh.png" alt="OpenServiceMesh" style="float: left; padding-right: 5px;" >
**diagrams.onprem.network.OpenServiceMesh**, **OSM** (alias)
<img width="30" src="/img/resources/onprem/network/opnsense.png" alt="Opnsense" style="float: left; padding-right: 5px;" >
**diagrams.onprem.network.Opnsense**, **OPNSense** (alias)
<img width="30" src="/img/resources/onprem/network/pfsense.png" alt="Pfsense" style="float: left; padding-right: 5px;" >
**diagrams.onprem.network.Pfsense**, **PFSense** (alias)
<img width="30" src="/img/resources/onprem/network/pomerium.png" alt="Pomerium" style="float: left; padding-right: 5px;" >
**diagrams.onprem.network.Pomerium**
<img width="30" src="/img/resources/onprem/network/powerdns.png" alt="Powerdns" style="float: left; padding-right: 5px;" >
**diagrams.onprem.network.Powerdns**
<img width="30" src="/img/resources/onprem/network/tomcat.png" alt="Tomcat" style="float: left; padding-right: 5px;" >
**diagrams.onprem.network.Tomcat**
<img width="30" src="/img/resources/onprem/network/traefik.png" alt="Traefik" style="float: left; padding-right: 5px;" >
**diagrams.onprem.network.Traefik**
<img width="30" src="/img/resources/onprem/network/vyos.png" alt="Vyos" style="float: left; padding-right: 5px;" >
**diagrams.onprem.network.Vyos**, **VyOS** (alias)
<img width="30" src="/img/resources/onprem/network/wildfly.png" alt="Wildfly" style="float: left; padding-right: 5px;" >
**diagrams.onprem.network.Wildfly**
<img width="30" src="/img/resources/onprem/network/zookeeper.png" alt="Zookeeper" style="float: left; padding-right: 5px;" >
**diagrams.onprem.network.Zookeeper**
## onprem.proxmox ## onprem.proxmox
- **diagrams.onprem.proxmox.Pve**, **ProxmoxVE** (alias)
<img width="30" src="/img/resources/onprem/proxmox/pve.png" alt="Pve" style="float: left; padding-right: 5px;" >
**diagrams.onprem.proxmox.Pve**, **ProxmoxVE** (alias)
## onprem.queue ## onprem.queue
- **diagrams.onprem.queue.Activemq**, **ActiveMQ** (alias)
- **diagrams.onprem.queue.Celery** <img width="30" src="/img/resources/onprem/queue/activemq.png" alt="Activemq" style="float: left; padding-right: 5px;" >
- **diagrams.onprem.queue.Kafka** **diagrams.onprem.queue.Activemq**, **ActiveMQ** (alias)
- **diagrams.onprem.queue.Nats**
- **diagrams.onprem.queue.Rabbitmq**, **RabbitMQ** (alias) <img width="30" src="/img/resources/onprem/queue/celery.png" alt="Celery" style="float: left; padding-right: 5px;" >
- **diagrams.onprem.queue.Zeromq**, **ZeroMQ** (alias) **diagrams.onprem.queue.Celery**
<img width="30" src="/img/resources/onprem/queue/kafka.png" alt="Kafka" style="float: left; padding-right: 5px;" >
**diagrams.onprem.queue.Kafka**
<img width="30" src="/img/resources/onprem/queue/nats.png" alt="Nats" style="float: left; padding-right: 5px;" >
**diagrams.onprem.queue.Nats**
<img width="30" src="/img/resources/onprem/queue/rabbitmq.png" alt="Rabbitmq" style="float: left; padding-right: 5px;" >
**diagrams.onprem.queue.Rabbitmq**, **RabbitMQ** (alias)
<img width="30" src="/img/resources/onprem/queue/zeromq.png" alt="Zeromq" style="float: left; padding-right: 5px;" >
**diagrams.onprem.queue.Zeromq**, **ZeroMQ** (alias)
## onprem.search ## onprem.search
- **diagrams.onprem.search.Solr**
<img width="30" src="/img/resources/onprem/search/solr.png" alt="Solr" style="float: left; padding-right: 5px;" >
**diagrams.onprem.search.Solr**
## onprem.security ## onprem.security
- **diagrams.onprem.security.Bitwarden**
- **diagrams.onprem.security.Trivy** <img width="30" src="/img/resources/onprem/security/bitwarden.png" alt="Bitwarden" style="float: left; padding-right: 5px;" >
- **diagrams.onprem.security.Vault** **diagrams.onprem.security.Bitwarden**
<img width="30" src="/img/resources/onprem/security/trivy.png" alt="Trivy" style="float: left; padding-right: 5px;" >
**diagrams.onprem.security.Trivy**
<img width="30" src="/img/resources/onprem/security/vault.png" alt="Vault" style="float: left; padding-right: 5px;" >
**diagrams.onprem.security.Vault**
## onprem.storage ## onprem.storage
- **diagrams.onprem.storage.CephOsd**, **CEPH_OSD** (alias)
- **diagrams.onprem.storage.Ceph**, **CEPH** (alias) <img width="30" src="/img/resources/onprem/storage/ceph-osd.png" alt="CephOsd" style="float: left; padding-right: 5px;" >
- **diagrams.onprem.storage.Glusterfs** **diagrams.onprem.storage.CephOsd**, **CEPH_OSD** (alias)
<img width="30" src="/img/resources/onprem/storage/ceph.png" alt="Ceph" style="float: left; padding-right: 5px;" >
**diagrams.onprem.storage.Ceph**, **CEPH** (alias)
<img width="30" src="/img/resources/onprem/storage/glusterfs.png" alt="Glusterfs" style="float: left; padding-right: 5px;" >
**diagrams.onprem.storage.Glusterfs**
## onprem.tracing ## onprem.tracing
- **diagrams.onprem.tracing.Jaeger**
<img width="30" src="/img/resources/onprem/tracing/jaeger.png" alt="Jaeger" style="float: left; padding-right: 5px;" >
**diagrams.onprem.tracing.Jaeger**
## onprem.vcs ## onprem.vcs
- **diagrams.onprem.vcs.Git**
- **diagrams.onprem.vcs.Github** <img width="30" src="/img/resources/onprem/vcs/git.png" alt="Git" style="float: left; padding-right: 5px;" >
- **diagrams.onprem.vcs.Gitlab** **diagrams.onprem.vcs.Git**
<img width="30" src="/img/resources/onprem/vcs/github.png" alt="Github" style="float: left; padding-right: 5px;" >
**diagrams.onprem.vcs.Github**
<img width="30" src="/img/resources/onprem/vcs/gitlab.png" alt="Gitlab" style="float: left; padding-right: 5px;" >
**diagrams.onprem.vcs.Gitlab**
## onprem.workflow ## onprem.workflow
- **diagrams.onprem.workflow.Airflow**
- **diagrams.onprem.workflow.Digdag** <img width="30" src="/img/resources/onprem/workflow/airflow.png" alt="Airflow" style="float: left; padding-right: 5px;" >
- **diagrams.onprem.workflow.Kubeflow**, **KubeFlow** (alias) **diagrams.onprem.workflow.Airflow**
- **diagrams.onprem.workflow.Nifi**, **NiFi** (alias)
<img width="30" src="/img/resources/onprem/workflow/digdag.png" alt="Digdag" style="float: left; padding-right: 5px;" >
**diagrams.onprem.workflow.Digdag**
<img width="30" src="/img/resources/onprem/workflow/kubeflow.png" alt="Kubeflow" style="float: left; padding-right: 5px;" >
**diagrams.onprem.workflow.Kubeflow**, **KubeFlow** (alias)
<img width="30" src="/img/resources/onprem/workflow/nifi.png" alt="Nifi" style="float: left; padding-right: 5px;" >
**diagrams.onprem.workflow.Nifi**, **NiFi** (alias)

@ -10,113 +10,213 @@ Node classes list of openstack provider.
## openstack.apiproxies ## openstack.apiproxies
- **diagrams.openstack.apiproxies.EC2API**
<img width="30" src="/img/resources/openstack/apiproxies/ec2api.png" alt="EC2API" style="float: left; padding-right: 5px;" >
**diagrams.openstack.apiproxies.EC2API**
## openstack.applicationlifecycle ## openstack.applicationlifecycle
- **diagrams.openstack.applicationlifecycle.Freezer**
- **diagrams.openstack.applicationlifecycle.Masakari** <img width="30" src="/img/resources/openstack/applicationlifecycle/freezer.png" alt="Freezer" style="float: left; padding-right: 5px;" >
- **diagrams.openstack.applicationlifecycle.Murano** **diagrams.openstack.applicationlifecycle.Freezer**
- **diagrams.openstack.applicationlifecycle.Solum**
<img width="30" src="/img/resources/openstack/applicationlifecycle/masakari.png" alt="Masakari" style="float: left; padding-right: 5px;" >
**diagrams.openstack.applicationlifecycle.Masakari**
<img width="30" src="/img/resources/openstack/applicationlifecycle/murano.png" alt="Murano" style="float: left; padding-right: 5px;" >
**diagrams.openstack.applicationlifecycle.Murano**
<img width="30" src="/img/resources/openstack/applicationlifecycle/solum.png" alt="Solum" style="float: left; padding-right: 5px;" >
**diagrams.openstack.applicationlifecycle.Solum**
## openstack.baremetal ## openstack.baremetal
- **diagrams.openstack.baremetal.Cyborg**
- **diagrams.openstack.baremetal.Ironic** <img width="30" src="/img/resources/openstack/baremetal/cyborg.png" alt="Cyborg" style="float: left; padding-right: 5px;" >
**diagrams.openstack.baremetal.Cyborg**
<img width="30" src="/img/resources/openstack/baremetal/ironic.png" alt="Ironic" style="float: left; padding-right: 5px;" >
**diagrams.openstack.baremetal.Ironic**
## openstack.billing ## openstack.billing
- **diagrams.openstack.billing.Cloudkitty**, **CloudKitty** (alias)
<img width="30" src="/img/resources/openstack/operations/billing/cloudkitty.png" alt="Cloudkitty" style="float: left; padding-right: 5px;" >
**diagrams.openstack.billing.Cloudkitty**, **CloudKitty** (alias)
## openstack.compute ## openstack.compute
- **diagrams.openstack.compute.Nova**
- **diagrams.openstack.compute.Qinling** <img width="30" src="/img/resources/openstack/compute/nova.png" alt="Nova" style="float: left; padding-right: 5px;" >
- **diagrams.openstack.compute.Zun** **diagrams.openstack.compute.Nova**
<img width="30" src="/img/resources/openstack/compute/qinling.png" alt="Qinling" style="float: left; padding-right: 5px;" >
**diagrams.openstack.compute.Qinling**
<img width="30" src="/img/resources/openstack/compute/zun.png" alt="Zun" style="float: left; padding-right: 5px;" >
**diagrams.openstack.compute.Zun**
## openstack.containerservices ## openstack.containerservices
- **diagrams.openstack.containerservices.Kuryr**
<img width="30" src="/img/resources/openstack/adjacentenablers/containerservices/kuryr.png" alt="Kuryr" style="float: left; padding-right: 5px;" >
**diagrams.openstack.containerservices.Kuryr**
## openstack.deployment ## openstack.deployment
- **diagrams.openstack.deployment.Ansible**
- **diagrams.openstack.deployment.Charms** <img width="30" src="/img/resources/openstack/lifecyclemanagement/deployment/ansible.png" alt="Ansible" style="float: left; padding-right: 5px;" >
- **diagrams.openstack.deployment.Chef** **diagrams.openstack.deployment.Ansible**
- **diagrams.openstack.deployment.Helm**
- **diagrams.openstack.deployment.Kolla**, **KollaAnsible** (alias) <img width="30" src="/img/resources/openstack/lifecyclemanagement/deployment/charms.png" alt="Charms" style="float: left; padding-right: 5px;" >
- **diagrams.openstack.deployment.Tripleo**, **TripleO** (alias) **diagrams.openstack.deployment.Charms**
<img width="30" src="/img/resources/openstack/lifecyclemanagement/deployment/chef.png" alt="Chef" style="float: left; padding-right: 5px;" >
**diagrams.openstack.deployment.Chef**
<img width="30" src="/img/resources/openstack/lifecyclemanagement/deployment/helm.png" alt="Helm" style="float: left; padding-right: 5px;" >
**diagrams.openstack.deployment.Helm**
<img width="30" src="/img/resources/openstack/lifecyclemanagement/deployment/kolla.png" alt="Kolla" style="float: left; padding-right: 5px;" >
**diagrams.openstack.deployment.Kolla**, **KollaAnsible** (alias)
<img width="30" src="/img/resources/openstack/lifecyclemanagement/deployment/tripleo.png" alt="Tripleo" style="float: left; padding-right: 5px;" >
**diagrams.openstack.deployment.Tripleo**, **TripleO** (alias)
## openstack.frontend ## openstack.frontend
- **diagrams.openstack.frontend.Horizon**
<img width="30" src="/img/resources/openstack/frontend/horizon.png" alt="Horizon" style="float: left; padding-right: 5px;" >
**diagrams.openstack.frontend.Horizon**
## openstack.lifecyclemanagement ## openstack.lifecyclemanagement
## openstack.monitoring ## openstack.monitoring
- **diagrams.openstack.monitoring.Monasca**
- **diagrams.openstack.monitoring.Telemetry** <img width="30" src="/img/resources/openstack/operations/monitoring/monasca.png" alt="Monasca" style="float: left; padding-right: 5px;" >
**diagrams.openstack.monitoring.Monasca**
<img width="30" src="/img/resources/openstack/operations/monitoring/telemetry.png" alt="Telemetry" style="float: left; padding-right: 5px;" >
**diagrams.openstack.monitoring.Telemetry**
## openstack.multiregion ## openstack.multiregion
- **diagrams.openstack.multiregion.Tricircle**
<img width="30" src="/img/resources/openstack/operations/multiregion/tricircle.png" alt="Tricircle" style="float: left; padding-right: 5px;" >
**diagrams.openstack.multiregion.Tricircle**
## openstack.networking ## openstack.networking
- **diagrams.openstack.networking.Designate**
- **diagrams.openstack.networking.Neutron** <img width="30" src="/img/resources/openstack/networking/designate.png" alt="Designate" style="float: left; padding-right: 5px;" >
- **diagrams.openstack.networking.Octavia** **diagrams.openstack.networking.Designate**
<img width="30" src="/img/resources/openstack/networking/neutron.png" alt="Neutron" style="float: left; padding-right: 5px;" >
**diagrams.openstack.networking.Neutron**
<img width="30" src="/img/resources/openstack/networking/octavia.png" alt="Octavia" style="float: left; padding-right: 5px;" >
**diagrams.openstack.networking.Octavia**
## openstack.nfv ## openstack.nfv
- **diagrams.openstack.nfv.Tacker**
<img width="30" src="/img/resources/openstack/adjacentenablers/nfv/tacker.png" alt="Tacker" style="float: left; padding-right: 5px;" >
**diagrams.openstack.nfv.Tacker**
## openstack.operations ## openstack.operations
## openstack.optimization ## openstack.optimization
- **diagrams.openstack.optimization.Congress**
- **diagrams.openstack.optimization.Rally** <img width="30" src="/img/resources/openstack/operations/optimization/congress.png" alt="Congress" style="float: left; padding-right: 5px;" >
- **diagrams.openstack.optimization.Vitrage** **diagrams.openstack.optimization.Congress**
- **diagrams.openstack.optimization.Watcher**
<img width="30" src="/img/resources/openstack/operations/optimization/rally.png" alt="Rally" style="float: left; padding-right: 5px;" >
**diagrams.openstack.optimization.Rally**
<img width="30" src="/img/resources/openstack/operations/optimization/vitrage.png" alt="Vitrage" style="float: left; padding-right: 5px;" >
**diagrams.openstack.optimization.Vitrage**
<img width="30" src="/img/resources/openstack/operations/optimization/watcher.png" alt="Watcher" style="float: left; padding-right: 5px;" >
**diagrams.openstack.optimization.Watcher**
## openstack.orchestration ## openstack.orchestration
- **diagrams.openstack.orchestration.Blazar**
- **diagrams.openstack.orchestration.Heat** <img width="30" src="/img/resources/openstack/orchestration/blazar.png" alt="Blazar" style="float: left; padding-right: 5px;" >
- **diagrams.openstack.orchestration.Mistral** **diagrams.openstack.orchestration.Blazar**
- **diagrams.openstack.orchestration.Senlin**
- **diagrams.openstack.orchestration.Zaqar** <img width="30" src="/img/resources/openstack/orchestration/heat.png" alt="Heat" style="float: left; padding-right: 5px;" >
**diagrams.openstack.orchestration.Heat**
<img width="30" src="/img/resources/openstack/orchestration/mistral.png" alt="Mistral" style="float: left; padding-right: 5px;" >
**diagrams.openstack.orchestration.Mistral**
<img width="30" src="/img/resources/openstack/orchestration/senlin.png" alt="Senlin" style="float: left; padding-right: 5px;" >
**diagrams.openstack.orchestration.Senlin**
<img width="30" src="/img/resources/openstack/orchestration/zaqar.png" alt="Zaqar" style="float: left; padding-right: 5px;" >
**diagrams.openstack.orchestration.Zaqar**
## openstack.packaging ## openstack.packaging
- **diagrams.openstack.packaging.LOCI**
- **diagrams.openstack.packaging.Puppet** <img width="30" src="/img/resources/openstack/lifecyclemanagement/packaging/loci.png" alt="LOCI" style="float: left; padding-right: 5px;" >
- **diagrams.openstack.packaging.RPM** **diagrams.openstack.packaging.LOCI**
<img width="30" src="/img/resources/openstack/lifecyclemanagement/packaging/puppet.png" alt="Puppet" style="float: left; padding-right: 5px;" >
**diagrams.openstack.packaging.Puppet**
<img width="30" src="/img/resources/openstack/lifecyclemanagement/packaging/rpm.png" alt="RPM" style="float: left; padding-right: 5px;" >
**diagrams.openstack.packaging.RPM**
## openstack.sharedservices ## openstack.sharedservices
- **diagrams.openstack.sharedservices.Barbican**
- **diagrams.openstack.sharedservices.Glance** <img width="30" src="/img/resources/openstack/sharedservices/barbican.png" alt="Barbican" style="float: left; padding-right: 5px;" >
- **diagrams.openstack.sharedservices.Karbor** **diagrams.openstack.sharedservices.Barbican**
- **diagrams.openstack.sharedservices.Keystone**
- **diagrams.openstack.sharedservices.Searchlight** <img width="30" src="/img/resources/openstack/sharedservices/glance.png" alt="Glance" style="float: left; padding-right: 5px;" >
**diagrams.openstack.sharedservices.Glance**
<img width="30" src="/img/resources/openstack/sharedservices/karbor.png" alt="Karbor" style="float: left; padding-right: 5px;" >
**diagrams.openstack.sharedservices.Karbor**
<img width="30" src="/img/resources/openstack/sharedservices/keystone.png" alt="Keystone" style="float: left; padding-right: 5px;" >
**diagrams.openstack.sharedservices.Keystone**
<img width="30" src="/img/resources/openstack/sharedservices/searchlight.png" alt="Searchlight" style="float: left; padding-right: 5px;" >
**diagrams.openstack.sharedservices.Searchlight**
## openstack.storage ## openstack.storage
- **diagrams.openstack.storage.Cinder**
- **diagrams.openstack.storage.Manila** <img width="30" src="/img/resources/openstack/storage/cinder.png" alt="Cinder" style="float: left; padding-right: 5px;" >
- **diagrams.openstack.storage.Swift** **diagrams.openstack.storage.Cinder**
<img width="30" src="/img/resources/openstack/storage/manila.png" alt="Manila" style="float: left; padding-right: 5px;" >
**diagrams.openstack.storage.Manila**
<img width="30" src="/img/resources/openstack/storage/swift.png" alt="Swift" style="float: left; padding-right: 5px;" >
**diagrams.openstack.storage.Swift**
## openstack.user ## openstack.user
- **diagrams.openstack.user.Openstackclient**, **OpenStackClient** (alias)
<img width="30" src="/img/resources/openstack/user/openstackclient.png" alt="Openstackclient" style="float: left; padding-right: 5px;" >
**diagrams.openstack.user.Openstackclient**, **OpenStackClient** (alias)
## openstack.workloadprovisioning ## openstack.workloadprovisioning
- **diagrams.openstack.workloadprovisioning.Magnum**
- **diagrams.openstack.workloadprovisioning.Sahara** <img width="30" src="/img/resources/openstack/workloadprovisioning/magnum.png" alt="Magnum" style="float: left; padding-right: 5px;" >
- **diagrams.openstack.workloadprovisioning.Trove** **diagrams.openstack.workloadprovisioning.Magnum**
<img width="30" src="/img/resources/openstack/workloadprovisioning/sahara.png" alt="Sahara" style="float: left; padding-right: 5px;" >
**diagrams.openstack.workloadprovisioning.Sahara**
<img width="30" src="/img/resources/openstack/workloadprovisioning/trove.png" alt="Trove" style="float: left; padding-right: 5px;" >
**diagrams.openstack.workloadprovisioning.Trove**

@ -7,24 +7,48 @@ Node classes list of outscale provider.
## outscale.compute ## outscale.compute
- **diagrams.outscale.compute.Compute**
- **diagrams.outscale.compute.DirectConnect** <img width="30" src="/img/resources/outscale/compute/compute.png" alt="Compute" style="float: left; padding-right: 5px;" >
**diagrams.outscale.compute.Compute**
<img width="30" src="/img/resources/outscale/compute/direct-connect.png" alt="DirectConnect" style="float: left; padding-right: 5px;" >
**diagrams.outscale.compute.DirectConnect**
## outscale.network ## outscale.network
- **diagrams.outscale.network.ClientVpn**
- **diagrams.outscale.network.InternetService** <img width="30" src="/img/resources/outscale/network/client-vpn.png" alt="ClientVpn" style="float: left; padding-right: 5px;" >
- **diagrams.outscale.network.LoadBalancer** **diagrams.outscale.network.ClientVpn**
- **diagrams.outscale.network.NatService**
- **diagrams.outscale.network.Net** <img width="30" src="/img/resources/outscale/network/internet-service.png" alt="InternetService" style="float: left; padding-right: 5px;" >
- **diagrams.outscale.network.SiteToSiteVpng** **diagrams.outscale.network.InternetService**
<img width="30" src="/img/resources/outscale/network/load-balancer.png" alt="LoadBalancer" style="float: left; padding-right: 5px;" >
**diagrams.outscale.network.LoadBalancer**
<img width="30" src="/img/resources/outscale/network/nat-service.png" alt="NatService" style="float: left; padding-right: 5px;" >
**diagrams.outscale.network.NatService**
<img width="30" src="/img/resources/outscale/network/net.png" alt="Net" style="float: left; padding-right: 5px;" >
**diagrams.outscale.network.Net**
<img width="30" src="/img/resources/outscale/network/site-to-site-vpng.png" alt="SiteToSiteVpng" style="float: left; padding-right: 5px;" >
**diagrams.outscale.network.SiteToSiteVpng**
## outscale.security ## outscale.security
- **diagrams.outscale.security.Firewall**
- **diagrams.outscale.security.IdentityAndAccessManagement** <img width="30" src="/img/resources/outscale/security/firewall.png" alt="Firewall" style="float: left; padding-right: 5px;" >
**diagrams.outscale.security.Firewall**
<img width="30" src="/img/resources/outscale/security/identity-and-access-management.png" alt="IdentityAndAccessManagement" style="float: left; padding-right: 5px;" >
**diagrams.outscale.security.IdentityAndAccessManagement**
## outscale.storage ## outscale.storage
- **diagrams.outscale.storage.SimpleStorageService**
- **diagrams.outscale.storage.Storage** <img width="30" src="/img/resources/outscale/storage/simple-storage-service.png" alt="SimpleStorageService" style="float: left; padding-right: 5px;" >
**diagrams.outscale.storage.SimpleStorageService**
<img width="30" src="/img/resources/outscale/storage/storage.png" alt="Storage" style="float: left; padding-right: 5px;" >
**diagrams.outscale.storage.Storage**

@ -7,67 +7,183 @@ Node classes list of programming provider.
## programming.flowchart ## programming.flowchart
- **diagrams.programming.flowchart.Action**
- **diagrams.programming.flowchart.Collate** <img width="30" src="/img/resources/programming/flowchart/action.png" alt="Action" style="float: left; padding-right: 5px;" >
- **diagrams.programming.flowchart.Database** **diagrams.programming.flowchart.Action**
- **diagrams.programming.flowchart.Decision**
- **diagrams.programming.flowchart.Delay** <img width="30" src="/img/resources/programming/flowchart/collate.png" alt="Collate" style="float: left; padding-right: 5px;" >
- **diagrams.programming.flowchart.Display** **diagrams.programming.flowchart.Collate**
- **diagrams.programming.flowchart.Document**
- **diagrams.programming.flowchart.InputOutput** <img width="30" src="/img/resources/programming/flowchart/database.png" alt="Database" style="float: left; padding-right: 5px;" >
- **diagrams.programming.flowchart.Inspection** **diagrams.programming.flowchart.Database**
- **diagrams.programming.flowchart.InternalStorage**
- **diagrams.programming.flowchart.LoopLimit** <img width="30" src="/img/resources/programming/flowchart/decision.png" alt="Decision" style="float: left; padding-right: 5px;" >
- **diagrams.programming.flowchart.ManualInput** **diagrams.programming.flowchart.Decision**
- **diagrams.programming.flowchart.ManualLoop**
- **diagrams.programming.flowchart.Merge** <img width="30" src="/img/resources/programming/flowchart/delay.png" alt="Delay" style="float: left; padding-right: 5px;" >
- **diagrams.programming.flowchart.MultipleDocuments** **diagrams.programming.flowchart.Delay**
- **diagrams.programming.flowchart.OffPageConnectorLeft**
- **diagrams.programming.flowchart.OffPageConnectorRight** <img width="30" src="/img/resources/programming/flowchart/display.png" alt="Display" style="float: left; padding-right: 5px;" >
- **diagrams.programming.flowchart.Or** **diagrams.programming.flowchart.Display**
- **diagrams.programming.flowchart.PredefinedProcess**
- **diagrams.programming.flowchart.Preparation** <img width="30" src="/img/resources/programming/flowchart/document.png" alt="Document" style="float: left; padding-right: 5px;" >
- **diagrams.programming.flowchart.Sort** **diagrams.programming.flowchart.Document**
- **diagrams.programming.flowchart.StartEnd**
- **diagrams.programming.flowchart.StoredData** <img width="30" src="/img/resources/programming/flowchart/input-output.png" alt="InputOutput" style="float: left; padding-right: 5px;" >
- **diagrams.programming.flowchart.SummingJunction** **diagrams.programming.flowchart.InputOutput**
<img width="30" src="/img/resources/programming/flowchart/inspection.png" alt="Inspection" style="float: left; padding-right: 5px;" >
**diagrams.programming.flowchart.Inspection**
<img width="30" src="/img/resources/programming/flowchart/internal-storage.png" alt="InternalStorage" style="float: left; padding-right: 5px;" >
**diagrams.programming.flowchart.InternalStorage**
<img width="30" src="/img/resources/programming/flowchart/loop-limit.png" alt="LoopLimit" style="float: left; padding-right: 5px;" >
**diagrams.programming.flowchart.LoopLimit**
<img width="30" src="/img/resources/programming/flowchart/manual-input.png" alt="ManualInput" style="float: left; padding-right: 5px;" >
**diagrams.programming.flowchart.ManualInput**
<img width="30" src="/img/resources/programming/flowchart/manual-loop.png" alt="ManualLoop" style="float: left; padding-right: 5px;" >
**diagrams.programming.flowchart.ManualLoop**
<img width="30" src="/img/resources/programming/flowchart/merge.png" alt="Merge" style="float: left; padding-right: 5px;" >
**diagrams.programming.flowchart.Merge**
<img width="30" src="/img/resources/programming/flowchart/multiple-documents.png" alt="MultipleDocuments" style="float: left; padding-right: 5px;" >
**diagrams.programming.flowchart.MultipleDocuments**
<img width="30" src="/img/resources/programming/flowchart/off-page-connector-left.png" alt="OffPageConnectorLeft" style="float: left; padding-right: 5px;" >
**diagrams.programming.flowchart.OffPageConnectorLeft**
<img width="30" src="/img/resources/programming/flowchart/off-page-connector-right.png" alt="OffPageConnectorRight" style="float: left; padding-right: 5px;" >
**diagrams.programming.flowchart.OffPageConnectorRight**
<img width="30" src="/img/resources/programming/flowchart/or.png" alt="Or" style="float: left; padding-right: 5px;" >
**diagrams.programming.flowchart.Or**
<img width="30" src="/img/resources/programming/flowchart/predefined-process.png" alt="PredefinedProcess" style="float: left; padding-right: 5px;" >
**diagrams.programming.flowchart.PredefinedProcess**
<img width="30" src="/img/resources/programming/flowchart/preparation.png" alt="Preparation" style="float: left; padding-right: 5px;" >
**diagrams.programming.flowchart.Preparation**
<img width="30" src="/img/resources/programming/flowchart/sort.png" alt="Sort" style="float: left; padding-right: 5px;" >
**diagrams.programming.flowchart.Sort**
<img width="30" src="/img/resources/programming/flowchart/start-end.png" alt="StartEnd" style="float: left; padding-right: 5px;" >
**diagrams.programming.flowchart.StartEnd**
<img width="30" src="/img/resources/programming/flowchart/stored-data.png" alt="StoredData" style="float: left; padding-right: 5px;" >
**diagrams.programming.flowchart.StoredData**
<img width="30" src="/img/resources/programming/flowchart/summing-junction.png" alt="SummingJunction" style="float: left; padding-right: 5px;" >
**diagrams.programming.flowchart.SummingJunction**
## programming.framework ## programming.framework
- **diagrams.programming.framework.Angular**
- **diagrams.programming.framework.Backbone** <img width="30" src="/img/resources/programming/framework/angular.png" alt="Angular" style="float: left; padding-right: 5px;" >
- **diagrams.programming.framework.Django** **diagrams.programming.framework.Angular**
- **diagrams.programming.framework.Ember**
- **diagrams.programming.framework.Fastapi**, **FastAPI** (alias) <img width="30" src="/img/resources/programming/framework/backbone.png" alt="Backbone" style="float: left; padding-right: 5px;" >
- **diagrams.programming.framework.Flask** **diagrams.programming.framework.Backbone**
- **diagrams.programming.framework.Flutter**
- **diagrams.programming.framework.Laravel** <img width="30" src="/img/resources/programming/framework/django.png" alt="Django" style="float: left; padding-right: 5px;" >
- **diagrams.programming.framework.Micronaut** **diagrams.programming.framework.Django**
- **diagrams.programming.framework.Rails**
- **diagrams.programming.framework.React** <img width="30" src="/img/resources/programming/framework/ember.png" alt="Ember" style="float: left; padding-right: 5px;" >
- **diagrams.programming.framework.Spring** **diagrams.programming.framework.Ember**
- **diagrams.programming.framework.Vue**
<img width="30" src="/img/resources/programming/framework/fastapi.png" alt="Fastapi" style="float: left; padding-right: 5px;" >
**diagrams.programming.framework.Fastapi**, **FastAPI** (alias)
<img width="30" src="/img/resources/programming/framework/flask.png" alt="Flask" style="float: left; padding-right: 5px;" >
**diagrams.programming.framework.Flask**
<img width="30" src="/img/resources/programming/framework/flutter.png" alt="Flutter" style="float: left; padding-right: 5px;" >
**diagrams.programming.framework.Flutter**
<img width="30" src="/img/resources/programming/framework/laravel.png" alt="Laravel" style="float: left; padding-right: 5px;" >
**diagrams.programming.framework.Laravel**
<img width="30" src="/img/resources/programming/framework/micronaut.png" alt="Micronaut" style="float: left; padding-right: 5px;" >
**diagrams.programming.framework.Micronaut**
<img width="30" src="/img/resources/programming/framework/rails.png" alt="Rails" style="float: left; padding-right: 5px;" >
**diagrams.programming.framework.Rails**
<img width="30" src="/img/resources/programming/framework/react.png" alt="React" style="float: left; padding-right: 5px;" >
**diagrams.programming.framework.React**
<img width="30" src="/img/resources/programming/framework/spring.png" alt="Spring" style="float: left; padding-right: 5px;" >
**diagrams.programming.framework.Spring**
<img width="30" src="/img/resources/programming/framework/vue.png" alt="Vue" style="float: left; padding-right: 5px;" >
**diagrams.programming.framework.Vue**
## programming.language ## programming.language
- **diagrams.programming.language.Bash**
- **diagrams.programming.language.C** <img width="30" src="/img/resources/programming/language/bash.png" alt="Bash" style="float: left; padding-right: 5px;" >
- **diagrams.programming.language.Cpp** **diagrams.programming.language.Bash**
- **diagrams.programming.language.Csharp**
- **diagrams.programming.language.Dart** <img width="30" src="/img/resources/programming/language/c.png" alt="C" style="float: left; padding-right: 5px;" >
- **diagrams.programming.language.Elixir** **diagrams.programming.language.C**
- **diagrams.programming.language.Erlang**
- **diagrams.programming.language.Go** <img width="30" src="/img/resources/programming/language/cpp.png" alt="Cpp" style="float: left; padding-right: 5px;" >
- **diagrams.programming.language.Java** **diagrams.programming.language.Cpp**
- **diagrams.programming.language.Javascript**, **JavaScript** (alias)
- **diagrams.programming.language.Kotlin** <img width="30" src="/img/resources/programming/language/csharp.png" alt="Csharp" style="float: left; padding-right: 5px;" >
- **diagrams.programming.language.Matlab** **diagrams.programming.language.Csharp**
- **diagrams.programming.language.Nodejs**, **NodeJS** (alias)
- **diagrams.programming.language.Php**, **PHP** (alias) <img width="30" src="/img/resources/programming/language/dart.png" alt="Dart" style="float: left; padding-right: 5px;" >
- **diagrams.programming.language.Python** **diagrams.programming.language.Dart**
- **diagrams.programming.language.R**
- **diagrams.programming.language.Ruby** <img width="30" src="/img/resources/programming/language/elixir.png" alt="Elixir" style="float: left; padding-right: 5px;" >
- **diagrams.programming.language.Rust** **diagrams.programming.language.Elixir**
- **diagrams.programming.language.Scala**
- **diagrams.programming.language.Swift** <img width="30" src="/img/resources/programming/language/erlang.png" alt="Erlang" style="float: left; padding-right: 5px;" >
- **diagrams.programming.language.Typescript**, **TypeScript** (alias) **diagrams.programming.language.Erlang**
<img width="30" src="/img/resources/programming/language/go.png" alt="Go" style="float: left; padding-right: 5px;" >
**diagrams.programming.language.Go**
<img width="30" src="/img/resources/programming/language/java.png" alt="Java" style="float: left; padding-right: 5px;" >
**diagrams.programming.language.Java**
<img width="30" src="/img/resources/programming/language/javascript.png" alt="Javascript" style="float: left; padding-right: 5px;" >
**diagrams.programming.language.Javascript**, **JavaScript** (alias)
<img width="30" src="/img/resources/programming/language/kotlin.png" alt="Kotlin" style="float: left; padding-right: 5px;" >
**diagrams.programming.language.Kotlin**
<img width="30" src="/img/resources/programming/language/matlab.png" alt="Matlab" style="float: left; padding-right: 5px;" >
**diagrams.programming.language.Matlab**
<img width="30" src="/img/resources/programming/language/nodejs.png" alt="Nodejs" style="float: left; padding-right: 5px;" >
**diagrams.programming.language.Nodejs**, **NodeJS** (alias)
<img width="30" src="/img/resources/programming/language/php.png" alt="Php" style="float: left; padding-right: 5px;" >
**diagrams.programming.language.Php**, **PHP** (alias)
<img width="30" src="/img/resources/programming/language/python.png" alt="Python" style="float: left; padding-right: 5px;" >
**diagrams.programming.language.Python**
<img width="30" src="/img/resources/programming/language/r.png" alt="R" style="float: left; padding-right: 5px;" >
**diagrams.programming.language.R**
<img width="30" src="/img/resources/programming/language/ruby.png" alt="Ruby" style="float: left; padding-right: 5px;" >
**diagrams.programming.language.Ruby**
<img width="30" src="/img/resources/programming/language/rust.png" alt="Rust" style="float: left; padding-right: 5px;" >
**diagrams.programming.language.Rust**
<img width="30" src="/img/resources/programming/language/scala.png" alt="Scala" style="float: left; padding-right: 5px;" >
**diagrams.programming.language.Scala**
<img width="30" src="/img/resources/programming/language/swift.png" alt="Swift" style="float: left; padding-right: 5px;" >
**diagrams.programming.language.Swift**
<img width="30" src="/img/resources/programming/language/typescript.png" alt="Typescript" style="float: left; padding-right: 5px;" >
**diagrams.programming.language.Typescript**, **TypeScript** (alias)

@ -7,53 +7,99 @@ Node classes list of saas provider.
## saas.alerting ## saas.alerting
- **diagrams.saas.alerting.Newrelic**
- **diagrams.saas.alerting.Opsgenie** <img width="30" src="/img/resources/saas/alerting/newrelic.png" alt="Newrelic" style="float: left; padding-right: 5px;" >
- **diagrams.saas.alerting.Pushover** **diagrams.saas.alerting.Newrelic**
<img width="30" src="/img/resources/saas/alerting/opsgenie.png" alt="Opsgenie" style="float: left; padding-right: 5px;" >
**diagrams.saas.alerting.Opsgenie**
<img width="30" src="/img/resources/saas/alerting/pushover.png" alt="Pushover" style="float: left; padding-right: 5px;" >
**diagrams.saas.alerting.Pushover**
## saas.analytics ## saas.analytics
- **diagrams.saas.analytics.Snowflake**
- **diagrams.saas.analytics.Stitch** <img width="30" src="/img/resources/saas/analytics/snowflake.png" alt="Snowflake" style="float: left; padding-right: 5px;" >
**diagrams.saas.analytics.Snowflake**
<img width="30" src="/img/resources/saas/analytics/stitch.png" alt="Stitch" style="float: left; padding-right: 5px;" >
**diagrams.saas.analytics.Stitch**
## saas.cdn ## saas.cdn
- **diagrams.saas.cdn.Akamai**
- **diagrams.saas.cdn.Cloudflare** <img width="30" src="/img/resources/saas/cdn/akamai.png" alt="Akamai" style="float: left; padding-right: 5px;" >
**diagrams.saas.cdn.Akamai**
<img width="30" src="/img/resources/saas/cdn/cloudflare.png" alt="Cloudflare" style="float: left; padding-right: 5px;" >
**diagrams.saas.cdn.Cloudflare**
## saas.chat ## saas.chat
- **diagrams.saas.chat.Discord**
- **diagrams.saas.chat.Mattermost** <img width="30" src="/img/resources/saas/chat/discord.png" alt="Discord" style="float: left; padding-right: 5px;" >
- **diagrams.saas.chat.RocketChat** **diagrams.saas.chat.Discord**
- **diagrams.saas.chat.Slack**
- **diagrams.saas.chat.Teams** <img width="30" src="/img/resources/saas/chat/mattermost.png" alt="Mattermost" style="float: left; padding-right: 5px;" >
- **diagrams.saas.chat.Telegram** **diagrams.saas.chat.Mattermost**
<img width="30" src="/img/resources/saas/chat/rocket-chat.png" alt="RocketChat" style="float: left; padding-right: 5px;" >
**diagrams.saas.chat.RocketChat**
<img width="30" src="/img/resources/saas/chat/slack.png" alt="Slack" style="float: left; padding-right: 5px;" >
**diagrams.saas.chat.Slack**
<img width="30" src="/img/resources/saas/chat/teams.png" alt="Teams" style="float: left; padding-right: 5px;" >
**diagrams.saas.chat.Teams**
<img width="30" src="/img/resources/saas/chat/telegram.png" alt="Telegram" style="float: left; padding-right: 5px;" >
**diagrams.saas.chat.Telegram**
## saas.filesharing ## saas.filesharing
- **diagrams.saas.filesharing.Nextcloud**
<img width="30" src="/img/resources/saas/filesharing/nextcloud.png" alt="Nextcloud" style="float: left; padding-right: 5px;" >
**diagrams.saas.filesharing.Nextcloud**
## saas.identity ## saas.identity
- **diagrams.saas.identity.Auth0**
- **diagrams.saas.identity.Okta** <img width="30" src="/img/resources/saas/identity/auth0.png" alt="Auth0" style="float: left; padding-right: 5px;" >
**diagrams.saas.identity.Auth0**
<img width="30" src="/img/resources/saas/identity/okta.png" alt="Okta" style="float: left; padding-right: 5px;" >
**diagrams.saas.identity.Okta**
## saas.logging ## saas.logging
- **diagrams.saas.logging.Datadog**, **DataDog** (alias)
- **diagrams.saas.logging.Newrelic**, **NewRelic** (alias) <img width="30" src="/img/resources/saas/logging/datadog.png" alt="Datadog" style="float: left; padding-right: 5px;" >
- **diagrams.saas.logging.Papertrail** **diagrams.saas.logging.Datadog**, **DataDog** (alias)
<img width="30" src="/img/resources/saas/logging/newrelic.png" alt="Newrelic" style="float: left; padding-right: 5px;" >
**diagrams.saas.logging.Newrelic**, **NewRelic** (alias)
<img width="30" src="/img/resources/saas/logging/papertrail.png" alt="Papertrail" style="float: left; padding-right: 5px;" >
**diagrams.saas.logging.Papertrail**
## saas.media ## saas.media
- **diagrams.saas.media.Cloudinary**
<img width="30" src="/img/resources/saas/media/cloudinary.png" alt="Cloudinary" style="float: left; padding-right: 5px;" >
**diagrams.saas.media.Cloudinary**
## saas.recommendation ## saas.recommendation
- **diagrams.saas.recommendation.Recombee**
<img width="30" src="/img/resources/saas/recommendation/recombee.png" alt="Recombee" style="float: left; padding-right: 5px;" >
**diagrams.saas.recommendation.Recombee**
## saas.social ## saas.social
- **diagrams.saas.social.Facebook**
- **diagrams.saas.social.Twitter** <img width="30" src="/img/resources/saas/social/facebook.png" alt="Facebook" style="float: left; padding-right: 5px;" >
**diagrams.saas.social.Facebook**
<img width="30" src="/img/resources/saas/social/twitter.png" alt="Twitter" style="float: left; padding-right: 5px;" >
**diagrams.saas.social.Twitter**

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

@ -4,21 +4,21 @@ from pathlib import Path
import config as cfg import config as cfg
def base_dir() -> str:
return Path(os.path.abspath(os.path.dirname(__file__))).parent
def app_root_dir(pvd: str) -> str: def app_root_dir(pvd: str) -> str:
basedir = Path(os.path.abspath(os.path.dirname(__file__))) return os.path.join(base_dir(), cfg.DIR_APP_ROOT, pvd)
return os.path.join(basedir.parent, cfg.DIR_APP_ROOT, pvd)
def doc_root_dir() -> str: def doc_root_dir() -> str:
basedir = Path(os.path.abspath(os.path.dirname(__file__))) return os.path.join(base_dir(), cfg.DIR_DOC_ROOT)
return os.path.join(basedir.parent, cfg.DIR_DOC_ROOT)
def resource_dir(pvd: str) -> str: def resource_dir(pvd: str) -> str:
basedir = Path(os.path.abspath(os.path.dirname(__file__))) return os.path.join(base_dir(), cfg.DIR_RESOURCE, pvd)
return os.path.join(basedir.parent, cfg.DIR_RESOURCE, pvd)
def template_dir() -> str: def template_dir() -> str:
basedir = Path(os.path.abspath(os.path.dirname(__file__))) return os.path.join(base_dir(), cfg.DIR_TEMPLATE)
return os.path.join(basedir.parent, cfg.DIR_TEMPLATE)

@ -5,7 +5,7 @@ from typing import Iterable
from jinja2 import Environment, FileSystemLoader, Template, exceptions from jinja2 import Environment, FileSystemLoader, Template, exceptions
import config as cfg import config as cfg
from . import app_root_dir, doc_root_dir, resource_dir, template_dir from scripts import app_root_dir, doc_root_dir, resource_dir, template_dir, base_dir
_usage = "Usage: generate.py <provider>" _usage = "Usage: generate.py <provider>"
@ -55,11 +55,13 @@ def gen_apidoc(pvd: str, typ_paths: dict) -> str:
return name return name
typ_classes = {} typ_classes = {}
for typ, paths in sorted(typ_paths.items()): for typ, (paths, resource_root) in sorted(typ_paths.items()):
typ_classes[typ] = [] typ_classes[typ] = []
for name in map(_gen_class_name, paths): for path in paths:
name = _gen_class_name(path)
resource_path = os.path.join(resource_root, path)
alias = cfg.ALIASES[pvd].get(typ, {}).get(name) alias = cfg.ALIASES[pvd].get(typ, {}).get(name)
typ_classes[typ].append({"name": name, "alias": alias}) typ_classes[typ].append({"name": name, "alias": alias, "resource_path": resource_path})
return tmpl.render(pvd=pvd, typ_classes=typ_classes) return tmpl.render(pvd=pvd, typ_classes=typ_classes)
@ -80,6 +82,7 @@ def make_apidoc(pvd: str, content: str) -> None:
def generate(pvd: str) -> None: def generate(pvd: str) -> None:
"""Generates a service node classes.""" """Generates a service node classes."""
typ_paths = {} typ_paths = {}
base = base_dir()
for root, _, files in os.walk(resource_dir(pvd)): for root, _, files in os.walk(resource_dir(pvd)):
# Extract the names and paths from resources. # Extract the names and paths from resources.
files.sort() files.sort()
@ -91,10 +94,12 @@ def generate(pvd: str) -> None:
if typ == pvd: if typ == pvd:
continue continue
resource_root = os.path.relpath(root, base)
classes = gen_classes(pvd, typ, paths) classes = gen_classes(pvd, typ, paths)
make_module(pvd, typ, classes) make_module(pvd, typ, classes)
typ_paths[typ] = paths
typ_paths[typ] = (paths, resource_root)
# Build API documentation # Build API documentation
apidoc = gen_apidoc(pvd, typ_paths) apidoc = gen_apidoc(pvd, typ_paths)
make_apidoc(pvd, apidoc) make_apidoc(pvd, apidoc)

@ -7,5 +7,7 @@ Node classes list of {{ pvd }} provider.
{% for typ, classes in typ_classes.items() %} {% for typ, classes in typ_classes.items() %}
## {{ pvd }}.{{ typ }} ## {{ pvd }}.{{ typ }}
{% for class in classes %} {% for class in classes %}
- **diagrams.{{ pvd }}.{{ typ }}.{{ class['name'] }}**{% if class['alias'] %}, **{{ class['alias'] }}** (alias){% endif %}{% endfor %}
<img width="30" src="/img/{{ class['resource_path'] }}" alt="{{ class['name'] }}" style="float: left; padding-right: 5px;" >
**diagrams.{{ pvd }}.{{ typ }}.{{ class['name'] }}**{% if class['alias'] %}, **{{ class['alias'] }}** (alias){% endif %}{% endfor %}
{% endfor %} {% endfor %}

Loading…
Cancel
Save