@@ -104,12 +104,90 @@ var (
104104
105105// TargetGroupHealthCheck defines health check settings for the target group.
106106type TargetGroupHealthCheck struct {
107- Protocol * string `json:"protocol,omitempty"`
108- Path * string `json:"path,omitempty"`
109- Port * string `json:"port,omitempty"`
110- IntervalSeconds * int64 `json:"intervalSeconds,omitempty"`
111- TimeoutSeconds * int64 `json:"timeoutSeconds,omitempty"`
112- ThresholdCount * int64 `json:"thresholdCount,omitempty"`
107+ Protocol * string `json:"protocol,omitempty"`
108+ Path * string `json:"path,omitempty"`
109+ Port * string `json:"port,omitempty"`
110+ IntervalSeconds * int64 `json:"intervalSeconds,omitempty"`
111+ TimeoutSeconds * int64 `json:"timeoutSeconds,omitempty"`
112+ ThresholdCount * int64 `json:"thresholdCount,omitempty"`
113+ UnhealthyThresholdCount * int64 `json:"unhealthyThresholdCount,omitempty"`
114+ }
115+
116+ // TargetGroupHealthCheckAPISpec defines the optional health check settings for the API target group.
117+ type TargetGroupHealthCheckAPISpec struct {
118+ // The approximate amount of time, in seconds, between health checks of an individual
119+ // target.
120+ // +kubebuilder:validation:Minimum=5
121+ // +kubebuilder:validation:Maximum=300
122+ // +optional
123+ IntervalSeconds * int64 `json:"intervalSeconds,omitempty"`
124+
125+ // The amount of time, in seconds, during which no response from a target means
126+ // a failed health check.
127+ // +kubebuilder:validation:Minimum=2
128+ // +kubebuilder:validation:Maximum=120
129+ // +optional
130+ TimeoutSeconds * int64 `json:"timeoutSeconds,omitempty"`
131+
132+ // The number of consecutive health check successes required before considering
133+ // a target healthy.
134+ // +kubebuilder:validation:Minimum=2
135+ // +kubebuilder:validation:Maximum=10
136+ // +optional
137+ ThresholdCount * int64 `json:"thresholdCount,omitempty"`
138+
139+ // The number of consecutive health check failures required before considering
140+ // a target unhealthy.
141+ // +kubebuilder:validation:Minimum=2
142+ // +kubebuilder:validation:Maximum=10
143+ // +optional
144+ UnhealthyThresholdCount * int64 `json:"unhealthyThresholdCount,omitempty"`
145+ }
146+
147+ // TargetGroupHealthCheckAdditionalSpec defines the optional health check settings for the additional target groups.
148+ type TargetGroupHealthCheckAdditionalSpec struct {
149+ // The protocol to use to health check connect with the target. When not specified the Protocol
150+ // will be the same of the listener.
151+ // +kubebuilder:validation:Enum=TCP;HTTP;HTTPS
152+ // +optional
153+ Protocol * string `json:"protocol,omitempty"`
154+
155+ // The port the load balancer uses when performing health checks for additional target groups. When
156+ // not specified this value will be set for the same of listener port.
157+ // +optional
158+ Port * string `json:"port,omitempty"`
159+
160+ // The destination for health checks on the targets when using the protocol HTTP or HTTPS,
161+ // otherwise the path will be ignored.
162+ // +optional
163+ Path * string `json:"path,omitempty"`
164+ // The approximate amount of time, in seconds, between health checks of an individual
165+ // target.
166+ // +kubebuilder:validation:Minimum=5
167+ // +kubebuilder:validation:Maximum=300
168+ // +optional
169+ IntervalSeconds * int64 `json:"intervalSeconds,omitempty"`
170+
171+ // The amount of time, in seconds, during which no response from a target means
172+ // a failed health check.
173+ // +kubebuilder:validation:Minimum=2
174+ // +kubebuilder:validation:Maximum=120
175+ // +optional
176+ TimeoutSeconds * int64 `json:"timeoutSeconds,omitempty"`
177+
178+ // The number of consecutive health check successes required before considering
179+ // a target healthy.
180+ // +kubebuilder:validation:Minimum=2
181+ // +kubebuilder:validation:Maximum=10
182+ // +optional
183+ ThresholdCount * int64 `json:"thresholdCount,omitempty"`
184+
185+ // The number of consecutive health check failures required before considering
186+ // a target unhealthy.
187+ // +kubebuilder:validation:Minimum=2
188+ // +kubebuilder:validation:Maximum=10
189+ // +optional
190+ UnhealthyThresholdCount * int64 `json:"unhealthyThresholdCount,omitempty"`
113191}
114192
115193// TargetGroupAttribute defines attribute key values for V2 Load Balancer Attributes.
0 commit comments