pulumi
unknown
golang
2 months ago
2.3 kB
5
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