import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface YdbTableConfig extends cdktf.TerraformMetaArguments { /** * A map of table attributes. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table#attributes YdbTable#attributes} */ readonly attributes?: { [key: string]: string; }; /** * Connection string for database. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table#connection_string YdbTable#connection_string} */ readonly connectionString: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table#id YdbTable#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; /** * Use the Bloom filter for the primary key. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table#key_bloom_filter YdbTable#key_bloom_filter} */ readonly keyBloomFilter?: boolean | cdktf.IResolvable; /** * Table path. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table#path YdbTable#path} */ readonly path: string; /** * A list of table columns to be used as primary key. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table#primary_key YdbTable#primary_key} */ readonly primaryKey: string[]; /** * Read replication settings. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table#read_replicas_settings YdbTable#read_replicas_settings} */ readonly readReplicasSettings?: string; /** * Table storage type. Set to `column` for column-oriented tables. Omit for row-oriented tables (default). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table#store YdbTable#store} */ readonly store?: string; /** * column block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table#column YdbTable#column} */ readonly column: YdbTableColumn[] | cdktf.IResolvable; /** * family block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table#family YdbTable#family} */ readonly family?: YdbTableFamily[] | cdktf.IResolvable; /** * partitioning_settings block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table#partitioning_settings YdbTable#partitioning_settings} */ readonly partitioningSettings?: YdbTablePartitioningSettings; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table#timeouts YdbTable#timeouts} */ readonly timeouts?: YdbTableTimeouts; /** * ttl block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table#ttl YdbTable#ttl} */ readonly ttl?: YdbTableTtl; } export interface YdbTableColumn { /** * Column group. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table#family YdbTable#family} */ readonly family?: string; /** * Column name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table#name YdbTable#name} */ readonly name: string; /** * A column cannot have the NULL data type. Default: `false`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table#not_null YdbTable#not_null} */ readonly notNull?: boolean | cdktf.IResolvable; /** * Column data type. YQL data types are used. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table#type YdbTable#type} */ readonly type: string; } export declare function ydbTableColumnToTerraform(struct?: YdbTableColumn | cdktf.IResolvable): any; export declare function ydbTableColumnToHclTerraform(struct?: YdbTableColumn | cdktf.IResolvable): any; export declare class YdbTableColumnOutputReference 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(): YdbTableColumn | cdktf.IResolvable | undefined; set internalValue(value: YdbTableColumn | cdktf.IResolvable | undefined); private _family?; get family(): string; set family(value: string); resetFamily(): void; get familyInput(): string; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _notNull?; get notNull(): boolean | cdktf.IResolvable; set notNull(value: boolean | cdktf.IResolvable); resetNotNull(): void; get notNullInput(): any; private _type?; get type(): string; set type(value: string); get typeInput(): string; } export declare class YdbTableColumnList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: YdbTableColumn[] | 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): YdbTableColumnOutputReference; } export interface YdbTableFamily { /** * Data codec (acceptable values: off, lz4). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table#compression YdbTable#compression} */ readonly compression: string; /** * Type of storage device for column data in this group (acceptable values: ssd, rot (from HDD spindle rotation)). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table#data YdbTable#data} */ readonly data: string; /** * Column family name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table#name YdbTable#name} */ readonly name: string; } export declare function ydbTableFamilyToTerraform(struct?: YdbTableFamily | cdktf.IResolvable): any; export declare function ydbTableFamilyToHclTerraform(struct?: YdbTableFamily | cdktf.IResolvable): any; export declare class YdbTableFamilyOutputReference 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(): YdbTableFamily | cdktf.IResolvable | undefined; set internalValue(value: YdbTableFamily | cdktf.IResolvable | undefined); private _compression?; get compression(): string; set compression(value: string); get compressionInput(): string; private _data?; get data(): string; set data(value: string); get dataInput(): string; private _name?; get name(): string; set name(value: string); get nameInput(): string; } export declare class YdbTableFamilyList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: YdbTableFamily[] | 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): YdbTableFamilyOutputReference; } export interface YdbTablePartitioningSettingsPartitionAtKeys { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table#keys YdbTable#keys} */ readonly keys: string[]; } export declare function ydbTablePartitioningSettingsPartitionAtKeysToTerraform(struct?: YdbTablePartitioningSettingsPartitionAtKeys | cdktf.IResolvable): any; export declare function ydbTablePartitioningSettingsPartitionAtKeysToHclTerraform(struct?: YdbTablePartitioningSettingsPartitionAtKeys | cdktf.IResolvable): any; export declare class YdbTablePartitioningSettingsPartitionAtKeysOutputReference 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(): YdbTablePartitioningSettingsPartitionAtKeys | cdktf.IResolvable | undefined; set internalValue(value: YdbTablePartitioningSettingsPartitionAtKeys | cdktf.IResolvable | undefined); private _keys?; get keys(): string[]; set keys(value: string[]); get keysInput(): string[]; } export declare class YdbTablePartitioningSettingsPartitionAtKeysList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: YdbTablePartitioningSettingsPartitionAtKeys[] | 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): YdbTablePartitioningSettingsPartitionAtKeysOutputReference; } export interface YdbTablePartitioningSettings { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table#auto_partitioning_by_load YdbTable#auto_partitioning_by_load} */ readonly autoPartitioningByLoad?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table#auto_partitioning_by_size_enabled YdbTable#auto_partitioning_by_size_enabled} */ readonly autoPartitioningBySizeEnabled?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table#auto_partitioning_max_partitions_count YdbTable#auto_partitioning_max_partitions_count} */ readonly autoPartitioningMaxPartitionsCount?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table#auto_partitioning_min_partitions_count YdbTable#auto_partitioning_min_partitions_count} */ readonly autoPartitioningMinPartitionsCount?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table#auto_partitioning_partition_size_mb YdbTable#auto_partitioning_partition_size_mb} */ readonly autoPartitioningPartitionSizeMb?: number; /** * Partitioning keys constitute a subset of the table's primary keys. If not set, primary keys will be used. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table#partition_by YdbTable#partition_by} */ readonly partitionBy?: string[]; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table#uniform_partitions YdbTable#uniform_partitions} */ readonly uniformPartitions?: number; /** * partition_at_keys block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table#partition_at_keys YdbTable#partition_at_keys} */ readonly partitionAtKeys?: YdbTablePartitioningSettingsPartitionAtKeys[] | cdktf.IResolvable; } export declare function ydbTablePartitioningSettingsToTerraform(struct?: YdbTablePartitioningSettingsOutputReference | YdbTablePartitioningSettings): any; export declare function ydbTablePartitioningSettingsToHclTerraform(struct?: YdbTablePartitioningSettingsOutputReference | YdbTablePartitioningSettings): any; export declare class YdbTablePartitioningSettingsOutputReference 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(): YdbTablePartitioningSettings | undefined; set internalValue(value: YdbTablePartitioningSettings | undefined); private _autoPartitioningByLoad?; get autoPartitioningByLoad(): boolean | cdktf.IResolvable; set autoPartitioningByLoad(value: boolean | cdktf.IResolvable); resetAutoPartitioningByLoad(): void; get autoPartitioningByLoadInput(): any; private _autoPartitioningBySizeEnabled?; get autoPartitioningBySizeEnabled(): boolean | cdktf.IResolvable; set autoPartitioningBySizeEnabled(value: boolean | cdktf.IResolvable); resetAutoPartitioningBySizeEnabled(): void; get autoPartitioningBySizeEnabledInput(): any; private _autoPartitioningMaxPartitionsCount?; get autoPartitioningMaxPartitionsCount(): number; set autoPartitioningMaxPartitionsCount(value: number); resetAutoPartitioningMaxPartitionsCount(): void; get autoPartitioningMaxPartitionsCountInput(): number; private _autoPartitioningMinPartitionsCount?; get autoPartitioningMinPartitionsCount(): number; set autoPartitioningMinPartitionsCount(value: number); resetAutoPartitioningMinPartitionsCount(): void; get autoPartitioningMinPartitionsCountInput(): number; private _autoPartitioningPartitionSizeMb?; get autoPartitioningPartitionSizeMb(): number; set autoPartitioningPartitionSizeMb(value: number); resetAutoPartitioningPartitionSizeMb(): void; get autoPartitioningPartitionSizeMbInput(): number; private _partitionBy?; get partitionBy(): string[]; set partitionBy(value: string[]); resetPartitionBy(): void; get partitionByInput(): string[]; private _uniformPartitions?; get uniformPartitions(): number; set uniformPartitions(value: number); resetUniformPartitions(): void; get uniformPartitionsInput(): number; private _partitionAtKeys; get partitionAtKeys(): YdbTablePartitioningSettingsPartitionAtKeysList; putPartitionAtKeys(value: YdbTablePartitioningSettingsPartitionAtKeys[] | cdktf.IResolvable): void; resetPartitionAtKeys(): void; get partitionAtKeysInput(): any; } export interface YdbTableTimeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table#create YdbTable#create} */ readonly create?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table#default YdbTable#default} */ readonly default?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table#delete YdbTable#delete} */ readonly delete?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table#read YdbTable#read} */ readonly read?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table#update YdbTable#update} */ readonly update?: string; } export declare function ydbTableTimeoutsToTerraform(struct?: YdbTableTimeouts | cdktf.IResolvable): any; export declare function ydbTableTimeoutsToHclTerraform(struct?: YdbTableTimeouts | cdktf.IResolvable): any; export declare class YdbTableTimeoutsOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @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(): YdbTableTimeouts | cdktf.IResolvable | undefined; set internalValue(value: YdbTableTimeouts | cdktf.IResolvable | undefined); private _create?; get create(): string; set create(value: string); resetCreate(): void; get createInput(): string; private _default?; get default(): string; set default(value: string); resetDefault(): void; get defaultInput(): string; private _delete?; get delete(): string; set delete(value: string); resetDelete(): void; get deleteInput(): string; private _read?; get read(): string; set read(value: string); resetRead(): void; get readInput(): string; private _update?; get update(): string; set update(value: string); resetUpdate(): void; get updateInput(): string; } export interface YdbTableTtl { /** * Column name for TTL. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table#column_name YdbTable#column_name} */ readonly columnName: string; /** * Interval in the ISO 8601 format. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table#expire_interval YdbTable#expire_interval} */ readonly expireInterval: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table#unit YdbTable#unit} */ readonly unit?: string; } export declare function ydbTableTtlToTerraform(struct?: YdbTableTtlOutputReference | YdbTableTtl): any; export declare function ydbTableTtlToHclTerraform(struct?: YdbTableTtlOutputReference | YdbTableTtl): any; export declare class YdbTableTtlOutputReference 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(): YdbTableTtl | undefined; set internalValue(value: YdbTableTtl | undefined); private _columnName?; get columnName(): string; set columnName(value: string); get columnNameInput(): string; private _expireInterval?; get expireInterval(): string; set expireInterval(value: string); get expireIntervalInput(): string; private _unit?; get unit(): string; set unit(value: string); resetUnit(): void; get unitInput(): string; } /** * Represents a {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table yandex_ydb_table} */ export declare class YdbTable extends cdktf.TerraformResource { static readonly tfResourceType = "yandex_ydb_table"; /** * Generates CDKTF code for importing a YdbTable resource upon running "cdktf plan " * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the YdbTable to import * @param importFromId The id of the existing YdbTable that should be imported. Refer to the {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the YdbTable to import is found */ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): any; /** * Create a new {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table yandex_ydb_table} Resource * * @param scope The scope in which to define this construct * @param id The scoped construct ID. Must be unique amongst siblings in the same scope * @param options YdbTableConfig */ constructor(scope: Construct, id: string, config: YdbTableConfig); private _attributes?; get attributes(): { [key: string]: string; }; set attributes(value: { [key: string]: string; }); resetAttributes(): void; get attributesInput(): { [key: string]: string; }; private _connectionString?; get connectionString(): string; set connectionString(value: string); get connectionStringInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _keyBloomFilter?; get keyBloomFilter(): boolean | cdktf.IResolvable; set keyBloomFilter(value: boolean | cdktf.IResolvable); resetKeyBloomFilter(): void; get keyBloomFilterInput(): any; private _path?; get path(): string; set path(value: string); get pathInput(): string; private _primaryKey?; get primaryKey(): string[]; set primaryKey(value: string[]); get primaryKeyInput(): string[]; private _readReplicasSettings?; get readReplicasSettings(): string; set readReplicasSettings(value: string); resetReadReplicasSettings(): void; get readReplicasSettingsInput(): string; private _store?; get store(): string; set store(value: string); resetStore(): void; get storeInput(): string; private _column; get column(): YdbTableColumnList; putColumn(value: YdbTableColumn[] | cdktf.IResolvable): void; get columnInput(): any; private _family; get family(): YdbTableFamilyList; putFamily(value: YdbTableFamily[] | cdktf.IResolvable): void; resetFamily(): void; get familyInput(): any; private _partitioningSettings; get partitioningSettings(): YdbTablePartitioningSettingsOutputReference; putPartitioningSettings(value: YdbTablePartitioningSettings): void; resetPartitioningSettings(): void; get partitioningSettingsInput(): YdbTablePartitioningSettings; private _timeouts; get timeouts(): YdbTableTimeoutsOutputReference; putTimeouts(value: YdbTableTimeouts): void; resetTimeouts(): void; get timeoutsInput(): any; private _ttl; get ttl(): YdbTableTtlOutputReference; putTtl(value: YdbTableTtl): void; resetTtl(): void; get ttlInput(): YdbTableTtl; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }