func()

in pkg/deploy/lattice/target_group_manager.go [365:407]


func (s *defaultTargetGroupManager) getDefaultHealthCheckConfig(targetGroupProtocol string, targetGroupProtocolVersion string) *vpclattice.HealthCheckConfig {
	if targetGroupProtocol == vpclattice.TargetGroupProtocolTcp {
		return &vpclattice.HealthCheckConfig{
			Enabled: aws.Bool(false),
		}
	}

	var (
		defaultHealthCheckIntervalSeconds int64 = 30
		defaultHealthCheckTimeoutSeconds  int64 = 5
		defaultHealthyThresholdCount      int64 = 5
		defaultUnhealthyThresholdCount    int64 = 2
		defaultMatcher                          = vpclattice.Matcher{
			HttpCode: aws.String("200"),
		}
		defaultPath     = "/"
		defaultProtocol = vpclattice.TargetGroupProtocolHttp
	)

	if targetGroupProtocolVersion == "" {
		targetGroupProtocolVersion = vpclattice.TargetGroupProtocolVersionHttp1
	}

	enabled := targetGroupProtocolVersion == vpclattice.TargetGroupProtocolVersionHttp1
	healthCheckProtocolVersion := targetGroupProtocolVersion

	if targetGroupProtocolVersion == vpclattice.TargetGroupProtocolVersionGrpc {
		healthCheckProtocolVersion = vpclattice.HealthCheckProtocolVersionHttp1
	}

	return &vpclattice.HealthCheckConfig{
		Enabled:                    &enabled,
		Protocol:                   &defaultProtocol,
		ProtocolVersion:            &healthCheckProtocolVersion,
		Path:                       &defaultPath,
		Matcher:                    &defaultMatcher,
		Port:                       nil, // Use target port
		HealthyThresholdCount:      &defaultHealthyThresholdCount,
		UnhealthyThresholdCount:    &defaultUnhealthyThresholdCount,
		HealthCheckTimeoutSeconds:  &defaultHealthCheckTimeoutSeconds,
		HealthCheckIntervalSeconds: &defaultHealthCheckIntervalSeconds,
	}
}