From 9740dcee2ba70410bd672412b0aed58835447b37 Mon Sep 17 00:00:00 2001 From: Yoshiaki Yoshida Date: Wed, 27 Nov 2024 17:50:02 +0900 Subject: [PATCH] Add DynamoDB Streams icon (#1074) --- diagrams/aws/database.py | 4 ++++ docs/nodes/aws.md | 3 +++ resources/aws/database/dynamodb-streams.png | Bin 0 -> 9365 bytes .../resources/aws/database/dynamodb-streams.png | Bin 0 -> 9365 bytes 4 files changed, 7 insertions(+) create mode 100644 resources/aws/database/dynamodb-streams.png create mode 100644 website/static/img/resources/aws/database/dynamodb-streams.png diff --git a/diagrams/aws/database.py b/diagrams/aws/database.py index 38c84f118..cbdb34d9e 100644 --- a/diagrams/aws/database.py +++ b/diagrams/aws/database.py @@ -56,6 +56,10 @@ class DynamodbItems(_Database): _icon = "dynamodb-items.png" +class DynamodbStreams(_Database): + _icon = "dynamodb-streams.png" + + class DynamodbTable(_Database): _icon = "dynamodb-table.png" diff --git a/docs/nodes/aws.md b/docs/nodes/aws.md index aede97f78..f0241be47 100644 --- a/docs/nodes/aws.md +++ b/docs/nodes/aws.md @@ -317,6 +317,9 @@ Node classes list of the aws provider. DynamodbItems **diagrams.aws.database.DynamodbItems** +DynamodbStreams +**diagrams.aws.database.DynamodbStreams** + DynamodbTable **diagrams.aws.database.DynamodbTable** diff --git a/resources/aws/database/dynamodb-streams.png b/resources/aws/database/dynamodb-streams.png new file mode 100644 index 0000000000000000000000000000000000000000..4e3a0251b3448b979b7bcb8a82be1659b721766d GIT binary patch literal 9365 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 Zuxn$LYQnwlZC+te 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 Zuxn$LYQnwlZC+te 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 eM#BIAK%