This message was deleted.
# general
s
This message was deleted.
b
Hey! Welcome! You can use
ec2.get_subnet_ids
for this, here's a hastily thrown together example
Copy code
import pulumi
from pulumi_aws import ec2

# get the default vpc
vpc = ec2.get_vpc(default=True)

# get subnets associated with the default vpc
subnets = ec2.get_subnet_ids(vpc_id=vpc.id)

export the subnet ids associated
pulumi.export("subnets", subnets.ids)
w
Thanks Jaxxstrom. I want to run through all the VPCs so I will try without the default. But if the subnet exists can we quit the pulumi build or is that not best practice. I am struggling to find how to implement IaC based on certain criteria or do they have to be immutable(as best practice). The reason being, I will be deploying my service over a shared infra supported by another team.
Tried this:
Copy code
import pulumi
from pulumi_aws import ec2
# get the default vpc
vpc = ec2.get_vpc(default=False)
for i in vpc:
    subnets = ec2.get_subnet_ids(vpc_id=i.id)
    pulumi.export("subnets", subnets.ids)
Error:
Exception: invocation of awsec2/getVpcgetVpc returned an error: invoking awsec2/getVpcgetVpc: multiple VPCs matched; use additional constraints to reduce matches to a single VPC
b
sorry for the delay! ideally in this situation, if your VPC doesn't exist, you should create it. In this case, you probably want to filter the VPCs based on something like the tags assigned to it.
w
no worries on the delay Jaxxstorm.Many thanks for the help. So does the ec2.getvpc return only a single VPC? I wanted to run through all the VPC..I understand that I will have to get a tag assigned to my project.
b
You can use
get_vpcs
to get all the VPCs in an account and loop through them https://www.pulumi.com/docs/reference/pkg/python/pulumi_aws/ec2/#pulumi_aws.ec2.get_vpcs