crds/bigquery_v1beta1_bigquerytable.yaml (518 lines of code) (raw):
# Copyright 2025 Google LLC
#
# 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.
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
cnrm.cloud.google.com/version: 1.128.0
creationTimestamp: null
labels:
cnrm.cloud.google.com/managed-by-kcc: "true"
cnrm.cloud.google.com/stability-level: stable
cnrm.cloud.google.com/system: "true"
cnrm.cloud.google.com/tf2crd: "true"
name: bigquerytables.bigquery.cnrm.cloud.google.com
spec:
group: bigquery.cnrm.cloud.google.com
names:
categories:
- gcp
kind: BigQueryTable
plural: bigquerytables
shortNames:
- gcpbigquerytable
- gcpbigquerytables
singular: bigquerytable
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .metadata.creationTimestamp
name: Age
type: date
- description: When 'True', the most recent reconcile of the resource succeeded
jsonPath: .status.conditions[?(@.type=='Ready')].status
name: Ready
type: string
- description: The reason for the value in 'Ready'
jsonPath: .status.conditions[?(@.type=='Ready')].reason
name: Status
type: string
- description: The last transition time for the value in 'Status'
jsonPath: .status.conditions[?(@.type=='Ready')].lastTransitionTime
name: Status Age
type: date
name: v1beta1
schema:
openAPIV3Schema:
properties:
apiVersion:
description: 'apiVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
type: string
kind:
description: 'kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
properties:
clustering:
description: Specifies column names to use for data clustering. Up
to four top-level columns are allowed, and should be specified in
descending priority order.
items:
type: string
type: array
datasetRef:
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: 'Allowed value: The `name` field of a `BigQueryDataset`
resource.'
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
type: string
namespace:
description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
type: string
type: object
description:
description: The field description.
type: string
encryptionConfiguration:
description: Immutable. Specifies how the table should be encrypted.
If left blank, the table will be encrypted with a Google-managed
key; that process is transparent to the user.
properties:
kmsKeyRef:
oneOf:
- not:
required:
- external
required:
- name
- not:
anyOf:
- required:
- name
- required:
- namespace
required:
- external
properties:
external:
description: 'Allowed value: The `selfLink` field of a `KMSCryptoKey`
resource.'
type: string
name:
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
type: string
namespace:
description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
type: string
type: object
kmsKeyVersion:
description: The self link or full name of the kms key version
used to encrypt this table.
type: string
required:
- kmsKeyRef
type: object
expirationTime:
description: The time when this table expires, in milliseconds since
the epoch. If not present, the table will persist indefinitely.
Expired tables will be deleted and their storage reclaimed.
type: integer
externalDataConfiguration:
description: Describes the data format, location, and other properties
of a table stored outside of BigQuery. By defining these properties,
the data source can then be queried as if it were a standard BigQuery
table.
properties:
autodetect:
description: Let BigQuery try to autodetect the schema and format
of the table.
type: boolean
avroOptions:
description: Additional options if source_format is set to "AVRO".
properties:
useAvroLogicalTypes:
description: If sourceFormat is set to "AVRO", indicates whether
to interpret logical types as the corresponding BigQuery
data type (for example, TIMESTAMP), instead of using the
raw type (for example, INTEGER).
type: boolean
required:
- useAvroLogicalTypes
type: object
compression:
description: The compression type of the data source. Valid values
are "NONE" or "GZIP".
type: string
connectionId:
description: The connection specifying the credentials to be used
to read external storage, such as Azure Blob, Cloud Storage,
or S3. The connectionId can have the form "{{project}}.{{location}}.{{connection_id}}"
or "projects/{{project}}/locations/{{location}}/connections/{{connection_id}}".
type: string
csvOptions:
description: Additional properties to set if source_format is
set to "CSV".
properties:
allowJaggedRows:
description: Indicates if BigQuery should accept rows that
are missing trailing optional columns.
type: boolean
allowQuotedNewlines:
description: Indicates if BigQuery should allow quoted data
sections that contain newline characters in a CSV file.
The default value is false.
type: boolean
encoding:
description: The character encoding of the data. The supported
values are UTF-8 or ISO-8859-1.
type: string
fieldDelimiter:
description: The separator for fields in a CSV file.
type: string
quote:
type: string
skipLeadingRows:
description: The number of rows at the top of a CSV file that
BigQuery will skip when reading the data.
type: integer
required:
- quote
type: object
fileSetSpecType:
description: Specifies how source URIs are interpreted for constructing
the file set to load. By default source URIs are expanded against
the underlying storage. Other options include specifying manifest
files. Only applicable to object storage systems.
type: string
googleSheetsOptions:
description: Additional options if source_format is set to "GOOGLE_SHEETS".
properties:
range:
description: 'Range of a sheet to query from. Only used when
non-empty. At least one of range or skip_leading_rows must
be set. Typical format: "sheet_name!top_left_cell_id:bottom_right_cell_id"
For example: "sheet1!A1:B20".'
type: string
skipLeadingRows:
description: The number of rows at the top of the sheet that
BigQuery will skip when reading the data. At least one of
range or skip_leading_rows must be set.
type: integer
type: object
hivePartitioningOptions:
description: When set, configures hive partitioning support. Not
all storage formats support hive partitioning -- requesting
hive partitioning on an unsupported format will lead to an error,
as will providing an invalid specification.
properties:
mode:
description: When set, what mode of hive partitioning to use
when reading data.
type: string
requirePartitionFilter:
description: If set to true, queries over this table require
a partition filter that can be used for partition elimination
to be specified.
type: boolean
sourceUriPrefix:
description: When hive partition detection is requested, a
common for all source uris must be required. The prefix
must end immediately before the partition key encoding begins.
type: string
type: object
ignoreUnknownValues:
description: Indicates if BigQuery should allow extra values that
are not represented in the table schema. If true, the extra
values are ignored. If false, records with extra columns are
treated as bad records, and if there are too many bad records,
an invalid error is returned in the job result. The default
value is false.
type: boolean
jsonOptions:
description: Additional properties to set if sourceFormat is set
to JSON.".
properties:
encoding:
description: The character encoding of the data. The supported
values are UTF-8, UTF-16BE, UTF-16LE, UTF-32BE, and UTF-32LE.
The default value is UTF-8.
type: string
type: object
maxBadRecords:
description: The maximum number of bad records that BigQuery can
ignore when reading data.
type: integer
metadataCacheMode:
description: Metadata Cache Mode for the table. Set this to enable
caching of metadata from external data source.
type: string
objectMetadata:
description: Object Metadata is used to create Object Tables.
Object Tables contain a listing of objects (with their metadata)
found at the sourceUris. If ObjectMetadata is set, sourceFormat
should be omitted.
type: string
parquetOptions:
description: Additional properties to set if sourceFormat is set
to PARQUET.".
properties:
enableListInference:
description: Indicates whether to use schema inference specifically
for Parquet LIST logical type.
type: boolean
enumAsString:
description: Indicates whether to infer Parquet ENUM logical
type as STRING instead of BYTES by default.
type: boolean
type: object
referenceFileSchemaUri:
description: 'When creating an external table, the user can provide
a reference file with the table schema. This is enabled for
the following formats: AVRO, PARQUET, ORC.'
type: string
schema:
description: Immutable. A JSON schema for the external table.
Schema is required for CSV and JSON formats and is disallowed
for Google Cloud Bigtable, Cloud Datastore backups, and Avro
formats when using external tables.
type: string
sourceFormat:
description: ' Please see sourceFormat under ExternalDataConfiguration
in Bigquery''s public API documentation (https://cloud.google.com/bigquery/docs/reference/rest/v2/tables#externaldataconfiguration)
for supported formats. To use "GOOGLE_SHEETS" the scopes must
include "googleapis.com/auth/drive.readonly".'
type: string
sourceUris:
description: A list of the fully-qualified URIs that point to
your data in Google Cloud.
items:
type: string
type: array
required:
- autodetect
- sourceUris
type: object
friendlyName:
description: A descriptive name for the table.
type: string
materializedView:
description: If specified, configures this table as a materialized
view.
properties:
allowNonIncrementalDefinition:
description: Immutable. Allow non incremental materialized view
definition. The default value is false.
type: boolean
enableRefresh:
description: Specifies if BigQuery should automatically refresh
materialized view when the base table is updated. The default
is true.
type: boolean
query:
description: Immutable. A query whose result is persisted.
type: string
refreshIntervalMs:
description: Specifies maximum frequency at which this materialized
view will be refreshed. The default is 1800000.
type: integer
required:
- query
type: object
maxStaleness:
description: The maximum staleness of data that could be returned
when the table (or stale MV) is queried. Staleness encoded as a
string encoding of sql IntervalValue type.
type: string
rangePartitioning:
description: If specified, configures range-based partitioning for
this table.
properties:
field:
description: Immutable. The field used to determine how to create
a range-based partition.
type: string
range:
description: Information required to partition based on ranges.
Structure is documented below.
properties:
end:
description: End of the range partitioning, exclusive.
type: integer
interval:
description: The width of each range within the partition.
type: integer
start:
description: Start of the range partitioning, inclusive.
type: integer
required:
- end
- interval
- start
type: object
required:
- field
- range
type: object
requirePartitionFilter:
description: If set to true, queries over this table require a partition
filter that can be used for partition elimination to be specified.
type: boolean
resourceID:
description: Immutable. Optional. The tableId of the resource. Used
for creation and acquisition. When unset, the value of `metadata.name`
is used as the default.
type: string
schema:
description: A JSON schema for the table.
type: string
tableConstraints:
description: Defines the primary key and foreign keys.
properties:
foreignKeys:
description: Present only if the table has a foreign key. The
foreign key is not enforced.
items:
properties:
columnReferences:
description: The pair of the foreign key column and primary
key column.
properties:
referencedColumn:
description: The column in the primary key that are
referenced by the referencingColumn.
type: string
referencingColumn:
description: The column that composes the foreign key.
type: string
required:
- referencedColumn
- referencingColumn
type: object
name:
description: Set only if the foreign key constraint is named.
type: string
referencedTable:
description: The table that holds the primary key and is
referenced by this foreign key.
properties:
datasetId:
description: The ID of the dataset containing this table.
type: string
projectId:
description: The ID of the project containing this table.
type: string
tableId:
description: The ID of the table. The ID must contain
only letters (a-z, A-Z), numbers (0-9), or underscores
(_). The maximum length is 1,024 characters. Certain
operations allow suffixing of the table ID with a
partition decorator, such as sample_table$20190123.
type: string
required:
- datasetId
- projectId
- tableId
type: object
required:
- columnReferences
- referencedTable
type: object
type: array
primaryKey:
description: Represents a primary key constraint on a table's
columns. Present only if the table has a primary key. The primary
key is not enforced.
properties:
columns:
description: The columns that are composed of the primary
key constraint.
items:
type: string
type: array
required:
- columns
type: object
type: object
timePartitioning:
description: If specified, configures time-based partitioning for
this table.
properties:
expirationMs:
description: Number of milliseconds for which to keep the storage
for a partition.
type: integer
field:
description: Immutable. The field used to determine how to create
a time-based partition. If time-based partitioning is enabled
without this value, the table is partitioned based on the load
time.
type: string
requirePartitionFilter:
description: DEPRECATED. This field is deprecated; please use
the top level field with the same name instead. If set to true,
queries over this table require a partition filter that can
be used for partition elimination to be specified.
type: boolean
type:
description: The supported types are DAY, HOUR, MONTH, and YEAR,
which will generate one partition per day, hour, month, and
year, respectively.
type: string
required:
- type
type: object
view:
description: If specified, configures this table as a view.
properties:
query:
description: A query that BigQuery executes when the view is referenced.
type: string
useLegacySql:
description: Specifies whether to use BigQuery's legacy SQL for
this view. The default value is true. If set to false, the view
will use BigQuery's standard SQL.
type: boolean
required:
- query
type: object
required:
- datasetRef
type: object
status:
properties:
conditions:
description: Conditions represent the latest available observation
of the resource's current state.
items:
properties:
lastTransitionTime:
description: Last time the condition transitioned from one status
to another.
type: string
message:
description: Human-readable message indicating details about
last transition.
type: string
reason:
description: Unique, one-word, CamelCase reason for the condition's
last transition.
type: string
status:
description: Status is the status of the condition. Can be True,
False, Unknown.
type: string
type:
description: Type is the type of the condition.
type: string
type: object
type: array
creationTime:
description: The time when this table was created, in milliseconds
since the epoch.
type: integer
etag:
description: A hash of the resource.
type: string
lastModifiedTime:
description: The time when this table was last modified, in milliseconds
since the epoch.
type: integer
location:
description: The geographic location where the table resides. This
value is inherited from the dataset.
type: string
numBytes:
description: The geographic location where the table resides. This
value is inherited from the dataset.
type: integer
numLongTermBytes:
description: The number of bytes in the table that are considered
"long-term storage".
type: integer
numRows:
description: The number of rows of data in this table, excluding any
data in the streaming buffer.
type: integer
observedGeneration:
description: ObservedGeneration is the generation of the resource
that was most recently observed by the Config Connector controller.
If this is equal to metadata.generation, then that means that the
current reported status reflects the most recent desired state of
the resource.
type: integer
selfLink:
description: The URI of the created resource.
type: string
type:
description: Describes the table type.
type: string
type: object
required:
- spec
type: object
served: true
storage: true
subresources:
status: {}
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []