Pulumi Advanced
Pulumi Advanced teaches seasoned users how to build reusable component resources, leverage dynamic providers, manage imports and state, test infrastructure code, and implement sophisticated Automation API patterns for production-ready IaC.
Who Should Take This
The course is intended for DevOps engineers, cloud architects, and SREs who have practical Pulumi experience and aim to scale their infrastructure as code. Learners seek to master reusable components, automated testing, state migration, and CI/CD integration, enabling reliable, maintainable production deployments.
What's Included in AccelaStudy® AI
Course Outline
50 learning goals
1
Advanced Component Resources
2 topics
Component Design Patterns
- Implement component resources with complex input schemas using typed argument classes, optional parameters with defaults, and nested configuration objects for composable infrastructure abstractions
- Implement component resources that compose other component resources to create multi-layer abstractions such as a complete application stack wrapping networking, compute, and database components
- Implement component resources with provider passthrough using the providers resource option to enable multi-region and multi-account deployment from a single component instantiation
- Analyze component resource versioning strategies and evaluate how to evolve component interfaces without breaking existing consumers including property deprecation and migration patterns
- Implement component resources with custom resource naming strategies using auto-naming, explicit physical names, and name prefix patterns to meet organizational naming conventions
Multi-Language Packages
- Describe the Pulumi package schema format and explain how it enables automatic SDK generation for TypeScript, Python, Go, and C# from a single schema definition
- Implement a multi-language Pulumi package using the Pulumi Package schema with component resources that can be consumed from any supported Pulumi language
- Analyze the trade-offs between single-language component resources and multi-language packages and evaluate when the complexity of schema-based packaging is justified by team requirements
2
Dynamic Providers and Transformations
2 topics
Dynamic Providers
- Describe the dynamic provider interface including the create, read, update, delete, and diff lifecycle methods and explain when dynamic providers are needed versus standard resource providers
- Implement a dynamic provider that manages a custom resource type by defining CRUD operations against a REST API or external system not supported by existing Pulumi providers
- Implement idempotent create and update methods in dynamic providers that handle partial failures, duplicate creation attempts, and drift detection through proper diff implementation
- Analyze the error handling and retry strategies for dynamic providers and evaluate how to design robust providers that handle API rate limiting, transient failures, and eventual consistency
- Implement a dynamic provider that manages DNS records or configuration entries in a system not covered by existing providers such as an internal service registry or custom API gateway
Resource Transformations
- Describe how resource transformations intercept resource registration to modify properties, add tags, or inject configuration before resources are created by the deployment engine
- Implement stack-level transformations that automatically apply organizational tags, naming conventions, and security baselines to all resources regardless of which component creates them
- Implement targeted transformations that modify specific resource types to enforce policies such as ensuring all S3 buckets have encryption enabled or all VMs have monitoring agents attached
- Evaluate the trade-offs between using transformations versus CrossGuard policies versus component resource wrappers for enforcing organizational standards across Pulumi programs
3
Import and State Management
2 topics
Importing Existing Infrastructure
- Implement resource import using the import resource option to adopt existing cloud resources into Pulumi state without recreating the underlying infrastructure
- Implement bulk import using pulumi import command to generate Pulumi code from existing cloud resources and integrate the generated code into existing programs
- Analyze the challenges of importing resources with complex dependencies and evaluate strategies for sequencing imports to maintain referential integrity across dependent resources
- Implement resource import for entire infrastructure stacks using scripted bulk import workflows that iterate over cloud provider resource inventories
Stack Policies and Protection
- Implement resource protection strategies using the protect resource option and pulumi state unprotect command to safeguard critical infrastructure from accidental deletion
- Implement state manipulation using pulumi state delete, pulumi state unprotect, and pulumi stack export/import for recovery scenarios and state surgery operations
- Analyze state corruption scenarios and evaluate recovery strategies including state export editing, targeted resource deletion, and full state reconstruction from cloud provider APIs
4
Testing Infrastructure Code
2 topics
Unit Testing with Mocks
- Describe the Pulumi unit testing model including mocking the deployment engine to test resource creation logic without provisioning real infrastructure
- Implement unit tests in TypeScript using @pulumi/pulumi/runtime with setMocks to verify resource configurations, output values, and component resource composition logic
- Implement unit tests in Python using pulumi.runtime.set_mocks to validate resource creation arguments, output transformations, and conditional resource creation logic
- Analyze the limitations of mock-based unit testing for infrastructure code and evaluate what classes of bugs unit tests can and cannot catch compared to integration tests
- Implement policy tests that verify component resources create the expected child resources with correct properties using assertion libraries native to the chosen programming language
Integration Testing
- Implement integration tests using the Pulumi Automation API to deploy real infrastructure, run validation checks against provisioned resources, and automatically tear down test stacks
- Implement property testing patterns that verify deployed infrastructure properties against expected values such as checking security group rules, IAM permissions, and network configurations
- Evaluate test isolation strategies for infrastructure integration tests including dedicated test accounts, stack name randomization, and parallel test execution with resource naming conflicts
- Implement end-to-end smoke tests that deploy infrastructure, run application-level health checks against provisioned endpoints, and validate network connectivity before declaring success
5
Automation API Advanced Patterns
1 topic
Advanced Automation API
- Implement inline programs with the Automation API that define infrastructure directly in application code without separate Pulumi project files for embedded infrastructure management
- Implement event stream processing with the Automation API to capture real-time deployment progress, resource creation events, and diagnostic messages for custom deployment dashboards
- Implement a self-service infrastructure portal using the Automation API that accepts user parameters and provisions pre-approved infrastructure patterns on demand
- Analyze the concurrency and error handling patterns required for Automation API applications including stack locking, deployment queuing, and graceful cancellation of in-progress operations
- Implement Automation API programs that manage multiple stacks with dependency ordering, deploying shared infrastructure stacks before application stacks that consume their outputs
6
CI/CD Integration
1 topic
Pipeline Patterns
- Implement a CI/CD pipeline for Pulumi that runs preview on pull requests, executes unit tests, and performs deployment on merge with proper backend authentication and state locking
- Implement GitOps-style deployment workflows where infrastructure changes are driven by Git commits with automated preview comments on pull requests and approval-gated deployments
- Implement environment promotion pipelines that deploy infrastructure changes through dev, staging, and production stacks with validation gates and rollback procedures at each stage
- Analyze credential management strategies for Pulumi CI/CD pipelines including OIDC integration, short-lived tokens, and secrets management for multi-cloud deployments
- Implement drift detection using scheduled pulumi preview runs in CI/CD that alert when infrastructure state diverges from the committed Pulumi program
- Evaluate rollback strategies for failed Pulumi deployments including stack snapshots, targeted resource destruction, and manual state intervention for partial failures
7
Terraform Migration
1 topic
Migration Strategies
- Describe the available migration paths from Terraform to Pulumi including tf2pulumi code conversion, pulumi import for state migration, and coexistence patterns during gradual migration
- Implement a Terraform-to-Pulumi migration using tf2pulumi to convert HCL configurations to TypeScript or Python Pulumi programs and reconcile the generated code with best practices
- Implement coexistence patterns where Pulumi programs read Terraform state outputs using stack references or data lookups during a phased migration from Terraform to Pulumi
- Evaluate the risks and benefits of full migration versus permanent coexistence and analyze organizational factors that determine the appropriate migration strategy depth
- Implement a phased migration plan that converts Terraform configurations to Pulumi one stack at a time while maintaining cross-tool state references during the transition period
- Analyze the team training and knowledge transfer requirements for migrating from Terraform to Pulumi and evaluate how programming language proficiency affects migration timeline
Hands-On Labs
Practice in a simulated cloud console or Python code sandbox — no account needed. Each lab runs entirely in your browser.
Scope
Included Topics
- Advanced component resource authoring with multi-language support, dynamic providers for custom resource lifecycle management, resource transformations for policy enforcement, importing existing infrastructure into Pulumi state, unit testing with mocks and integration testing with real infrastructure, stack policies and resource protection strategies, multi-language package authoring and publishing, Pulumi Automation API advanced patterns (inline programs, local workspace, event streams), CI/CD pipeline integration for Pulumi deployments, migration strategies from Terraform to Pulumi including tf2pulumi and coexistence patterns
Not Covered
- Pulumi Cloud enterprise features (Deployments, Teams, RBAC, Audit Logs)
- CrossGuard policy packs and compliance frameworks
- Basic Pulumi concepts covered in Fundamentals
- Pulumi Kubernetes operator internals
- Cloud-specific service deep dives
- Pulumi ESC (Environments, Secrets, Configuration) advanced features
Ready to master Pulumi Advanced?
Adaptive learning that maps your knowledge and closes your gaps.
Subscribe to Access