{"id":25564615,"url":"https://github.com/dan-madsen/aznetworkdiagram","last_synced_at":"2025-04-12T09:33:30.718Z","repository":{"id":274855141,"uuid":"924285665","full_name":"dan-madsen/AzNetworkDiagram","owner":"dan-madsen","description":"Generate Azure Network Diagrams, using diagram-as-code (Graphviz)","archived":false,"fork":false,"pushed_at":"2025-02-10T23:30:18.000Z","size":659,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-26T04:33:14.947Z","etag":null,"topics":["azure","diagram","diagrams","diagrams-as-code","network","networking"],"latest_commit_sha":null,"homepage":"","language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dan-madsen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-29T18:29:23.000Z","updated_at":"2025-02-10T23:30:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"a4f206b8-ead0-4969-bf58-1cbf43eec4f6","html_url":"https://github.com/dan-madsen/AzNetworkDiagram","commit_stats":null,"previous_names":["dan-madsen/aznetworkdiagram"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dan-madsen%2FAzNetworkDiagram","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dan-madsen%2FAzNetworkDiagram/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dan-madsen%2FAzNetworkDiagram/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dan-madsen%2FAzNetworkDiagram/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dan-madsen","download_url":"https://codeload.github.com/dan-madsen/AzNetworkDiagram/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248546433,"owners_count":21122316,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["azure","diagram","diagrams","diagrams-as-code","network","networking"],"created_at":"2025-02-20T21:21:36.381Z","updated_at":"2025-04-12T09:33:30.695Z","avatar_url":"https://github.com/dan-madsen.png","language":"PowerShell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Introduction \nThe **Get-AzNetworkDiagram** (Powershell)Cmdlet visualizes Azure networking utilizing Graphviz and the \"DOT\", diagram-as-code language to export a PDF and PNG with a network digram containing:\n  - VNets, including:\n    - VNet peerings\n    - Subnets\n        - Special subnet: AzureBastionSubnet and associated Azure Bastion resource\n        - Special subnet: GatewaySubnet and associated resources, incl. Network Gateways, Local Network Gateways and connections with the static defined remote subnets. But excluding Express Route Cirtcuits.\n        - Special subnet:  AzureFirewallSubnet and associated Azure Firewall Policy\n        - Associated Route Tables\n        - A * will be added to the subnet name, if a subnet is delegated. Commonly used delegations will be given a proper icon\n        - A # will be added to the subnet name, in case an NSG is associated\n\nThe idea is _not_ to diagram everything - but enough to get an overview of routing across the entire network environment, with documentation and trobleshooting in mind.\n\n```diff\n- Disclaimer: I take no resposibility for any actions caused by this script!\n```\n\n# Demo output, version 0.3.1:\n![Demo output](https://github.com/dan-madsen/AzNetworkDiagram/blob/main/DemoOutput/Demo.png)  \n\n\n# Requirements\nThe script depends on Graphviz (the \"DOT\", diagram-as-code language) to genereate the diagrams in .PDF and .PNG format.\n\nGraphviz can be downloaded from: https://graphviz.org/. But note that the default install doesn't add the executable to $PATH, so make sure to enable that during install.\n\nIt can also be installed using \"Winget\", but that will _NOT_ add the executable to $PATH - so you will have to do that manually.\n\n# Getting started \n## Install from Github repo \nClone repository, switch to the cloned directory, then:\n```code\nPS\u003e Import-Module .\\AzNetworkDiagram.psm1\n```\n\n## Install using PSGallery\n```code\nPS\u003e Install-Module -Name AzNetworkDiagram\n```\n\n## Runtime options\n**-OutputPath c:\\temp** - set output directory. Default: \".\"\n\n**-Subscriptions \"subid1\",\"subid2\",\"...\"** - a list of subscriptions in scope for the digram\n\n**-EnableRanking $bool** ($true/$false) - enable ranking (equal hight in the output) of certain resource types. For larger networks, this might be worth a shot. **Default: $true**\n\n\n## Running the Powershell module\n**Examples:**\n```diff\nPS\u003e Get-AzNetworkDiagram [-Subscriptions \"subid1\",\"subid2\",\"...\"] [-OutputPath C:\\temp\\] [-EnableRanking $true]\n\nPS\u003e Get-AzNetworkDiagram \n```\n\nBeware, that by using \"-Subscriptions\" to limit the scope of data collection, you might end up with peerings being created to sparsely defined VNets (which would be out of your defined scope). These would appear as a long string, that is the id of the vnet, with special characters stripped for DOT-compatability.\n\n# Flow\nIt will loop over any subscriptions available (or those defined as the parameter) and process supported resource types. After data is collected, a .PDF and .PNG file with the digram will be created.\n\n# Future ideas\n- Support for\n    - Express Route Circuits\n    - Azure vWAN support\n- Azure DevOps pipeline for automated runs, with output saved to storage account\n    - Mail on changes?","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdan-madsen%2Faznetworkdiagram","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdan-madsen%2Faznetworkdiagram","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdan-madsen%2Faznetworkdiagram/lists"}