⚠️ This is a joke. Please do not put this in production. Ever.It is a wonky weekend idea about turning PowerPoint decks into Ansible inventories by interpreting shapes as hosts/groups and arrows as membership edges. It "works" in the narrow sense that bytes go in and YAML comes out — that is not the same thing as being a good idea.
- PowerPoint is not a source of truth. It is a presentation tool.
- Arrows in a deck mean whatever the author felt like that morning.
- A slide with a typo will happily generate an inventory with a typo.
- "Did marketing just reshape our prod topology?" is not a question your on-call rotation should have to answer.
- Version control on
.pptxis a binary-diff nightmare. - There is no schema, no validation, no dry-run worth the name.
- Real IaC tools (Ansible, Terraform, Pulumi, …) exist and are good. Use those.
- Reads a
.pptxwithpython-pptx. - Treats each text-bearing shape as a node (first line = name,
extra
key: valuelines = vars). - Treats each connector as an edge; nodes with outgoing edges become groups, leaves become hosts.
- Emits an Ansible inventory YAML, and optionally a playbook scaffold ordered leaves-first.
pip install python-pptx pyyaml
python make_example.py # builds example.pptx
python iapp.py example.pptx -o inventory.yml --playbook site.ymlDo whatever you want with it. If it breaks your datacenter that is between you and the slide deck you chose to trust.