fast-pager-93865
01/18/2022, 7:03 AMprivateSubnet, err := ec2.NewSubnet(ctx, fmt.Sprintf("eks-subnet-private-%d", i), &ec2.SubnetArgs{
VpcId: vpc.ID(),
CidrBlock: pulumi.String(fmt.Sprintf("%s.1%d.0/24", netWork, i)),
AvailabilityZone: pulumi.String(zone),
MapPublicIpOnLaunch: pulumi.Bool(true),
Tags: GetTags(ctx, fmt.Sprintf("eks-%s-subnet-private-%d", environment, i)),
})
if err != nil {
return err
}
however i haven't quite mastered what should be passed into my EKS. I was assuming a list of private subnets retrieved by using the Apply, but I can't quite put together what that should look like.
for example
eksCluster, err := eks.NewCluster(ctx, "eks-cluster", &eks.ClusterArgs{
RoleArn: pulumi.StringInput(eksRole.Arn),
VpcConfig: &eks.ClusterVpcConfigArgs{
PublicAccessCidrs: pulumi.StringArray{
pulumi.String("0.0.0.0/0"),
},
SecurityGroupIds: pulumi.StringArray{
clusterSg.ID().ToStringOutput(),
},
SubnetIds: privateSubnets, << here is my issue
},
})
if err != nil {
return err
}
Any help most welcome!
Thank youbored-table-20691
01/18/2022, 5:03 PMprivateSubnet.ID().ToStringOutput()
To get the subnet as a StringOutput, and then you can put it in an slice []pulumi.StringOutput
Once you have that slice, you can do something like:
PrivateSubnetIds: pulumi.ToStringArrayOutput(yourSliceOfSubnets)
Hope this helps!fast-pager-93865
01/18/2022, 5:03 PMbored-table-20691
01/18/2022, 5:07 PMfast-pager-93865
01/18/2022, 5:18 PMvar privateSubnets pulumi.StringArray
for i, zone := range zones.Names {
privateSubnet, err := ec2.NewSubnet(ctx, fmt.Sprintf("eks-subnet-private-%d", i), &ec2.SubnetArgs{
VpcId: vpc.ID(),
CidrBlock: pulumi.String(fmt.Sprintf("%s.1%d.0/24", netWork, i)),
AvailabilityZone: pulumi.String(zone),
MapPublicIpOnLaunch: pulumi.Bool(true),
Tags: GetTags(ctx, fmt.Sprintf("eks-%s-subnet-private-%d", environment, i)),
})
if err != nil {
return err
}
privateSubnets = append(privateSubnets, privateSubnet.ID().ToStringOutput())
...
Then I can pass this slice to my EKS creation Statement
eksCluster, err := eks.NewCluster(ctx, "eks-cluster", &eks.ClusterArgs{
RoleArn: pulumi.StringInput(eksRole.Arn),
VpcConfig: &eks.ClusterVpcConfigArgs{
PublicAccessCidrs: pulumi.StringArray{
pulumi.String("0.0.0.0/0"),
},
SecurityGroupIds: pulumi.StringArray{
clusterSg.ID().ToStringOutput(),
},
SubnetIds: privateSubnets, <<<
},
})
thank you once again!bored-table-20691
01/18/2022, 5:18 PMfast-pager-93865
01/18/2022, 5:21 PMbored-table-20691
01/18/2022, 5:31 PM