' Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
' SPDX-License-Identifier: MIT (For details, see https://github.com/awslabs/aws-icons-for-plantuml/blob/master/LICENSE)
' Dark Mode support
' ##################################
' if $AWS_DARK is not defined, check $PUML_MODE
!if (%not(%variable_exists("$AWS_DARK")) && (%variable_exists("$PUML_MODE") && $PUML_MODE == "dark"))
!$AWS_DARK = true
!endif
' ensure $AWS_DARK is either true or false
!if %not(%variable_exists("$AWS_DARK") && ($AWS_DARK == true))
!$AWS_DARK = false
!endif
' Colors
' prefer $AWS_ versions, treat AWS_ as deprecated
' ##################################
!define AWS_COLOR #232F3E
!$AWS_COLOR_SQUID = "#232F3E"
!if $AWS_DARK == true
!define AWS_BG_COLOR #000000
!$AWS_BG_COLOR = "#000000"
!$AWS_FG_COLOR = "#FFFFFF"
!$AWS_ARROW_COLOR = "#9BA7B6"
!else
!define AWS_BG_COLOR #FFFFFF
!$AWS_BG_COLOR = "#FFFFFF"
!$AWS_FG_COLOR = "#000000"
!$AWS_ARROW_COLOR = "#000000"
!endif
!define AWS_BORDER_COLOR #FF9900
!$AWS_BORDER_COLOR = "#FF9900"
!define AWS_SYMBOL_COLOR AWS_COLOR
!$AWS_COLOR_GRAY = "#7D8998"
' Customer Enablement; Database; Developer Tools; Satellite
!define AWS_COLOR_BLUE #C925D1
!$AWS_COLOR_NEBULA = "#C925D1"
' Cloud Financial Management; Internet of Things; Storage
!define AWS_COLOR_GREEN #7AA116
!$AWS_COLOR_ENDOR = "#7AA116"
' Blockchain; Compute; Containers; Media Services; Quantum Technologies
!define AWS_COLOR_ORANGE #ED7100
!$AWS_COLOR_SMILE = "#ED7100"
' Application Integration; Management & Governance; VR & AR
!define AWS_COLOR_PINK #E7157B
!$AWS_COLOR_COSMOS = "#E7157B"
' Analytics; Games; Networking & Content Delivery; Serverless
!define AWS_COLOR_PURPLE #8C4FFF
!$AWS_COLOR_GALAXY = "#8C4FFF"
' Business Applications; Contact Center; Front-End Web & Mobile; Robotics; Security, Identity & Compliance
!define AWS_COLOR_RED #DD344C
!$AWS_COLOR_MARS = "#DD344C"
' End User Computing; Machine Learning; Migration & Transfer
!define AWS_COLOR_TURQUOISE #01A88D
!$AWS_COLOR_ORBIT = "#01A88D"
!$AWS_CATEGORY_COLORS = {
"analytics": "#8C4FFF",
"applicationintegration": "#E7157B",
"blockchain": "#ED7100",
"businessapplications": "#DD344C",
"cloudfinancialmanagement": "#7AA116",
"compute": "#ED7100",
"contactcenter": "#DD344C",
"containers": "#ED7100",
"customerenablement": "#C925D1",
"database": "#C925D1",
"developertools": "#C925D1",
"endusercomputing": "#01A88D",
"frontendwebmobile": "#DD344C",
"games": "#8C4FFF",
"general": "#232F3E",
"internetofthings": "#7AA116",
"machinelearning": "#01A88D",
"managementgovernance": "#E7157B",
"mediaservices": "#ED7100",
"migrationtransfer": "#01A88D",
"networkingcontentdelivery": "#8C4FFF",
"quantumtechnologies": "#ED7100",
"robotics": "#DD344C",
"satellite": "#C925D1",
"securityidentitycompliance": "#DD344C",
"serverless": "#8C4FFF",
"storage": "#7AA116"
}
' returns color based on AWS icon category name
!function $AWSColor($category)
!$category = %lower($category)
!if %json_key_exists($AWS_CATEGORY_COLORS, $category)
!return $AWS_CATEGORY_COLORS[$category]
!else
!return $AWS_BG_COLOR
!endif
!endfunction
' Styling / Theme
' ##################################
!$THEME = "aws-icons"
!define TECHN_FONT_SIZE 12
skinparam defaultTextAlignment Center
skinparam PackageTitleAlignment Left
skinparam wrapWidth 200
skinparam maxMessageSize 150
skinparam Shadowing false
skinparam RoundCorner 0
skinparam BackgroundColor $AWS_BG_COLOR
!procedure $AWS_common_skinparam()
FontColor $AWS_FG_COLOR
BackgroundColor $AWS_BG_COLOR
BorderColor $AWS_COLOR_GRAY
!endprocedure
!procedure $AWS_deployment_skinparam()
FontColor $AWS_FG_COLOR
BackgroundColor $AWS_BG_COLOR
BorderColor $AWS_COLOR_GRAY
BorderThickness 1.25
!endprocedure
skinparam arrow {
Color $AWS_ARROW_COLOR
FontColor $AWS_FG_COLOR
FontSize 12
}
skinparam TitleFontColor $AWS_FG_COLOR
skinparam TitleBorderColor transparent
skinparam BackgroundColor $AWS_BG_COLOR
' Sequence Diagram
skinparam participant {
$AWS_common_skinparam()
BorderThickness 1.25
Padding 2
}
skinparam sequence {
ArrowThickness 2
LifeLineBorderColor $AWS_FG_COLOR
LifeLineBackgroundColor $AWS_BG_COLOR
BoxFontColor $AWS_FG_COLOR
BoxBorderColor $AWS_COLOR_GRAY
BoxBorderThickness 1.25
BoxBackgroundColor $AWS_BG_COLOR
GroupBorderColor $AWS_FG_COLOR
GroupFontColor $AWS_FG_COLOR
GroupBodyBackgroundColor transparent
}
skinparam BoxPadding 2
skinparam note {
BorderColor $AWS_COLOR_GRAY
BorderThickness 1.25
}
' Activity Diagram
' StartColor not working, uses