@@ -104,12 +104,90 @@ var (
104
104
105
105
// TargetGroupHealthCheck defines health check settings for the target group.
106
106
type 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"`
113
191
}
114
192
115
193
// TargetGroupAttribute defines attribute key values for V2 Load Balancer Attributes.
0 commit comments