brash-waitress-49970
09/12/2023, 9:19 AMfunc IDOutputArrayToPulumiStringArrayOutput(IDoutputArray []pulumi.IDOutput) pulumi.StringArrayOutput {
var outputs []interface{}
for _, a := range IDoutputArray {
outputs = append(outputs, a)
}
return pulumi.All(outputs...).ApplyT(func(vs []interface{}) []string {
var results []string
for _, v := range vs {
results = append(results, string(v.(pulumi.ID)))
}
return results
}).(pulumi.StringArrayOutput)
}
melodic-tomato-39005
09/12/2023, 12:05 PMfunc ToStringArrayOutput(in []StringOutput)
but they don’t cover all cases. Here’s a deeper discussion if you’re interested.salmon-account-74572
09/12/2023, 12:42 PMnumOfAZs
is a count of how many AZs are in the specified region):
// Create private subnets in the VPC
privSubnetIds := make([]pulumi.StringInput, numOfAZs)
for idx := 0; idx < numOfAZs; idx++ {
subnetAddr := (idx * 32) + 16
subnetCidrBlock := fmt.Sprintf("%s%d.0/22", netAddrMap[awsRegion], subnetAddr)
subnet, err := ec2.NewSubnet(ctx, fmt.Sprintf("priv-subnet-%d", idx), &ec2.SubnetArgs{
VpcId: vpc.ID(),
AvailabilityZone: pulumi.String(azNames[idx]),
CidrBlock: pulumi.String(subnetCidrBlock),
MapPublicIpOnLaunch: pulumi.Bool(false),
Tags: pulumi.StringMap{
"Name": pulumi.Sprintf("%s-priv-%d", baseName, idx),
},
})
if err != nil {
log.Printf("error creating private subnet: %s", err.Error())
}
privSubnetIds[idx] = subnet.ID()
}
privSubnetIds
where you need a list of subnet IDs, or you can specify a specific subnet using privSubnetIds[i]
to pull out a specific subnet ID.brash-waitress-49970
09/12/2023, 3:15 PMsalmon-account-74572
09/12/2023, 3:51 PMbrash-waitress-49970
09/20/2023, 9:36 AMsalmon-account-74572
09/20/2023, 7:39 PMbrash-waitress-49970
09/20/2023, 7:46 PMsalmon-account-74572
09/20/2023, 7:51 PM