You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
diagrams/config.py

149 lines
4.0 KiB

# fmt: off
#########################
# Application #
#########################
APP_NAME = "diagrams"
DIR_APP_ROOT = "diagrams"
DIR_RESOURCE = "resources"
DIR_TEMPLATE = "templates"
PROVIDERS = ("base", "aws", "azure", "gcp")
#########################
# Resource Processing #
#########################
CMD_ROUND = "round"
CMD_ROUND_OPTS = ("-w",)
CMD_SVG2PNG = "inkscape"
CMD_SVG2PNG_OPTS = ("-z", "-w", "256", "-h", "256", "--export-type", "png")
FILE_PREFIXES = {
"aws": ("amazon-", "aws-"),
"azure": ("azure-",),
"gcp": ("cloud-",)
}
#########################
# Class Auto Generation #
#########################
TMPL_MODULE = "module.tmpl"
UPPER_WORDS = {
"aws": ("aws", "api", "ebs", "ec2", "efs", "emr", "rds", "ml", "mq", "vpc", "waf"),
"azure": ("ad", "b2c", "ai", "api", "cdn", "ddos", "dns", "fxt", "hana", "hd", "id", "sap", "sql", "vm"),
"gcp": ("gcp", "ai", "api", "cdn", "dns", "gke", "gpu", "ml", "nat", "os", "sdk", "sql", "tpu", "vpn"),
}
# TODO: check if the classname exists
ALIASES = {
"aws": {
"analytics": {
"ElasticsearchService": "ES",
},
"compute": {
"ApplicationAutoScaling": "AutoScaling",
"EC2ContainerRegistry": "ECR",
"ElasticBeanstalk": "EB",
"ElasticContainerService": "ECS",
"ElasticKubernetesService": "EKS",
"ServerlessApplicationRepository": "SAR",
},
"database": {
"DatabaseMigrationService": "DMS",
"DocumentdbMongodbCompatibility": "DocumentDB",
"Database": "DB",
"Dynamodb": "DDB",
"Elasticache": "ElastiCache",
"QuantumLedgerDatabaseQldb": "QLDB",
},
"devtools": {
"CommandLineInterface": "CLI",
"DeveloperTools": "DevTools",
},
"integration": {
"SimpleNotificationServiceSns": "SNS",
"SimpleQueueServiceSqs": "SQS",
"StepFunctions": "SF",
},
"iot": {
"Freertos": "FreeRTOS",
},
"migration": {
"ApplicationDiscoveryService": "ADS",
"CloudendureMigration": "CEM",
"DatabaseMigrationService": "DMS",
"MigrationAndTransfer": "MAT",
"ServerMigrationService": "SMS",
},
"ml": {
"DeepLearningContainers": "DLC",
},
"network": {
"Cloudfront": "CF",
"ElasticLoadBalancing": "ELB",
"GlobalAccelerator": "GAX",
},
"security": {
"CertificateManager": "ACM",
"Cloudhsm": "CloudHSM",
"DirectoryService": "DS",
"FirewallManager": "FMS",
"IdentityAndAccessManagementIam": "IAM",
"KeyManagementService": "KMS",
"ResourceAccessManager": "RAM",
},
"storage": {
"CloudendureDisasterRecovery": "CDR",
"ElasticBlockStoreEBS": "EBS",
"ElasticFileSystemEFS": "EFS",
"Fsx": "FSx",
"SimpleStorageServiceS3": "S3",
},
},
"azure": {
"compute": {
"ContainerRegistries": "ACR",
"KubernetesServices": "AKS",
},
},
"gcp": {
"analytics": {
"Bigquery": "BigQuery",
"Pubsub": "PubSub",
},
"compute": {
"AppEngine": "GAE",
"Functions": "GCF",
"ComputeEngine": "GCE",
"KubernetesEngine": "GKE",
},
"database": {
"Bigtable": "BigTable",
},
"devtools": {
"ContainerRegistry": "GCR",
},
"ml": {
"Automl": "AutoML",
"NaturalLanguageAPI": "NLAPI",
"SpeechToText": "STT",
"TextToSpeech": "TTS",
},
"network": {
"VirtualPrivateCloud": "VPC"
},
"security": {
"KeyManagementService": "KMS",
"SecurityCommandCenter": "SCC",
},
"storage": {
"Storage": "GCS",
},
},
}