pulumi
unknown
golang
8 months ago
2.3 kB
6
Indexable
func CreateDefaultEksEndpoints(ctx *pulumi.Context, name string, args *DefaultEksEndpointArgs, opts ...pulumi.ResourceOption) (*DefaultEksEndpointComponent, error) {
defaultEksEndpointComponent := &DefaultEksEndpointComponent{}
componentURN := fmt.Sprintf("%s-default-eks-endpoints", name)
err := ctx.RegisterComponentResource("tanium:pkg:aws:eks:DefaultEksEndpoints", componentURN, defaultEksEndpointComponent, opts...)
if err != nil {
return nil, helpers.Wrap(err, "CreateDefaultEksEndpoints")
}
r, err := aws.GetRegion(ctx, nil, nil)
if err != nil {
return nil, helpers.Wrap(err, "CreateDefaultEksEndpoints:GetRegion")
}
region := r.Name
defaultEndpoints := []string{
"s3", "elasticloadbalancing", "sts", "ec2", "ecr-api", "ecr-dkr", "autoscaling", "ssm", "ssmmessages", "ec2messages", "inspector2",
}
if args.ClusterType == "private" {
defaultEndpoints = append(defaultEndpoints, "logs")
}
var dependencies []pulumi.Resource
sg, err := CreateDefaultVpceSecurityGroup(ctx, name, args.VpcId, args.SubnetCidrs, map[string]string{})
if err != nil {
return nil, helpers.Wrap(err, "CreateDefaultEksEndpoints:CreateDefaultVpceSecurityGroup")
}
var sgIds pulumi.StringArray
sgIds = append(sgIds, sg.ID())
dependencies = append(dependencies, sg)
for _, v := range defaultEndpoints {
vpceURN := fmt.Sprint(name, "-vpce-", v)
tags := PulumiTags(args.Tags)
_, nameKeyExists := tags["Name"]
if !nameKeyExists {
tags["Name"] = vpceURN
}
enabled := true
if v == "s3" {
enabled = false
}
vpce, err := ec2.NewVpcEndpoint(ctx, vpceURN, &ec2.VpcEndpointArgs{
ServiceName: pulumi.String(fmt.Sprint("com.amazonaws.", region, ".", strings.ReplaceAll(v, "-", "."))),
VpcId: args.VpcId,
VpcEndpointType: pulumi.String("Interface"),
PrivateDnsEnabled: pulumi.Bool(enabled),
SecurityGroupIds: sgIds,
AutoAccept: pulumi.Bool(true),
SubnetIds: args.SubnetIds,
Tags: pulumi.ToStringMap(tags),
}, pulumi.Parent(defaultEksEndpointComponent), pulumi.DependsOn(dependencies))
if err != nil {
return nil, helpers.Wrap(err, "CreateDefaultEksEndpoints:NewVpcEndpoint")
}
defaultEksEndpointComponent.VpcEndpoints = append(defaultEksEndpointComponent.VpcEndpoints, vpce)
}
return defaultEksEndpointComponent, nil
}Editor is loading...
Leave a Comment