APIs are for Automata, PowerShell is for People
summary
Module grows from 350 to 880 functions and serves more than 200 customers for 93 production APIs, but full import takes 20–30 seconds so it refactors into 28 child modules with a parent manifest for fast auto‑import. Design decisions include supporting PowerShell 5.1 and 7.4, mandatory code signing for locked servers, heavy automated testing with Pester, comment‑based help and generated functions/tests from EPS templates, and pipeline, parameter‑set and positional quirks that needed explicit handling.
AI-written summary · about
chapters (14)
- 0:00APIs and PowerShell
- 7:06PowerShell 5.1 differences
- 10:39Script signing for security
- 13:09Breaking modules into parts
- 16:59Explicit exports over wildcard
- 19:03Approved verbs and warnings
- 22:11User-friendly APIs with PowerShell
- 25:24Parameter sets and exclusivity
- 30:21Positional parameters and sets
- 35:22Embracing the pipeline
- 39:17Documentation for users
- 42:33Testing before release
- 44:38Autogenerating code and tests
- 47:05Summary
related talks
25mCreating Automation with APIs and PowerShell
47mThink Abstract, abstracting your PowerShell code
48mFrom API to usable PowerShell module
47mPowerShell + AutoRest + Swagger = Instant Modules
01h 30mConjuring data with APIs
29mApidays Virtual Helsinki - Jaap Brasser, Rubrik
01h 45mWriting Award Winning PowerShell Functions and Script Modules
01h 29mModularizing PowerShell: Making Code Portable
