Skip to content

Repository Structure

Overview

This page documents the repository layout after the Phase 1B reorganization. Numbered-prefix folders were renamed, duplicate directories merged, legacy code removed, and the docs tree uses MkDocs Material with Markdown.

Directory Tree

azure-scout/
├── .github/                            # GitHub config (issue templates, workflows, policies)
│   ├── ISSUE_TEMPLATE/
│   ├── policies/
│   ├── PULL_REQUEST_TEMPLATE/
│   └── workflows/
├── docs/                               # MkDocs documentation
│   ├── images/                         #   All consolidated images
│   ├── index.md                        #   Home page
│   ├── authentication.md              #   Authentication methods
│   ├── usage.md                        #   Usage guide
│   ├── permissions.md                  #   Required permissions
│   ├── parameters.md                   #   Parameters reference
│   ├── category-filtering.md           #   Category filtering
│   ├── output.md                       #   Output files
│   ├── prerequisites.md               #   Prerequisites & modules
│   ├── testing.md                      #   Testing guide
│   ├── troubleshooting.md             #   Troubleshooting
│   ├── arm-modules.md                  #   ARM module catalog
│   ├── entra-modules.md               #   Entra module catalog
│   ├── coverage-table.md              #   Full coverage table
│   ├── category-structure.md           #   Category-to-folder mapping
│   ├── roadmap.md                      #   Roadmap & planned features
│   ├── folder-structure.md             #   This page
│   ├── contributing.md                 #   Contributing guide
│   ├── credits.md                      #   Credits & attribution
│   ├── ari-differences.md             #   Differences from ARI
│   └── changelog.md                    #   Changelog
├── Modules/
│   ├── Private/                        # Internal (non-exported) functions
│   │   ├── Main/                       #   Core orchestration (was 0.MainFunctions)
│   │   ├── Extraction/                 #   Data extraction  (was 1.ExtractionFunctions)
│   │   │   └── ResourceDetails/
│   │   ├── Processing/                 #   Data processing  (was 2.ProcessingFunctions)
│   │   └── Reporting/                  #   Report generation (was 3.ReportingFunctions)
│   │       └── StyleFunctions/
│   └── Public/                         # Exported functions & runtime modules
│       ├── InventoryModules/           #   110 modules in 17 categories (95 ARM + 15 Entra)
│       │   ├── AI/                     #   14 modules
│       │   ├── Analytics/              #   6 modules
│       │   ├── APIs/                   #   5 modules
│       │   ├── AzureLocal/             #   6 modules
│       │   ├── Compute/                #   7 modules
│       │   ├── Container/              #   6 modules
│       │   ├── Database/               #   13 modules
│       │   ├── Hybrid/                 #   5 modules
│       │   ├── Identity/               #   15 Entra ID modules
│       │   ├── Integration/            #   2 modules
│       │   ├── IoT/                    #   1 module
│       │   ├── Management/             #   3 modules
│       │   ├── Monitoring/             #   2 modules
│       │   ├── Network/               #   20 modules (merged Network_1 + Network_2)
│       │   ├── Security/               #   1 module
│       │   ├── Storage/                #   2 modules
│       │   └── Web/                    #   2 modules
│       └── PublicFunctions/            #   13 exported cmdlets
│           ├── Diagram/
│           └── Jobs/
├── tests/                              # Pester test suites
├── mkdocs.yml                          # MkDocs Material configuration
├── AzureScout.psd1                     # Module manifest
├── AzureScout.psm1                     # Module loader (recursive *.ps1 import)
├── CHANGELOG.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── CREDITS.md
├── LICENSE
├── README.md
├── SECURITY.md
└── SUPPORT.md

Phase 1B Changes Summary

Action Detail
Renamed 0.MainFunctionsMain, 1.ExtractionFunctionsExtraction, 2.ProcessingFunctionsProcessing, 3.ReportingFunctionsReporting
Merged Network_1/ + Network_2/Network/ (20 files)
Deleted 4.RAMPFunctions/ (untracked .xlsx), LegacyFunctions/ (6 .ps2 files), azure-pipelines/
Cleaned Root clutter: HowTo.md, 5 test-*.sh scripts, workflow_dispatch.json
Converted Documentation to MkDocs Material with Markdown; images consolidated into docs/images/
Kept Hybrid/ directory — validated as active module category

Module Loading

The PSM1 loader uses Get-ChildItem -Recurse *.ps1. Folder names are cosmetic — renaming or merging directories has zero impact on which functions are loaded. 13 public functions are exported via the PSD1 manifest.