UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

784 lines 89.9 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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.0/docs/resources/bigquery_table#table_id BigqueryTable#table_id} */ readonly tableId: string; /** * encryption_configuration block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/bigquery_table#encryption_configuration BigqueryTable#encryption_configuration} */ readonly encryptionConfiguration?: BigqueryTableEncryptionConfiguration; /** * external_data_configuration block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.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.4.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.4.0/docs/resources/bigquery_table#range_partitioning BigqueryTable#range_partitioning} */ readonly rangePartitioning?: BigqueryTableRangePartitioning; /** * table_constraints block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.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.4.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.4.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.4.0/docs/resources/bigquery_table#view BigqueryTable#view} */ readonly view?: BigqueryTableView; } 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.4.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 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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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.4.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 partitioning to use when reading data. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/bigquery_table#mode BigqueryTable#mode} */ readonly mode?: 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.4.0/docs/resources/bigquery_table#require_partition_filter BigqueryTable#require_partition_filter} */ readonly requirePartitionFilter?: boolean | cdktf.IResolvable; /** * 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. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/bigquery_table#source_uri_prefix BigqueryTable#source_uri_prefix} */ readonly sourceUriPrefix?: string; } export declare function bigqueryTableExternalDataConfigurationHivePartitioningOptionsToTerraform(struct?: BigqueryTableExternalDataConfigurationHivePartitioningOptionsOutputReference | BigqueryTableExternalDataConfigurationHivePartitioningOptions): any; export declare function bigqueryTableExternalDataConfigurationHivePartitioningOptionsToHclTerraform(struct?: BigqueryTableExternalDataConfigurationHivePartitioningOptionsOutputReference | BigqueryTableExternalDataConfigurationHivePartitioningOptions): any; export declare class BigqueryTableExternalDataConfigurationHivePartitioningOptionsOutputReference 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(): BigqueryTableExternalDataConfigurationHivePartitioningOptions | undefined; set internalValue(value: BigqueryTableExternalDataConfigurationHivePartitioningOptions | undefined); private _mode?; get mode(): string; set mode(value: string); resetMode(): void; get modeInput(): string | undefined; private _requirePartitionFilter?; get requirePartitionFilter(): boolean | cdktf.IResolvable; set requirePartitionFilter(value: boolean | cdktf.IResolvable); resetRequirePartitionFilter(): void; get requirePartitionFilterInput(): boolean | cdktf.IResolvable | undefined; private _sourceUriPrefix?; get sourceUriPrefix(): string; set sourceUriPrefix(value: string); resetSourceUriPrefix(): void; get sourceUriPrefixInput(): string | undefined; } export interface BigqueryTableExternalDataConfigurationJsonOptions { /** * 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. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/bigquery_table#encoding BigqueryTable#encoding} */ readonly encoding?: string; } export declare function bigqueryTableExternalDataConfigurationJsonOptionsToTerraform(struct?: BigqueryTableExternalDataConfigurationJsonOptionsOutputReference | BigqueryTableExternalDataConfigurationJsonOptions): any; export declare function bigqueryTableExternalDataConfigurationJsonOptionsToHclTerraform(struct?: BigqueryTableExternalDataConfigurationJsonOptionsOutputReference | BigqueryTableExternalDataConfigurationJsonOptions): any; export declare class BigqueryTableExternalDataConfigurationJsonOptionsOutputReference 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(): BigqueryTableExternalDataConfigurationJsonOptions | undefined; set internalValue(value: BigqueryTableExternalDataConfigurationJsonOptions | undefined); private _encoding?; get encoding(): string; set encoding(value: string); resetEncoding(): void; get encodingInput(): string | undefined; } export interface BigqueryTableExternalDataConfigurationParquetOptions { /** * Indicates whether to use schema inference specifically for Parquet LIST logical type. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/bigquery_table#enable_list_inference BigqueryTable#enable_list_inference} */ readonly enableListInference?: boolean | cdktf.IResolvable; /** * Indicates whether to infer Parquet ENUM logical type as STRING instead of BYTES by default. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/bigquery_table#enum_as_string BigqueryTable#enum_as_string} */ readonly enumAsString?: boolean | cdktf.IResolvable; } export declare function bigqueryTableExternalDataConfigurationParquetOptionsToTerraform(struct?: BigqueryTableExternalDataConfigurationParquetOptionsOutputReference | BigqueryTableExternalDataConfigurationParquetOptions): any; export declare function bigqueryTableExternalDataConfigurationParquetOptionsToHclTerraform(struct?: BigqueryTableExternalDataConfigurationParquetOptionsOutputReference | BigqueryTableExternalDataConfigurationParquetOptions): any; export declare class BigqueryTableExternalDataConfigurationParquetOptionsOutputReference 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(): BigqueryTableExternalDataConfigurationParquetOptions | undefined; set internalValue(value: BigqueryTableExternalDataConfigurationParquetOptions | undefined); private _enableListInference?; get enableListInference(): boolean | cdktf.IResolvable; set enableListInference(value: boolean | cdktf.IResolvable); resetEnableListInference(): void; get enableListInferenceInput(): boolean | cdktf.IResolvable | undefined; private _enumAsString?; get enumAsString(): boolean | cdktf.IResolvable; set enumAsString(value: boolean | cdktf.IResolvable); resetEnumAsString(): void; get enumAsStringInput(): boolean | cdktf.IResolvable | undefined; } export interface BigqueryTableExternalDataConfiguration { /** * Let BigQuery try to autodetect the schema and format of the table. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/bigquery_table#autodetect BigqueryTable#autodetect} */ readonly autodetect: boolean | cdktf.IResolvable; /** * The compression type of the data source. Valid values are "NONE" or "GZIP". * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/bigquery_table#compression BigqueryTable#compression} */ readonly compression?: string; /** * 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}}". * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/bigquery_table#connection_id BigqueryTable#connection_id} */ readonly connectionId?: string; /** * 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. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/bigquery_table#file_set_spec_type BigqueryTable#file_set_spec_type} */ readonly fileSetSpecType?: string; /** * 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. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/bigquery_table#ignore_unknown_values BigqueryTable#ignore_unknown_values} */ readonly ignoreUnknownValues?: boolean | cdktf.IResolvable; /** * Load option to be used together with sourceFormat newline-delimited JSON to indicate that a variant of JSON is being loaded. To load newline-delimited GeoJSON, specify GEOJSON (and sourceFormat must be set to NEWLINE_DELIMITED_JSON). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/bigquery_table#json_extension BigqueryTable#json_extension} */ readonly jsonExtension?: string; /** * The maximum number of bad records that BigQuery can ignore when reading data. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/bigquery_table#max_bad_records BigqueryTable#max_bad_records} */ readonly maxBadRecords?: number; /** * Metadata Cache Mode for the table. Set this to enable caching of metadata from external data source. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/bigquery_table#metadata_cache_mode BigqueryTable#metadata_cache_mode} */ readonly metadataCacheMode?: string; /** * 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. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/bigquery_table#object_metadata BigqueryTable#object_metadata} */ readonly objectMetadata?: string; /** * 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. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/bigquery_table#reference_file_schema_uri BigqueryTable#reference_file_schema_uri} */ readonly referenceFileSchemaUri?: string; /** * 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. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/bigquery_table#schema BigqueryTable#schema} */ readonly schema?: string; /** * 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". * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/bigquery_table#source_format BigqueryTable#source_format} */ readonly sourceFormat?: string; /** * A list of the fully-qualified URIs that point to your data in Google Cloud. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/bigquery_table#source_uris BigqueryTable#source_uris} */ readonly sourceUris: string[]; /** * avro_options block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/bigquery_table#avro_options BigqueryTable#avro_options} */ readonly avroOptions?: BigqueryTableExternalDataConfigurationAvroOptions; /** * bigtable_options block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/bigquery_table#bigtable_options BigqueryTable#bigtable_options} */ readonly bigtableOptions?: BigqueryTableExternalDataConfigurationBigtableOptions; /** * csv_options block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/bigquery_table#csv_options BigqueryTable#csv_options} */ readonly csvOptions?: BigqueryTableExternalDataConfigurationCsvOptions; /** * google_sheets_options block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/bigquery_table#google_sheets_options BigqueryTable#google_sheets_options} */ readonly googleSheetsOptions?: BigqueryTableExternalDataConfigurationGoogleSheetsOptions; /** * hive_partitioning_options block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/bigquery_table#hive_partitioning_options BigqueryTable#hive_partitioning_options} */ readonly hivePartitioningOptions?: BigqueryTableExternalDataConfigurationHivePartitioningOptions; /** * json_options block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.4.0/docs/resources/bigquery_table#json_options BigqueryTable#json_options} */ readonly jsonOptions?: BigqueryTableExternalDataConfigurationJsonOptions; /** * parquet_options block * * Docs at Terraform Registry: {@l