-
Notifications
You must be signed in to change notification settings - Fork 64
/
zz_uptimecheckconfig_types.go
executable file
·438 lines (329 loc) · 25.7 KB
/
zz_uptimecheckconfig_types.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
/*
Copyright 2021 The Crossplane Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by upjet. DO NOT EDIT.
package v1beta1
import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime/schema"
v1 "github.com/crossplane/crossplane-runtime/apis/common/v1"
)
type AcceptedResponseStatusCodesObservation struct {
// A class of status codes to accept.
// Possible values are: STATUS_CLASS_1XX, STATUS_CLASS_2XX, STATUS_CLASS_3XX, STATUS_CLASS_4XX, STATUS_CLASS_5XX, STATUS_CLASS_ANY.
StatusClass *string `json:"statusClass,omitempty" tf:"status_class,omitempty"`
// A status code to accept.
StatusValue *float64 `json:"statusValue,omitempty" tf:"status_value,omitempty"`
}
type AcceptedResponseStatusCodesParameters struct {
// A class of status codes to accept.
// Possible values are: STATUS_CLASS_1XX, STATUS_CLASS_2XX, STATUS_CLASS_3XX, STATUS_CLASS_4XX, STATUS_CLASS_5XX, STATUS_CLASS_ANY.
// +kubebuilder:validation:Optional
StatusClass *string `json:"statusClass,omitempty" tf:"status_class,omitempty"`
// A status code to accept.
// +kubebuilder:validation:Optional
StatusValue *float64 `json:"statusValue,omitempty" tf:"status_value,omitempty"`
}
type AuthInfoObservation struct {
// The username to authenticate.
Username *string `json:"username,omitempty" tf:"username,omitempty"`
}
type AuthInfoParameters struct {
// The password to authenticate.
// Note: This property is sensitive and will not be displayed in the plan.
// +kubebuilder:validation:Required
PasswordSecretRef v1.SecretKeySelector `json:"passwordSecretRef" tf:"-"`
// The username to authenticate.
// +kubebuilder:validation:Required
Username *string `json:"username" tf:"username,omitempty"`
}
type ContentMatchersObservation struct {
// String or regex content to match (max 1024 bytes)
Content *string `json:"content,omitempty" tf:"content,omitempty"`
// Information needed to perform a JSONPath content match. Used for ContentMatcherOption::MATCHES_JSON_PATH and ContentMatcherOption::NOT_MATCHES_JSON_PATH.
// Structure is documented below.
JSONPathMatcher []JSONPathMatcherObservation `json:"jsonPathMatcher,omitempty" tf:"json_path_matcher,omitempty"`
// The type of content matcher that will be applied to the server output, compared to the content string when the check is run.
// Default value is CONTAINS_STRING.
// Possible values are: CONTAINS_STRING, NOT_CONTAINS_STRING, MATCHES_REGEX, NOT_MATCHES_REGEX, MATCHES_JSON_PATH, NOT_MATCHES_JSON_PATH.
Matcher *string `json:"matcher,omitempty" tf:"matcher,omitempty"`
}
type ContentMatchersParameters struct {
// String or regex content to match (max 1024 bytes)
// +kubebuilder:validation:Required
Content *string `json:"content" tf:"content,omitempty"`
// Information needed to perform a JSONPath content match. Used for ContentMatcherOption::MATCHES_JSON_PATH and ContentMatcherOption::NOT_MATCHES_JSON_PATH.
// Structure is documented below.
// +kubebuilder:validation:Optional
JSONPathMatcher []JSONPathMatcherParameters `json:"jsonPathMatcher,omitempty" tf:"json_path_matcher,omitempty"`
// The type of content matcher that will be applied to the server output, compared to the content string when the check is run.
// Default value is CONTAINS_STRING.
// Possible values are: CONTAINS_STRING, NOT_CONTAINS_STRING, MATCHES_REGEX, NOT_MATCHES_REGEX, MATCHES_JSON_PATH, NOT_MATCHES_JSON_PATH.
// +kubebuilder:validation:Optional
Matcher *string `json:"matcher,omitempty" tf:"matcher,omitempty"`
}
type HTTPCheckObservation struct {
// If present, the check will only pass if the HTTP response status code is in this set of status codes. If empty, the HTTP status code will only pass if the HTTP status code is 200-299.
// Structure is documented below.
AcceptedResponseStatusCodes []AcceptedResponseStatusCodesObservation `json:"acceptedResponseStatusCodes,omitempty" tf:"accepted_response_status_codes,omitempty"`
// The authentication information. Optional when creating an HTTP check; defaults to empty.
// Structure is documented below.
AuthInfo []AuthInfoObservation `json:"authInfo,omitempty" tf:"auth_info,omitempty"`
// The request body associated with the HTTP POST request. If contentType is URL_ENCODED, the body passed in must be URL-encoded. Users can provide a Content-Length header via the headers field or the API will do so. If the requestMethod is GET and body is not empty, the API will return an error. The maximum byte size is 1 megabyte. Note - As with all bytes fields JSON representations are base64 encoded. e.g. "foo=bar" in URL-encoded form is "foo%3Dbar" and in base64 encoding is "Zm9vJTI1M0RiYXI=".
Body *string `json:"body,omitempty" tf:"body,omitempty"`
// The content type to use for the check.
// Possible values are: TYPE_UNSPECIFIED, URL_ENCODED.
ContentType *string `json:"contentType,omitempty" tf:"content_type,omitempty"`
// The list of headers to send as part of the uptime check request. If two headers have the same key and different values, they should be entered as a single header, with the value being a comma-separated list of all the desired values as described at https://www.w3.org/Protocols/rfc2616/rfc2616.txt (page 31). Entering two separate headers with the same key in a Create call will cause the first to be overwritten by the second. The maximum number of headers allowed is 100.
Headers map[string]*string `json:"headers,omitempty" tf:"headers,omitempty"`
// Boolean specifying whether to encrypt the header information. Encryption should be specified for any headers related to authentication that you do not wish to be seen when retrieving the configuration. The server will be responsible for encrypting the headers. On Get/List calls, if mask_headers is set to True then the headers will be obscured with ******.
MaskHeaders *bool `json:"maskHeaders,omitempty" tf:"mask_headers,omitempty"`
// The path to the page to run the check against. Will be combined with the host (specified within the MonitoredResource) and port to construct the full URL. If the provided path does not begin with "/", a "/" will be prepended automatically. Optional (defaults to "/").
Path *string `json:"path,omitempty" tf:"path,omitempty"`
// The port to the page to run the check against. Will be combined with host (specified within the MonitoredResource) and path to construct the full URL. Optional (defaults to 80 without SSL, or 443 with SSL).
Port *float64 `json:"port,omitempty" tf:"port,omitempty"`
// The HTTP request method to use for the check. If set to METHOD_UNSPECIFIED then requestMethod defaults to GET.
// Default value is GET.
// Possible values are: METHOD_UNSPECIFIED, GET, POST.
RequestMethod *string `json:"requestMethod,omitempty" tf:"request_method,omitempty"`
// If true, use HTTPS instead of HTTP to run the check.
UseSSL *bool `json:"useSsl,omitempty" tf:"use_ssl,omitempty"`
// Boolean specifying whether to include SSL certificate validation as a part of the Uptime check. Only applies to checks where monitoredResource is set to uptime_url. If useSsl is false, setting validateSsl to true has no effect.
ValidateSSL *bool `json:"validateSsl,omitempty" tf:"validate_ssl,omitempty"`
}
type HTTPCheckParameters struct {
// If present, the check will only pass if the HTTP response status code is in this set of status codes. If empty, the HTTP status code will only pass if the HTTP status code is 200-299.
// Structure is documented below.
// +kubebuilder:validation:Optional
AcceptedResponseStatusCodes []AcceptedResponseStatusCodesParameters `json:"acceptedResponseStatusCodes,omitempty" tf:"accepted_response_status_codes,omitempty"`
// The authentication information. Optional when creating an HTTP check; defaults to empty.
// Structure is documented below.
// +kubebuilder:validation:Optional
AuthInfo []AuthInfoParameters `json:"authInfo,omitempty" tf:"auth_info,omitempty"`
// The request body associated with the HTTP POST request. If contentType is URL_ENCODED, the body passed in must be URL-encoded. Users can provide a Content-Length header via the headers field or the API will do so. If the requestMethod is GET and body is not empty, the API will return an error. The maximum byte size is 1 megabyte. Note - As with all bytes fields JSON representations are base64 encoded. e.g. "foo=bar" in URL-encoded form is "foo%3Dbar" and in base64 encoding is "Zm9vJTI1M0RiYXI=".
// +kubebuilder:validation:Optional
Body *string `json:"body,omitempty" tf:"body,omitempty"`
// The content type to use for the check.
// Possible values are: TYPE_UNSPECIFIED, URL_ENCODED.
// +kubebuilder:validation:Optional
ContentType *string `json:"contentType,omitempty" tf:"content_type,omitempty"`
// The list of headers to send as part of the uptime check request. If two headers have the same key and different values, they should be entered as a single header, with the value being a comma-separated list of all the desired values as described at https://www.w3.org/Protocols/rfc2616/rfc2616.txt (page 31). Entering two separate headers with the same key in a Create call will cause the first to be overwritten by the second. The maximum number of headers allowed is 100.
// +kubebuilder:validation:Optional
Headers map[string]*string `json:"headers,omitempty" tf:"headers,omitempty"`
// Boolean specifying whether to encrypt the header information. Encryption should be specified for any headers related to authentication that you do not wish to be seen when retrieving the configuration. The server will be responsible for encrypting the headers. On Get/List calls, if mask_headers is set to True then the headers will be obscured with ******.
// +kubebuilder:validation:Optional
MaskHeaders *bool `json:"maskHeaders,omitempty" tf:"mask_headers,omitempty"`
// The path to the page to run the check against. Will be combined with the host (specified within the MonitoredResource) and port to construct the full URL. If the provided path does not begin with "/", a "/" will be prepended automatically. Optional (defaults to "/").
// +kubebuilder:validation:Optional
Path *string `json:"path,omitempty" tf:"path,omitempty"`
// The port to the page to run the check against. Will be combined with host (specified within the MonitoredResource) and path to construct the full URL. Optional (defaults to 80 without SSL, or 443 with SSL).
// +kubebuilder:validation:Optional
Port *float64 `json:"port,omitempty" tf:"port,omitempty"`
// The HTTP request method to use for the check. If set to METHOD_UNSPECIFIED then requestMethod defaults to GET.
// Default value is GET.
// Possible values are: METHOD_UNSPECIFIED, GET, POST.
// +kubebuilder:validation:Optional
RequestMethod *string `json:"requestMethod,omitempty" tf:"request_method,omitempty"`
// If true, use HTTPS instead of HTTP to run the check.
// +kubebuilder:validation:Optional
UseSSL *bool `json:"useSsl,omitempty" tf:"use_ssl,omitempty"`
// Boolean specifying whether to include SSL certificate validation as a part of the Uptime check. Only applies to checks where monitoredResource is set to uptime_url. If useSsl is false, setting validateSsl to true has no effect.
// +kubebuilder:validation:Optional
ValidateSSL *bool `json:"validateSsl,omitempty" tf:"validate_ssl,omitempty"`
}
type JSONPathMatcherObservation struct {
// Options to perform JSONPath content matching.
// Default value is EXACT_MATCH.
// Possible values are: EXACT_MATCH, REGEX_MATCH.
JSONMatcher *string `json:"jsonMatcher,omitempty" tf:"json_matcher,omitempty"`
// JSONPath within the response output pointing to the expected ContentMatcher::content to match against.
JSONPath *string `json:"jsonPath,omitempty" tf:"json_path,omitempty"`
}
type JSONPathMatcherParameters struct {
// Options to perform JSONPath content matching.
// Default value is EXACT_MATCH.
// Possible values are: EXACT_MATCH, REGEX_MATCH.
// +kubebuilder:validation:Optional
JSONMatcher *string `json:"jsonMatcher,omitempty" tf:"json_matcher,omitempty"`
// JSONPath within the response output pointing to the expected ContentMatcher::content to match against.
// +kubebuilder:validation:Required
JSONPath *string `json:"jsonPath" tf:"json_path,omitempty"`
}
type MonitoredResourceObservation struct {
// Values for all of the labels listed in the associated monitored resource descriptor. For example, Compute Engine VM instances use the labels "project_id", "instance_id", and "zone".
Labels map[string]*string `json:"labels,omitempty" tf:"labels,omitempty"`
// The monitored resource type. This field must match the type field of a MonitoredResourceDescriptor (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.monitoredResourceDescriptors#MonitoredResourceDescriptor) object. For example, the type of a Compute Engine VM instance is gce_instance. For a list of types, see Monitoring resource types (https://cloud.google.com/monitoring/api/resources) and Logging resource types (https://cloud.google.com/logging/docs/api/v2/resource-list).
Type *string `json:"type,omitempty" tf:"type,omitempty"`
}
type MonitoredResourceParameters struct {
// Values for all of the labels listed in the associated monitored resource descriptor. For example, Compute Engine VM instances use the labels "project_id", "instance_id", and "zone".
// +kubebuilder:validation:Required
Labels map[string]*string `json:"labels" tf:"labels,omitempty"`
// The monitored resource type. This field must match the type field of a MonitoredResourceDescriptor (https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.monitoredResourceDescriptors#MonitoredResourceDescriptor) object. For example, the type of a Compute Engine VM instance is gce_instance. For a list of types, see Monitoring resource types (https://cloud.google.com/monitoring/api/resources) and Logging resource types (https://cloud.google.com/logging/docs/api/v2/resource-list).
// +kubebuilder:validation:Required
Type *string `json:"type" tf:"type,omitempty"`
}
type ResourceGroupObservation struct {
// The group of resources being monitored. Should be the name of a group
GroupID *string `json:"groupId,omitempty" tf:"group_id,omitempty"`
// The resource type of the group members.
// Possible values are: RESOURCE_TYPE_UNSPECIFIED, INSTANCE, AWS_ELB_LOAD_BALANCER.
ResourceType *string `json:"resourceType,omitempty" tf:"resource_type,omitempty"`
}
type ResourceGroupParameters struct {
// The group of resources being monitored. Should be the name of a group
// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/monitoring/v1beta1.Group
// +crossplane:generate:reference:extractor=github.com/upbound/upjet/pkg/resource.ExtractParamPath("name",true)
// +kubebuilder:validation:Optional
GroupID *string `json:"groupId,omitempty" tf:"group_id,omitempty"`
// Reference to a Group in monitoring to populate groupId.
// +kubebuilder:validation:Optional
GroupIDRef *v1.Reference `json:"groupIdRef,omitempty" tf:"-"`
// Selector for a Group in monitoring to populate groupId.
// +kubebuilder:validation:Optional
GroupIDSelector *v1.Selector `json:"groupIdSelector,omitempty" tf:"-"`
// The resource type of the group members.
// Possible values are: RESOURCE_TYPE_UNSPECIFIED, INSTANCE, AWS_ELB_LOAD_BALANCER.
// +kubebuilder:validation:Optional
ResourceType *string `json:"resourceType,omitempty" tf:"resource_type,omitempty"`
}
type TCPCheckObservation struct {
// The port to the page to run the check against. Will be combined with host (specified within the MonitoredResource) to construct the full URL.
Port *float64 `json:"port,omitempty" tf:"port,omitempty"`
}
type TCPCheckParameters struct {
// The port to the page to run the check against. Will be combined with host (specified within the MonitoredResource) to construct the full URL.
// +kubebuilder:validation:Required
Port *float64 `json:"port" tf:"port,omitempty"`
}
type UptimeCheckConfigObservation struct {
// The checker type to use for the check. If the monitored resource type is servicedirectory_service, checkerType must be set to VPC_CHECKERS.
// Possible values are: STATIC_IP_CHECKERS, VPC_CHECKERS.
CheckerType *string `json:"checkerType,omitempty" tf:"checker_type,omitempty"`
// The expected content on the page the check is run against. Currently, only the first entry in the list is supported, and other entries will be ignored. The server will look for an exact match of the string in the page response's content. This field is optional and should only be specified if a content match is required.
// Structure is documented below.
ContentMatchers []ContentMatchersObservation `json:"contentMatchers,omitempty" tf:"content_matchers,omitempty"`
// A human-friendly name for the uptime check configuration. The display name should be unique within a Stackdriver Workspace in order to make it easier to identify; however, uniqueness is not enforced.
DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"`
// Contains information needed to make an HTTP or HTTPS check.
// Structure is documented below.
HTTPCheck []HTTPCheckObservation `json:"httpCheck,omitempty" tf:"http_check,omitempty"`
// an identifier for the resource with format {{name}}
ID *string `json:"id,omitempty" tf:"id,omitempty"`
// The monitored resource (https://cloud.google.com/monitoring/api/resources) associated with the configuration. The following monitored resource types are supported for uptime checks: uptime_url gce_instance gae_app aws_ec2_instance aws_elb_load_balancer k8s_service servicedirectory_service
// Structure is documented below.
MonitoredResource []MonitoredResourceObservation `json:"monitoredResource,omitempty" tf:"monitored_resource,omitempty"`
// A unique resource name for this UptimeCheckConfig. The format is projects/[PROJECT_ID]/uptimeCheckConfigs/[UPTIME_CHECK_ID].
Name *string `json:"name,omitempty" tf:"name,omitempty"`
// How often, in seconds, the uptime check is performed. Currently, the only supported values are 60s (1 minute), 300s (5 minutes), 600s (10 minutes), and 900s (15 minutes). Optional, defaults to 300s.
Period *string `json:"period,omitempty" tf:"period,omitempty"`
// The ID of the project in which the resource belongs.
// If it is not provided, the provider project is used.
Project *string `json:"project,omitempty" tf:"project,omitempty"`
// The group resource associated with the configuration.
// Structure is documented below.
ResourceGroup []ResourceGroupObservation `json:"resourceGroup,omitempty" tf:"resource_group,omitempty"`
// The list of regions from which the check will be run. Some regions contain one location, and others contain more than one. If this field is specified, enough regions to include a minimum of 3 locations must be provided, or an error message is returned. Not specifying this field will result in uptime checks running from all regions.
SelectedRegions []*string `json:"selectedRegions,omitempty" tf:"selected_regions,omitempty"`
// Contains information needed to make a TCP check.
// Structure is documented below.
TCPCheck []TCPCheckObservation `json:"tcpCheck,omitempty" tf:"tcp_check,omitempty"`
// The maximum amount of time to wait for the request to complete (must be between 1 and 60 seconds). Accepted formats https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.Duration
Timeout *string `json:"timeout,omitempty" tf:"timeout,omitempty"`
// The id of the uptime check
UptimeCheckID *string `json:"uptimeCheckId,omitempty" tf:"uptime_check_id,omitempty"`
}
type UptimeCheckConfigParameters struct {
// The checker type to use for the check. If the monitored resource type is servicedirectory_service, checkerType must be set to VPC_CHECKERS.
// Possible values are: STATIC_IP_CHECKERS, VPC_CHECKERS.
// +kubebuilder:validation:Optional
CheckerType *string `json:"checkerType,omitempty" tf:"checker_type,omitempty"`
// The expected content on the page the check is run against. Currently, only the first entry in the list is supported, and other entries will be ignored. The server will look for an exact match of the string in the page response's content. This field is optional and should only be specified if a content match is required.
// Structure is documented below.
// +kubebuilder:validation:Optional
ContentMatchers []ContentMatchersParameters `json:"contentMatchers,omitempty" tf:"content_matchers,omitempty"`
// A human-friendly name for the uptime check configuration. The display name should be unique within a Stackdriver Workspace in order to make it easier to identify; however, uniqueness is not enforced.
// +kubebuilder:validation:Optional
DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"`
// Contains information needed to make an HTTP or HTTPS check.
// Structure is documented below.
// +kubebuilder:validation:Optional
HTTPCheck []HTTPCheckParameters `json:"httpCheck,omitempty" tf:"http_check,omitempty"`
// The monitored resource (https://cloud.google.com/monitoring/api/resources) associated with the configuration. The following monitored resource types are supported for uptime checks: uptime_url gce_instance gae_app aws_ec2_instance aws_elb_load_balancer k8s_service servicedirectory_service
// Structure is documented below.
// +kubebuilder:validation:Optional
MonitoredResource []MonitoredResourceParameters `json:"monitoredResource,omitempty" tf:"monitored_resource,omitempty"`
// How often, in seconds, the uptime check is performed. Currently, the only supported values are 60s (1 minute), 300s (5 minutes), 600s (10 minutes), and 900s (15 minutes). Optional, defaults to 300s.
// +kubebuilder:validation:Optional
Period *string `json:"period,omitempty" tf:"period,omitempty"`
// The ID of the project in which the resource belongs.
// If it is not provided, the provider project is used.
// +kubebuilder:validation:Optional
Project *string `json:"project,omitempty" tf:"project,omitempty"`
// The group resource associated with the configuration.
// Structure is documented below.
// +kubebuilder:validation:Optional
ResourceGroup []ResourceGroupParameters `json:"resourceGroup,omitempty" tf:"resource_group,omitempty"`
// The list of regions from which the check will be run. Some regions contain one location, and others contain more than one. If this field is specified, enough regions to include a minimum of 3 locations must be provided, or an error message is returned. Not specifying this field will result in uptime checks running from all regions.
// +kubebuilder:validation:Optional
SelectedRegions []*string `json:"selectedRegions,omitempty" tf:"selected_regions,omitempty"`
// Contains information needed to make a TCP check.
// Structure is documented below.
// +kubebuilder:validation:Optional
TCPCheck []TCPCheckParameters `json:"tcpCheck,omitempty" tf:"tcp_check,omitempty"`
// The maximum amount of time to wait for the request to complete (must be between 1 and 60 seconds). Accepted formats https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.Duration
// +kubebuilder:validation:Optional
Timeout *string `json:"timeout,omitempty" tf:"timeout,omitempty"`
}
// UptimeCheckConfigSpec defines the desired state of UptimeCheckConfig
type UptimeCheckConfigSpec struct {
v1.ResourceSpec `json:",inline"`
ForProvider UptimeCheckConfigParameters `json:"forProvider"`
}
// UptimeCheckConfigStatus defines the observed state of UptimeCheckConfig.
type UptimeCheckConfigStatus struct {
v1.ResourceStatus `json:",inline"`
AtProvider UptimeCheckConfigObservation `json:"atProvider,omitempty"`
}
// +kubebuilder:object:root=true
// UptimeCheckConfig is the Schema for the UptimeCheckConfigs API. This message configures which resources and services to monitor for availability.
// +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status"
// +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status"
// +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name"
// +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp"
// +kubebuilder:subresource:status
// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,gcp}
type UptimeCheckConfig struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.displayName)",message="displayName is a required parameter"
// +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.timeout)",message="timeout is a required parameter"
Spec UptimeCheckConfigSpec `json:"spec"`
Status UptimeCheckConfigStatus `json:"status,omitempty"`
}
// +kubebuilder:object:root=true
// UptimeCheckConfigList contains a list of UptimeCheckConfigs
type UptimeCheckConfigList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []UptimeCheckConfig `json:"items"`
}
// Repository type metadata.
var (
UptimeCheckConfig_Kind = "UptimeCheckConfig"
UptimeCheckConfig_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: UptimeCheckConfig_Kind}.String()
UptimeCheckConfig_KindAPIVersion = UptimeCheckConfig_Kind + "." + CRDGroupVersion.String()
UptimeCheckConfig_GroupVersionKind = CRDGroupVersion.WithKind(UptimeCheckConfig_Kind)
)
func init() {
SchemeBuilder.Register(&UptimeCheckConfig{}, &UptimeCheckConfigList{})
}