AzureDiagramGenerator 0.6.58

dotnet tool install --global AzureDiagramGenerator --version 0.6.58
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest # if you are setting up this repo
dotnet tool install --local AzureDiagramGenerator --version 0.6.58
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=AzureDiagramGenerator&version=0.6.58
nuke :add-package AzureDiagramGenerator --version 0.6.58

AzureDiagrams

Generate a Draw.IO diagram from your Azure Resources

CLI flags

Flag Required Description
--tenant-id No Tenant Id (defaults to current Azure CLI)
--subscription Yes Subscription Id to run against
--resource-group Yes Wildcard enabled resource group name (supports multiple)
--output Yes Folder to output diagram to
--condensed No True collapses private endpoints into subnets (can simplify large diagrams)
--show-runtime No True to show runtime flows defined on the control plane
--show-inferred No True to infer connections between resources by introspecting appSettings
--show-identity No True to show User Assigned Managed Identity connections
--show-diagnostics No True to show diagnostics flows
--token No Optional JWT to avoid using CLI credential
--output-file-name No Name of generated file. Defaults to resource-group name
--output-png No Outputs a png file as-well as the drawio file (requires draw.io to be installed)

Github Actions

We have two different actions. The first runs as a Docker action, and produces a jpeg output. The second doesn't use docker, and produces a .drawio file.

How does it work?

AzureDiagrams queries the Azure Resource Management APIs to introspect resource-groups. It then uses a set of strategies to enrich the raw data, building a model that can be projected into other formats.

It's not 100% guaranteed to be correct but it should give a good first pass at fairly complex architectures/

To layout the components I use the amazing AutomaticGraphLayout library.

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last updated
0.6.58 208 7/12/2023
0.6.57 142 7/12/2023
0.6.56 257 3/8/2023
0.6.55 283 2/5/2023
0.6.54 248 2/3/2023
0.6.53 303 1/24/2023
0.6.53-pullrequest0009-0003 221 1/24/2023
0.6.52 333 1/17/2023
0.6.52-pullrequest0008-0006 245 1/17/2023
0.6.51 319 1/15/2023
0.6.50 314 1/15/2023
0.6.49 318 1/15/2023
0.6.48 328 1/15/2023
0.6.47 282 1/15/2023
0.6.46 301 1/15/2023
0.6.45 322 1/15/2023
0.6.44 338 1/14/2023
0.6.43 317 1/11/2023
0.6.42 299 12/27/2022
0.6.41 300 12/27/2022
0.6.40 288 12/26/2022
0.6.40-pullrequest0007-0008 251 12/26/2022
0.6.40-pullrequest0007-0002 222 12/26/2022
0.6.39 319 12/26/2022
0.6.39-pullrequest0006-0006 215 12/26/2022
0.6.39-pullrequest0006-0005 208 12/26/2022
0.6.38 277 12/24/2022
0.6.37 309 12/24/2022
0.6.36 297 12/24/2022
0.6.35 325 12/19/2022
0.6.34 307 12/19/2022
0.6.33 290 12/7/2022
0.6.32 317 12/7/2022
0.6.31 317 12/7/2022
0.6.30 302 12/6/2022
0.6.29 322 12/5/2022
0.6.28 316 12/5/2022
0.6.27 293 12/5/2022
0.6.26 328 12/5/2022
0.6.25 309 12/5/2022
0.6.23 285 12/5/2022