generated from crossplane-contrib/provider-jet-template
-
Notifications
You must be signed in to change notification settings - Fork 2
/
zz_config_types.go
executable file
·230 lines (174 loc) · 8.25 KB
/
zz_config_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
/*
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 terrajet. DO NOT EDIT.
package v1alpha1
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 ConfigObservation struct {
ID *string `json:"id,omitempty" tf:"id,omitempty"`
}
type ConfigParameters struct {
// Collection path blocklist.
// +kubebuilder:validation:Optional
ExcludePaths []ExcludePathsParameters `json:"excludePaths,omitempty" tf:"exclude_paths,omitempty"`
// Extraction rule. If ExtractRule is set, LogType must be set.
// +kubebuilder:validation:Required
ExtractRule []ExtractRuleParameters `json:"extractRule" tf:"extract_rule,omitempty"`
// Type of the log to be collected. Valid values: json_log: log in JSON format; delimiter_log: log in delimited format; minimalist_log: minimalist log; multiline_log: log in multi-line format; fullregex_log: log in full regex format. Default value: minimalist_log.
// +kubebuilder:validation:Optional
LogType *string `json:"logType,omitempty" tf:"log_type,omitempty"`
// Collection configuration name.
// +kubebuilder:validation:Required
Name *string `json:"name" tf:"name,omitempty"`
// Log topic ID (TopicId) of collection configuration.
// +kubebuilder:validation:Optional
Output *string `json:"output,omitempty" tf:"output,omitempty"`
// Log collection path containing the filename.
// +kubebuilder:validation:Optional
Path *string `json:"path,omitempty" tf:"path,omitempty"`
// Custom collection rule, which is a serialized JSON string.
// +kubebuilder:validation:Optional
UserDefineRule *string `json:"userDefineRule,omitempty" tf:"user_define_rule,omitempty"`
}
type ExcludePathsObservation struct {
}
type ExcludePathsParameters struct {
// Type. Valid values: File, Path.
// +kubebuilder:validation:Optional
Type *string `json:"type,omitempty" tf:"type,omitempty"`
// Specific content corresponding to Type.
// +kubebuilder:validation:Optional
Value *string `json:"value,omitempty" tf:"value,omitempty"`
}
type ExtractRuleObservation struct {
}
type ExtractRuleParameters struct {
// syslog system log collection specifies the address and port that the collector listens to.
// +kubebuilder:validation:Optional
Address *string `json:"address,omitempty" tf:"address,omitempty"`
// Size of the data to be rewound in incremental collection mode. Default value: -1 (full collection).
// +kubebuilder:validation:Optional
Backtracking *float64 `json:"backtracking,omitempty" tf:"backtracking,omitempty"`
// First-Line matching rule, which is valid only if log_type is multiline_log or fullregex_log.
// +kubebuilder:validation:Optional
BeginRegex *string `json:"beginRegex,omitempty" tf:"begin_regex,omitempty"`
// Delimiter for delimited log, which is valid only if log_type is delimiter_log.
// +kubebuilder:validation:Optional
Delimiter *string `json:"delimiter,omitempty" tf:"delimiter,omitempty"`
// Log keys to be filtered and the corresponding regex.
// +kubebuilder:validation:Optional
FilterKeyRegex []FilterKeyRegexParameters `json:"filterKeyRegex,omitempty" tf:"filter_key_regex,omitempty"`
// GBK encoding. Default 0.
// +kubebuilder:validation:Optional
IsGbk *float64 `json:"isGbk,omitempty" tf:"is_gbk,omitempty"`
// standard json. Default 0.
// +kubebuilder:validation:Optional
JSONStandard *float64 `json:"jsonStandard,omitempty" tf:"json_standard,omitempty"`
// Key name of each extracted field. An empty key indicates to discard the field. This parameter is valid only if log_type is delimiter_log. json_log logs use the key of JSON itself.
// +kubebuilder:validation:Optional
Keys []*string `json:"keys,omitempty" tf:"keys,omitempty"`
// Full log matching rule, which is valid only if log_type is fullregex_log.
// +kubebuilder:validation:Optional
LogRegex *string `json:"logRegex,omitempty" tf:"log_regex,omitempty"`
// metadata tags.
// +kubebuilder:validation:Optional
MetaTags []MetaTagsParameters `json:"metaTags,omitempty" tf:"meta_tags,omitempty"`
// metadata type.
// +kubebuilder:validation:Optional
MetadataType *float64 `json:"metadataType,omitempty" tf:"metadata_type,omitempty"`
// parse protocol.
// +kubebuilder:validation:Optional
ParseProtocol *string `json:"parseProtocol,omitempty" tf:"parse_protocol,omitempty"`
// metadata path regex.
// +kubebuilder:validation:Optional
PathRegex *string `json:"pathRegex,omitempty" tf:"path_regex,omitempty"`
// syslog protocol, tcp or udp.
// +kubebuilder:validation:Optional
Protocol *string `json:"protocol,omitempty" tf:"protocol,omitempty"`
// Time field format. For more information, please see the output parameters of the time format description of the strftime function in C language.
// +kubebuilder:validation:Optional
TimeFormat *string `json:"timeFormat,omitempty" tf:"time_format,omitempty"`
// Time field key name. time_key and time_format must appear in pair.
// +kubebuilder:validation:Optional
TimeKey *string `json:"timeKey,omitempty" tf:"time_key,omitempty"`
// Unmatched log key.
// +kubebuilder:validation:Optional
UnMatchLogKey *string `json:"unMatchLogKey,omitempty" tf:"un_match_log_key,omitempty"`
// Whether to upload the logs that failed to be parsed. Valid values: true: yes; false: no.
// +kubebuilder:validation:Optional
UnMatchUpLoadSwitch *bool `json:"unMatchUpLoadSwitch,omitempty" tf:"un_match_up_load_switch,omitempty"`
}
type FilterKeyRegexObservation struct {
}
type FilterKeyRegexParameters struct {
// Log key to be filtered.
// +kubebuilder:validation:Optional
Key *string `json:"key,omitempty" tf:"key,omitempty"`
// Filter rule regex corresponding to key.
// +kubebuilder:validation:Optional
Regex *string `json:"regex,omitempty" tf:"regex,omitempty"`
}
type MetaTagsObservation struct {
}
type MetaTagsParameters struct {
// tag key.
// +kubebuilder:validation:Optional
Key *string `json:"key,omitempty" tf:"key,omitempty"`
// tag value.
// +kubebuilder:validation:Optional
Value *string `json:"value,omitempty" tf:"value,omitempty"`
}
// ConfigSpec defines the desired state of Config
type ConfigSpec struct {
v1.ResourceSpec `json:",inline"`
ForProvider ConfigParameters `json:"forProvider"`
}
// ConfigStatus defines the observed state of Config.
type ConfigStatus struct {
v1.ResourceStatus `json:",inline"`
AtProvider ConfigObservation `json:"atProvider,omitempty"`
}
// +kubebuilder:object:root=true
// Config is the Schema for the Configs API
// +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,tencentcloudjet}
type Config struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ConfigSpec `json:"spec"`
Status ConfigStatus `json:"status,omitempty"`
}
// +kubebuilder:object:root=true
// ConfigList contains a list of Configs
type ConfigList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Config `json:"items"`
}
// Repository type metadata.
var (
Config_Kind = "Config"
Config_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Config_Kind}.String()
Config_KindAPIVersion = Config_Kind + "." + CRDGroupVersion.String()
Config_GroupVersionKind = CRDGroupVersion.WithKind(Config_Kind)
)
func init() {
SchemeBuilder.Register(&Config{}, &ConfigList{})
}