import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface YdbTableChangefeedConfig extends cdktf.TerraformMetaArguments { /** * Connection string, conflicts with `table_id`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table_changefeed#connection_string YdbTableChangefeed#connection_string} */ readonly connectionString?: string; /** * Changefeed format. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table_changefeed#format YdbTableChangefeed#format} */ readonly format: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table_changefeed#id YdbTableChangefeed#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; /** * [Changefeed mode](https://ydb.tech/en/docs/yql/reference/syntax/alter_table#changefeed-options). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table_changefeed#mode YdbTableChangefeed#mode} */ readonly mode: string; /** * Changefeed name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table_changefeed#name YdbTableChangefeed#name} */ readonly name: string; /** * Time of data retention in the topic, [ISO 8601](https://ru.wikipedia.org/wiki/ISO_8601) format. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table_changefeed#retention_period YdbTableChangefeed#retention_period} */ readonly retentionPeriod?: string; /** * Terraform resource ID of the table. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table_changefeed#table_id YdbTableChangefeed#table_id} */ readonly tableId?: string; /** * Table path. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table_changefeed#table_path YdbTableChangefeed#table_path} */ readonly tablePath?: string; /** * Use [virtual timestamps](https://ydb.tech/en/docs/concepts/cdc#virtual-timestamps). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table_changefeed#virtual_timestamps YdbTableChangefeed#virtual_timestamps} */ readonly virtualTimestamps?: boolean | cdktf.IResolvable; /** * consumer block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table_changefeed#consumer YdbTableChangefeed#consumer} */ readonly consumer?: YdbTableChangefeedConsumer[] | cdktf.IResolvable; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table_changefeed#timeouts YdbTableChangefeed#timeouts} */ readonly timeouts?: YdbTableChangefeedTimeouts; } export interface YdbTableChangefeedConsumer { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table_changefeed#important YdbTableChangefeed#important} */ readonly important?: boolean | cdktf.IResolvable; /** * Consumer name. It is used in the SDK or CLI to [read data](https://ydb.tech/en/docs/best_practices/cdc#read) from the topic. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table_changefeed#name YdbTableChangefeed#name} */ readonly name: string; /** * Timestamp in the UNIX timestamp format, from which the consumer will start reading data. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table_changefeed#starting_message_timestamp_ms YdbTableChangefeed#starting_message_timestamp_ms} */ readonly startingMessageTimestampMs?: number; /** * Supported data encodings. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table_changefeed#supported_codecs YdbTableChangefeed#supported_codecs} */ readonly supportedCodecs?: string[]; } export declare function ydbTableChangefeedConsumerToTerraform(struct?: YdbTableChangefeedConsumer | cdktf.IResolvable): any; export declare function ydbTableChangefeedConsumerToHclTerraform(struct?: YdbTableChangefeedConsumer | cdktf.IResolvable): any; export declare class YdbTableChangefeedConsumerOutputReference 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(): YdbTableChangefeedConsumer | cdktf.IResolvable | undefined; set internalValue(value: YdbTableChangefeedConsumer | cdktf.IResolvable | undefined); private _important?; get important(): boolean | cdktf.IResolvable; set important(value: boolean | cdktf.IResolvable); resetImportant(): void; get importantInput(): any; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _startingMessageTimestampMs?; get startingMessageTimestampMs(): number; set startingMessageTimestampMs(value: number); resetStartingMessageTimestampMs(): void; get startingMessageTimestampMsInput(): number; private _supportedCodecs?; get supportedCodecs(): string[]; set supportedCodecs(value: string[]); resetSupportedCodecs(): void; get supportedCodecsInput(): string[]; } export declare class YdbTableChangefeedConsumerList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: YdbTableChangefeedConsumer[] | 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): YdbTableChangefeedConsumerOutputReference; } export interface YdbTableChangefeedTimeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table_changefeed#create YdbTableChangefeed#create} */ readonly create?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table_changefeed#default YdbTableChangefeed#default} */ readonly default?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table_changefeed#delete YdbTableChangefeed#delete} */ readonly delete?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table_changefeed#read YdbTableChangefeed#read} */ readonly read?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table_changefeed#update YdbTableChangefeed#update} */ readonly update?: string; } export declare function ydbTableChangefeedTimeoutsToTerraform(struct?: YdbTableChangefeedTimeouts | cdktf.IResolvable): any; export declare function ydbTableChangefeedTimeoutsToHclTerraform(struct?: YdbTableChangefeedTimeouts | cdktf.IResolvable): any; export declare class YdbTableChangefeedTimeoutsOutputReference 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(): YdbTableChangefeedTimeouts | cdktf.IResolvable | undefined; set internalValue(value: YdbTableChangefeedTimeouts | 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; } /** * Represents a {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table_changefeed yandex_ydb_table_changefeed} */ export declare class YdbTableChangefeed extends cdktf.TerraformResource { static readonly tfResourceType = "yandex_ydb_table_changefeed"; /** * Generates CDKTF code for importing a YdbTableChangefeed 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 YdbTableChangefeed to import * @param importFromId The id of the existing YdbTableChangefeed that should be imported. Refer to the {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_table_changefeed#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the YdbTableChangefeed 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_changefeed yandex_ydb_table_changefeed} 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 YdbTableChangefeedConfig */ constructor(scope: Construct, id: string, config: YdbTableChangefeedConfig); private _connectionString?; get connectionString(): string; set connectionString(value: string); resetConnectionString(): void; get connectionStringInput(): string; private _format?; get format(): string; set format(value: string); get formatInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _mode?; get mode(): string; set mode(value: string); get modeInput(): string; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _retentionPeriod?; get retentionPeriod(): string; set retentionPeriod(value: string); resetRetentionPeriod(): void; get retentionPeriodInput(): string; private _tableId?; get tableId(): string; set tableId(value: string); resetTableId(): void; get tableIdInput(): string; private _tablePath?; get tablePath(): string; set tablePath(value: string); resetTablePath(): void; get tablePathInput(): string; private _virtualTimestamps?; get virtualTimestamps(): boolean | cdktf.IResolvable; set virtualTimestamps(value: boolean | cdktf.IResolvable); resetVirtualTimestamps(): void; get virtualTimestampsInput(): any; private _consumer; get consumer(): YdbTableChangefeedConsumerList; putConsumer(value: YdbTableChangefeedConsumer[] | cdktf.IResolvable): void; resetConsumer(): void; get consumerInput(): any; private _timeouts; get timeouts(): YdbTableChangefeedTimeoutsOutputReference; putTimeouts(value: YdbTableChangefeedTimeouts): void; resetTimeouts(): void; get timeoutsInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }