1---
2apiVersion: apiextensions.k8s.io/v1
3kind: CustomResourceDefinition
4metadata:
5 annotations:
6 controller-gen.kubebuilder.io/version: (unknown)
7 name: bigquerytables.bigquery.cnrm.cloud.google.com
8spec:
9 group: bigquery.cnrm.cloud.google.com
10 names:
11 kind: BigQueryTable
12 listKind: BigQueryTableList
13 plural: bigquerytables
14 singular: bigquerytable
15 scope: Namespaced
16 versions:
17 - name: v1beta1
18 schema:
19 openAPIV3Schema:
20 description: BigQueryTable is the Schema for the bigquery API
21 properties:
22 apiVersion:
23 description: |-
24 APIVersion defines the versioned schema of this representation of an object.
25 Servers should convert recognized schemas to the latest internal value, and
26 may reject unrecognized values.
27 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
28 type: string
29 kind:
30 description: |-
31 Kind is a string value representing the REST resource this object represents.
32 Servers may infer this from the endpoint the client submits requests to.
33 Cannot be updated.
34 In CamelCase.
35 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
36 type: string
37 metadata:
38 type: object
39 spec:
40 properties:
41 clustering:
42 description: Specifies column names to use for data clustering. Up
43 to four top-level columns are allowed, and should be specified in
44 descending priority order.
45 items:
46 type: string
47 type: array
48 datasetRef:
49 properties:
50 external:
51 description: The external name of the referenced resource
52 type: string
53 kind:
54 description: Kind of the referent.
55 type: string
56 name:
57 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
58 type: string
59 namespace:
60 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
61 type: string
62 type: object
63 description:
64 description: The field description.
65 type: string
66 encryptionConfiguration:
67 description: Immutable. Specifies how the table should be encrypted.
68 If left blank, the table will be encrypted with a Google-managed
69 key; that process is transparent to the user.
70 properties:
71 kmsKeyRef:
72 properties:
73 external:
74 description: The external name of the referenced resource
75 type: string
76 kind:
77 description: Kind of the referent.
78 type: string
79 name:
80 description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
81 type: string
82 namespace:
83 description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
84 type: string
85 type: object
86 kmsKeyVersion:
87 description: The self link or full name of the kms key version
88 used to encrypt this table.
89 type: string
90 required:
91 - kmsKeyRef
92 type: object
93 expirationTime:
94 description: The time when this table expires, in milliseconds since
95 the epoch. If not present, the table will persist indefinitely.
96 Expired tables will be deleted and their storage reclaimed.
97 type: integer
98 externalDataConfiguration:
99 description: Describes the data format, location, and other properties
100 of a table stored outside of BigQuery. By defining these properties,
101 the data source can then be queried as if it were a standard BigQuery
102 table.
103 properties:
104 autodetect:
105 description: Let BigQuery try to autodetect the schema and format
106 of the table.
107 type: boolean
108 avroOptions:
109 description: Additional options if source_format is set to "AVRO".
110 properties:
111 useAvroLogicalTypes:
112 description: If sourceFormat is set to "AVRO", indicates whether
113 to interpret logical types as the corresponding BigQuery
114 data type (for example, TIMESTAMP), instead of using the
115 raw type (for example, INTEGER).
116 type: boolean
117 required:
118 - useAvroLogicalTypes
119 type: object
120 compression:
121 description: The compression type of the data source. Valid values
122 are "NONE" or "GZIP".
123 type: string
124 connectionId:
125 description: The connection specifying the credentials to be used
126 to read external storage, such as Azure Blob, Cloud Storage,
127 or S3. The connectionId can have the form "{{project}}.{{location}}.{{connection_id}}"
128 or "projects/{{project}}/locations/{{location}}/connections/{{connection_id}}".
129 type: string
130 csvOptions:
131 description: Additional properties to set if source_format is
132 set to "CSV".
133 properties:
134 allowJaggedRows:
135 description: Indicates if BigQuery should accept rows that
136 are missing trailing optional columns.
137 type: boolean
138 allowQuotedNewlines:
139 description: Indicates if BigQuery should allow quoted data
140 sections that contain newline characters in a CSV file.
141 The default value is false.
142 type: boolean
143 encoding:
144 description: The character encoding of the data. The supported
145 values are UTF-8 or ISO-8859-1.
146 type: string
147 fieldDelimiter:
148 description: The separator for fields in a CSV file.
149 type: string
150 quote:
151 type: string
152 skipLeadingRows:
153 description: The number of rows at the top of a CSV file that
154 BigQuery will skip when reading the data.
155 type: integer
156 required:
157 - quote
158 type: object
159 googleSheetsOptions:
160 description: Additional options if source_format is set to "GOOGLE_SHEETS".
161 properties:
162 range:
163 description: 'Range of a sheet to query from. Only used when
164 non-empty. At least one of range or skip_leading_rows must
165 be set. Typical format: "sheet_name!top_left_cell_id:bottom_right_cell_id"
166 For example: "sheet1!A1:B20".'
167 type: string
168 skipLeadingRows:
169 description: The number of rows at the top of the sheet that
170 BigQuery will skip when reading the data. At least one of
171 range or skip_leading_rows must be set.
172 type: integer
173 type: object
174 hivePartitioningOptions:
175 description: When set, configures hive partitioning support. Not
176 all storage formats support hive partitioning -- requesting
177 hive partitioning on an unsupported format will lead to an error,
178 as will providing an invalid specification.
179 properties:
180 mode:
181 description: When set, what mode of hive partitioning to use
182 when reading data.
183 type: string
184 requirePartitionFilter:
185 description: If set to true, queries over this table require
186 a partition filter that can be used for partition elimination
187 to be specified.
188 type: boolean
189 sourceUriPrefix:
190 description: When hive partition detection is requested, a
191 common for all source uris must be required. The prefix
192 must end immediately before the partition key encoding begins.
193 type: string
194 type: object
195 ignoreUnknownValues:
196 description: Indicates if BigQuery should allow extra values that
197 are not represented in the table schema. If true, the extra
198 values are ignored. If false, records with extra columns are
199 treated as bad records, and if there are too many bad records,
200 an invalid error is returned in the job result. The default
201 value is false.
202 type: boolean
203 maxBadRecords:
204 description: The maximum number of bad records that BigQuery can
205 ignore when reading data.
206 type: integer
207 referenceFileSchemaUri:
208 description: 'When creating an external table, the user can provide
209 a reference file with the table schema. This is enabled for
210 the following formats: AVRO, PARQUET, ORC.'
211 type: string
212 schema:
213 description: Immutable. A JSON schema for the external table.
214 Schema is required for CSV and JSON formats and is disallowed
215 for Google Cloud Bigtable, Cloud Datastore backups, and Avro
216 formats when using external tables.
217 type: string
218 sourceFormat:
219 description: Please see sourceFormat under ExternalDataConfiguration
220 in Bigquery's public API documentation (https://cloud.google.com/bigquery/docs/reference/rest/v2/tables#externaldataconfiguration)
221 for supported formats. To use "GOOGLE_SHEETS" the scopes must
222 include "googleapis.com/auth/drive.readonly".
223 type: string
224 sourceUris:
225 description: A list of the fully-qualified URIs that point to
226 your data in Google Cloud.
227 items:
228 type: string
229 type: array
230 required:
231 - autodetect
232 - sourceFormat
233 - sourceUris
234 type: object
235 friendlyName:
236 description: A descriptive name for the table.
237 type: string
238 materializedView:
239 description: If specified, configures this table as a materialized
240 view.
241 properties:
242 enableRefresh:
243 description: Specifies if BigQuery should automatically refresh
244 materialized view when the base table is updated. The default
245 is true.
246 type: boolean
247 query:
248 description: Immutable. A query whose result is persisted.
249 type: string
250 refreshIntervalMs:
251 description: Specifies maximum frequency at which this materialized
252 view will be refreshed. The default is 1800000.
253 type: integer
254 required:
255 - query
256 type: object
257 rangePartitioning:
258 description: If specified, configures range-based partitioning for
259 this table.
260 properties:
261 field:
262 description: Immutable. The field used to determine how to create
263 a range-based partition.
264 type: string
265 range:
266 description: Information required to partition based on ranges.
267 Structure is documented below.
268 properties:
269 end:
270 description: End of the range partitioning, exclusive.
271 type: integer
272 interval:
273 description: The width of each range within the partition.
274 type: integer
275 start:
276 description: Start of the range partitioning, inclusive.
277 type: integer
278 required:
279 - end
280 - interval
281 - start
282 type: object
283 required:
284 - field
285 - range
286 type: object
287 resourceID:
288 description: Immutable. Optional. The tableId of the resource. Used
289 for creation and acquisition. When unset, the value of `metadata.name`
290 is used as the default.
291 type: string
292 schema:
293 description: A JSON schema for the table.
294 type: string
295 timePartitioning:
296 description: If specified, configures time-based partitioning for
297 this table.
298 properties:
299 expirationMs:
300 description: Number of milliseconds for which to keep the storage
301 for a partition.
302 type: integer
303 field:
304 description: Immutable. The field used to determine how to create
305 a time-based partition. If time-based partitioning is enabled
306 without this value, the table is partitioned based on the load
307 time.
308 type: string
309 requirePartitionFilter:
310 description: If set to true, queries over this table require a
311 partition filter that can be used for partition elimination
312 to be specified.
313 type: boolean
314 type:
315 description: The supported types are DAY, HOUR, MONTH, and YEAR,
316 which will generate one partition per day, hour, month, and
317 year, respectively.
318 type: string
319 required:
320 - type
321 type: object
322 view:
323 description: If specified, configures this table as a view.
324 properties:
325 query:
326 description: A query that BigQuery executes when the view is referenced.
327 type: string
328 useLegacySql:
329 description: Specifies whether to use BigQuery's legacy SQL for
330 this view. The default value is true. If set to false, the view
331 will use BigQuery's standard SQL.
332 type: boolean
333 required:
334 - query
335 type: object
336 required:
337 - datasetRef
338 type: object
339 status:
340 properties:
341 conditions:
342 description: |-
343 Conditions represent the latest available observations of the
344 BigQueryTable's current state.
345 items:
346 properties:
347 lastTransitionTime:
348 description: Last time the condition transitioned from one status
349 to another.
350 type: string
351 message:
352 description: Human-readable message indicating details about
353 last transition.
354 type: string
355 reason:
356 description: |-
357 Unique, one-word, CamelCase reason for the condition's last
358 transition.
359 type: string
360 status:
361 description: Status is the status of the condition. Can be True,
362 False, Unknown.
363 type: string
364 type:
365 description: Type is the type of the condition.
366 type: string
367 type: object
368 type: array
369 creationTime:
370 description: The time when this table was created, in milliseconds
371 since the epoch.
372 type: integer
373 etag:
374 description: A hash of the resource.
375 type: string
376 lastModifiedTime:
377 description: The time when this table was last modified, in milliseconds
378 since the epoch.
379 type: integer
380 location:
381 description: The geographic location where the table resides. This
382 value is inherited from the dataset.
383 type: string
384 numBytes:
385 description: The geographic location where the table resides. This
386 value is inherited from the dataset.
387 type: integer
388 numLongTermBytes:
389 description: The number of bytes in the table that are considered
390 "long-term storage".
391 type: integer
392 numRows:
393 description: The number of rows of data in this table, excluding any
394 data in the streaming buffer.
395 type: integer
396 observedGeneration:
397 description: ObservedGeneration is the generation of the resource
398 that was most recently observed by the Config Connector controller.
399 If this is equal to metadata.generation, then that means that the
400 current reported status reflects the most recent desired state of
401 the resource.
402 type: integer
403 selfLink:
404 description: The URI of the created resource.
405 type: string
406 type:
407 description: Describes the table type.
408 type: string
409 type: object
410 type: object
411 served: true
412 storage: true
View as plain text