AWSアイコンで書くC4モデルのPlantUML

C4モデル
・コンテキスト(context)
・コンテナ(containers)
コンポーネント(components)
・コード(code)
これらソフトウェアアーキテクチャを記述する方法としてのUMLを書く、
plantUML で書くためのツール
github.com

使用方法は、
https://raw.githubusercontent.com/awslabs/aws-icons-for-plantuml/v20.0/dist/
から、AWSCommon.puml をインクルードして
dist の下にある各アイコンにouml をインクルードする。
!define で、dist までのURLをAWSPumlとして@startuml に続けてインクルード文を書いて利用する。
以下のように、@startuml に続けて書く。

@startuml Hello World

!define AWSPuml https://raw.githubusercontent.com/awslabs/aws-icons-for-plantuml/master/dist
!includeurl AWSPuml/AWSCommon.puml
!includeurl AWSPuml/EndUserComputing/all.puml
!includeurl AWSPuml/Storage/SimpleStorageServiceS3.puml

actor "Person" as personAlias
WorkDocs(desktopAlias, "Label", "Technology", "Optional Description")
SimpleStorageServiceS3(storageAlias, "Label", "Technology", "Optional Description")

personAlias --> desktopAlias
desktopAlias --> storageAlias

@enduml

アクティビティ図では、古い記法でしか対応していない、
新記法では、以下のように書くしかないみたいだ。

:WorkDocs(desktopAlias, "Label", "Technology", "Optional Description");
:SimpleStorageService(storageAlias, "Label", "Technology", "Optional Description");

使用できるアイコンは、
https://github.com/awslabs/aws-icons-for-plantuml/blob/master/AWSSymbols.md
ここで確認する。

AWS が公式で公開しているアイコンは、
https://aws.amazon.com/jp/architecture/icons/
ここから入手する

シンプルなアイコン描画にしたい場合、ここの説明にあるように、
https://github.com/awslabs/aws-icons-for-plantuml?tab=readme-ov-file#simplified-view
AWSCommon.puml と各アイコンの宣言の前に、

!include AWSPuml/AWSSimplified.puml

を差し込めばよい。