2025-04-25 –, Palladium
Not all resources in today’s cloud environments have native Terraform providers. That’s where Python’s Typer library can step in, offering a flexible, production-ready command-line interface (CLI) framework to help fill in the gaps. In this session, we’ll explore how to integrate Typer with Terraform to manage resources that fall outside Terraform’s direct purview. We’ll share a real-life example of how Typer was used alongside Terraform to automate and streamline the management of an otherwise unsupported API. You’ll learn how Terraform can invoke Python scripts—passing arguments and parameters to control complex operations—while still benefiting from Terraform’s declarative model and lifecycle management. We’ll also discuss best practices for defining resource lifecycles to ensure easy maintainability and consistency across deployments. By the end, participants will see how combining Terraform’s robust infrastructure-as-code approach with Python’s versatility and Typer’s user-friendly CLI can create a powerful, cohesive strategy for managing even the trickiest resources in production environments.
In this session, we’ll address a common challenge in managing resources and APIs that lack native Terraform providers but still need to integrate seamlessly into your CI/CD pipeline. I’ll demonstrate how Python’s Typer library can help bridge this gap by offering a straightforward yet powerful command-line interface (CLI). I’ll explain how to create and configure Typer applications, pass parameters, and integrate these scripts with Terraform.
- Problem Statement (Managing APIs or resources with incomplete Terraform provider support) - 5 mins
- Typer (Key components, advantages, and how to use in production enviroment) - 10 mins
- Terraform resources that can execute CLI and how to work with them - 10 mins
- Conclusion - 2 mins
Novice
Expected audience expertise: Python:Novice
Public link to supporting material, e.g. videos, Github, etc.:Over the last five years living in Germany, during which I have gained a diverse range of experiences in the tech industry. My expertise spans from developing web applications in Python to constructing AWS cloud solutions. I have a good understanding of design patterns, Object-Oriented Programming (OOP), event-driven architecture, and microservices architectures, REST API design and database technologies. I have hands-on experience with creating a web application as part of Cloud Foundation framework to manage and secure AWS accounts and creating a lightweight web application to quickly generate and provide results to users.