UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

805 lines 107 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface BigqueryTableConfig extends cdktf.TerraformMetaArguments { /** * Specifies column names to use for data clustering. Up to four top-level columns are allowed, and should be specified in descending priority order. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#clustering BigqueryTable#clustering} */ readonly clustering?: string[]; /** * The dataset ID to create the table in. Changing this forces a new resource to be created. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#dataset_id BigqueryTable#dataset_id} */ readonly datasetId: string; /** * Whether Terraform will be prevented from destroying the instance. When the field is set to true or unset in Terraform state, a terraform apply or terraform destroy that would delete the table will fail. When the field is set to false, deleting the table is allowed. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#deletion_protection BigqueryTable#deletion_protection} */ readonly deletionProtection?: boolean | cdktf.IResolvable; /** * The field description. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#description BigqueryTable#description} */ readonly description?: string; /** * 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. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#expiration_time BigqueryTable#expiration_time} */ readonly expirationTime?: number; /** * A descriptive name for the table. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#friendly_name BigqueryTable#friendly_name} */ readonly friendlyName?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#id BigqueryTable#id} * * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable. */ readonly id?: string; /** * A mapping of labels to assign to the resource. * * **Note**: This field is non-authoritative, and will only manage the labels present in your configuration. * Please refer to the field 'effective_labels' for all of the labels present on the resource. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#labels BigqueryTable#labels} */ readonly labels?: { [key: string]: string; }; /** * 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](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types#interval_type). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#max_staleness BigqueryTable#max_staleness} */ readonly maxStaleness?: string; /** * The ID of the project in which the resource belongs. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#project BigqueryTable#project} */ readonly project?: string; /** * If set to true, queries over this table require a partition filter that can be used for partition elimination to be specified. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#require_partition_filter BigqueryTable#require_partition_filter} */ readonly requirePartitionFilter?: boolean | cdktf.IResolvable; /** * The tags attached to this table. Tag keys are globally unique. Tag key is expected to be in the namespaced format, for example "123456789012/environment" where 123456789012 is the ID of the parent organization or project resource for this tag key. Tag value is expected to be the short name, for example "Production". * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#resource_tags BigqueryTable#resource_tags} */ readonly resourceTags?: { [key: string]: string; }; /** * A JSON schema for the table. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#schema BigqueryTable#schema} */ readonly schema?: string; /** * A unique ID for the resource. Changing this forces a new resource to be created. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#table_id BigqueryTable#table_id} */ readonly tableId: string; /** * View sets the optional parameter "view": Specifies the view that determines which table information is returned. By default, basic table information and storage statistics (STORAGE_STATS) are returned. Possible values: TABLE_METADATA_VIEW_UNSPECIFIED, BASIC, STORAGE_STATS, FULL * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#table_metadata_view BigqueryTable#table_metadata_view} */ readonly tableMetadataView?: string; /** * biglake_configuration block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#biglake_configuration BigqueryTable#biglake_configuration} */ readonly biglakeConfiguration?: BigqueryTableBiglakeConfiguration; /** * encryption_configuration block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#encryption_configuration BigqueryTable#encryption_configuration} */ readonly encryptionConfiguration?: BigqueryTableEncryptionConfiguration; /** * external_catalog_table_options block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#external_catalog_table_options BigqueryTable#external_catalog_table_options} */ readonly externalCatalogTableOptions?: BigqueryTableExternalCatalogTableOptions; /** * external_data_configuration block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#external_data_configuration BigqueryTable#external_data_configuration} */ readonly externalDataConfiguration?: BigqueryTableExternalDataConfiguration; /** * materialized_view block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#materialized_view BigqueryTable#materialized_view} */ readonly materializedView?: BigqueryTableMaterializedView; /** * range_partitioning block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#range_partitioning BigqueryTable#range_partitioning} */ readonly rangePartitioning?: BigqueryTableRangePartitioning; /** * schema_foreign_type_info block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#schema_foreign_type_info BigqueryTable#schema_foreign_type_info} */ readonly schemaForeignTypeInfo?: BigqueryTableSchemaForeignTypeInfo; /** * table_constraints block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#table_constraints BigqueryTable#table_constraints} */ readonly tableConstraints?: BigqueryTableTableConstraints; /** * table_replication_info block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#table_replication_info BigqueryTable#table_replication_info} */ readonly tableReplicationInfo?: BigqueryTableTableReplicationInfo; /** * time_partitioning block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#time_partitioning BigqueryTable#time_partitioning} */ readonly timePartitioning?: BigqueryTableTimePartitioning; /** * view block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#view BigqueryTable#view} */ readonly view?: BigqueryTableView; } export interface BigqueryTableBiglakeConfiguration { /** * The connection specifying the credentials to be used to read and write to external storage, such as Cloud Storage. The connection_id can have the form "&lt;project\_id&gt;.&lt;location\_id&gt;.&lt;connection\_id&gt;" or "projects/&lt;project\_id&gt;/locations/&lt;location\_id&gt;/connections/&lt;connection\_id&gt;". * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#connection_id BigqueryTable#connection_id} */ readonly connectionId: string; /** * The file format the data is stored in. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#file_format BigqueryTable#file_format} */ readonly fileFormat: string; /** * The fully qualified location prefix of the external folder where table data is stored. The '*' wildcard character is not allowed. The URI should be in the format "gs://bucket/path_to_table/" * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#storage_uri BigqueryTable#storage_uri} */ readonly storageUri: string; /** * The table format the metadata only snapshots are stored in. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#table_format BigqueryTable#table_format} */ readonly tableFormat: string; } export declare function bigqueryTableBiglakeConfigurationToTerraform(struct?: BigqueryTableBiglakeConfigurationOutputReference | BigqueryTableBiglakeConfiguration): any; export declare function bigqueryTableBiglakeConfigurationToHclTerraform(struct?: BigqueryTableBiglakeConfigurationOutputReference | BigqueryTableBiglakeConfiguration): any; export declare class BigqueryTableBiglakeConfigurationOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): BigqueryTableBiglakeConfiguration | undefined; set internalValue(value: BigqueryTableBiglakeConfiguration | undefined); private _connectionId?; get connectionId(): string; set connectionId(value: string); get connectionIdInput(): string | undefined; private _fileFormat?; get fileFormat(): string; set fileFormat(value: string); get fileFormatInput(): string | undefined; private _storageUri?; get storageUri(): string; set storageUri(value: string); get storageUriInput(): string | undefined; private _tableFormat?; get tableFormat(): string; set tableFormat(value: string); get tableFormatInput(): string | undefined; } export interface BigqueryTableEncryptionConfiguration { /** * The self link or full name of a key which should be used to encrypt this table. Note that the default bigquery service account will need to have encrypt/decrypt permissions on this key - you may want to see the google_bigquery_default_service_account datasource and the google_kms_crypto_key_iam_binding resource. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#kms_key_name BigqueryTable#kms_key_name} */ readonly kmsKeyName: string; } export declare function bigqueryTableEncryptionConfigurationToTerraform(struct?: BigqueryTableEncryptionConfigurationOutputReference | BigqueryTableEncryptionConfiguration): any; export declare function bigqueryTableEncryptionConfigurationToHclTerraform(struct?: BigqueryTableEncryptionConfigurationOutputReference | BigqueryTableEncryptionConfiguration): any; export declare class BigqueryTableEncryptionConfigurationOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): BigqueryTableEncryptionConfiguration | undefined; set internalValue(value: BigqueryTableEncryptionConfiguration | undefined); private _kmsKeyName?; get kmsKeyName(): string; set kmsKeyName(value: string); get kmsKeyNameInput(): string | undefined; get kmsKeyVersion(): string; } export interface BigqueryTableExternalCatalogTableOptionsStorageDescriptorSerdeInfo { /** * Name of the SerDe. The maximum length is 256 characters. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#name BigqueryTable#name} */ readonly name?: string; /** * Key-value pairs that define the initialization parameters for the serialization library. Maximum size 10 Kib. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#parameters BigqueryTable#parameters} */ readonly parameters?: { [key: string]: string; }; /** * Specifies a fully-qualified class name of the serialization library that is responsible for the translation of data between table representation and the underlying low-level input and output format structures. The maximum length is 256 characters. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#serialization_library BigqueryTable#serialization_library} */ readonly serializationLibrary: string; } export declare function bigqueryTableExternalCatalogTableOptionsStorageDescriptorSerdeInfoToTerraform(struct?: BigqueryTableExternalCatalogTableOptionsStorageDescriptorSerdeInfoOutputReference | BigqueryTableExternalCatalogTableOptionsStorageDescriptorSerdeInfo): any; export declare function bigqueryTableExternalCatalogTableOptionsStorageDescriptorSerdeInfoToHclTerraform(struct?: BigqueryTableExternalCatalogTableOptionsStorageDescriptorSerdeInfoOutputReference | BigqueryTableExternalCatalogTableOptionsStorageDescriptorSerdeInfo): any; export declare class BigqueryTableExternalCatalogTableOptionsStorageDescriptorSerdeInfoOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): BigqueryTableExternalCatalogTableOptionsStorageDescriptorSerdeInfo | undefined; set internalValue(value: BigqueryTableExternalCatalogTableOptionsStorageDescriptorSerdeInfo | undefined); private _name?; get name(): string; set name(value: string); resetName(): void; get nameInput(): string | undefined; private _parameters?; get parameters(): { [key: string]: string; }; set parameters(value: { [key: string]: string; }); resetParameters(): void; get parametersInput(): { [key: string]: string; } | undefined; private _serializationLibrary?; get serializationLibrary(): string; set serializationLibrary(value: string); get serializationLibraryInput(): string | undefined; } export interface BigqueryTableExternalCatalogTableOptionsStorageDescriptor { /** * Specifies the fully qualified class name of the InputFormat (e.g. "org.apache.hadoop.hive.ql.io.orc.OrcInputFormat"). The maximum length is 128 characters. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#input_format BigqueryTable#input_format} */ readonly inputFormat?: string; /** * The physical location of the table (e.g. 'gs://spark-dataproc-data/pangea-data/case_sensitive/' or 'gs://spark-dataproc-data/pangea-data/*'). The maximum length is 2056 bytes. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#location_uri BigqueryTable#location_uri} */ readonly locationUri?: string; /** * Specifies the fully qualified class name of the OutputFormat (e.g. "org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat"). The maximum length is 128 characters. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#output_format BigqueryTable#output_format} */ readonly outputFormat?: string; /** * serde_info block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#serde_info BigqueryTable#serde_info} */ readonly serdeInfo?: BigqueryTableExternalCatalogTableOptionsStorageDescriptorSerdeInfo; } export declare function bigqueryTableExternalCatalogTableOptionsStorageDescriptorToTerraform(struct?: BigqueryTableExternalCatalogTableOptionsStorageDescriptorOutputReference | BigqueryTableExternalCatalogTableOptionsStorageDescriptor): any; export declare function bigqueryTableExternalCatalogTableOptionsStorageDescriptorToHclTerraform(struct?: BigqueryTableExternalCatalogTableOptionsStorageDescriptorOutputReference | BigqueryTableExternalCatalogTableOptionsStorageDescriptor): any; export declare class BigqueryTableExternalCatalogTableOptionsStorageDescriptorOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): BigqueryTableExternalCatalogTableOptionsStorageDescriptor | undefined; set internalValue(value: BigqueryTableExternalCatalogTableOptionsStorageDescriptor | undefined); private _inputFormat?; get inputFormat(): string; set inputFormat(value: string); resetInputFormat(): void; get inputFormatInput(): string | undefined; private _locationUri?; get locationUri(): string; set locationUri(value: string); resetLocationUri(): void; get locationUriInput(): string | undefined; private _outputFormat?; get outputFormat(): string; set outputFormat(value: string); resetOutputFormat(): void; get outputFormatInput(): string | undefined; private _serdeInfo; get serdeInfo(): BigqueryTableExternalCatalogTableOptionsStorageDescriptorSerdeInfoOutputReference; putSerdeInfo(value: BigqueryTableExternalCatalogTableOptionsStorageDescriptorSerdeInfo): void; resetSerdeInfo(): void; get serdeInfoInput(): BigqueryTableExternalCatalogTableOptionsStorageDescriptorSerdeInfo | undefined; } export interface BigqueryTableExternalCatalogTableOptions { /** * The connection specifying the credentials to be used to read external storage, such as Azure Blob, Cloud Storage, or S3. The connection is needed to read the open source table from BigQuery Engine. The connection_id can have the form <project_id>.<location_id>.<connection_id> or projects/<project_id>/locations/<location_id>/connections/<connection_id>. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#connection_id BigqueryTable#connection_id} */ readonly connectionId?: string; /** * A map of key value pairs defining the parameters and properties of the open source table. Corresponds with hive meta store table parameters. Maximum size of 4Mib. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#parameters BigqueryTable#parameters} */ readonly parameters?: { [key: string]: string; }; /** * storage_descriptor block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#storage_descriptor BigqueryTable#storage_descriptor} */ readonly storageDescriptor?: BigqueryTableExternalCatalogTableOptionsStorageDescriptor; } export declare function bigqueryTableExternalCatalogTableOptionsToTerraform(struct?: BigqueryTableExternalCatalogTableOptionsOutputReference | BigqueryTableExternalCatalogTableOptions): any; export declare function bigqueryTableExternalCatalogTableOptionsToHclTerraform(struct?: BigqueryTableExternalCatalogTableOptionsOutputReference | BigqueryTableExternalCatalogTableOptions): any; export declare class BigqueryTableExternalCatalogTableOptionsOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): BigqueryTableExternalCatalogTableOptions | undefined; set internalValue(value: BigqueryTableExternalCatalogTableOptions | undefined); private _connectionId?; get connectionId(): string; set connectionId(value: string); resetConnectionId(): void; get connectionIdInput(): string | undefined; private _parameters?; get parameters(): { [key: string]: string; }; set parameters(value: { [key: string]: string; }); resetParameters(): void; get parametersInput(): { [key: string]: string; } | undefined; private _storageDescriptor; get storageDescriptor(): BigqueryTableExternalCatalogTableOptionsStorageDescriptorOutputReference; putStorageDescriptor(value: BigqueryTableExternalCatalogTableOptionsStorageDescriptor): void; resetStorageDescriptor(): void; get storageDescriptorInput(): BigqueryTableExternalCatalogTableOptionsStorageDescriptor | undefined; } export interface BigqueryTableExternalDataConfigurationAvroOptions { /** * 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). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#use_avro_logical_types BigqueryTable#use_avro_logical_types} */ readonly useAvroLogicalTypes: boolean | cdktf.IResolvable; } export declare function bigqueryTableExternalDataConfigurationAvroOptionsToTerraform(struct?: BigqueryTableExternalDataConfigurationAvroOptionsOutputReference | BigqueryTableExternalDataConfigurationAvroOptions): any; export declare function bigqueryTableExternalDataConfigurationAvroOptionsToHclTerraform(struct?: BigqueryTableExternalDataConfigurationAvroOptionsOutputReference | BigqueryTableExternalDataConfigurationAvroOptions): any; export declare class BigqueryTableExternalDataConfigurationAvroOptionsOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): BigqueryTableExternalDataConfigurationAvroOptions | undefined; set internalValue(value: BigqueryTableExternalDataConfigurationAvroOptions | undefined); private _useAvroLogicalTypes?; get useAvroLogicalTypes(): boolean | cdktf.IResolvable; set useAvroLogicalTypes(value: boolean | cdktf.IResolvable); get useAvroLogicalTypesInput(): boolean | cdktf.IResolvable | undefined; } export interface BigqueryTableExternalDataConfigurationBigtableOptionsColumnFamilyColumn { /** * The encoding of the values when the type is not STRING. Acceptable encoding values are: TEXT - indicates values are alphanumeric text strings. BINARY - indicates values are encoded using HBase Bytes.toBytes family of functions. 'encoding' can also be set at the column family level. However, the setting at this level takes precedence if 'encoding' is set at both levels. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#encoding BigqueryTable#encoding} */ readonly encoding?: string; /** * If the qualifier is not a valid BigQuery field identifier i.e. does not match [a-zA-Z][a-zA-Z0-9_]*, a valid identifier must be provided as the column field name and is used as field name in queries. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#field_name BigqueryTable#field_name} */ readonly fieldName?: string; /** * If this is set, only the latest version of value in this column are exposed. 'onlyReadLatest' can also be set at the column family level. However, the setting at this level takes precedence if 'onlyReadLatest' is set at both levels. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#only_read_latest BigqueryTable#only_read_latest} */ readonly onlyReadLatest?: boolean | cdktf.IResolvable; /** * Qualifier of the column. Columns in the parent column family that has this exact qualifier are exposed as . field. If the qualifier is valid UTF-8 string, it can be specified in the qualifierString field. Otherwise, a base-64 encoded value must be set to qualifierEncoded. The column field name is the same as the column qualifier. However, if the qualifier is not a valid BigQuery field identifier i.e. does not match [a-zA-Z][a-zA-Z0-9_]*, a valid identifier must be provided as fieldName. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#qualifier_encoded BigqueryTable#qualifier_encoded} */ readonly qualifierEncoded?: string; /** * Qualifier string. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#qualifier_string BigqueryTable#qualifier_string} */ readonly qualifierString?: string; /** * The type to convert the value in cells of this column. The values are expected to be encoded using HBase Bytes.toBytes function when using the BINARY encoding value. Following BigQuery types are allowed (case-sensitive): "BYTES", "STRING", "INTEGER", "FLOAT", "BOOLEAN", "JSON", Default type is "BYTES". 'type' can also be set at the column family level. However, the setting at this level takes precedence if 'type' is set at both levels. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#type BigqueryTable#type} */ readonly type?: string; } export declare function bigqueryTableExternalDataConfigurationBigtableOptionsColumnFamilyColumnToTerraform(struct?: BigqueryTableExternalDataConfigurationBigtableOptionsColumnFamilyColumn | cdktf.IResolvable): any; export declare function bigqueryTableExternalDataConfigurationBigtableOptionsColumnFamilyColumnToHclTerraform(struct?: BigqueryTableExternalDataConfigurationBigtableOptionsColumnFamilyColumn | cdktf.IResolvable): any; export declare class BigqueryTableExternalDataConfigurationBigtableOptionsColumnFamilyColumnOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): BigqueryTableExternalDataConfigurationBigtableOptionsColumnFamilyColumn | cdktf.IResolvable | undefined; set internalValue(value: BigqueryTableExternalDataConfigurationBigtableOptionsColumnFamilyColumn | cdktf.IResolvable | undefined); private _encoding?; get encoding(): string; set encoding(value: string); resetEncoding(): void; get encodingInput(): string | undefined; private _fieldName?; get fieldName(): string; set fieldName(value: string); resetFieldName(): void; get fieldNameInput(): string | undefined; private _onlyReadLatest?; get onlyReadLatest(): boolean | cdktf.IResolvable; set onlyReadLatest(value: boolean | cdktf.IResolvable); resetOnlyReadLatest(): void; get onlyReadLatestInput(): boolean | cdktf.IResolvable | undefined; private _qualifierEncoded?; get qualifierEncoded(): string; set qualifierEncoded(value: string); resetQualifierEncoded(): void; get qualifierEncodedInput(): string | undefined; private _qualifierString?; get qualifierString(): string; set qualifierString(value: string); resetQualifierString(): void; get qualifierStringInput(): string | undefined; private _type?; get type(): string; set type(value: string); resetType(): void; get typeInput(): string | undefined; } export declare class BigqueryTableExternalDataConfigurationBigtableOptionsColumnFamilyColumnList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: BigqueryTableExternalDataConfigurationBigtableOptionsColumnFamilyColumn[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): BigqueryTableExternalDataConfigurationBigtableOptionsColumnFamilyColumnOutputReference; } export interface BigqueryTableExternalDataConfigurationBigtableOptionsColumnFamily { /** * The encoding of the values when the type is not STRING. Acceptable encoding values are: TEXT - indicates values are alphanumeric text strings. BINARY - indicates values are encoded using HBase Bytes.toBytes family of functions. This can be overridden for a specific column by listing that column in 'columns' and specifying an encoding for it. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#encoding BigqueryTable#encoding} */ readonly encoding?: string; /** * Identifier of the column family. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#family_id BigqueryTable#family_id} */ readonly familyId?: string; /** * If this is set only the latest version of value are exposed for all columns in this column family. This can be overridden for a specific column by listing that column in 'columns' and specifying a different setting for that column. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#only_read_latest BigqueryTable#only_read_latest} */ readonly onlyReadLatest?: boolean | cdktf.IResolvable; /** * The type to convert the value in cells of this column family. The values are expected to be encoded using HBase Bytes.toBytes function when using the BINARY encoding value. Following BigQuery types are allowed (case-sensitive): "BYTES", "STRING", "INTEGER", "FLOAT", "BOOLEAN", "JSON". Default type is BYTES. This can be overridden for a specific column by listing that column in 'columns' and specifying a type for it. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#type BigqueryTable#type} */ readonly type?: string; /** * column block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#column BigqueryTable#column} */ readonly column?: BigqueryTableExternalDataConfigurationBigtableOptionsColumnFamilyColumn[] | cdktf.IResolvable; } export declare function bigqueryTableExternalDataConfigurationBigtableOptionsColumnFamilyToTerraform(struct?: BigqueryTableExternalDataConfigurationBigtableOptionsColumnFamily | cdktf.IResolvable): any; export declare function bigqueryTableExternalDataConfigurationBigtableOptionsColumnFamilyToHclTerraform(struct?: BigqueryTableExternalDataConfigurationBigtableOptionsColumnFamily | cdktf.IResolvable): any; export declare class BigqueryTableExternalDataConfigurationBigtableOptionsColumnFamilyOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): BigqueryTableExternalDataConfigurationBigtableOptionsColumnFamily | cdktf.IResolvable | undefined; set internalValue(value: BigqueryTableExternalDataConfigurationBigtableOptionsColumnFamily | cdktf.IResolvable | undefined); private _encoding?; get encoding(): string; set encoding(value: string); resetEncoding(): void; get encodingInput(): string | undefined; private _familyId?; get familyId(): string; set familyId(value: string); resetFamilyId(): void; get familyIdInput(): string | undefined; private _onlyReadLatest?; get onlyReadLatest(): boolean | cdktf.IResolvable; set onlyReadLatest(value: boolean | cdktf.IResolvable); resetOnlyReadLatest(): void; get onlyReadLatestInput(): boolean | cdktf.IResolvable | undefined; private _type?; get type(): string; set type(value: string); resetType(): void; get typeInput(): string | undefined; private _column; get column(): BigqueryTableExternalDataConfigurationBigtableOptionsColumnFamilyColumnList; putColumn(value: BigqueryTableExternalDataConfigurationBigtableOptionsColumnFamilyColumn[] | cdktf.IResolvable): void; resetColumn(): void; get columnInput(): cdktf.IResolvable | BigqueryTableExternalDataConfigurationBigtableOptionsColumnFamilyColumn[] | undefined; } export declare class BigqueryTableExternalDataConfigurationBigtableOptionsColumnFamilyList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: BigqueryTableExternalDataConfigurationBigtableOptionsColumnFamily[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): BigqueryTableExternalDataConfigurationBigtableOptionsColumnFamilyOutputReference; } export interface BigqueryTableExternalDataConfigurationBigtableOptions { /** * If field is true, then the column families that are not specified in columnFamilies list are not exposed in the table schema. Otherwise, they are read with BYTES type values. The default value is false. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#ignore_unspecified_column_families BigqueryTable#ignore_unspecified_column_families} */ readonly ignoreUnspecifiedColumnFamilies?: boolean | cdktf.IResolvable; /** * If field is true, then each column family will be read as a single JSON column. Otherwise they are read as a repeated cell structure containing timestamp/value tuples. The default value is false. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#output_column_families_as_json BigqueryTable#output_column_families_as_json} */ readonly outputColumnFamiliesAsJson?: boolean | cdktf.IResolvable; /** * If field is true, then the rowkey column families will be read and converted to string. Otherwise they are read with BYTES type values and users need to manually cast them with CAST if necessary. The default value is false. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#read_rowkey_as_string BigqueryTable#read_rowkey_as_string} */ readonly readRowkeyAsString?: boolean | cdktf.IResolvable; /** * column_family block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#column_family BigqueryTable#column_family} */ readonly columnFamily?: BigqueryTableExternalDataConfigurationBigtableOptionsColumnFamily[] | cdktf.IResolvable; } export declare function bigqueryTableExternalDataConfigurationBigtableOptionsToTerraform(struct?: BigqueryTableExternalDataConfigurationBigtableOptionsOutputReference | BigqueryTableExternalDataConfigurationBigtableOptions): any; export declare function bigqueryTableExternalDataConfigurationBigtableOptionsToHclTerraform(struct?: BigqueryTableExternalDataConfigurationBigtableOptionsOutputReference | BigqueryTableExternalDataConfigurationBigtableOptions): any; export declare class BigqueryTableExternalDataConfigurationBigtableOptionsOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): BigqueryTableExternalDataConfigurationBigtableOptions | undefined; set internalValue(value: BigqueryTableExternalDataConfigurationBigtableOptions | undefined); private _ignoreUnspecifiedColumnFamilies?; get ignoreUnspecifiedColumnFamilies(): boolean | cdktf.IResolvable; set ignoreUnspecifiedColumnFamilies(value: boolean | cdktf.IResolvable); resetIgnoreUnspecifiedColumnFamilies(): void; get ignoreUnspecifiedColumnFamiliesInput(): boolean | cdktf.IResolvable | undefined; private _outputColumnFamiliesAsJson?; get outputColumnFamiliesAsJson(): boolean | cdktf.IResolvable; set outputColumnFamiliesAsJson(value: boolean | cdktf.IResolvable); resetOutputColumnFamiliesAsJson(): void; get outputColumnFamiliesAsJsonInput(): boolean | cdktf.IResolvable | undefined; private _readRowkeyAsString?; get readRowkeyAsString(): boolean | cdktf.IResolvable; set readRowkeyAsString(value: boolean | cdktf.IResolvable); resetReadRowkeyAsString(): void; get readRowkeyAsStringInput(): boolean | cdktf.IResolvable | undefined; private _columnFamily; get columnFamily(): BigqueryTableExternalDataConfigurationBigtableOptionsColumnFamilyList; putColumnFamily(value: BigqueryTableExternalDataConfigurationBigtableOptionsColumnFamily[] | cdktf.IResolvable): void; resetColumnFamily(): void; get columnFamilyInput(): cdktf.IResolvable | BigqueryTableExternalDataConfigurationBigtableOptionsColumnFamily[] | undefined; } export interface BigqueryTableExternalDataConfigurationCsvOptions { /** * Indicates if BigQuery should accept rows that are missing trailing optional columns. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#allow_jagged_rows BigqueryTable#allow_jagged_rows} */ readonly allowJaggedRows?: boolean | cdktf.IResolvable; /** * Indicates if BigQuery should allow quoted data sections that contain newline characters in a CSV file. The default value is false. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#allow_quoted_newlines BigqueryTable#allow_quoted_newlines} */ readonly allowQuotedNewlines?: boolean | cdktf.IResolvable; /** * The character encoding of the data. The supported values are UTF-8 or ISO-8859-1. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#encoding BigqueryTable#encoding} */ readonly encoding?: string; /** * The separator for fields in a CSV file. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#field_delimiter BigqueryTable#field_delimiter} */ readonly fieldDelimiter?: string; /** * The value that is used to quote data sections in a CSV file. If your data does not contain quoted sections, set the property value to an empty string. If your data contains quoted newline characters, you must also set the allow_quoted_newlines property to true. The API-side default is ", specified in Terraform escaped as \". Due to limitations with Terraform default values, this value is required to be explicitly set. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#quote BigqueryTable#quote} */ readonly quote: string; /** * The number of rows at the top of a CSV file that BigQuery will skip when reading the data. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#skip_leading_rows BigqueryTable#skip_leading_rows} */ readonly skipLeadingRows?: number; } export declare function bigqueryTableExternalDataConfigurationCsvOptionsToTerraform(struct?: BigqueryTableExternalDataConfigurationCsvOptionsOutputReference | BigqueryTableExternalDataConfigurationCsvOptions): any; export declare function bigqueryTableExternalDataConfigurationCsvOptionsToHclTerraform(struct?: BigqueryTableExternalDataConfigurationCsvOptionsOutputReference | BigqueryTableExternalDataConfigurationCsvOptions): any; export declare class BigqueryTableExternalDataConfigurationCsvOptionsOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): BigqueryTableExternalDataConfigurationCsvOptions | undefined; set internalValue(value: BigqueryTableExternalDataConfigurationCsvOptions | undefined); private _allowJaggedRows?; get allowJaggedRows(): boolean | cdktf.IResolvable; set allowJaggedRows(value: boolean | cdktf.IResolvable); resetAllowJaggedRows(): void; get allowJaggedRowsInput(): boolean | cdktf.IResolvable | undefined; private _allowQuotedNewlines?; get allowQuotedNewlines(): boolean | cdktf.IResolvable; set allowQuotedNewlines(value: boolean | cdktf.IResolvable); resetAllowQuotedNewlines(): void; get allowQuotedNewlinesInput(): boolean | cdktf.IResolvable | undefined; private _encoding?; get encoding(): string; set encoding(value: string); resetEncoding(): void; get encodingInput(): string | undefined; private _fieldDelimiter?; get fieldDelimiter(): string; set fieldDelimiter(value: string); resetFieldDelimiter(): void; get fieldDelimiterInput(): string | undefined; private _quote?; get quote(): string; set quote(value: string); get quoteInput(): string | undefined; private _skipLeadingRows?; get skipLeadingRows(): number; set skipLeadingRows(value: number); resetSkipLeadingRows(): void; get skipLeadingRowsInput(): number | undefined; } export interface BigqueryTableExternalDataConfigurationGoogleSheetsOptions { /** * 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 * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#range BigqueryTable#range} */ readonly range?: string; /** * 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. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.0/docs/resources/bigquery_table#skip_leading_rows BigqueryTable#skip_leading_rows} */ readonly skipLeadingRows?: number; } export declare function bigqueryTableExternalDataConfigurationGoogleSheetsOptionsToTerraform(struct?: BigqueryTableExternalDataConfigurationGoogleSheetsOptionsOutputReference | BigqueryTableExternalDataConfigurationGoogleSheetsOptions): any; export declare function bigqueryTableExternalDataConfigurationGoogleSheetsOptionsToHclTerraform(struct?: BigqueryTableExternalDataConfigurationGoogleSheetsOptionsOutputReference | BigqueryTableExternalDataConfigurationGoogleSheetsOptions): any; export declare class BigqueryTableExternalDataConfigurationGoogleSheetsOptionsOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): BigqueryTableExternalDataConfigurationGoogleSheetsOptions | undefined; set internalValue(value: BigqueryTableExternalDataConfigurationGoogleSheetsOptions | undefined); private _range?; get range(): string; set range(value: string); resetRange(): void; get rangeInput(): string | undefined; private _skipLeadingRows?; get skipLeadingRows(): number; set skipLeadingRows(value: number); resetSkipLeadingRows(): void; get skipLeadingRowsInput(): number | undefined; } export interface BigqueryTableExternalDataConfigurationHivePartitioningOptions { /** * When set, what mode of hive partitioni