#Pulumi

Infrastructure as Code using real programming languages.


#Installation

bash
curl -fsSL https://get.pulumi.com | sh

#Python Example

python
1# __main__.py
2import pulumi
3import pulumi_aws as aws
4
5# Create VPC
6vpc = aws.ec2.Vpc("my-vpc",
7    cidr_block="10.0.0.0/16",
8    tags={"Name": "my-vpc"}
9)
10
11# Create EC2 instance
12instance = aws.ec2.Instance("web-server",
13    ami="ami-0c55b159cbfafe1f0",
14    instance_type="t2.micro",
15    vpc_security_group_ids=[],
16    tags={"Name": "WebServer"}
17)
18
19pulumi.export("public_ip", instance.public_ip)

#Commands

bash
1pulumi new aws-python
2pulumi up
3pulumi preview
4pulumi destroy

#Pulumi vs Terraform

FeaturePulumiTerraform
LanguagePython, JS, Go, etc.HCL
Learning curveUses your languageNew syntax
TestingStandard test libsLimited
StatePulumi Cloud or selfS3, etc.