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