func buildAWSElasticLoadBalancingV2TargetGroup()

in pkg/cloudformation/cloudformation.go [135:161]


func buildAWSElasticLoadBalancingV2TargetGroup(vpcID string, instanceIDs []string, nodePort int, dependsOn []string) *resources.AWSElasticLoadBalancingV2TargetGroup {
	targets := make([]resources.AWSElasticLoadBalancingV2TargetGroup_TargetDescription, len(instanceIDs))
	for i, instanceID := range instanceIDs {
		targets[i] = resources.AWSElasticLoadBalancingV2TargetGroup_TargetDescription{Id: instanceID}
	}

	return &resources.AWSElasticLoadBalancingV2TargetGroup{
		HealthCheckIntervalSeconds: 30,
		HealthCheckPort:            "traffic-port",
		HealthCheckProtocol:        "TCP",
		HealthCheckTimeoutSeconds:  10,
		HealthyThresholdCount:      3,
		Port:                       nodePort,
		Protocol:                   "TCP",
		Tags: []resources.Tag{
			{
				Key:   "com.github.amazon-apigateway-ingress-controller/stack",
				Value: cfn.Ref("AWS::StackName"),
			},
		},
		TargetType:              "instance",
		Targets:                 targets,
		UnhealthyThresholdCount: 3,
		VpcId:                   vpcID,
	}

}