#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
| Feature | Pulumi | Terraform |
|---|---|---|
| Language | Python, JS, Go, etc. | HCL |
| Learning curve | Uses your language | New syntax |
| Testing | Standard test libs | Limited |
| State | Pulumi Cloud or self | S3, etc. |