By default, AutoRest's PowerShell Generator will place all the generated files under the following directory layout:
- /bin
- /custom
- /docs
- /examples
- /exports
- /generated
- /api
- /cmdlets
- /runtime
- /internal
- /obj
- /resources
- /test
- /UX
- /node-modules (coming soon)
- .gitignore
- <format-file>.format.ps1xml
- <cs-project-file>.csproj
- <manifest-file>.psd1
- <module-file>.psm1
- build-module.ps1
- generate-help.ps1
- how-to.md (coming soon)
- license.txt
- pack-module.ps1
- readme.md
- test-module.ps1
- regen-module.ps1 (coming soon)
- types.ps1xml (coming soon)
- dll-help.ps1xml (coming soon)
During subsequent runs of AutoRest, the only directory that will be overwritten is the /generated directory; other directories will only have incremental changes (i.e. files deleted being generated again).
The following are the description of the directories, denoted by a '/' before the name, and files generated:
Contains the binary files from which the script cmdlets depend on.
Contains customized cmdlets.
Contains miscellaneous documents from the code. For example, cmdlet documentation, code generation instructions, breaking-changes, etc.
Contains proxy cmdlets.
Contains all the low-level C# files.
Contains proxy cmdlets that were hidden.
Contains temporary files used to create the binaries.
Contains files not consumed by any process. Only for the repo as reference assets.
Contains tests for the cmdlets. By default, it contains an example pester test and a httpipelinemock.ps1 script.
This directory is dedicated to Azure-specific content and includes metadata files essential for enhancing the user experience (UX) within the Azure portal. These files are utilized by the Azure portal to effectively present the usage of cmdlets related to specific resources on portal pages.
Contains the packages from which the projects depend on.
Specifies untracked directories and files that Git should ignore. By default directories included here are: /bin, /obj, /exports and /node_modules. By default the files included here are all ps1xml files.
Defines the default display of objects in the PS console. Read more: https://learn.microsoft.com/powershell/module/microsoft.powershell.core/about/about_format.ps1xml?view=powershell-6
C# project file.
Describes the content of a module and determines how a module is processed. Generally, inside this file the author description, files in the module, systems requirements, among other data is specified. Read more at: https://learn.microsoft.com/powershell/developer/module/how-to-write-a-powershell-module-manifest
Defines a set of related script files, assemblies and related sources as a module. Read more at: https://learn.microsoft.com/powershell/developer/module/understanding-a-windows-powershell-module
Compiles the C# source files to binaries used by the script cmdlets.
Generates help file using PlatyPS.
Provides guidance on how to use the code generated by AutoRest as it is, and how it can be customized.
Specifies what can and can't be done with the code.
Used to package the module.
Serves both as a documentation file for the codebase and as a configuration file to regenerate the code using Autorest.
Used to run tests on the cmdlets.
Used to re-run AutoRest using the configuration provided inside 'readme.md' file.
Used to extend object types in PowerShell. Read more: https://learn.microsoft.com/powershell/module/microsoft.powershell.core/about/about_types.ps1xml?view=powershell-6
Includes the help generated from combining docs and examples.