diff --git a/server/src/main/java/io/kroki/server/service/Structurizr.java b/server/src/main/java/io/kroki/server/service/Structurizr.java index be33001e5..de41943f7 100644 --- a/server/src/main/java/io/kroki/server/service/Structurizr.java +++ b/server/src/main/java/io/kroki/server/service/Structurizr.java @@ -4,13 +4,18 @@ import com.structurizr.dsl.StructurizrDslParserException; import com.structurizr.export.Diagram; import com.structurizr.export.plantuml.StructurizrPlantUMLExporter; +import com.structurizr.view.Border; import com.structurizr.view.ComponentView; import com.structurizr.view.ContainerView; import com.structurizr.view.DeploymentView; import com.structurizr.view.DynamicView; +import com.structurizr.view.ElementStyle; +import com.structurizr.view.RelationshipStyle; +import com.structurizr.view.Shape; import com.structurizr.view.SystemContextView; import com.structurizr.view.SystemLandscapeView; import com.structurizr.view.View; +import com.structurizr.view.ViewSet; import io.kroki.server.decode.DiagramSource; import io.kroki.server.decode.SourceDecoder; import io.kroki.server.error.BadRequestException; @@ -20,13 +25,22 @@ import io.vertx.core.Handler; import io.vertx.core.Vertx; import io.vertx.core.buffer.Buffer; +import io.vertx.core.json.Json; +import io.vertx.core.json.JsonArray; import io.vertx.core.json.JsonObject; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.List; +import java.util.Map; import java.util.Objects; import java.util.Optional; +import java.util.stream.Collectors; public class Structurizr implements DiagramService { @@ -37,6 +51,12 @@ public class Structurizr implements DiagramService { // same as PlantUML since we convert Structurizr DSL to PlantUML private static final List SUPPORTED_FORMATS = Arrays.asList(FileFormat.PNG, FileFormat.SVG, FileFormat.JPEG, FileFormat.BASE64, FileFormat.TXT, FileFormat.UTXT); + private static final String aws = read("structurizr/amazon-web-services.json"); + private static final String gcp = read("structurizr/google-cloud-platform.json"); + private static final String k8s = read("structurizr/kubernetes.json"); + private static final String azure = read("structurizr/microsoft-azure.json"); + private static final String oracleCloud = read("structurizr/oracle-cloud-infrastructure.json"); + public Structurizr(Vertx vertx) { this.vertx = vertx; this.structurizrPlantUMLExporter = new StructurizrPlantUMLExporter(); @@ -79,7 +99,8 @@ static byte[] convert(String source, FileFormat fileFormat, StructurizrPlantUMLE StructurizrDslParser parser = new StructurizrDslParser(); try { parser.parse(source); - Collection views = parser.getWorkspace().getViews().getViews(); + ViewSet viewSet = parser.getWorkspace().getViews(); + Collection views = viewSet.getViews(); if (views.isEmpty()) { throw new BadRequestException("Empty diagram, does not have any view."); } @@ -95,6 +116,14 @@ static byte[] convert(String source, FileFormat fileFormat, StructurizrPlantUMLE // take the first view if not specified selectedView = views.iterator().next(); } + for (String url : viewSet.getConfiguration().getThemes()) { + if (url.startsWith("https://static.structurizr.com/themes/")) { + String themeContent = getThemeContent(url); + if (themeContent != null) { + applyTheme(viewSet, themeContent); + } + } + } final Diagram diagram; if (selectedView instanceof DynamicView) { diagram = structurizrPlantUMLExporter.export((DynamicView) selectedView); @@ -123,4 +152,112 @@ static byte[] convert(String source, FileFormat fileFormat, StructurizrPlantUMLE throw new BadRequestException(message, e); } } + + private static void applyTheme(ViewSet viewSet, String themeContent) { + Object value = Json.decodeValue(themeContent); + if (value instanceof JsonObject) { + List elementStyles = getElementStyles((JsonObject) value); + for (ElementStyle elementStyle : elementStyles) { + viewSet.getConfiguration().getStyles().add(elementStyle); + } + List relationshipStyles = getRelationshipStyle((JsonObject) value); + for (RelationshipStyle relationshipStyle : relationshipStyles) { + viewSet.getConfiguration().getStyles().add(relationshipStyle); + } + } + } + + private static List getElementStyles(JsonObject value) { + List result = new ArrayList<>(); + Object elementsObject = value.getValue("elements"); + if (elementsObject instanceof JsonArray) { + for (Object elementObject : ((JsonArray) elementsObject).getList()) { + if (elementObject instanceof Map) { + JsonObject element = new JsonObject((Map) elementObject); + ElementStyle elementStyle = new ElementStyle( + element.getString("tag"), + element.getInteger("width"), + element.getInteger("height"), + element.getString("background", "#FFFFFF"), // remind: cannot pass a null value + element.getString("color", "#000000"), // remind: cannot pass a null value + element.getInteger("fontSize") + ); + elementStyle.setBorder(getBorder(element)); + elementStyle.setStroke(element.getString("stroke")); + elementStyle.setShape(getShape(element)); + elementStyle.setIcon(element.getString("icon")); + elementStyle.setOpacity(element.getInteger("opacity")); + elementStyle.setMetadata(element.getBoolean("metadata")); + elementStyle.setDescription(element.getBoolean("description")); + result.add(elementStyle); + } + } + } + return result; + } + + private static String getThemeContent(String url) { + if (url.contains("amazon-web-services")) { + return aws; + } + if (url.contains("google-cloud-platform")) { + return gcp; + } + if (url.contains("kubernetes")) { + return k8s; + } + if (url.contains("microsoft-azure")) { + return azure; + } + if (url.contains("oracle-cloud-infrastructure")) { + return oracleCloud; + } + return null; + } + + private static List getRelationshipStyle(JsonObject value) { + List result = new ArrayList<>(); + // remind: RelationshipStyle does not have a public constructor, as a result, we cannot instantiate it. + return result; + } + + private static String read(String resource) { + InputStream input = Thread.currentThread().getContextClassLoader().getResourceAsStream(resource); + try { + if (input == null) { + throw new IOException("Unable to get resource: " + resource); + } + try (BufferedReader buffer = new BufferedReader(new InputStreamReader(input))) { + return buffer.lines().collect(Collectors.joining("\n")); + } + } catch (IOException e) { + throw new RuntimeException("Unable to initialize the Structurizr service", e); + } + } + + private static Shape getShape(JsonObject element) { + String shapeValue = element.getString("shape"); + if (shapeValue == null) { + return null; + } + try { + return Shape.valueOf(shapeValue); + } catch (IllegalArgumentException e) { + // ignore! + return null; + } + } + + private static Border getBorder(JsonObject element) { + String borderValue = element.getString("border"); + if (borderValue == null) { + return null; + } + try { + return Border.valueOf(borderValue); + } catch (IllegalArgumentException e) { + // ignore! + return null; + } + } } diff --git a/server/src/main/resources/structurizr/amazon-web-services.json b/server/src/main/resources/structurizr/amazon-web-services.json new file mode 100644 index 000000000..3b92759b4 --- /dev/null +++ b/server/src/main/resources/structurizr/amazon-web-services.json @@ -0,0 +1,1825 @@ +{ + "name" : "Amazon Web Services", + "description" : "This theme includes element styles with icons for each of the AWS services, based upon the AWS Architecture Icons (https://aws.amazon.com/architecture/icons/).", + "elements" : [ { + "tag" : "Amazon Web Services - Kinesis Data Analytics", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Kinesis-Data-Analytics_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - RoboMaker Development Environment", + "stroke" : "#d6242d", + "color" : "#d6242d", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-RoboMaker_Development-Environment_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - FSx", + "stroke" : "#3f8624", + "color" : "#3f8624", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-FSx_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Simple Storage Service S3 Bucket", + "stroke" : "#3f8624", + "color" : "#3f8624", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Simple-Storage-Service-S3_Bucket_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Translate", + "stroke" : "#1c7b68", + "color" : "#1c7b68", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Translate_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - EC2 D2 Instance", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-EC2_D2-Instance_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Route 53 Hosted Zone", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Route-53_Hosted-Zone_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Elastic Beanstalk container", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Elastic-Beanstalk-container_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Personalize", + "stroke" : "#1c7b68", + "color" : "#1c7b68", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Personalize_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Lex", + "stroke" : "#1c7b68", + "color" : "#1c7b68", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Lex_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Identity and Access Management IAM AWS STS", + "stroke" : "#d6242d", + "color" : "#d6242d", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Identity-and-Access-Management-IAM_AWS-STS_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Transcribe", + "stroke" : "#1c7b68", + "color" : "#1c7b68", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Transcribe_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Aurora", + "stroke" : "#3b48cc", + "color" : "#3b48cc", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Aurora_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - OpsWorks", + "stroke" : "#cc2264", + "color" : "#cc2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-OpsWorks_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Sumerian", + "stroke" : "#cc2264", + "color" : "#cc2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Sumerian_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Elastic Container Service Service", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Elastic-Container-Service_Service_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Service Catalog", + "stroke" : "#cc2264", + "color" : "#cc2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Service-Catalog_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - IoT Analytics Notebook", + "stroke" : "#3f8624", + "color" : "#3f8624", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-IoT-Analytics_Notebook_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - VPC", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-VPC_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - TensorFlow on AWS", + "stroke" : "#1c7b68", + "color" : "#1c7b68", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/TensorFlow-on-AWS_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - CloudHSM", + "stroke" : "#d6242d", + "color" : "#d6242d", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-CloudHSM_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Firewall Manager", + "stroke" : "#d6242d", + "color" : "#d6242d", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Firewall-Manager_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - WorkMail", + "stroke" : "#d6242d", + "color" : "#d6242d", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-WorkMail_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Identity and Access Management IAM MFA Token", + "stroke" : "#d6242d", + "color" : "#d6242d", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Identity-and-Access-Management-IAM_MFA-Token_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Elastic Load Balancing ELB Application load balancer", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Elastic-Load-Balancing-ELB_Application-load-balancer_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - CodePipeline", + "stroke" : "#3b48cc", + "color" : "#3b48cc", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-CodePipeline_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Auto Scaling", + "stroke" : "#cc2264", + "color" : "#cc2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Auto-Scaling_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Lambda Lambda Function", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Lambda_Lambda-Function_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Elastic Beanstalk Deployment", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Elastic-Beanstalk_Deployment_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - VPC VPN Gateway", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-VPC_VPN-Gateway_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Cloud Map", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Cloud-Map_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - API Gateway", + "stroke" : "#d6242d", + "color" : "#d6242d", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-API-Gateway_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Forecast", + "stroke" : "#1c7b68", + "color" : "#1c7b68", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Forecast_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Thinkbox XMesh", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Thinkbox_XMesh_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Elastic Container Service", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Elastic-Container-Service_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Data lake Resource icon", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Data-lake_Resource-icon_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Thinkbox Sequoia", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Thinkbox-Sequoia_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Redshift Dense Storage Node", + "stroke" : "#3b48cc", + "color" : "#3b48cc", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Redshift_Dense-Storage-Node_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - EC2 I3 Instance", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-EC2_I3-Instance_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - EMR EMR engine MapR M7", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-EMR_EMR-engine-MapR-M7_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - EC2 Instance", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-EC2_Instance_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - EC2 Optimized Instance", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-EC2_Optimized-Instance_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Cloud Directory", + "stroke" : "#d6242d", + "color" : "#d6242d", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Cloud-Directory_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - EC2 Instance with CloudWatch", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-EC2_Instance-with-CloudWatch_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Identity and Access Management IAM Temporary Security Credential", + "stroke" : "#d6242d", + "color" : "#d6242d", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Identity-and-Access-Management-IAM_Temporary-Security-Credential_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - IoT Device Management", + "stroke" : "#60a337", + "color" : "#60a337", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-IoT-Device-Management_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Simple Queue Service SQS Message", + "stroke" : "#cd2264", + "color" : "#cd2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Simple-Queue-Service-SQS_Message_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - EC2 M4 Instance", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-EC2_M4-Instance_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Elemental MediaConvert", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Elemental-MediaConvert_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Lightsail", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Lightsail_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Well Architected Tool", + "stroke" : "#cc2264", + "color" : "#cc2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Well-Architected-Tool_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Quantum Ledger Database QLDB", + "stroke" : "#3b48cc", + "color" : "#3b48cc", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Quantum-Ledger-Database_QLDB_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Simple Storage Service S3 Object", + "stroke" : "#3f8624", + "color" : "#3f8624", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Simple-Storage-Service-S3_Object_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Elasticsearch Service", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Elasticsearch-Service_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - MQ", + "stroke" : "#cc2264", + "color" : "#cc2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-MQ_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - IoT Button", + "stroke" : "#3f8624", + "color" : "#3f8624", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-IoT-Button_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - EC2 P2 Instance", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-EC2_P2-Instance_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - GameLift", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-GameLift_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Direct Connect", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Direct-Connect_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Certificate Authority", + "stroke" : "#d6242d", + "color" : "#d6242d", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Certificate-Authority_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - DeepLens", + "stroke" : "#1c7b68", + "color" : "#1c7b68", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-DeepLens_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Thinkbox Deadline", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Thinkbox-Deadline_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - AppSync", + "stroke" : "#d6242d", + "color" : "#d6242d", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-AppSync_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Chime", + "stroke" : "#d6242d", + "color" : "#d6242d", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Chime_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Lambda", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Lambda_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - X Ray", + "stroke" : "#3b48cc", + "color" : "#3b48cc", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-X-Ray_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - ElastiCache For Redis", + "stroke" : "#3b48cc", + "color" : "#3b48cc", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-ElastiCache_For-Redis_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - API Gateway Endpoint", + "stroke" : "#d6242d", + "color" : "#d6242d", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-API-Gateway_Endpoint_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - CloudSearch Search documents", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-CloudSearch_Search-documents_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - CloudWatch", + "stroke" : "#cc2264", + "color" : "#cc2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-CloudWatch_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Systems Manager State Manager", + "stroke" : "#cd2264", + "color" : "#cd2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Systems-Manager_State-Manager_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - EC2 z1d Instance", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-EC2_z1d-Instance_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Identity and Access Management IAM Data Encryption Key", + "stroke" : "#d6242d", + "color" : "#d6242d", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Identity-and-Access-Management-IAM_Data-Encryption-Key_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Simple Notification Service SNS Email Notification", + "stroke" : "#cd2264", + "color" : "#cd2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Simple-Notification-Service-SNS_Email-Notification_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Appstream 2", + "stroke" : "#1c7b68", + "color" : "#1c7b68", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Appstream-2.0_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Elastic Transcoder", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Elastic-Transcoder_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Migration Hub", + "stroke" : "#1c7b68", + "color" : "#1c7b68", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Migration-Hub_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - EC2 H1 Instance", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-EC2_H1-Instance_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Application Discovery Service", + "stroke" : "#1c7b68", + "color" : "#1c7b68", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Application-Discovery-Service_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Device Farm", + "stroke" : "#d6242d", + "color" : "#d6242d", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Device-Farm_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - RDS PostgreSQL instance", + "stroke" : "#3b48cc", + "color" : "#3b48cc", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-RDS_PostgreSQL_instance_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Simple Storage Service S3 Bucket with Objects", + "stroke" : "#3f8624", + "color" : "#3f8624", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Simple-Storage-Service-S3_Bucket-with-Objects_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Ground Station", + "stroke" : "#3b48cc", + "color" : "#3b48cc", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Ground-Station_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Elastic Container Service Container1", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Elastic-Container-Service_Container1_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Elastic Inference", + "stroke" : "#1c7b68", + "color" : "#1c7b68", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Elastic-Inference_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Neptune", + "stroke" : "#3b48cc", + "color" : "#3b48cc", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Neptune_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - CloudFormation Stack", + "stroke" : "#cd2264", + "color" : "#cd2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-CloudFormation_Stack_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - EC2 R5a Instance", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-EC2_R5a-Instance_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Backup", + "stroke" : "#3f8624", + "color" : "#3f8624", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Backup_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Macie", + "stroke" : "#d6242d", + "color" : "#d6242d", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Macie_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Rekognition Video", + "stroke" : "#1c7b68", + "color" : "#1c7b68", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Rekognition_Video_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - EC2 P3 Instance", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-EC2_P3-Instance_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Trusted Advisor Checklist Security", + "stroke" : "#cd2264", + "color" : "#cd2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Trusted-Advisor_Checklist-Security_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Elemental MediaPackage", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Elemental-MediaPackage_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Identity and Access Management IAM Encrypted Data", + "stroke" : "#d6242d", + "color" : "#d6242d", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Identity-and-Access-Management-IAM_Encrypted-Data_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - DocumentDB with MongoDB compatibility", + "stroke" : "#3b48cc", + "color" : "#3b48cc", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-DocumentDB-with-MongoDB-compatibility_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - EC2 M5 Instance", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-EC2_M5-Instance_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Kinesis", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Kinesis_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - OpsWorks Deployments", + "stroke" : "#cd2264", + "color" : "#cd2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-OpsWorks_Deployments_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - DynamoDB Global Secondary Index", + "stroke" : "#3b48cc", + "color" : "#3b48cc", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-DynamoDB_Global-Secondary-Index_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - WAF", + "stroke" : "#d6242d", + "color" : "#d6242d", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-WAF_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Trusted Advisor Checklist Fault Tolerant", + "stroke" : "#cd2264", + "color" : "#cd2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Trusted-Advisor_Checklist-Fault-Tolerant_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - IoT Analytics Data Store", + "stroke" : "#3f8624", + "color" : "#3f8624", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-IoT-Analytics_Data-Store_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Athena", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Athena_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Storage Gateway Non Cached Volume", + "stroke" : "#3f8624", + "color" : "#3f8624", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Storage-Gateway_Non-Cached-Volume_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Deep Learning AMIs", + "stroke" : "#1c7b68", + "color" : "#1c7b68", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Deep-Learning-AMIs_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Elemental MediaTailor", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Elemental-MediaTailor_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Artifact", + "stroke" : "#d6242d", + "color" : "#d6242d", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Artifact_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Command Line Interface", + "stroke" : "#cc2264", + "color" : "#cc2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Command-Line-Interface_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Systems Manager", + "stroke" : "#cc2264", + "color" : "#cc2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Systems-Manager_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - CloudSearch", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-CloudSearch_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Managed Services", + "stroke" : "#cc2264", + "color" : "#cc2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Managed-Services_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Elemental MediaStore", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Elemental-MediaStore_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Thinkbox Draft", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Thinkbox-Draft_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Snowball", + "stroke" : "#3f8624", + "color" : "#3f8624", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Snowball_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Budgets", + "stroke" : "#3f8624", + "color" : "#3f8624", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Budgets_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Site to Site VPN", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Site-to-Site-VPN_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Identity and Access Management IAM", + "stroke" : "#d6242d", + "color" : "#d6242d", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Identity-and-Access-Management_IAM_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Elastic File System EFS", + "stroke" : "#3f8624", + "color" : "#3f8624", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Elastic-File-System_EFS_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Step Function", + "stroke" : "#cd2264", + "color" : "#cd2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Step-Function_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Connect", + "stroke" : "#3b48cc", + "color" : "#3b48cc", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Connect_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Shield Shield Advanced", + "stroke" : "#d6242d", + "color" : "#d6242d", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Shield_Shield-Advanced_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - IoT Analytics Data Set", + "stroke" : "#3f8624", + "color" : "#3f8624", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-IoT-Analytics_Data-Set_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Timestream", + "stroke" : "#3b48cc", + "color" : "#3b48cc", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Timestream_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - EC2 Instances", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-EC2_Instances_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Key Management Service", + "stroke" : "#d6242d", + "color" : "#d6242d", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Key-Management-Service_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Elastic Load Balancing Classic load balancer", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Elastic-Load-Balancing_Classic-load-balancer_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Outposts", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Outposts_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Serverless Application Repository", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Serverless-Application-Repository_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Elastic Block Store EBS Volume", + "stroke" : "#3f8624", + "color" : "#3f8624", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Elastic-Block-Store-EBS_Volume_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - OpsWorks Instances", + "stroke" : "#cd2264", + "color" : "#cd2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-OpsWorks_Instances_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - S3 Glacier Archive", + "stroke" : "#3f8624", + "color" : "#3f8624", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-S3-Glacier_Archive_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Managed Blockchain", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Managed-Blockchain_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Region", + "stroke" : "#147eba", + "color" : "#147eba", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Region_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - DynamoDB Attributes", + "stroke" : "#3b48cc", + "color" : "#3b48cc", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-DynamoDB_Attributes_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Kinesis Video Streams", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Kinesis-Video-Streams_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Systems Manager Inventory", + "stroke" : "#cd2264", + "color" : "#cd2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Systems-Manager_Inventory_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - VMware Cloud On AWS", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/VMware-Cloud-On-AWS_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - OpsWorks Layers", + "stroke" : "#cd2264", + "color" : "#cd2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-OpsWorks_Layers_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Cognito", + "stroke" : "#d6242d", + "color" : "#d6242d", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Cognito_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - IoT 1 Click", + "stroke" : "#3f8624", + "color" : "#3f8624", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-IoT-1-Click_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Systems Manager Maintenance Windows", + "stroke" : "#cd2264", + "color" : "#cd2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Systems-Manager_Maintenance-Windows_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Alexa For Business", + "stroke" : "#d6242d", + "color" : "#d6242d", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Alexa-For-Business_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Comprehend", + "stroke" : "#1c7b68", + "color" : "#1c7b68", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Comprehend_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - WAF Filtering rule", + "stroke" : "#d6242d", + "color" : "#d6242d", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-WAF_Filtering-rule_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - CloudWatch Alarm", + "stroke" : "#cd2264", + "color" : "#cd2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-CloudWatch_Alarm_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - IoT Device Defender", + "stroke" : "#3f8624", + "color" : "#3f8624", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-IoT-Device-Defender_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Control Tower", + "stroke" : "#cc2264", + "color" : "#cc2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Control-Tower_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - EC2 Auto Scaling", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-EC2_Auto-Scaling_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Personal Health Dashboard", + "stroke" : "#cc2264", + "color" : "#cc2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Personal-Health-Dashboard_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Simple Storage Service S3", + "stroke" : "#3f8624", + "color" : "#3f8624", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Simple-Storage-Service-S3_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - OpsWorks Permissions", + "stroke" : "#cd2264", + "color" : "#cd2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-OpsWorks_Permissions_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - RDS Amazon RDS instance", + "stroke" : "#3b48cc", + "color" : "#3b48cc", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-RDS_Amazon-RDS_instance_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Simple Email Service SES", + "stroke" : "#3b48cc", + "color" : "#3b48cc", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Simple-Email-Service-SES_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - SageMaker Train", + "stroke" : "#1c7b68", + "color" : "#1c7b68", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-SageMaker_Train_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - OpsWorks Stack2", + "stroke" : "#cd2264", + "color" : "#cd2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-OpsWorks_Stack2_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Glue Data catalog", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Glue_Data-catalog_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Simple Queue Service SQS", + "stroke" : "#cc2264", + "color" : "#cc2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Simple-Queue-Service-SQS_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - CloudFront", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-CloudFront_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Simple Email Service SES Email", + "stroke" : "#3b48cc", + "color" : "#3b48cc", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Simple-Email-Service-SES_Email_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - DynamoDB Item", + "stroke" : "#3b48cc", + "color" : "#3b48cc", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-DynamoDB_Item_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Marketplace", + "stroke" : "#232f3e", + "color" : "#232f3e", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Marketplace_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - EC2 C5 Instance", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-EC2_C5-Instance_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - SageMaker Notebook", + "stroke" : "#1c7b68", + "color" : "#1c7b68", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-SageMaker_Notebook_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - CloudFront Edge Location", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-CloudFront_Edge-Location_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Snow Family Snowball Import Export", + "stroke" : "#3f8624", + "color" : "#3f8624", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Snow-Family_Snowball-Import-Export_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Data Pipeline", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Data-Pipeline_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Resource Access Manager", + "stroke" : "#d6242d", + "color" : "#d6242d", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Resource-Access-Manager_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Elemental MediaConnect", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Elemental-MediaConnect_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Server Migration Service", + "stroke" : "#1c7b68", + "color" : "#1c7b68", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Server-Migration-Service_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Storage Gateway Cached Volume", + "stroke" : "#3f8624", + "color" : "#3f8624", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Storage-Gateway_Cached-Volume_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - EC2", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-EC2_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - SageMaker Ground Truth", + "stroke" : "#1c7b68", + "color" : "#1c7b68", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-SageMaker-Ground-Truth_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Elastic Beanstalk", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Elastic-Beanstalk_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Organizations Organizational unit", + "stroke" : "#cd2264", + "color" : "#cd2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Organizations_Organizational-unit_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Cloud9", + "stroke" : "#3b48cc", + "color" : "#3b48cc", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Cloud9_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - RoboMaker Simulation", + "stroke" : "#d6242d", + "color" : "#d6242d", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-RoboMaker_Simulation_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Identity and Access Management IAM AWS STS Alternate", + "stroke" : "#d6242d", + "color" : "#d6242d", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Identity-and-Access-Management-IAM_AWS-STS-Alternate_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - CloudWatch Event Event Based", + "stroke" : "#cd2264", + "color" : "#cd2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-CloudWatch_Event-Event-Based_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - VPC subnet public", + "stroke" : "#248814", + "color" : "#248814", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/VPC-subnet-public_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - RDS SQL Server instance", + "stroke" : "#3b48cc", + "color" : "#3b48cc", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-RDS_SQL-Server_instance_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - EMR EMR engine MapR M3", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-EMR_EMR-engine-MapR-M3_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - IoT Analytics Channel", + "stroke" : "#3f8624", + "color" : "#3f8624", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-IoT-Analytics_Channel_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Cost Management", + "stroke" : "#000000", + "color" : "#000000", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Cost-Management_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - IoT Greengrass Connector", + "stroke" : "#3f8624", + "color" : "#3f8624", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-IoT-Greengrass_Connector_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Corporate data center", + "stroke" : "#5a6c86", + "color" : "#5a6c86", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Corporate-data-center_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - SageMaker", + "stroke" : "#1c7b68", + "color" : "#1c7b68", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-SageMaker_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Fargate", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Fargate_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Cost and Usage Report", + "stroke" : "#3f8624", + "color" : "#3f8624", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Cost-and-Usage-Report_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - SageMaker Model", + "stroke" : "#1c7b68", + "color" : "#1c7b68", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-SageMaker_Model_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - EC2 X1e Instance", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-EC2_X1e-Instance_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Elastic Container Service Container2", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Elastic-Container-Service_Container2_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Simple Notification Service SNS", + "stroke" : "#cc2264", + "color" : "#cc2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Simple-Notification-Service-SNS_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Thinkbox Stoke", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Thinkbox-Stoke_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Systems Manager Patch Manager", + "stroke" : "#cd2264", + "color" : "#cd2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Systems-Manager_Patch-Manager_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - DynamoDB Attribute", + "stroke" : "#3b48cc", + "color" : "#3b48cc", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-DynamoDB_Attribute_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Storage Gateway", + "stroke" : "#3f8624", + "color" : "#3f8624", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Storage-Gateway_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Management Console", + "stroke" : "#cc2264", + "color" : "#cc2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Management-Console_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - EMR HDFS cluster", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-EMR_HDFS-cluster_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Database Migration Service", + "stroke" : "#3b48cc", + "color" : "#3b48cc", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Database-Migration-Service_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - VPC Router", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-VPC_Router_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - VPC VPN Connection", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-VPC_VPN-Connection_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - VPC subnet private", + "stroke" : "#147eba", + "color" : "#147eba", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/VPC-subnet-private_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - DataSync Agent", + "stroke" : "#1c7b68", + "color" : "#1c7b68", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-DataSync_Agent_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - RDS Oracle instance", + "stroke" : "#3b48cc", + "color" : "#3b48cc", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-RDS_Oracle_instance_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Glue Crawlers", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Glue_Crawlers_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Glue", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Glue_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Managed Microsoft AD", + "stroke" : "#d6242d", + "color" : "#d6242d", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Managed-Microsoft-AD_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Elastic File System EFS File system", + "stroke" : "#3f8624", + "color" : "#3f8624", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Elastic-File-System_EFS_File-system_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - VPC Internet Gateway", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-VPC_Internet-Gateway_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - EC2 X1 Instance", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-EC2_X1-Instance_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Pinpoint", + "stroke" : "#3b48cc", + "color" : "#3b48cc", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Pinpoint_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - RDS MariaDB instance", + "stroke" : "#3b48cc", + "color" : "#3b48cc", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-RDS_MariaDB_instance_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Elastic Beanstalk Application", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Elastic-Beanstalk_Application_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - EMR Cluster", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-EMR_Cluster_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Elastic Load Balancing ELB Network load balancer", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Elastic-Load-Balancing-ELB_Network-load-balancer_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - EC2 T2 Instance", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-EC2_T2-Instance_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Simple Notification Service SNS Topic", + "stroke" : "#cd2264", + "color" : "#cd2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Simple-Notification-Service-SNS_Topic_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Transit Gateway", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Transit-Gateway_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - ElastiCache Cache Node", + "stroke" : "#3b48cc", + "color" : "#3b48cc", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-ElastiCache_Cache-Node_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - FSx for Lustre", + "stroke" : "#3f8624", + "color" : "#3f8624", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-FSx-for-Lustre_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Systems Manager Parameter Store", + "stroke" : "#cd2264", + "color" : "#cd2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Systems-Manager_Parameter-Store_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Thinkbox Frost", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Thinkbox-Frost_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Identity and Access Management IAM Permissions", + "stroke" : "#d6242d", + "color" : "#d6242d", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Identity-and-Access-Management-IAM_Permissions_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Redshift Dense Compute Node", + "stroke" : "#3b48cc", + "color" : "#3b48cc", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Redshift_Dense-Compute-Node_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - App Config", + "stroke" : "#cd2264", + "color" : "#cd2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-App-Config_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - PrivateLink", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-PrivateLink_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - DataSync", + "stroke" : "#1c7b68", + "color" : "#1c7b68", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-DataSync_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - ElastiCache For Memcached", + "stroke" : "#3b48cc", + "color" : "#3b48cc", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-ElastiCache_For-Memcached_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Tools And SDKs", + "stroke" : "#3b48cc", + "color" : "#3b48cc", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Tools-And-SDKs_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - VPC Peering", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-VPC_Peering_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Rekognition", + "stroke" : "#1c7b68", + "color" : "#1c7b68", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Rekognition_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - WorkDocs", + "stroke" : "#1c7b68", + "color" : "#1c7b68", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-WorkDocs_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - EC2 C5n Instance", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-EC2_C5n-Instance_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - OpsWorks Apps", + "stroke" : "#cd2264", + "color" : "#cd2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-OpsWorks_Apps_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Inspector", + "stroke" : "#d6242d", + "color" : "#d6242d", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Inspector_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - EC2 Container Registry Image", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-EC2-Container-Registry_Image_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Identity and Access Management IAM Long term Security Credential", + "stroke" : "#d6242d", + "color" : "#d6242d", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Identity-and-Access-Management-IAM_Long-term-Security-Credential_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Textract", + "stroke" : "#1c7b68", + "color" : "#1c7b68", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Textract_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - EC2 R4 Instance", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-EC2_R4-Instance_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Trusted Advisor Checklist Cost", + "stroke" : "#cd2264", + "color" : "#cd2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Trusted-Advisor_Checklist-Cost_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - IoT Core", + "stroke" : "#3f8624", + "color" : "#3f8624", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-IoT-Core_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - RoboMaker", + "stroke" : "#d6242d", + "color" : "#d6242d", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-RoboMaker_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Route 53 Route Table", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Route-53_Route-Table_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Config", + "stroke" : "#cc2264", + "color" : "#cc2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Config_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - VPC Flow Logs", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-VPC_Flow-Logs_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - VPC Elastic Network Adapter", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-VPC_Elastic-Network-Adapter_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - RDS on VMware", + "stroke" : "#3b48cc", + "color" : "#3b48cc", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-RDS-on-VMware_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - RDS MySQL instance", + "stroke" : "#3b48cc", + "color" : "#3b48cc", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-RDS_MySQL_instance_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - FreeRTOS", + "stroke" : "#3f8624", + "color" : "#3f8624", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-FreeRTOS_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Polly", + "stroke" : "#1c7b68", + "color" : "#1c7b68", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Polly_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Elastic Block Store EBS", + "stroke" : "#3f8624", + "color" : "#3f8624", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Elastic-Block-Store-EBS_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - License Manager", + "stroke" : "#cc2264", + "color" : "#cc2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-License-Manager_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Inspector Agent", + "stroke" : "#d6242d", + "color" : "#d6242d", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Inspector_Agent_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - IQ", + "stroke" : "#3b48cc", + "color" : "#3b48cc", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-IQ_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - VPC Elastic Network Interface", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-VPC_Elastic-Network-Interface_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Redshift", + "stroke" : "#3b48cc", + "color" : "#3b48cc", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Redshift_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - RDS", + "stroke" : "#3b48cc", + "color" : "#3b48cc", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-RDS_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Snowmobile", + "stroke" : "#3f8624", + "color" : "#3f8624", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Snowmobile_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Identity and Access Management IAM Add on", + "stroke" : "#d6242d", + "color" : "#d6242d", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Identity-and-Access-Management-IAM_Add-on_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - IoT Greengrass", + "stroke" : "#3f8624", + "color" : "#3f8624", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-IoT-Greengrass_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - DeepRacer", + "stroke" : "#1c7b68", + "color" : "#1c7b68", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-DeepRacer_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - S3 Glacier", + "stroke" : "#3f8624", + "color" : "#3f8624", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-S3-Glacier_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - VPC NAT Gateway", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-VPC_NAT-Gateway_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Trusted Advisor Checklist Performance", + "stroke" : "#cd2264", + "color" : "#cd2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Trusted-Advisor_Checklist-Performance_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Lake Formation", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Lake-Formation_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - IoT Analytics", + "stroke" : "#3f8624", + "color" : "#3f8624", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-IoT-Analytics_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Cloud", + "stroke" : "#232f3e", + "color" : "#232f3e", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Cloud_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - EMR EMR engine", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-EMR_EMR-engine_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Managed Streaming for Kafka", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Managed-Streaming-for-Kafka_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - EC2 A1 Instance", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-EC2_A1-Instance_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Snowball Edge", + "stroke" : "#3f8624", + "color" : "#3f8624", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Snowball-Edge_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Kinesis Data Firehose", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Kinesis-Data-Firehose_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - EC2 T3 Instance", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-EC2_T3-Instance_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - EC2 DB on Instance", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-EC2_DB-on-Instance_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Directory Service", + "stroke" : "#d6242d", + "color" : "#d6242d", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Directory-Service_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Elastic Kubernetes Service", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Elastic-Kubernetes-Service_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - EC2 AMI", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-EC2_AMI_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Cloud Development Kit", + "stroke" : "#3b48cc", + "color" : "#3b48cc", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Cloud-Development-Kit_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - EC2 M5a Instance", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-EC2_M5a-Instance_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - ElastiCache", + "stroke" : "#3b48cc", + "color" : "#3b48cc", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-ElastiCache_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - EC2 G3 Instance", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-EC2_G3-Instance_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Single Sign On", + "stroke" : "#d6242d", + "color" : "#d6242d", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Single-Sign-On_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Simple Notification Service SNS HTTP Notification", + "stroke" : "#cd2264", + "color" : "#cd2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Simple-Notification-Service-SNS_HTTP-Notification_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - IoT Events", + "stroke" : "#3f8624", + "color" : "#3f8624", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-IoT-Events_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Shield", + "stroke" : "#d6242d", + "color" : "#d6242d", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Shield_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - CloudTrail", + "stroke" : "#cc2264", + "color" : "#cc2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-CloudTrail_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Trusted Advisor Checklist", + "stroke" : "#cd2264", + "color" : "#cd2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Trusted-Advisor_Checklist_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Certificate Manager", + "stroke" : "#d6242d", + "color" : "#d6242d", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Certificate-Manager_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - EC2 Rescue", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-EC2_Rescue_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - CodeCommit", + "stroke" : "#3b48cc", + "color" : "#3b48cc", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-CodeCommit_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - EMR", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-EMR_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - EMR EMR engine MapR M5", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-EMR_EMR-engine-MapR-M5_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Trusted Advisor", + "stroke" : "#cc2264", + "color" : "#cc2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Trusted-Advisor_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - CloudFormation", + "stroke" : "#cc2264", + "color" : "#cc2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-CloudFormation_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Thinkbox Krakatoa", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Thinkbox-Krakatoa_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Workspaces", + "stroke" : "#1c7b68", + "color" : "#1c7b68", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Workspaces_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - EC2 Container Registry Registry", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-EC2-Container-Registry_Registry_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - EC2 High Memory Instance", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-EC2_High-Memory-Instance_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - CloudFront Download Distribution", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-CloudFront_Download-Distribution_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - EC2 Container Registry", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-EC2-Container-Registry_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Identity and Access Management IAM Role", + "stroke" : "#d6242d", + "color" : "#d6242d", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Identity-and-Access-Management-IAM_Role_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - VPC Endpoints", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-VPC_Endpoints_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Organizations Account", + "stroke" : "#cd2264", + "color" : "#cd2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Organizations_Account_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - IoT Things Graph", + "stroke" : "#3f8624", + "color" : "#3f8624", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-IoT-Things-Graph_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Simple Queue Service SQS Queue", + "stroke" : "#cd2264", + "color" : "#cd2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Simple-Queue-Service-SQS_Queue_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - EC2 T3a Instance", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-EC2_T3a-Instance_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - CloudFormation Change Set", + "stroke" : "#cd2264", + "color" : "#cd2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-CloudFormation_Change-Set_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Amplify", + "stroke" : "#d6242d", + "color" : "#d6242d", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Amplify_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Security Hub", + "stroke" : "#d6242d", + "color" : "#d6242d", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Security-Hub_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Server contents", + "stroke" : "#5a6c86", + "color" : "#5a6c86", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Server-contents_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - RoboMaker Cloud Extension ROS", + "stroke" : "#d6242d", + "color" : "#d6242d", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-RoboMaker_Cloud-Extension-ROS_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - CloudWatch Event Time Based", + "stroke" : "#cd2264", + "color" : "#cd2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-CloudWatch_Event-Time-Based_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - EC2 R5 Instance", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-EC2_R5-Instance_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Route 53", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Route-53_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Systems Manager Documents", + "stroke" : "#cd2264", + "color" : "#cd2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Systems-Manager_Documents_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Storage Gateway Virtual Tape Library", + "stroke" : "#3f8624", + "color" : "#3f8624", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Storage-Gateway_Virtual-Tape-Library_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Elemental MediaLive", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Elemental-MediaLive_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Kinesis Data Streams", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Kinesis-Data-Streams_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - RoboMaker Fleet Management", + "stroke" : "#d6242d", + "color" : "#d6242d", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-RoboMaker_Fleet-Management_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - RDS Amazon Aurora instance", + "stroke" : "#3b48cc", + "color" : "#3b48cc", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-RDS_Amazon-Aurora_instance_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - VPC Customer Gateway", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-VPC_Customer-Gateway_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - EC2 Spot instance", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-EC2_Spot-instance_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Systems Manager Run Command", + "stroke" : "#cd2264", + "color" : "#cd2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Systems-Manager_Run-Command_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - DynamoDB Items", + "stroke" : "#3b48cc", + "color" : "#3b48cc", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-DynamoDB_Items_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - DynamoDB", + "stroke" : "#3b48cc", + "color" : "#3b48cc", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-DynamoDB_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Virtual private cloud VPC", + "stroke" : "#248814", + "color" : "#248814", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Virtual-private-cloud-VPC_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Global Accelerator", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Global-Accelerator_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Quicksight", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Quicksight_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - IoT Analytics Pipeline", + "stroke" : "#3f8624", + "color" : "#3f8624", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-IoT-Analytics_Pipeline_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Elastic Block Store EBS Snapshot", + "stroke" : "#3f8624", + "color" : "#3f8624", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Elastic-Block-Store-EBS_Snapshot_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - CloudWatch Rule", + "stroke" : "#cd2264", + "color" : "#cd2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-CloudWatch_Rule_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - IoT SiteWise", + "stroke" : "#3f8624", + "color" : "#3f8624", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-IoT-SiteWise_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - CloudFront Streaming Distribution", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-CloudFront_Streaming-Distribution_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - EC2 C4 Instance", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-EC2_C4-Instance_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Cost Explorer", + "stroke" : "#3f8624", + "color" : "#3f8624", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Cost-Explorer_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Rekognition Image", + "stroke" : "#1c7b68", + "color" : "#1c7b68", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Rekognition_Image_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Elastic Load Balancing", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Elastic-Load-Balancing_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Client VPN", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Client-VPN_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Batch", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Batch_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - VPC Network Access Control List", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-VPC_Network-Access-Control-List_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - GuardDuty", + "stroke" : "#d6242d", + "color" : "#d6242d", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-GuardDuty_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - CodeBuild", + "stroke" : "#3b48cc", + "color" : "#3b48cc", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-CodeBuild_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - CodeDeploy", + "stroke" : "#3b48cc", + "color" : "#3b48cc", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-CodeDeploy_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - OpsWorks Monitoring", + "stroke" : "#cd2264", + "color" : "#cd2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-OpsWorks_Monitoring_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - EC2 F1 Instance", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-EC2_F1-Instance_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - OpsWorks Resources", + "stroke" : "#cd2264", + "color" : "#cd2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-OpsWorks_Resources_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Systems Manager Automation", + "stroke" : "#cd2264", + "color" : "#cd2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Systems-Manager_Automation_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Deep Learning Containers", + "stroke" : "#1c7b68", + "color" : "#1c7b68", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Deep-Learning-Containers_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - App Mesh", + "stroke" : "#693cc5", + "color" : "#693cc5", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-App-Mesh_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - S3 Glacier Vault", + "stroke" : "#3f8624", + "color" : "#3f8624", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-S3-Glacier_Vault_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - DynamoDB Table", + "stroke" : "#3b48cc", + "color" : "#3b48cc", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-DynamoDB_Table_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Elastic Container Service Container3", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-Elastic-Container-Service_Container3_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - FSx for Windows File Server", + "stroke" : "#3f8624", + "color" : "#3f8624", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-FSx-for-Windows-File-Server_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Database Migration Service Database Migration Workflow", + "stroke" : "#3b48cc", + "color" : "#3b48cc", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Database-Migration-Service_Database-Migration-Workflow_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Organizations", + "stroke" : "#cc2264", + "color" : "#cc2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Organizations_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Step Functions", + "stroke" : "#cc2264", + "color" : "#cc2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Step-Functions_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - EC2 Elastic IP Address", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-EC2_Elastic-IP-Address_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - CloudFormation Template", + "stroke" : "#cd2264", + "color" : "#cd2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-CloudFormation_Template_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Secrets Manager", + "stroke" : "#d6242d", + "color" : "#d6242d", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-Secrets-Manager_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - WorkLink", + "stroke" : "#1c7b68", + "color" : "#1c7b68", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-WorkLink_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - EventBridge", + "stroke" : "#cd2264", + "color" : "#cd2264", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Amazon-EventBridge_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - CodeStar", + "stroke" : "#3b48cc", + "color" : "#3b48cc", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/AWS-CodeStar_light-bg@4x.png" + }, { + "tag" : "Amazon Web Services - Spot fleet", + "stroke" : "#d86613", + "color" : "#d86613", + "icon" : "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/Spot-fleet_light-bg@4x.png" + } ] +} \ No newline at end of file diff --git a/server/src/main/resources/structurizr/google-cloud-platform.json b/server/src/main/resources/structurizr/google-cloud-platform.json new file mode 100644 index 000000000..eaf3e68a2 --- /dev/null +++ b/server/src/main/resources/structurizr/google-cloud-platform.json @@ -0,0 +1,540 @@ +{ + "name" : "Google Cloud Platform", + "description" : "This theme includes element styles with icons for each of the GCP services, based upon the official set of icons to build architectural diagrams of Google Cloud Platform (https://cloud.google.com/icons).", + "elements" : [ { + "tag" : "Google Cloud Platform - Cloud Run", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_Run.png" + }, { + "tag" : "Google Cloud Platform - Premium Network Tier", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Premium_Network_Tier.png" + }, { + "tag" : "Google Cloud Platform - Cloud Tools for Eclipse", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_Tools_for_Eclipse.png" + }, { + "tag" : "Google Cloud Platform - Dedicated Interconnect", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Dedicated_Interconnect.png" + }, { + "tag" : "Google Cloud Platform - Cloud Translation API", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_Translation_API.png" + }, { + "tag" : "Google Cloud Platform - Cloud Router", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_Router.png" + }, { + "tag" : "Google Cloud Platform - Cloud Scheduler", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_Scheduler.png" + }, { + "tag" : "Google Cloud Platform - Cloud Memorystore", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_Memorystore.png" + }, { + "tag" : "Google Cloud Platform - Cloud Armor", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_Armor.png" + }, { + "tag" : "Google Cloud Platform - AutoML Tables", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/AutoML_Tables.png" + }, { + "tag" : "Google Cloud Platform - Cloud Routes", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_Routes.png" + }, { + "tag" : "Google Cloud Platform - AutoML Translation", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/AutoML_Translation.png" + }, { + "tag" : "Google Cloud Platform - Cloud IAM", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_IAM.png" + }, { + "tag" : "Google Cloud Platform - Cloud Resource Manager", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_Resource_Manager.png" + }, { + "tag" : "Google Cloud Platform - Gradle App Engine Plugin", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Gradle_App_Engine_Plugin.png" + }, { + "tag" : "Google Cloud Platform - Cloud Tasks", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_Tasks.png" + }, { + "tag" : "Google Cloud Platform - Traffic Director", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Traffic_Director.png" + }, { + "tag" : "Google Cloud Platform - API Monetization", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/API_Monetization.png" + }, { + "tag" : "Google Cloud Platform - Cloud Dataproc", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_Dataproc.png" + }, { + "tag" : "Google Cloud Platform - Cloud AutoML", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_AutoML.png" + }, { + "tag" : "Google Cloud Platform - GPU", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/GPU.png" + }, { + "tag" : "Google Cloud Platform - AI Platform", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/AI_Platform.png" + }, { + "tag" : "Google Cloud Platform - Cloud IoT Core", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_IoT_Core.png" + }, { + "tag" : "Google Cloud Platform - Kubernetes Engine", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Kubernetes_Engine.png" + }, { + "tag" : "Google Cloud Platform - Error Reporting", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Error_Reporting.png" + }, { + "tag" : "Google Cloud Platform - IDE Plugins", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/IDE_Plugins.png" + }, { + "tag" : "Google Cloud Platform - Cloud CDN", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_CDN.png" + }, { + "tag" : "Google Cloud Platform - Cloud PubSub", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_PubSub.png" + }, { + "tag" : "Google Cloud Platform - Stackdriver", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Stackdriver.png" + }, { + "tag" : "Google Cloud Platform - Cloud Shell", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_Shell.png" + }, { + "tag" : "Google Cloud Platform - Cloud Build", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_Build.png" + }, { + "tag" : "Google Cloud Platform - Cloud Dataprep", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_Dataprep.png" + }, { + "tag" : "Google Cloud Platform - Cloud Vision API", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_Vision_API.png" + }, { + "tag" : "Google Cloud Platform - Cloud Tools for PowerShell", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_Tools_for_PowerShell.png" + }, { + "tag" : "Google Cloud Platform - Cloud Deployment Manager", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_Deployment_Manager.png" + }, { + "tag" : "Google Cloud Platform - Cloud Security Command Center", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_Security_Command_Center.png" + }, { + "tag" : "Google Cloud Platform - GKE On-Prem", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/GKE_On-Prem.png" + }, { + "tag" : "Google Cloud Platform - Advanced Solutions Lab", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Advanced_Solutions_Lab.png" + }, { + "tag" : "Google Cloud Platform - Cloud External IP Addresses", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_External_IP_Addresses.png" + }, { + "tag" : "Google Cloud Platform - Developer Portal", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Developer_Portal.png" + }, { + "tag" : "Google Cloud Platform - Cloud Source Repositories", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_Source_Repositories.png" + }, { + "tag" : "Google Cloud Platform - App Engine", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/App_Engine.png" + }, { + "tag" : "Google Cloud Platform - Transfer Appliance", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Transfer_Appliance.png" + }, { + "tag" : "Google Cloud Platform - AutoML Natural Language", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/AutoML_Natural_Language.png" + }, { + "tag" : "Google Cloud Platform - Cloud Service Mesh", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_Service_Mesh.png" + }, { + "tag" : "Google Cloud Platform - Debugger", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Debugger.png" + }, { + "tag" : "Google Cloud Platform - Cloud Test Lab", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_Test_Lab.png" + }, { + "tag" : "Google Cloud Platform - Compute Engine", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Compute_Engine.png" + }, { + "tag" : "Google Cloud Platform - Monitoring", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Monitoring.png" + }, { + "tag" : "Google Cloud Platform - Cloud Security Scanner", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_Security_Scanner.png" + }, { + "tag" : "Google Cloud Platform - Container-Optimized OS", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Container-Optimized_OS.png" + }, { + "tag" : "Google Cloud Platform - Cloud Dataflow", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_Dataflow.png" + }, { + "tag" : "Google Cloud Platform - Cloud TPU", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_TPU.png" + }, { + "tag" : "Google Cloud Platform - Virtual Private Cloud", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Virtual_Private_Cloud.png" + }, { + "tag" : "Google Cloud Platform - AutoML Video Intelligence", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/AutoML_Video_Intelligence.png" + }, { + "tag" : "Google Cloud Platform - Apigee Sense", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Apigee_Sense.png" + }, { + "tag" : "Google Cloud Platform - Trace", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Trace.png" + }, { + "tag" : "Google Cloud Platform - Cloud Storage", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_Storage.png" + }, { + "tag" : "Google Cloud Platform - AutoML Vision", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/AutoML_Vision.png" + }, { + "tag" : "Google Cloud Platform - Partner Interconnect", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Partner_Interconnect.png" + }, { + "tag" : "Google Cloud Platform - Maven App Engine Plugin", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Maven_App_Engine_Plugin.png" + }, { + "tag" : "Google Cloud Platform - AI Hub", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/AI_Hub.png" + }, { + "tag" : "Google Cloud Platform - Standard Network Tier", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Standard_Network_Tier.png" + }, { + "tag" : "Google Cloud Platform - Cloud Inference API", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_Inference_API.png" + }, { + "tag" : "Google Cloud Platform - Cloud Billing API", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_Billing_API.png" + }, { + "tag" : "Google Cloud Platform - Cloud VPN", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_VPN.png" + }, { + "tag" : "Google Cloud Platform - Cloud Jobs API", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_Jobs_API.png" + }, { + "tag" : "Google Cloud Platform - Apigee API Platform", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Apigee_API_Platform.png" + }, { + "tag" : "Google Cloud Platform - Cloud DNS", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_DNS.png" + }, { + "tag" : "Google Cloud Platform - Key Management Service", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Key_Management_Service.png" + }, { + "tag" : "Google Cloud Platform - BigQuery", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/BigQuery.png" + }, { + "tag" : "Google Cloud Platform - Genomics", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Genomics.png" + }, { + "tag" : "Google Cloud Platform - Cloud Functions", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_Functions.png" + }, { + "tag" : "Google Cloud Platform - Cloud Natural Language API", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_Natural_Language_API.png" + }, { + "tag" : "Google Cloud Platform - Cloud Datalab", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_Datalab.png" + }, { + "tag" : "Google Cloud Platform - Cloud Console", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_Console.png" + }, { + "tag" : "Google Cloud Platform - Cloud Data Catalog", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_Data_Catalog.png" + }, { + "tag" : "Google Cloud Platform - Cloud NAT", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_NAT.png" + }, { + "tag" : "Google Cloud Platform - Cloud Mobile App", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_Mobile_App.png" + }, { + "tag" : "Google Cloud Platform - Cloud Code", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_Code.png" + }, { + "tag" : "Google Cloud Platform - Container Registry", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Container_Registry.png" + }, { + "tag" : "Google Cloud Platform - Cloud Spanner", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_Spanner.png" + }, { + "tag" : "Google Cloud Platform - Cloud Data Fusion", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_Data_Fusion.png" + }, { + "tag" : "Google Cloud Platform - Cloud Filestore", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_Filestore.png" + }, { + "tag" : "Google Cloud Platform - Cloud Speech-to-Text", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_Speech-to-Text.png" + }, { + "tag" : "Google Cloud Platform - Cloud Tools for Visual Studio", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_Tools_for_Visual_Studio.png" + }, { + "tag" : "Google Cloud Platform - Cloud Text-to-Speech", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_Text-to-Speech.png" + }, { + "tag" : "Google Cloud Platform - Cloud SQL", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_SQL.png" + }, { + "tag" : "Google Cloud Platform - Cloud Firewall Rules", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_Firewall_Rules.png" + }, { + "tag" : "Google Cloud Platform - Cloud Load Balancing", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_Load_Balancing.png" + }, { + "tag" : "Google Cloud Platform - Recommendations AI", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Recommendations_AI.png" + }, { + "tag" : "Google Cloud Platform - Cloud Datastore", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_Datastore.png" + }, { + "tag" : "Google Cloud Platform - API Analytics", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/API_Analytics.png" + }, { + "tag" : "Google Cloud Platform - Persistent Disk", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Persistent_Disk.png" + }, { + "tag" : "Google Cloud Platform - Cloud APIs", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_APIs.png" + }, { + "tag" : "Google Cloud Platform - Profiler", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Profiler.png" + }, { + "tag" : "Google Cloud Platform - Logging", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Logging.png" + }, { + "tag" : "Google Cloud Platform - Cloud Network", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_Network.png" + }, { + "tag" : "Google Cloud Platform - Cloud Code for IntelliJ", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_Code_for_IntelliJ.png" + }, { + "tag" : "Google Cloud Platform - Cloud Endpoints", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_Endpoints.png" + }, { + "tag" : "Google Cloud Platform - Cloud Bigtable", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_Bigtable.png" + }, { + "tag" : "Google Cloud Platform - Dialog Flow Enterprise Edition", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Dialog_Flow_Enterprise_Edition.png" + }, { + "tag" : "Google Cloud Platform - Cloud SDK", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_SDK.png" + }, { + "tag" : "Google Cloud Platform - Cloud Video Intelligence API", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_Video_Intelligence_API.png" + }, { + "tag" : "Google Cloud Platform - AI Platform Data Labeling Service", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/AI_Platform_Data_Labeling_Service.png" + }, { + "tag" : "Google Cloud Platform - Cloud Composer", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_Composer.png" + }, { + "tag" : "Google Cloud Platform - Cloud Firestore", + "stroke" : "#4285f4", + "color" : "#4285f4", + "icon" : "https://static.structurizr.com/themes/google-cloud-platform-v1.5/Cloud_Firestore.png" + } ] +} \ No newline at end of file diff --git a/server/src/main/resources/structurizr/kubernetes.json b/server/src/main/resources/structurizr/kubernetes.json new file mode 100644 index 000000000..c9274036d --- /dev/null +++ b/server/src/main/resources/structurizr/kubernetes.json @@ -0,0 +1,200 @@ +{ + "name" : "Kubernetes", + "description" : "This theme includes element styles with icons for each of the Kubernetes components/resources, based upon the Kubernetes Icons Set (https://github.com/kubernetes/community/tree/master/icons).", + "elements" : [ { + "tag" : "Kubernetes - crb", + "stroke" : "#3d6fdd", + "color" : "#3d6fdd", + "icon" : "https://static.structurizr.com/themes/kubernetes-v0.3/crb-256.png" + }, { + "tag" : "Kubernetes - pod", + "stroke" : "#3d6fdd", + "color" : "#3d6fdd", + "icon" : "https://static.structurizr.com/themes/kubernetes-v0.3/pod-256.png" + }, { + "tag" : "Kubernetes - vol", + "stroke" : "#3d6fdd", + "color" : "#3d6fdd", + "icon" : "https://static.structurizr.com/themes/kubernetes-v0.3/vol-256.png" + }, { + "tag" : "Kubernetes - c-role", + "stroke" : "#3d6fdd", + "color" : "#3d6fdd", + "icon" : "https://static.structurizr.com/themes/kubernetes-v0.3/c-role-256.png" + }, { + "tag" : "Kubernetes - ing", + "stroke" : "#3d6fdd", + "color" : "#3d6fdd", + "icon" : "https://static.structurizr.com/themes/kubernetes-v0.3/ing-256.png" + }, { + "tag" : "Kubernetes - svc", + "stroke" : "#3d6fdd", + "color" : "#3d6fdd", + "icon" : "https://static.structurizr.com/themes/kubernetes-v0.3/svc-256.png" + }, { + "tag" : "Kubernetes - secret", + "stroke" : "#3d6fdd", + "color" : "#3d6fdd", + "icon" : "https://static.structurizr.com/themes/kubernetes-v0.3/secret-256.png" + }, { + "tag" : "Kubernetes - ds", + "stroke" : "#3d6fdd", + "color" : "#3d6fdd", + "icon" : "https://static.structurizr.com/themes/kubernetes-v0.3/ds-256.png" + }, { + "tag" : "Kubernetes - netpol", + "stroke" : "#3d6fdd", + "color" : "#3d6fdd", + "icon" : "https://static.structurizr.com/themes/kubernetes-v0.3/netpol-256.png" + }, { + "tag" : "Kubernetes - sa", + "stroke" : "#3d6fdd", + "color" : "#3d6fdd", + "icon" : "https://static.structurizr.com/themes/kubernetes-v0.3/sa-256.png" + }, { + "tag" : "Kubernetes - etcd", + "stroke" : "#3d6fdd", + "color" : "#3d6fdd", + "icon" : "https://static.structurizr.com/themes/kubernetes-v0.3/etcd-256.png" + }, { + "tag" : "Kubernetes - kubelet", + "stroke" : "#3d6fdd", + "color" : "#3d6fdd", + "icon" : "https://static.structurizr.com/themes/kubernetes-v0.3/kubelet-256.png" + }, { + "tag" : "Kubernetes - ns", + "stroke" : "#3d6fdd", + "color" : "#3d6fdd", + "icon" : "https://static.structurizr.com/themes/kubernetes-v0.3/ns-256.png" + }, { + "tag" : "Kubernetes - cm", + "stroke" : "#3d6fdd", + "color" : "#3d6fdd", + "icon" : "https://static.structurizr.com/themes/kubernetes-v0.3/cm-256.png" + }, { + "tag" : "Kubernetes - job", + "stroke" : "#3d6fdd", + "color" : "#3d6fdd", + "icon" : "https://static.structurizr.com/themes/kubernetes-v0.3/job-256.png" + }, { + "tag" : "Kubernetes - sc", + "stroke" : "#3d6fdd", + "color" : "#3d6fdd", + "icon" : "https://static.structurizr.com/themes/kubernetes-v0.3/sc-256.png" + }, { + "tag" : "Kubernetes - sts", + "stroke" : "#3d6fdd", + "color" : "#3d6fdd", + "icon" : "https://static.structurizr.com/themes/kubernetes-v0.3/sts-256.png" + }, { + "tag" : "Kubernetes - api", + "stroke" : "#3d6fdd", + "color" : "#3d6fdd", + "icon" : "https://static.structurizr.com/themes/kubernetes-v0.3/api-256.png" + }, { + "tag" : "Kubernetes - k-proxy", + "stroke" : "#3d6fdd", + "color" : "#3d6fdd", + "icon" : "https://static.structurizr.com/themes/kubernetes-v0.3/k-proxy-256.png" + }, { + "tag" : "Kubernetes - limits", + "stroke" : "#3d6fdd", + "color" : "#3d6fdd", + "icon" : "https://static.structurizr.com/themes/kubernetes-v0.3/limits-256.png" + }, { + "tag" : "Kubernetes - node", + "stroke" : "#3d6fdd", + "color" : "#3d6fdd", + "icon" : "https://static.structurizr.com/themes/kubernetes-v0.3/node-256.png" + }, { + "tag" : "Kubernetes - rb", + "stroke" : "#3d6fdd", + "color" : "#3d6fdd", + "icon" : "https://static.structurizr.com/themes/kubernetes-v0.3/rb-256.png" + }, { + "tag" : "Kubernetes - deploy", + "stroke" : "#3d6fdd", + "color" : "#3d6fdd", + "icon" : "https://static.structurizr.com/themes/kubernetes-v0.3/deploy-256.png" + }, { + "tag" : "Kubernetes - ep", + "stroke" : "#3d6fdd", + "color" : "#3d6fdd", + "icon" : "https://static.structurizr.com/themes/kubernetes-v0.3/ep-256.png" + }, { + "tag" : "Kubernetes - quota", + "stroke" : "#3d6fdd", + "color" : "#3d6fdd", + "icon" : "https://static.structurizr.com/themes/kubernetes-v0.3/quota-256.png" + }, { + "tag" : "Kubernetes - role", + "stroke" : "#3d6fdd", + "color" : "#3d6fdd", + "icon" : "https://static.structurizr.com/themes/kubernetes-v0.3/role-256.png" + }, { + "tag" : "Kubernetes - user", + "stroke" : "#3d6fdd", + "color" : "#3d6fdd", + "icon" : "https://static.structurizr.com/themes/kubernetes-v0.3/user-256.png" + }, { + "tag" : "Kubernetes - c-m", + "stroke" : "#3d6fdd", + "color" : "#3d6fdd", + "icon" : "https://static.structurizr.com/themes/kubernetes-v0.3/c-m-256.png" + }, { + "tag" : "Kubernetes - cronjob", + "stroke" : "#3d6fdd", + "color" : "#3d6fdd", + "icon" : "https://static.structurizr.com/themes/kubernetes-v0.3/cronjob-256.png" + }, { + "tag" : "Kubernetes - crd", + "stroke" : "#3d6fdd", + "color" : "#3d6fdd", + "icon" : "https://static.structurizr.com/themes/kubernetes-v0.3/crd-256.png" + }, { + "tag" : "Kubernetes - psp", + "stroke" : "#3d6fdd", + "color" : "#3d6fdd", + "icon" : "https://static.structurizr.com/themes/kubernetes-v0.3/psp-256.png" + }, { + "tag" : "Kubernetes - rs", + "stroke" : "#3d6fdd", + "color" : "#3d6fdd", + "icon" : "https://static.structurizr.com/themes/kubernetes-v0.3/rs-256.png" + }, { + "tag" : "Kubernetes - pvc", + "stroke" : "#3d6fdd", + "color" : "#3d6fdd", + "icon" : "https://static.structurizr.com/themes/kubernetes-v0.3/pvc-256.png" + }, { + "tag" : "Kubernetes - group", + "stroke" : "#3d6fdd", + "color" : "#3d6fdd", + "icon" : "https://static.structurizr.com/themes/kubernetes-v0.3/group-256.png" + }, { + "tag" : "Kubernetes - hpa", + "stroke" : "#3d6fdd", + "color" : "#3d6fdd", + "icon" : "https://static.structurizr.com/themes/kubernetes-v0.3/hpa-256.png" + }, { + "tag" : "Kubernetes - master", + "stroke" : "#3d6fdd", + "color" : "#3d6fdd", + "icon" : "https://static.structurizr.com/themes/kubernetes-v0.3/master-256.png" + }, { + "tag" : "Kubernetes - pv", + "stroke" : "#3d6fdd", + "color" : "#3d6fdd", + "icon" : "https://static.structurizr.com/themes/kubernetes-v0.3/pv-256.png" + }, { + "tag" : "Kubernetes - c-c-m", + "stroke" : "#3d6fdd", + "color" : "#3d6fdd", + "icon" : "https://static.structurizr.com/themes/kubernetes-v0.3/c-c-m-256.png" + }, { + "tag" : "Kubernetes - sched", + "stroke" : "#3d6fdd", + "color" : "#3d6fdd", + "icon" : "https://static.structurizr.com/themes/kubernetes-v0.3/sched-256.png" + } ] +} \ No newline at end of file diff --git a/server/src/main/resources/structurizr/microsoft-azure.json b/server/src/main/resources/structurizr/microsoft-azure.json new file mode 100644 index 000000000..3e064f17d --- /dev/null +++ b/server/src/main/resources/structurizr/microsoft-azure.json @@ -0,0 +1,1590 @@ +{ + "name" : "Microsoft Azure", + "description" : "This theme includes element styles with icons for each of the Azure services, based upon the Microsoft Azure icon set (https://docs.microsoft.com/en-us/azure/architecture/icons/).", + "elements" : [ { + "tag" : "Microsoft Azure - Controls Horizontal", + "stroke" : "#5e9624", + "color" : "#5e9624", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10790-icon-service-Controls-Horizontal.png" + }, { + "tag" : "Microsoft Azure - Learn", + "stroke" : "#54aef0", + "color" : "#54aef0", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10816-icon-service-Learn.png" + }, { + "tag" : "Microsoft Azure - Data Lake Store Gen1", + "stroke" : "#005ba1", + "color" : "#005ba1", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10150-icon-service-Data-Lake-Store-Gen1.png" + }, { + "tag" : "Microsoft Azure - Front Doors", + "stroke" : "#50e6ff", + "color" : "#50e6ff", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10073-icon-service-Front-Doors.png" + }, { + "tag" : "Microsoft Azure - Activity Log", + "stroke" : "#54aef0", + "color" : "#54aef0", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00007-icon-service-Activity-Log.png" + }, { + "tag" : "Microsoft Azure - Automanaged VM", + "stroke" : "#5ea0ef", + "color" : "#5ea0ef", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/02112-icon-service-Automanaged-VM.png" + }, { + "tag" : "Microsoft Azure - Resource Explorer", + "stroke" : "#ef7100", + "color" : "#ef7100", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10349-icon-service-Resource-Explorer.png" + }, { + "tag" : "Microsoft Azure - Reserved IP Addresses (Classic)", + "stroke" : "#0078d4", + "color" : "#0078d4", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10371-icon-service-Reserved-IP-Addresses-(Classic).png" + }, { + "tag" : "Microsoft Azure - Azure Sentinel", + "stroke" : "#c3f1ff", + "color" : "#c3f1ff", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10248-icon-service-Azure-Sentinel.png" + }, { + "tag" : "Microsoft Azure - Elastic Job Agents", + "stroke" : "#50e6ff", + "color" : "#50e6ff", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10128-icon-service-Elastic-Job-Agents.png" + }, { + "tag" : "Microsoft Azure - Service Bus", + "stroke" : "#198ab3", + "color" : "#198ab3", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10836-icon-service-Service-Bus.png" + }, { + "tag" : "Microsoft Azure - VM Images (Classic)", + "stroke" : "#5ea0ef", + "color" : "#5ea0ef", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10040-icon-service-VM-Images-(Classic).png" + }, { + "tag" : "Microsoft Azure - Search Services", + "stroke" : "#f2f2f2", + "color" : "#f2f2f2", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10044-icon-service-Search-Services.png" + }, { + "tag" : "Microsoft Azure - Media", + "stroke" : "#5ea0ef", + "color" : "#5ea0ef", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10854-icon-service-Media.png" + }, { + "tag" : "Microsoft Azure - Controls", + "stroke" : "#0078d4", + "color" : "#0078d4", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10789-icon-service-Controls.png" + }, { + "tag" : "Microsoft Azure - Managed Identities", + "stroke" : "#50e6ff", + "color" : "#50e6ff", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10227-icon-service-Managed-Identities.png" + }, { + "tag" : "Microsoft Azure - Relays", + "stroke" : "#949494", + "color" : "#949494", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10209-icon-service-Relays.png" + }, { + "tag" : "Microsoft Azure - Key Vaults", + "stroke" : "#ffd70f", + "color" : "#ffd70f", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10245-icon-service-Key-Vaults.png" + }, { + "tag" : "Microsoft Azure - Container Instances", + "stroke" : "#a67af4", + "color" : "#a67af4", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10104-icon-service-Container-Instances.png" + }, { + "tag" : "Microsoft Azure - ExtendedSecurityUpdates", + "stroke" : "#76bc2d", + "color" : "#76bc2d", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10572-icon-service-ExtendedSecurityUpdates.png" + }, { + "tag" : "Microsoft Azure - Local Network Gateways", + "stroke" : "#4aa599", + "color" : "#4aa599", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10077-icon-service-Local-Network-Gateways.png" + }, { + "tag" : "Microsoft Azure - Instance Pools", + "stroke" : "#777777", + "color" : "#777777", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10139-icon-service-Instance-Pools.png" + }, { + "tag" : "Microsoft Azure - Management Portal", + "stroke" : "#198ab3", + "color" : "#198ab3", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10820-icon-service-Management-Portal.png" + }, { + "tag" : "Microsoft Azure - Data Lake Storage Gen1", + "stroke" : "#005ba1", + "color" : "#005ba1", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10090-icon-service-Data-Lake-Storage-Gen1.png" + }, { + "tag" : "Microsoft Azure - Service Fabric Clusters", + "stroke" : "#e27908", + "color" : "#e27908", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10036-icon-service-Service-Fabric-Clusters.png" + }, { + "tag" : "Microsoft Azure - Event Hub Clusters", + "stroke" : "#949494", + "color" : "#949494", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10149-icon-service-Event-Hub-Clusters.png" + }, { + "tag" : "Microsoft Azure - Service Endpoint Policies", + "stroke" : "#5ea0ef", + "color" : "#5ea0ef", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10085-icon-service-Service-Endpoint-Policies.png" + }, { + "tag" : "Microsoft Azure - Batch Accounts", + "stroke" : "#83b9f9", + "color" : "#83b9f9", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10031-icon-service-Batch-Accounts.png" + }, { + "tag" : "Microsoft Azure - Diagnostics Settings", + "stroke" : "#5e9624", + "color" : "#5e9624", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00008-icon-service-Diagnostics-Settings.png" + }, { + "tag" : "Microsoft Azure - Private Link", + "stroke" : "#1490df", + "color" : "#1490df", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00427-icon-service-Private-Link.png" + }, { + "tag" : "Microsoft Azure - Event Grid Domains", + "stroke" : "#949494", + "color" : "#949494", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10215-icon-service-Event-Grid-Domains.png" + }, { + "tag" : "Microsoft Azure - IoT Edge", + "stroke" : "#32d4f5", + "color" : "#32d4f5", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10186-icon-service-IoT-Edge.png" + }, { + "tag" : "Microsoft Azure - Intune For Education", + "stroke" : "#32bedd", + "color" : "#32bedd", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10343-icon-service-Intune-For-Education.png" + }, { + "tag" : "Microsoft Azure - Outbound Connection", + "stroke" : "#773adc", + "color" : "#773adc", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10364-icon-service-Outbound-Connection.png" + }, { + "tag" : "Microsoft Azure - Automation Accounts", + "stroke" : "#599eed", + "color" : "#599eed", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00022-icon-service-Automation-Accounts.png" + }, { + "tag" : "Microsoft Azure - Journey Hub", + "stroke" : "#86d633", + "color" : "#86d633", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10814-icon-service-Journey-Hub.png" + }, { + "tag" : "Microsoft Azure - Device Security Apple", + "stroke" : "#dc92bf", + "color" : "#dc92bf", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00399-icon-service-Device-Security-Apple.png" + }, { + "tag" : "Microsoft Azure - Cost Analysis", + "stroke" : "#32bedd", + "color" : "#32bedd", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10792-icon-service-Cost-Analysis.png" + }, { + "tag" : "Microsoft Azure - Azure AD Domain Services", + "stroke" : "#50e6ff", + "color" : "#50e6ff", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10222-icon-service-Azure-AD-Domain-Services.png" + }, { + "tag" : "Microsoft Azure - Azure NetApp Files", + "stroke" : "#198ab3", + "color" : "#198ab3", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10096-icon-service-Azure-NetApp-Files.png" + }, { + "tag" : "Microsoft Azure - Azure AD Identity Protection", + "stroke" : "#faa21d", + "color" : "#faa21d", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10231-icon-service-Azure-AD-Identity-Protection.png" + }, { + "tag" : "Microsoft Azure - App Services", + "stroke" : "#5ea0ef", + "color" : "#5ea0ef", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10035-icon-service-App-Services.png" + }, { + "tag" : "Microsoft Azure - Heart", + "stroke" : "#e62323", + "color" : "#e62323", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10811-icon-service-Heart.png" + }, { + "tag" : "Microsoft Azure - Cost Management and Billing", + "stroke" : "#cccccc", + "color" : "#cccccc", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00004-icon-service-Cost-Management-and-Billing.png" + }, { + "tag" : "Microsoft Azure - Azure Active Directory", + "stroke" : "#50e6ff", + "color" : "#50e6ff", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10221-icon-service-Azure-Active-Directory.png" + }, { + "tag" : "Microsoft Azure - Cost Management", + "stroke" : "#74b92c", + "color" : "#74b92c", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10019-icon-service-Cost-Management.png" + }, { + "tag" : "Microsoft Azure - Peering Service", + "stroke" : "#0078d4", + "color" : "#0078d4", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00970-icon-service-Peering-Service.png" + }, { + "tag" : "Microsoft Azure - Log Streaming", + "stroke" : "#f78d1e", + "color" : "#f78d1e", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10819-icon-service-Log-Streaming.png" + }, { + "tag" : "Microsoft Azure - Powershell", + "stroke" : "#0078d4", + "color" : "#0078d4", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10825-icon-service-Powershell.png" + }, { + "tag" : "Microsoft Azure - Data Box Edge", + "stroke" : "#50e6ff", + "color" : "#50e6ff", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10095-icon-service-Data-Box-Edge.png" + }, { + "tag" : "Microsoft Azure - Help and Support", + "stroke" : "#767676", + "color" : "#767676", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10013-icon-service-Help-and-Support.png" + }, { + "tag" : "Microsoft Azure - Server Farm", + "stroke" : "#003067", + "color" : "#003067", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10835-icon-service-Server-Farm.png" + }, { + "tag" : "Microsoft Azure - Identity Governance", + "stroke" : "#32bedd", + "color" : "#32bedd", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10235-icon-service-Identity-Governance.png" + }, { + "tag" : "Microsoft Azure - Template Specs", + "stroke" : "#32bedd", + "color" : "#32bedd", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/02340-icon-service-Template-Specs.png" + }, { + "tag" : "Microsoft Azure - Virtual Networks", + "stroke" : "#1490df", + "color" : "#1490df", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10061-icon-service-Virtual-Networks.png" + }, { + "tag" : "Microsoft Azure - Kubernetes Services", + "stroke" : "#341a6e", + "color" : "#341a6e", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10023-icon-service-Kubernetes-Services.png" + }, { + "tag" : "Microsoft Azure - Education", + "stroke" : "#773adc", + "color" : "#773adc", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00026-icon-service-Education.png" + }, { + "tag" : "Microsoft Azure - Web Application Firewall Policies(WAF)", + "stroke" : "#821010", + "color" : "#821010", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10362-icon-service-Web-Application-Firewall-Policies(WAF).png" + }, { + "tag" : "Microsoft Azure - Availability Sets", + "stroke" : "#0078d4", + "color" : "#0078d4", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10025-icon-service-Availability-Sets.png" + }, { + "tag" : "Microsoft Azure - Quickstart Center", + "stroke" : "#f78d1e", + "color" : "#f78d1e", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10010-icon-service-Quickstart-Center.png" + }, { + "tag" : "Microsoft Azure - HD Insight Clusters", + "stroke" : "#0078d4", + "color" : "#0078d4", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10142-icon-service-HD-Insight-Clusters.png" + }, { + "tag" : "Microsoft Azure - Private Link Service", + "stroke" : "#1490df", + "color" : "#1490df", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/01105-icon-service-Private-Link-Service.png" + }, { + "tag" : "Microsoft Azure - Production Ready Database", + "stroke" : "#e6e6e6", + "color" : "#e6e6e6", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10829-icon-service-Production-Ready-Database.png" + }, { + "tag" : "Microsoft Azure - Solutions", + "stroke" : "#31d1f2", + "color" : "#31d1f2", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00021-icon-service-Solutions.png" + }, { + "tag" : "Microsoft Azure - Event Hubs", + "stroke" : "#949494", + "color" : "#949494", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00039-icon-service-Event-Hubs.png" + }, { + "tag" : "Microsoft Azure - Container Services (Deprecated)", + "stroke" : "#341a6e", + "color" : "#341a6e", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10049-icon-service-Container-Services-(Deprecated).png" + }, { + "tag" : "Microsoft Azure - Mobile Engagement", + "stroke" : "#5ea0ef", + "color" : "#5ea0ef", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10823-icon-service-Mobile-Engagement.png" + }, { + "tag" : "Microsoft Azure - Mobile", + "stroke" : "#0078d4", + "color" : "#0078d4", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10822-icon-service-Mobile.png" + }, { + "tag" : "Microsoft Azure - Storage Accounts", + "stroke" : "#37c2b1", + "color" : "#37c2b1", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10086-icon-service-Storage-Accounts.png" + }, { + "tag" : "Microsoft Azure - Azure Backup Center", + "stroke" : "#50e6ff", + "color" : "#50e6ff", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/02360-icon-service-Azure-Backup-Center.png" + }, { + "tag" : "Microsoft Azure - Resource Group List", + "stroke" : "#50e6ff", + "color" : "#50e6ff", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10830-icon-service-Resource-Group-List.png" + }, { + "tag" : "Microsoft Azure - Connections", + "stroke" : "#5e9624", + "color" : "#5e9624", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10081-icon-service-Connections.png" + }, { + "tag" : "Microsoft Azure - OS Images (Classic)", + "stroke" : "#5ea0ef", + "color" : "#5ea0ef", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10027-icon-service-OS-Images-(Classic).png" + }, { + "tag" : "Microsoft Azure - Web Test", + "stroke" : "#3cd4c2", + "color" : "#3cd4c2", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10850-icon-service-Web-Test.png" + }, { + "tag" : "Microsoft Azure - Detonation", + "stroke" : "#a3a3a3", + "color" : "#a3a3a3", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00378-icon-service-Detonation.png" + }, { + "tag" : "Microsoft Azure - Recent", + "stroke" : "#7a7a7a", + "color" : "#7a7a7a", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10006-icon-service-Recent.png" + }, { + "tag" : "Microsoft Azure - Azure API for FHIR", + "stroke" : "#ffe452", + "color" : "#ffe452", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10212-icon-service-Azure-API-for-FHIR.png" + }, { + "tag" : "Microsoft Azure - ExpressRoute Circuits", + "stroke" : "#a67af4", + "color" : "#a67af4", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10079-icon-service-ExpressRoute-Circuits.png" + }, { + "tag" : "Microsoft Azure - Security Center", + "stroke" : "#76bc2d", + "color" : "#76bc2d", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10241-icon-service-Security-Center.png" + }, { + "tag" : "Microsoft Azure - Input Output", + "stroke" : "#949494", + "color" : "#949494", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10813-icon-service-Input-Output.png" + }, { + "tag" : "Microsoft Azure - DNS Zones", + "stroke" : "#5ea0ef", + "color" : "#5ea0ef", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10064-icon-service-DNS-Zones.png" + }, { + "tag" : "Microsoft Azure - Network Interfaces", + "stroke" : "#365615", + "color" : "#365615", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10080-icon-service-Network-Interfaces.png" + }, { + "tag" : "Microsoft Azure - Time Series Data Sets", + "stroke" : "#e8e8e8", + "color" : "#e8e8e8", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10198-icon-service-Time-Series-Data-Sets.png" + }, { + "tag" : "Microsoft Azure - Biz Talk", + "stroke" : "#005ba1", + "color" : "#005ba1", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10779-icon-service-Biz-Talk.png" + }, { + "tag" : "Microsoft Azure - Download", + "stroke" : "#1490df", + "color" : "#1490df", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10797-icon-service-Download.png" + }, { + "tag" : "Microsoft Azure - Extensions", + "stroke" : "#b3b3b3", + "color" : "#b3b3b3", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10799-icon-service-Extensions.png" + }, { + "tag" : "Microsoft Azure - Azure Databricks", + "stroke" : "#ff3621", + "color" : "#ff3621", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10787-icon-service-Azure-Databricks.png" + }, { + "tag" : "Microsoft Azure - Folder Blank", + "stroke" : "#ffd100", + "color" : "#ffd100", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10802-icon-service-Folder-Blank.png" + }, { + "tag" : "Microsoft Azure - Azure Lighthouse", + "stroke" : "#83b9f9", + "color" : "#83b9f9", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00471-icon-service-Azure-Lighthouse.png" + }, { + "tag" : "Microsoft Azure - ExpressRoute Direct", + "stroke" : "#773adc", + "color" : "#773adc", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00903-icon-service-ExpressRoute-Direct.png" + }, { + "tag" : "Microsoft Azure - Azure Workbooks", + "stroke" : "#188de6", + "color" : "#188de6", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/02189-icon-service-Azure-Workbooks.png" + }, { + "tag" : "Microsoft Azure - Location", + "stroke" : "#9cebff", + "color" : "#9cebff", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10818-icon-service-Location.png" + }, { + "tag" : "Microsoft Azure - Azure Media Service", + "stroke" : "#5ea0ef", + "color" : "#5ea0ef", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10309-icon-service-Azure-Media-Service.png" + }, { + "tag" : "Microsoft Azure - Cubes", + "stroke" : "#76bc2d", + "color" : "#76bc2d", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10795-icon-service-Cubes.png" + }, { + "tag" : "Microsoft Azure - Machine Learning Studio Workspaces", + "stroke" : "#83b9f9", + "color" : "#83b9f9", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10167-icon-service-Machine-Learning-Studio-Workspaces.png" + }, { + "tag" : "Microsoft Azure - Traffic Manager Profiles", + "stroke" : "#f2f2f2", + "color" : "#f2f2f2", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10065-icon-service-Traffic-Manager-Profiles.png" + }, { + "tag" : "Microsoft Azure - Azure SQL Server Stretch Databases", + "stroke" : "#50e6ff", + "color" : "#50e6ff", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10137-icon-service-Azure-SQL-Server-Stretch-Databases.png" + }, { + "tag" : "Microsoft Azure - Users", + "stroke" : "#32d4f5", + "color" : "#32d4f5", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10230-icon-service-Users.png" + }, { + "tag" : "Microsoft Azure - AVS", + "stroke" : "#76bc2d", + "color" : "#76bc2d", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00524-icon-service-AVS.png" + }, { + "tag" : "Microsoft Azure - Software as a Service", + "stroke" : "#959595", + "color" : "#959595", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10213-icon-service-Software-as-a-Service.png" + }, { + "tag" : "Microsoft Azure - Machine Learning Studio Web Service Plans", + "stroke" : "#0078d4", + "color" : "#0078d4", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10168-icon-service-Machine-Learning-Studio-Web-Service-Plans.png" + }, { + "tag" : "Microsoft Azure - Azure Migrate", + "stroke" : "#31d1f3", + "color" : "#31d1f3", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10281-icon-service-Azure-Migrate.png" + }, { + "tag" : "Microsoft Azure - Public IP Addresses (Classic)", + "stroke" : "#32d4f5", + "color" : "#32d4f5", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10068-icon-service-Public-IP-Addresses-(Classic).png" + }, { + "tag" : "Microsoft Azure - Blob Page", + "stroke" : "#198ab3", + "color" : "#198ab3", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10781-icon-service-Blob-Page.png" + }, { + "tag" : "Microsoft Azure - Files", + "stroke" : "#5ea0ef", + "color" : "#5ea0ef", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10801-icon-service-Files.png" + }, { + "tag" : "Microsoft Azure - TFS VC Repository", + "stroke" : "#773adc", + "color" : "#773adc", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10843-icon-service-TFS-VC-Repository.png" + }, { + "tag" : "Microsoft Azure - Event Grid Topics", + "stroke" : "#949494", + "color" : "#949494", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10206-icon-service-Event-Grid-Topics.png" + }, { + "tag" : "Microsoft Azure - Search Grid", + "stroke" : "#50e6ff", + "color" : "#50e6ff", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10856-icon-service-Search-Grid.png" + }, { + "tag" : "Microsoft Azure - IoT Hub", + "stroke" : "#949494", + "color" : "#949494", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10182-icon-service-IoT-Hub.png" + }, { + "tag" : "Microsoft Azure - Azure Blockchain Service", + "stroke" : "#b796f9", + "color" : "#b796f9", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10366-icon-service-Azure-Blockchain-Service.png" + }, { + "tag" : "Microsoft Azure - Virtual Machines (Classic)", + "stroke" : "#5ea0ef", + "color" : "#5ea0ef", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10028-icon-service-Virtual-Machines-(Classic).png" + }, { + "tag" : "Microsoft Azure - Scale", + "stroke" : "#b3b3b3", + "color" : "#b3b3b3", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10832-icon-service-Scale.png" + }, { + "tag" : "Microsoft Azure - Website Power", + "stroke" : "#b3b3b3", + "color" : "#b3b3b3", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10847-icon-service-Website-Power.png" + }, { + "tag" : "Microsoft Azure - Storage Sync Services", + "stroke" : "#003067", + "color" : "#003067", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10093-icon-service-Storage-Sync-Services.png" + }, { + "tag" : "Microsoft Azure - Globe Success", + "stroke" : "#a3a3a3", + "color" : "#a3a3a3", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10808-icon-service-Globe-Success.png" + }, { + "tag" : "Microsoft Azure - Logic Apps", + "stroke" : "#949494", + "color" : "#949494", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10201-icon-service-Logic-Apps.png" + }, { + "tag" : "Microsoft Azure - Lab Services", + "stroke" : "#3c91e5", + "color" : "#3c91e5", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10265-icon-service-Lab-Services.png" + }, { + "tag" : "Microsoft Azure - App Service Domains", + "stroke" : "#32d4f5", + "color" : "#32d4f5", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00050-icon-service-App-Service-Domains.png" + }, { + "tag" : "Microsoft Azure - Consortium", + "stroke" : "#5e9624", + "color" : "#5e9624", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10375-icon-service-Consortium.png" + }, { + "tag" : "Microsoft Azure - Azure Database MySQL Server", + "stroke" : "#f2f2f2", + "color" : "#f2f2f2", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10122-icon-service-Azure-Database-MySQL-Server.png" + }, { + "tag" : "Microsoft Azure - Marketplace", + "stroke" : "#32bedd", + "color" : "#32bedd", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10008-icon-service-Marketplace.png" + }, { + "tag" : "Microsoft Azure - Folder Website", + "stroke" : "#dfa500", + "color" : "#dfa500", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10803-icon-service-Folder-Website.png" + }, { + "tag" : "Microsoft Azure - Azure AD Roles and Administrators", + "stroke" : "#9cebff", + "color" : "#9cebff", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10340-icon-service-Azure-AD-Roles-and-Administrators.png" + }, { + "tag" : "Microsoft Azure - Image", + "stroke" : "#b4ec36", + "color" : "#b4ec36", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10812-icon-service-Image.png" + }, { + "tag" : "Microsoft Azure - IoT Central Applications", + "stroke" : "#a3a3a3", + "color" : "#a3a3a3", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10184-icon-service-IoT-Central-Applications.png" + }, { + "tag" : "Microsoft Azure - App Service Plans", + "stroke" : "#b3b3b3", + "color" : "#b3b3b3", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00046-icon-service-App-Service-Plans.png" + }, { + "tag" : "Microsoft Azure - Disks (Classic)", + "stroke" : "#76bc2d", + "color" : "#76bc2d", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10041-icon-service-Disks-(Classic).png" + }, { + "tag" : "Microsoft Azure - StorSimple Data Managers", + "stroke" : "#f2f2f2", + "color" : "#f2f2f2", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10092-icon-service-StorSimple-Data-Managers.png" + }, { + "tag" : "Microsoft Azure - Virtual WANs", + "stroke" : "#0078d4", + "color" : "#0078d4", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10353-icon-service-Virtual-WANs.png" + }, { + "tag" : "Microsoft Azure - Time Series Insights Environments", + "stroke" : "#50e6ff", + "color" : "#50e6ff", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10181-icon-service-Time-Series-Insights-Environments.png" + }, { + "tag" : "Microsoft Azure - SAP Azure Monitor", + "stroke" : "#50e6ff", + "color" : "#50e6ff", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00438-icon-service-SAP-Azure-Monitor.png" + }, { + "tag" : "Microsoft Azure - Firewalls", + "stroke" : "#821010", + "color" : "#821010", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10084-icon-service-Firewalls.png" + }, { + "tag" : "Microsoft Azure - Device Provisioning Services", + "stroke" : "#949494", + "color" : "#949494", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10369-icon-service-Device-Provisioning-Services.png" + }, { + "tag" : "Microsoft Azure - Image Versions", + "stroke" : "#0078d4", + "color" : "#0078d4", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10038-icon-service-Image-Versions.png" + }, { + "tag" : "Microsoft Azure - SSIS Lift And Shift IR", + "stroke" : "#e8e8e8", + "color" : "#e8e8e8", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/02392-icon-service-SSIS-Lift-And-Shift-IR.png" + }, { + "tag" : "Microsoft Azure - User Subscriptions", + "stroke" : "#32d4f5", + "color" : "#32d4f5", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10111-icon-service-User-Subscriptions.png" + }, { + "tag" : "Microsoft Azure - Search", + "stroke" : "#198ab3", + "color" : "#198ab3", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10834-icon-service-Search.png" + }, { + "tag" : "Microsoft Azure - Event Grid Subscriptions", + "stroke" : "#949494", + "color" : "#949494", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10221-icon-service-Event-Grid-Subscriptions.png" + }, { + "tag" : "Microsoft Azure - Notification Hub Namespaces", + "stroke" : "#ffe452", + "color" : "#ffe452", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10053-icon-service-Notification-Hub-Namespaces.png" + }, { + "tag" : "Microsoft Azure - Azure Database Migration Services", + "stroke" : "#f2f2f2", + "color" : "#f2f2f2", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10133-icon-service-Azure-Database-Migration-Services.png" + }, { + "tag" : "Microsoft Azure - Public IP Addresses", + "stroke" : "#32d4f5", + "color" : "#32d4f5", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10069-icon-service-Public-IP-Addresses.png" + }, { + "tag" : "Microsoft Azure - Notification Hubs", + "stroke" : "#ffe452", + "color" : "#ffe452", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10045-icon-service-Notification-Hubs.png" + }, { + "tag" : "Microsoft Azure - Azure Synapse Analytics", + "stroke" : "#0078d4", + "color" : "#0078d4", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00606-icon-service-Azure-Synapse-Analytics.png" + }, { + "tag" : "Microsoft Azure - Application Insights", + "stroke" : "#cecece", + "color" : "#cecece", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00012-icon-service-Application-Insights.png" + }, { + "tag" : "Microsoft Azure - SSD", + "stroke" : "#f2f2f2", + "color" : "#f2f2f2", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10837-icon-service-SSD.png" + }, { + "tag" : "Microsoft Azure - Data Share Invitations", + "stroke" : "#50e6ff", + "color" : "#50e6ff", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10097-icon-service-Data-Share-Invitations.png" + }, { + "tag" : "Microsoft Azure - Media File", + "stroke" : "#5ea0ef", + "color" : "#5ea0ef", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10821-icon-service-Media-File.png" + }, { + "tag" : "Microsoft Azure - Application Gateways", + "stroke" : "#0078d4", + "color" : "#0078d4", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10076-icon-service-Application-Gateways.png" + }, { + "tag" : "Microsoft Azure - Alerts", + "stroke" : "#629c25", + "color" : "#629c25", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00002-icon-service-Alerts.png" + }, { + "tag" : "Microsoft Azure - File", + "stroke" : "#5ea0ef", + "color" : "#5ea0ef", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10800-icon-service-File.png" + }, { + "tag" : "Microsoft Azure - Image Definitions", + "stroke" : "#c3f1ff", + "color" : "#c3f1ff", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10037-icon-service-Image-Definitions.png" + }, { + "tag" : "Microsoft Azure - Counter", + "stroke" : "#0078d4", + "color" : "#0078d4", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10794-icon-service-Counter.png" + }, { + "tag" : "Microsoft Azure - Resource Graph Explorer", + "stroke" : "#b796f9", + "color" : "#b796f9", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10318-icon-service-Resource-Graph-Explorer.png" + }, { + "tag" : "Microsoft Azure - Time Series Insights Access Policies", + "stroke" : "#ffd70f", + "color" : "#ffd70f", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10192-icon-service-Time-Series-Insights-Access-Policies.png" + }, { + "tag" : "Microsoft Azure - Versions", + "stroke" : "#0078d4", + "color" : "#0078d4", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10845-icon-service-Versions.png" + }, { + "tag" : "Microsoft Azure - Load Balancers", + "stroke" : "#b4ec36", + "color" : "#b4ec36", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10062-icon-service-Load-Balancers.png" + }, { + "tag" : "Microsoft Azure - VM Scale Sets", + "stroke" : "#005ba1", + "color" : "#005ba1", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10034-icon-service-VM-Scale-Sets.png" + }, { + "tag" : "Microsoft Azure - DevTest Labs", + "stroke" : "#552f99", + "color" : "#552f99", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10264-icon-service-DevTest-Labs.png" + }, { + "tag" : "Microsoft Azure - ABS Member", + "stroke" : "#b796f9", + "color" : "#b796f9", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10374-icon-service-ABS-Member.png" + }, { + "tag" : "Microsoft Azure - Disks", + "stroke" : "#76bc2d", + "color" : "#76bc2d", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10032-icon-service-Disks.png" + }, { + "tag" : "Microsoft Azure - Private Link Hub", + "stroke" : "#0078d4", + "color" : "#0078d4", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/02209-icon-service-Private-Link-Hub.png" + }, { + "tag" : "Microsoft Azure - Import Export Jobs", + "stroke" : "#5ea0ef", + "color" : "#5ea0ef", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10100-icon-service-Import-Export-Jobs.png" + }, { + "tag" : "Microsoft Azure - Resource Mover", + "stroke" : "#9cebff", + "color" : "#9cebff", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/02200-icon-service-Resource-Mover.png" + }, { + "tag" : "Microsoft Azure - Commit", + "stroke" : "#a67af4", + "color" : "#a67af4", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10788-icon-service-Commit.png" + }, { + "tag" : "Microsoft Azure - Azure DevOps", + "stroke" : "#509aeb", + "color" : "#509aeb", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10261-icon-service-Azure-DevOps.png" + }, { + "tag" : "Microsoft Azure - Code", + "stroke" : "#0078d4", + "color" : "#0078d4", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10787-icon-service-Code.png" + }, { + "tag" : "Microsoft Azure - Managed Applications Center", + "stroke" : "#50e6ff", + "color" : "#50e6ff", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10313-icon-service-Managed-Applications-Center.png" + }, { + "tag" : "Microsoft Azure - Infrastructure Backup", + "stroke" : "#003067", + "color" : "#003067", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10108-icon-service-Infrastructure-Backup.png" + }, { + "tag" : "Microsoft Azure - Static Apps", + "stroke" : "#005ba1", + "color" : "#005ba1", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/01007-icon-service-Static-Apps.png" + }, { + "tag" : "Microsoft Azure - Workbooks", + "stroke" : "#5ea0ef", + "color" : "#5ea0ef", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10851-icon-service-Workbooks.png" + }, { + "tag" : "Microsoft Azure - SQL Database", + "stroke" : "#e8e8e8", + "color" : "#e8e8e8", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10130-icon-service-SQL-Database.png" + }, { + "tag" : "Microsoft Azure - Cloud Services (Classic)", + "stroke" : "#1a83dc", + "color" : "#1a83dc", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10030-icon-service-Cloud-Services-(Classic).png" + }, { + "tag" : "Microsoft Azure - Cost Budgets", + "stroke" : "#76bc2d", + "color" : "#76bc2d", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10793-icon-service-Cost-Budgets.png" + }, { + "tag" : "Microsoft Azure - Toolbox", + "stroke" : "#9cebff", + "color" : "#9cebff", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10844-icon-service-Toolbox.png" + }, { + "tag" : "Microsoft Azure - Azure Stack", + "stroke" : "#f2f2f2", + "color" : "#f2f2f2", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10114-icon-service-Azure-Stack.png" + }, { + "tag" : "Microsoft Azure - Azure Database PostgreSQL Server", + "stroke" : "#f2f2f2", + "color" : "#f2f2f2", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10131-icon-service-Azure-Database-PostgreSQL-Server.png" + }, { + "tag" : "Microsoft Azure - SSH Keys", + "stroke" : "#5ea0ef", + "color" : "#5ea0ef", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00412-icon-service-SSH-Keys.png" + }, { + "tag" : "Microsoft Azure - Tags", + "stroke" : "#773adc", + "color" : "#773adc", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10842-icon-service-Tags.png" + }, { + "tag" : "Microsoft Azure - Shared Image Galleries", + "stroke" : "#32bedd", + "color" : "#32bedd", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10039-icon-service-Shared-Image-Galleries.png" + }, { + "tag" : "Microsoft Azure - Network Watcher", + "stroke" : "#50e6ff", + "color" : "#50e6ff", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10066-icon-service-Network-Watcher.png" + }, { + "tag" : "Microsoft Azure - Process Explorer", + "stroke" : "#1490df", + "color" : "#1490df", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10828-icon-service-Process-Explorer.png" + }, { + "tag" : "Microsoft Azure - Data Shares", + "stroke" : "#e8e8e8", + "color" : "#e8e8e8", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10098-icon-service-Data-Shares.png" + }, { + "tag" : "Microsoft Azure - App Service Certificates", + "stroke" : "#ffb34d", + "color" : "#ffb34d", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00049-icon-service-App-Service-Certificates.png" + }, { + "tag" : "Microsoft Azure - Operation Log (Classic)", + "stroke" : "#54aef0", + "color" : "#54aef0", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00024-icon-service-Operation-Log-(Classic).png" + }, { + "tag" : "Microsoft Azure - Preview", + "stroke" : "#86d633", + "color" : "#86d633", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10827-icon-service-Preview.png" + }, { + "tag" : "Microsoft Azure - Mesh Applications", + "stroke" : "#f78d1e", + "color" : "#f78d1e", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10024-icon-service-Mesh-Applications.png" + }, { + "tag" : "Microsoft Azure - Route Tables", + "stroke" : "#0078d4", + "color" : "#0078d4", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10082-icon-service-Route-Tables.png" + }, { + "tag" : "Microsoft Azure - SQL Data Warehouses", + "stroke" : "#50e6ff", + "color" : "#50e6ff", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00036-icon-service-SQL-Data-Warehouses.png" + }, { + "tag" : "Microsoft Azure - CDN Profiles", + "stroke" : "#a3a3a3", + "color" : "#a3a3a3", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00056-icon-service-CDN-Profiles.png" + }, { + "tag" : "Microsoft Azure - Blob Block", + "stroke" : "#0078d4", + "color" : "#0078d4", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10780-icon-service-Blob-Block.png" + }, { + "tag" : "Microsoft Azure - Policy", + "stroke" : "#949494", + "color" : "#949494", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10316-icon-service-Policy.png" + }, { + "tag" : "Microsoft Azure - Cache Redis", + "stroke" : "#e8e8e8", + "color" : "#e8e8e8", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10137-icon-service-Cache-Redis.png" + }, { + "tag" : "Microsoft Azure - Virtual Machine", + "stroke" : "#5ea0ef", + "color" : "#5ea0ef", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10021-icon-service-Virtual-Machine.png" + }, { + "tag" : "Microsoft Azure - Internet Analyzer Profiles", + "stroke" : "#50e6ff", + "color" : "#50e6ff", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00469-icon-service-Internet-Analyzer-Profiles.png" + }, { + "tag" : "Microsoft Azure - App Service Environments", + "stroke" : "#949494", + "color" : "#949494", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10047-icon-service-App-Service-Environments.png" + }, { + "tag" : "Microsoft Azure - Virtual Network Gateways", + "stroke" : "#50e6ff", + "color" : "#50e6ff", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10063-icon-service-Virtual-Network-Gateways.png" + }, { + "tag" : "Microsoft Azure - Partner Topic", + "stroke" : "#949494", + "color" : "#949494", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/02072-icon-service-Partner-Topic.png" + }, { + "tag" : "Microsoft Azure - Cost Alerts", + "stroke" : "#f2f2f2", + "color" : "#f2f2f2", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10791-icon-service-Cost-Alerts.png" + }, { + "tag" : "Microsoft Azure - Guide", + "stroke" : "#198ab3", + "color" : "#198ab3", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10810-icon-service-Guide.png" + }, { + "tag" : "Microsoft Azure - Information", + "stroke" : "#54aef0", + "color" : "#54aef0", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10005-icon-service-Information.png" + }, { + "tag" : "Microsoft Azure - Device Security Windows", + "stroke" : "#83b9f9", + "color" : "#83b9f9", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00399-icon-service-Device-Security-Windows.png" + }, { + "tag" : "Microsoft Azure - Device Security Google", + "stroke" : "#b4ec36", + "color" : "#b4ec36", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00399-icon-service-Device-Security-Google.png" + }, { + "tag" : "Microsoft Azure - Web Slots", + "stroke" : "#0078d4", + "color" : "#0078d4", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10849-icon-service-Web-Slots.png" + }, { + "tag" : "Microsoft Azure - RTOS", + "stroke" : "#b3b4b4", + "color" : "#b3b4b4", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10778-icon-service-RTOS.png" + }, { + "tag" : "Microsoft Azure - Azure Stack Edge", + "stroke" : "#50e6ff", + "color" : "#50e6ff", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00691-icon-service-Azure-Stack-Edge.png" + }, { + "tag" : "Microsoft Azure - API Management Services", + "stroke" : "#32d4f5", + "color" : "#32d4f5", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10042-icon-service-API-Management-Services.png" + }, { + "tag" : "Microsoft Azure - Subscriptions", + "stroke" : "#ffd70f", + "color" : "#ffd70f", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10002-icon-service-Subscriptions.png" + }, { + "tag" : "Microsoft Azure - Translator Text", + "stroke" : "#0379d5", + "color" : "#0379d5", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00800-icon-service-Translator-Text.png" + }, { + "tag" : "Microsoft Azure - Globe Warning", + "stroke" : "#a3a3a3", + "color" : "#a3a3a3", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10809-icon-service-Globe-Warning.png" + }, { + "tag" : "Microsoft Azure - Service Providers", + "stroke" : "#86d633", + "color" : "#86d633", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00025-icon-service-Service-Providers.png" + }, { + "tag" : "Microsoft Azure - MachinesAzureArc", + "stroke" : "#552f99", + "color" : "#552f99", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10450-icon-service-MachinesAzureArc.png" + }, { + "tag" : "Microsoft Azure - Data Factory", + "stroke" : "#005ba1", + "color" : "#005ba1", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10126-icon-service-Data-Factory.png" + }, { + "tag" : "Microsoft Azure - Azure Sphere", + "stroke" : "#50e6ff", + "color" : "#50e6ff", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10190-icon-service-Azure-Sphere.png" + }, { + "tag" : "Microsoft Azure - User Privacy", + "stroke" : "#32d4f5", + "color" : "#32d4f5", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10303-icon-service-User-Privacy.png" + }, { + "tag" : "Microsoft Azure - Plans", + "stroke" : "#0078d4", + "color" : "#0078d4", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10113-icon-service-Plans.png" + }, { + "tag" : "Microsoft Azure - Management Groups", + "stroke" : "#949494", + "color" : "#949494", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10011-icon-service-Management-Groups.png" + }, { + "tag" : "Microsoft Azure - Images", + "stroke" : "#5ea0ef", + "color" : "#5ea0ef", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10033-icon-service-Images.png" + }, { + "tag" : "Microsoft Azure - Storage Container", + "stroke" : "#0078d4", + "color" : "#0078d4", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10839-icon-service-Storage-Container.png" + }, { + "tag" : "Microsoft Azure - Groups", + "stroke" : "#0078d4", + "color" : "#0078d4", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10223-icon-service-Groups.png" + }, { + "tag" : "Microsoft Azure - Browser", + "stroke" : "#32d4f5", + "color" : "#32d4f5", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10783-icon-service-Browser.png" + }, { + "tag" : "Microsoft Azure - Globe", + "stroke" : "#42e8ca", + "color" : "#42e8ca", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10806-icon-service-Globe.png" + }, { + "tag" : "Microsoft Azure - Container Registries", + "stroke" : "#767676", + "color" : "#767676", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10105-icon-service-Container-Registries.png" + }, { + "tag" : "Microsoft Azure - Launch Portal", + "stroke" : "#b3b3b3", + "color" : "#b3b3b3", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10815-icon-service-Launch-Portal.png" + }, { + "tag" : "Microsoft Azure - FTP", + "stroke" : "#32d4f5", + "color" : "#32d4f5", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10804-icon-service-FTP.png" + }, { + "tag" : "Microsoft Azure - Capacity", + "stroke" : "#003067", + "color" : "#003067", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10109-icon-service-Capacity.png" + }, { + "tag" : "Microsoft Azure - Globe Error", + "stroke" : "#a3a3a3", + "color" : "#a3a3a3", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10807-icon-service-Globe-Error.png" + }, { + "tag" : "Microsoft Azure - All Resources", + "stroke" : "#75bb2d", + "color" : "#75bb2d", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10001-icon-service-All-Resources.png" + }, { + "tag" : "Microsoft Azure - Virtual Networks (Classic)", + "stroke" : "#1490df", + "color" : "#1490df", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10075-icon-service-Virtual-Networks-(Classic).png" + }, { + "tag" : "Microsoft Azure - Cache", + "stroke" : "#e6e6e6", + "color" : "#e6e6e6", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10786-icon-service-Cache.png" + }, { + "tag" : "Microsoft Azure - Cognitive Services", + "stroke" : "#9cebff", + "color" : "#9cebff", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10162-icon-service-Cognitive-Services.png" + }, { + "tag" : "Microsoft Azure - Azure Defender", + "stroke" : "#50e6ff", + "color" : "#50e6ff", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/02247-icon-service-Azure-Defender.png" + }, { + "tag" : "Microsoft Azure - Azure Token Service", + "stroke" : "#50e6ff", + "color" : "#50e6ff", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10367-icon-service-Azure-Token-Service.png" + }, { + "tag" : "Microsoft Azure - System Topic", + "stroke" : "#949494", + "color" : "#949494", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/02073-icon-service-System-Topic.png" + }, { + "tag" : "Microsoft Azure - My Customers", + "stroke" : "#0078d4", + "color" : "#0078d4", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00014-icon-service-My-Customers.png" + }, { + "tag" : "Microsoft Azure - Compliance", + "stroke" : "#0078d4", + "color" : "#0078d4", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00011-icon-service-Compliance.png" + }, { + "tag" : "Microsoft Azure - Power", + "stroke" : "#fea11b", + "color" : "#fea11b", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10824-icon-service-Power.png" + }, { + "tag" : "Microsoft Azure - Builds", + "stroke" : "#a67af4", + "color" : "#a67af4", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10785-icon-service-Builds.png" + }, { + "tag" : "Microsoft Azure - Managed Database", + "stroke" : "#eaeaea", + "color" : "#eaeaea", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10135-icon-service-Managed-Database.png" + }, { + "tag" : "Microsoft Azure - Public IP Prefixes", + "stroke" : "#767676", + "color" : "#767676", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10372-icon-service-Public-IP-Prefixes.png" + }, { + "tag" : "Microsoft Azure - Active Directory Connect Health", + "stroke" : "#f04049", + "color" : "#f04049", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10224-icon-service-Active-Directory-Connect-Health.png" + }, { + "tag" : "Microsoft Azure - Scheduler", + "stroke" : "#86d633", + "color" : "#86d633", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10833-icon-service-Scheduler.png" + }, { + "tag" : "Microsoft Azure - Workflow", + "stroke" : "#50e6ff", + "color" : "#50e6ff", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10852-icon-service-Workflow.png" + }, { + "tag" : "Microsoft Azure - Reservations", + "stroke" : "#6f4bb2", + "color" : "#6f4bb2", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10003-icon-service-Reservations.png" + }, { + "tag" : "Microsoft Azure - SQL Server", + "stroke" : "#e8e8e8", + "color" : "#e8e8e8", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10132-icon-service-SQL-Server.png" + }, { + "tag" : "Microsoft Azure - Virtual Clusters", + "stroke" : "#949494", + "color" : "#949494", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10127-icon-service-Virtual-Clusters.png" + }, { + "tag" : "Microsoft Azure - Intune", + "stroke" : "#32bedd", + "color" : "#32bedd", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10329-icon-service-Intune.png" + }, { + "tag" : "Microsoft Azure - Azure Firewall Manager", + "stroke" : "#821010", + "color" : "#821010", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00271-icon-service-Azure-Firewall-Manager.png" + }, { + "tag" : "Microsoft Azure - Azure Arc", + "stroke" : "#0078d4", + "color" : "#0078d4", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00756-icon-service-Azure-Arc.png" + }, { + "tag" : "Microsoft Azure - Service Health", + "stroke" : "#54aef0", + "color" : "#54aef0", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10004-icon-service-Service-Health.png" + }, { + "tag" : "Microsoft Azure - Azure HCP Cache", + "stroke" : "#50e6ff", + "color" : "#50e6ff", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00776-icon-service-Azure-HCP-Cache.png" + }, { + "tag" : "Microsoft Azure - Azure SQL VM", + "stroke" : "#5ea0ef", + "color" : "#5ea0ef", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10124-icon-service-Azure-SQL-VM.png" + }, { + "tag" : "Microsoft Azure - Route Filters", + "stroke" : "#0078d4", + "color" : "#0078d4", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10071-icon-service-Route-Filters.png" + }, { + "tag" : "Microsoft Azure - Bot Services", + "stroke" : "#32bedd", + "color" : "#32bedd", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10165-icon-service-Bot-Services.png" + }, { + "tag" : "Microsoft Azure - Blueprints", + "stroke" : "#32d4f5", + "color" : "#32d4f5", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00006-icon-service-Blueprints.png" + }, { + "tag" : "Microsoft Azure - Multi Tenancy", + "stroke" : "#773adc", + "color" : "#773adc", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00965-icon-service-Multi-Tenancy.png" + }, { + "tag" : "Microsoft Azure - Load Test", + "stroke" : "#32d3f4", + "color" : "#32d3f4", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10817-icon-service-Load-Test.png" + }, { + "tag" : "Microsoft Azure - Resource Groups", + "stroke" : "#9cebff", + "color" : "#9cebff", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10007-icon-service-Resource-Groups.png" + }, { + "tag" : "Microsoft Azure - Disk Encryption Sets", + "stroke" : "#0078d4", + "color" : "#0078d4", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00398-icon-service-Disk-Encryption-Sets.png" + }, { + "tag" : "Microsoft Azure - Integration Accounts", + "stroke" : "#0078d4", + "color" : "#0078d4", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10218-icon-service-Integration-Accounts.png" + }, { + "tag" : "Microsoft Azure - StorSimple Device Managers", + "stroke" : "#f2f2f2", + "color" : "#f2f2f2", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10089-icon-service-StorSimple-Device-Managers.png" + }, { + "tag" : "Microsoft Azure - Updates", + "stroke" : "#0078d4", + "color" : "#0078d4", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10115-icon-service-Updates.png" + }, { + "tag" : "Microsoft Azure - Disks Snapshots", + "stroke" : "#76bc2d", + "color" : "#76bc2d", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10026-icon-service-Disks-Snapshots.png" + }, { + "tag" : "Microsoft Azure - Backlog", + "stroke" : "#a3a3a3", + "color" : "#a3a3a3", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10853-icon-service-Backlog.png" + }, { + "tag" : "Microsoft Azure - App Registrations", + "stroke" : "#9cebff", + "color" : "#9cebff", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10232-icon-service-App-Registrations.png" + }, { + "tag" : "Microsoft Azure - Azure SQL", + "stroke" : "#f2f2f2", + "color" : "#f2f2f2", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/02390-icon-service-Azure-SQL.png" + }, { + "tag" : "Microsoft Azure - Function Apps", + "stroke" : "#1490df", + "color" : "#1490df", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10029-icon-service-Function-Apps.png" + }, { + "tag" : "Microsoft Azure - Table", + "stroke" : "#0078d4", + "color" : "#0078d4", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10841-icon-service-Table.png" + }, { + "tag" : "Microsoft Azure - Proximity Placement Groups", + "stroke" : "#999999", + "color" : "#999999", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10365-icon-service-Proximity-Placement-Groups.png" + }, { + "tag" : "Microsoft Azure - Free Services", + "stroke" : "#5ea0ef", + "color" : "#5ea0ef", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10016-icon-service-Free-Services.png" + }, { + "tag" : "Microsoft Azure - Azure Cloud Shell", + "stroke" : "#005ba1", + "color" : "#005ba1", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00559-icon-service-Azure-Cloud-Shell.png" + }, { + "tag" : "Microsoft Azure - Recovery Services Vaults", + "stroke" : "#31d2f3", + "color" : "#31d2f3", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00017-icon-service-Recovery-Services-Vaults.png" + }, { + "tag" : "Microsoft Azure - Enterprise Applications", + "stroke" : "#32bedd", + "color" : "#32bedd", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10225-icon-service-Enterprise-Applications.png" + }, { + "tag" : "Microsoft Azure - Advisor", + "stroke" : "#ffca00", + "color" : "#ffca00", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00003-icon-service-Advisor.png" + }, { + "tag" : "Microsoft Azure - Time Series Insights Event Sources", + "stroke" : "#949494", + "color" : "#949494", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10188-icon-service-Time-Series-Insights-Event-Sources.png" + }, { + "tag" : "Microsoft Azure - Storage Accounts (Classic)", + "stroke" : "#198ab3", + "color" : "#198ab3", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10087-icon-service-Storage-Accounts-(Classic).png" + }, { + "tag" : "Microsoft Azure - Network Security Groups", + "stroke" : "#50e6ff", + "color" : "#50e6ff", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10067-icon-service-Network-Security-Groups.png" + }, { + "tag" : "Microsoft Azure - Resource Linked", + "stroke" : "#6dad2a", + "color" : "#6dad2a", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10831-icon-service-Resource-Linked.png" + }, { + "tag" : "Microsoft Azure - Workspaces", + "stroke" : "#50e6ff", + "color" : "#50e6ff", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00400-icon-service-Workspaces.png" + }, { + "tag" : "Microsoft Azure - Bug", + "stroke" : "#773adc", + "color" : "#773adc", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10784-icon-service-Bug.png" + }, { + "tag" : "Microsoft Azure - Azure Data Explorer Clusters", + "stroke" : "#50e6ff", + "color" : "#50e6ff", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10145-icon-service-Azure-Data-Explorer-Clusters.png" + }, { + "tag" : "Microsoft Azure - Azure Database MariaDB Server", + "stroke" : "#e8e8e8", + "color" : "#e8e8e8", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10123-icon-service-Azure-Database-MariaDB-Server.png" + }, { + "tag" : "Microsoft Azure - Universal Print", + "stroke" : "#5ea0ef", + "color" : "#5ea0ef", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00571-icon-service-Universal-Print.png" + }, { + "tag" : "Microsoft Azure - Web Environment", + "stroke" : "#50e6ff", + "color" : "#50e6ff", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10846-icon-service-Web-Environment.png" + }, { + "tag" : "Microsoft Azure - Stream Analytics Jobs", + "stroke" : "#50e6ff", + "color" : "#50e6ff", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00042-icon-service-Stream-Analytics-Jobs.png" + }, { + "tag" : "Microsoft Azure - Data Box", + "stroke" : "#50e6ff", + "color" : "#50e6ff", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10094-icon-service-Data-Box.png" + }, { + "tag" : "Microsoft Azure - Tag", + "stroke" : "#552f99", + "color" : "#552f99", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10014-icon-service-Tag.png" + }, { + "tag" : "Microsoft Azure - Azure Spring Cloud", + "stroke" : "#5fb832", + "color" : "#5fb832", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10370-icon-service-Azure-Spring-Cloud.png" + }, { + "tag" : "Microsoft Azure - NAT", + "stroke" : "#3ed3f2", + "color" : "#3ed3f2", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10310-icon-service-NAT.png" + }, { + "tag" : "Microsoft Azure - Dashboard", + "stroke" : "#6bc5b8", + "color" : "#6bc5b8", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10015-icon-service-Dashboard.png" + }, { + "tag" : "Microsoft Azure - Windows Virtual Desktop", + "stroke" : "#005ba1", + "color" : "#005ba1", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00327-icon-service-Windows-Virtual-Desktop.png" + }, { + "tag" : "Microsoft Azure - Azure AD B2C", + "stroke" : "#50e6ff", + "color" : "#50e6ff", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10228-icon-service-Azure-AD-B2C.png" + }, { + "tag" : "Microsoft Azure - IP Groups", + "stroke" : "#83b9f9", + "color" : "#83b9f9", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00701-icon-service-IP-Groups.png" + }, { + "tag" : "Microsoft Azure - Azure Maps Accounts", + "stroke" : "#32d4f5", + "color" : "#32d4f5", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10185-icon-service-Azure-Maps-Accounts.png" + }, { + "tag" : "Microsoft Azure - Dev Console", + "stroke" : "#0078d4", + "color" : "#0078d4", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10796-icon-service-Dev-Console.png" + }, { + "tag" : "Microsoft Azure - Branch", + "stroke" : "#c3f1ff", + "color" : "#c3f1ff", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10782-icon-service-Branch.png" + }, { + "tag" : "Microsoft Azure - Monitor", + "stroke" : "#32bedd", + "color" : "#32bedd", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00001-icon-service-Monitor.png" + }, { + "tag" : "Microsoft Azure - SQL Managed Instance", + "stroke" : "#003067", + "color" : "#003067", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10136-icon-service-SQL-Managed-Instance.png" + }, { + "tag" : "Microsoft Azure - Remote Rendering", + "stroke" : "#9cebff", + "color" : "#9cebff", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00698-icon-service-Remote-Rendering.png" + }, { + "tag" : "Microsoft Azure - SQL Elastic Pools", + "stroke" : "#0078d4", + "color" : "#0078d4", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10134-icon-service-SQL-Elastic-Pools.png" + }, { + "tag" : "Microsoft Azure - Storage Azure Files", + "stroke" : "#eff6fd", + "color" : "#eff6fd", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10838-icon-service-Storage-Azure-Files.png" + }, { + "tag" : "Microsoft Azure - Application Security Groups", + "stroke" : "#1b93eb", + "color" : "#1b93eb", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10244-icon-service-Application-Security-Groups.png" + }, { + "tag" : "Microsoft Azure - Metrics", + "stroke" : "#005ba1", + "color" : "#005ba1", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00020-icon-service-Metrics.png" + }, { + "tag" : "Microsoft Azure - Storage Queue", + "stroke" : "#773adc", + "color" : "#773adc", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10840-icon-service-Storage-Queue.png" + }, { + "tag" : "Microsoft Azure - Analysis Services", + "stroke" : "#773adc", + "color" : "#773adc", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10148-icon-service-Analysis-Services.png" + }, { + "tag" : "Microsoft Azure - Gear", + "stroke" : "#32c8e8", + "color" : "#32c8e8", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10805-icon-service-Gear.png" + }, { + "tag" : "Microsoft Azure - Error", + "stroke" : "#32d2f2", + "color" : "#32d2f2", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10798-icon-service-Error.png" + }, { + "tag" : "Microsoft Azure - Azure Data Catalog", + "stroke" : "#b1b0b1", + "color" : "#b1b0b1", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10216-icon-service-Azure-Data-Catalog.png" + }, { + "tag" : "Microsoft Azure - Offers", + "stroke" : "#005ba1", + "color" : "#005ba1", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10110-icon-service-Offers.png" + }, { + "tag" : "Microsoft Azure - Website Staging", + "stroke" : "#198ab3", + "color" : "#198ab3", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10848-icon-service-Website-Staging.png" + }, { + "tag" : "Microsoft Azure - Module", + "stroke" : "#5ea0ef", + "color" : "#5ea0ef", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10855-icon-service-Module.png" + }, { + "tag" : "Microsoft Azure - Log Analytics Workspaces", + "stroke" : "#54aef0", + "color" : "#54aef0", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00009-icon-service-Log-Analytics-Workspaces.png" + }, { + "tag" : "Microsoft Azure - Power Up", + "stroke" : "#b3b3b3", + "color" : "#b3b3b3", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10826-icon-service-Power-Up.png" + }, { + "tag" : "Microsoft Azure - Digital Twins", + "stroke" : "#50e6ff", + "color" : "#50e6ff", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/01030-icon-service-Digital-Twins.png" + }, { + "tag" : "Microsoft Azure - DDoS Protection Plans", + "stroke" : "#e6e6e6", + "color" : "#e6e6e6", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10072-icon-service-DDoS-Protection-Plans.png" + }, { + "tag" : "Microsoft Azure - Azure Cosmos DB", + "stroke" : "#50e6ff", + "color" : "#50e6ff", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10121-icon-service-Azure-Cosmos-DB.png" + }, { + "tag" : "Microsoft Azure - Machine Learning Studio (Classic) Web Services", + "stroke" : "#0078d4", + "color" : "#0078d4", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/00030-icon-service-Machine-Learning-Studio-(Classic)-Web-Services.png" + }, { + "tag" : "Microsoft Azure - Conditional Access", + "stroke" : "#0078d4", + "color" : "#0078d4", + "icon" : "https://static.structurizr.com/themes/microsoft-azure-2021.01.26/10233-icon-service-Conditional-Access.png" + } ] +} \ No newline at end of file diff --git a/server/src/main/resources/structurizr/oracle-cloud-infrastructure.json b/server/src/main/resources/structurizr/oracle-cloud-infrastructure.json new file mode 100644 index 000000000..59a1f117b --- /dev/null +++ b/server/src/main/resources/structurizr/oracle-cloud-infrastructure.json @@ -0,0 +1,470 @@ +{ + "name" : "Oracle Cloud Infrastructure", + "description" : "This theme includes element styles with icons for each of the OCI services, based upon the Graphics for Topologies and Diagrams (https://docs.cloud.oracle.com/en-us/iaas/Content/General/Reference/graphicsfordiagrams.htm).", + "elements" : [ { + "tag" : "Oracle Cloud Infrastructure - Data Flow", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/DataFlow.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Functions", + "stroke" : "#2c5967", + "color" : "#2c5967", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/Functions.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Roving Edge Device", + "stroke" : "#2c5967", + "color" : "#2c5967", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/RovingEdgeDeviceRED.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Alarms", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/Alarms.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Object Storage", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/ObjectStorage.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Encryption", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/Encryption.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Service Connector Hub", + "stroke" : "#2c5967", + "color" : "#2c5967", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/ServiceConnectorHub.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Database Cloud Service", + "stroke" : "#2c5967", + "color" : "#2c5967", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/DatabaseCloudService.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Policies", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/Policies.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Autonomous Database Cloud Service", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/AutonomousDatabaseCloudServiceADCS.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Data Science", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/DataScience.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Autonomous Data Warehouse", + "stroke" : "#2c5967", + "color" : "#2c5967", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/AutonomousDataWarehouse.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Oracle Cloud Identifier", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/OracleCloudIdentifierOCID.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Backbone", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/Backbone.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Persistent Volume", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/PersistentVolume.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Autonomous Transaction Processing", + "stroke" : "#2c5967", + "color" : "#2c5967", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/Autonomous-Transaction-Processing-ATP.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Storage Gateway", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/StorageGateway.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Autonomous Data Warehouse Cloud Service", + "stroke" : "#2c5967", + "color" : "#2c5967", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/AutonomousDataWarehouseCloudService.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Tagging", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/Tagging.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Domain Name System", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/DomainNameSystemDNS.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Content Delivery Network", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/ContentDeliveryNetworkCDN.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Email Delivery", + "stroke" : "#2c5967", + "color" : "#2c5967", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/EmailDelivery.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Virtual Machine", + "stroke" : "#2c5967", + "color" : "#2c5967", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/VirtualMachine.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Analytics Cloud Service", + "stroke" : "#2c5967", + "color" : "#2c5967", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/AnalyticsCloudService.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Streaming", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/Streaming.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Firewall", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/Firewall.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Local Peering Gateway", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/LocalPeeringGatewayLPG.png" + }, { + "tag" : "Oracle Cloud Infrastructure - NAT Gateway", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/NATGateway.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Audit", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/Audit.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Virtual Cloud Network", + "stroke" : "#bb5127", + "color" : "#bb5127", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/VirtualCloudNetworkVCN.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Artificial Intelligence", + "stroke" : "#2c5967", + "color" : "#2c5967", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/ArtificialIntelligence.png" + }, { + "tag" : "Oracle Cloud Infrastructure - API Service", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/APIService.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Route Table", + "stroke" : "#bb501c", + "color" : "#bb501c", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/RouteTable.png" + }, { + "tag" : "Oracle Cloud Infrastructure - MAX Security Zone", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/MAXSecurityZone.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Block Storage Clone", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/BlockStorageClone.png" + }, { + "tag" : "Oracle Cloud Infrastructure - User", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/User.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Remote Peering Gateway", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/RemotePeeringGatewayRPG.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Events", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/Events.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Dedicated Region", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/DedicatedRegion.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Monitoring", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/Monitoring.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Instance Pools", + "stroke" : "#2c5967", + "color" : "#2c5967", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/InstancePools.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Service Gateway", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/ServiceGateway.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Block Storage", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/BlockStorage.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Queue", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/Queue.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Data Catalog", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/DataCatalogDCAT.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Database System", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/DatabaseSystemDBS.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Dynamic Routing Gateway", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/DynamicRoutingGatewayDRG.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Load Balancer", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/LoadBalancerLB.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Search", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/Search.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Bare Metal Compute", + "stroke" : "#2c5967", + "color" : "#2c5967", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/BareMetalCompute.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Exadata Database System", + "stroke" : "#2c5967", + "color" : "#2c5967", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/Exadata-Database-System.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Container Engine For Kubernetes", + "stroke" : "#2c5967", + "color" : "#2c5967", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/ContainerEngineForKubernetes.png" + }, { + "tag" : "Oracle Cloud Infrastructure - NoSQL Database", + "stroke" : "#2c5967", + "color" : "#2c5967", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/NoSQL-Database.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Database Migration System", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/DatabaseMigrationSystemDMS.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Key Management", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/KeyManagement.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Containers", + "stroke" : "#2c5967", + "color" : "#2c5967", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/Containers.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Local Storage", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/LocalStorage.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Data Integration System", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/DataIntegrationSystemDIS.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Elastic Performance", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/ElasticPerformance.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Web Application Firewall", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/WebApplicationFirewallWAF.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Notifications", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/Notifications.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Compartments", + "stroke" : "#2c5967", + "color" : "#2c5967", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/Compartments.png" + }, { + "tag" : "Oracle Cloud Infrastructure - IAM", + "stroke" : "#2c5967", + "color" : "#2c5967", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/IAM.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Fast Connect", + "stroke" : "#2c5967", + "color" : "#2c5967", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/FastConnect.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Customer Premises", + "stroke" : "#2c5967", + "color" : "#2c5967", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/CustomerPremises.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Data Center", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/DataCenter.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Container Registry", + "stroke" : "#2c5967", + "color" : "#2c5967", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/ContainerRegistry.png" + }, { + "tag" : "Oracle Cloud Infrastructure - File Storage", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/FileStorage.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Market Place", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/MarketPlace.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Router", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/Router.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Security List", + "stroke" : "#bb5127", + "color" : "#bb5127", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/SecurityList.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Oracle Machine Learning", + "stroke" : "#2c5967", + "color" : "#2c5967", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/OracleMachineLearning.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Cloud Guard", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/CloudGuard.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Data Transfer", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/DataTransfer.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Key Vault", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/KeyVault.png" + }, { + "tag" : "Oracle Cloud Infrastructure - API Gateway", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/APIGateway.png" + }, { + "tag" : "Oracle Cloud Infrastructure - VCN Flow Logs", + "stroke" : "#2c5967", + "color" : "#2c5967", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/VCNFlowLogs.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Backup Restore", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/BackupRestore.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Workflow", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/Workflow.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Autoscaling", + "stroke" : "#2c5967", + "color" : "#2c5967", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/Autoscaling.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Distributed Denial of Service Protection", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/DistributedDenialofServiceDDoSProtection.png" + }, { + "tag" : "Oracle Cloud Infrastructure - MySQL Database Service", + "stroke" : "#2c5967", + "color" : "#2c5967", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/MySQLDatabaseServiceMDS.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Logging", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/Logging.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Internet Gateway", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/InternetGateway.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Health Check", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/HealthCheck.png" + }, { + "tag" : "Oracle Cloud Infrastructure - APEX", + "stroke" : "#2c5967", + "color" : "#2c5967", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/APEX.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Big Data", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/BigData.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Storage Buckets", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/StorageBuckets.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Resource Management", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/ResourceManagement.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Cloud Service", + "stroke" : "#2c5967", + "color" : "#2c5967", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/CloudService.png" + }, { + "tag" : "Oracle Cloud Infrastructure - User Group", + "stroke" : "#2c5967", + "color" : "#2c5967", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/UserGroup.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Virtual Private Network", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/VirtualPrivateNetworkVPN.png" + }, { + "tag" : "Oracle Cloud Infrastructure - Network Switch", + "stroke" : "#005968", + "color" : "#005968", + "icon" : "https://static.structurizr.com/themes/oracle-cloud-infrastructure-2021.04.30/NetworkSwitch.png" + } ] +} \ No newline at end of file diff --git a/server/src/test/java/io/kroki/server/service/StructurizrServiceTest.java b/server/src/test/java/io/kroki/server/service/StructurizrServiceTest.java index 640c37184..4bb9fed9f 100644 --- a/server/src/test/java/io/kroki/server/service/StructurizrServiceTest.java +++ b/server/src/test/java/io/kroki/server/service/StructurizrServiceTest.java @@ -62,6 +62,19 @@ public void should_convert_bigbank_example_systemcontext_view() throws IOExcepti } } + @Test + public void should_convert_aws_example() throws IOException { + if (Files.isExecutable(Paths.get("/usr/bin/dot"))) { + String source = read("./aws.structurizr"); + String expected = read("./aws.expected.svg"); + JsonObject options = new JsonObject(); + byte[] result = Structurizr.convert(source, FileFormat.SVG, new StructurizrPlantUMLExporter(), options); + assertThat(stripComments(new String(result))).isEqualToIgnoringNewLines(expected); + } else { + logger.info("/usr/bin/dot not found, skipping test."); + } + } + @Test public void should_throw_exception_when_view_does_not_exist() throws IOException { String source = read("./bigbank.structurizr"); diff --git a/server/src/test/resources/aws.expected.svg b/server/src/test/resources/aws.expected.svg new file mode 100644 index 000000000..97b70160d --- /dev/null +++ b/server/src/test/resources/aws.expected.svg @@ -0,0 +1 @@ +Spring PetClinic - Deployment - LiveAmazon Web Services[Deployment Node]US-East-1[Deployment Node]Amazon RDS[Deployment Node]MySQL[Deployment Node]Autoscaling group[Deployment Node]Amazon EC2[Deployment Node]Elastic Load Balancer[Infrastructure Node] Automatically distributesincoming application traffic.Route 53[Infrastructure Node] Highly available and scalablecloud DNS service.Database[Container: Relational database schema] Stores information regardingthe veterinarians, the clients,and their pets.Web Application[Container: Java and Spring Boot] Allows employees to viewand manage informationregarding the veterinarians,the clients, and their pets.Reads from andwrites to[MySQL Protocol/SSL]Forwards requeststo[HTTPS]Forwards requeststo[HTTPS] diff --git a/server/src/test/resources/aws.structurizr b/server/src/test/resources/aws.structurizr new file mode 100644 index 000000000..21799cc99 --- /dev/null +++ b/server/src/test/resources/aws.structurizr @@ -0,0 +1,86 @@ +workspace "Amazon Web Services Example" "An example AWS deployment architecture." { + + model { + springPetClinic = softwaresystem "Spring PetClinic" "Allows employees to view and manage information regarding the veterinarians, the clients, and their pets." "Spring Boot Application" { + webApplication = container "Web Application" "Allows employees to view and manage information regarding the veterinarians, the clients, and their pets." "Java and Spring Boot" + database = container "Database" "Stores information regarding the veterinarians, the clients, and their pets." "Relational database schema" "Database" + } + + webApplication -> database "Reads from and writes to" "MySQL Protocol/SSL" + + live = deploymentEnvironment "Live" { + + deploymentNode "Amazon Web Services" { + tags "Amazon Web Services - Cloud" + + region = deploymentNode "US-East-1" { + tags "Amazon Web Services - Region" + + route53 = infrastructureNode "Route 53" { + description "Highly available and scalable cloud DNS service." + tags "Amazon Web Services - Route 53" + } + + elb = infrastructureNode "Elastic Load Balancer" { + description "Automatically distributes incoming application traffic." + tags "Amazon Web Services - Elastic Load Balancing" + } + + deploymentNode "Autoscaling group" { + tags "Amazon Web Services - Auto Scaling" + + deploymentNode "Amazon EC2" { + tags "Amazon Web Services - EC2" + + webApplicationInstance = containerInstance webApplication + } + } + + deploymentNode "Amazon RDS" { + tags "Amazon Web Services - RDS" + + deploymentNode "MySQL" { + tags "Amazon Web Services - RDS MySQL instance" + + databaseInstance = containerInstance database + } + } + + } + } + + route53 -> elb "Forwards requests to" "HTTPS" + elb -> webApplicationInstance "Forwards requests to" "HTTPS" + } + } + + views { + deployment springPetClinic "Live" "AmazonWebServicesDeployment" { + include * + autolayout lr + + animation { + route53 + elb + webApplicationInstance + databaseInstance + } + } + + styles { + element "Element" { + shape roundedbox + background #ffffff + } + element "Database" { + shape cylinder + } + element "Infrastructure Node" { + shape roundedbox + } + } + + themes "https://static.structurizr.com/themes/amazon-web-services-2020.04.30/theme.json" + } + +}