import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface YdbTopicConfig extends cdktf.TerraformMetaArguments { /** * YDB database endpoint. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_topic#database_endpoint YdbTopic#database_endpoint} */ readonly databaseEndpoint: string; /** * Topic description. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_topic#description YdbTopic#description} */ readonly description?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_topic#id YdbTopic#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; /** * Number of max active partitions. Default value `1`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_topic#max_partitions_count YdbTopic#max_partitions_count} */ readonly maxPartitionsCount?: number; /** * Resource metering mode (`reserved_capacity` - based on the allocated resources or `request_units` - based on actual usage). This option applies to topics in serverless databases. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_topic#metering_mode YdbTopic#metering_mode} */ readonly meteringMode?: string; /** * Topic name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_topic#name YdbTopic#name} */ readonly name: string; /** * Maximum allowed write speed per partition. If a write speed for a given partition exceeds this value, the write speed will be capped. Default value: `1024 (1MB)`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_topic#partition_write_speed_kbps YdbTopic#partition_write_speed_kbps} */ readonly partitionWriteSpeedKbps?: number; /** * Number of min partitions. Default value `1`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_topic#partitions_count YdbTopic#partitions_count} */ readonly partitionsCount?: number; /** * Data retention time. Default value `86400000`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_topic#retention_period_hours YdbTopic#retention_period_hours} */ readonly retentionPeriodHours?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_topic#retention_storage_mb YdbTopic#retention_storage_mb} */ readonly retentionStorageMb?: number; /** * Supported data encodings. Can be one of `gzip`, `raw` or `zstd`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_topic#supported_codecs YdbTopic#supported_codecs} */ readonly supportedCodecs?: string[]; /** * auto_partitioning_settings block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_topic#auto_partitioning_settings YdbTopic#auto_partitioning_settings} */ readonly autoPartitioningSettings?: YdbTopicAutoPartitioningSettings; /** * consumer block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_topic#consumer YdbTopic#consumer} */ readonly consumer?: YdbTopicConsumer[] | cdktf.IResolvable; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_topic#timeouts YdbTopic#timeouts} */ readonly timeouts?: YdbTopicTimeouts; } export interface YdbTopicAutoPartitioningSettingsAutoPartitioningWriteSpeedStrategy { /** * The down utilization percentage threshold * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_topic#down_utilization_percent YdbTopic#down_utilization_percent} */ readonly downUtilizationPercent?: number; /** * The stabilization window in seconds * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_topic#stabilization_window YdbTopic#stabilization_window} */ readonly stabilizationWindow?: number; /** * The up utilization percentage threshold * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_topic#up_utilization_percent YdbTopic#up_utilization_percent} */ readonly upUtilizationPercent?: number; } export declare function ydbTopicAutoPartitioningSettingsAutoPartitioningWriteSpeedStrategyToTerraform(struct?: YdbTopicAutoPartitioningSettingsAutoPartitioningWriteSpeedStrategyOutputReference | YdbTopicAutoPartitioningSettingsAutoPartitioningWriteSpeedStrategy): any; export declare function ydbTopicAutoPartitioningSettingsAutoPartitioningWriteSpeedStrategyToHclTerraform(struct?: YdbTopicAutoPartitioningSettingsAutoPartitioningWriteSpeedStrategyOutputReference | YdbTopicAutoPartitioningSettingsAutoPartitioningWriteSpeedStrategy): any; export declare class YdbTopicAutoPartitioningSettingsAutoPartitioningWriteSpeedStrategyOutputReference 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(): YdbTopicAutoPartitioningSettingsAutoPartitioningWriteSpeedStrategy | undefined; set internalValue(value: YdbTopicAutoPartitioningSettingsAutoPartitioningWriteSpeedStrategy | undefined); private _downUtilizationPercent?; get downUtilizationPercent(): number; set downUtilizationPercent(value: number); resetDownUtilizationPercent(): void; get downUtilizationPercentInput(): number; private _stabilizationWindow?; get stabilizationWindow(): number; set stabilizationWindow(value: number); resetStabilizationWindow(): void; get stabilizationWindowInput(): number; private _upUtilizationPercent?; get upUtilizationPercent(): number; set upUtilizationPercent(value: number); resetUpUtilizationPercent(): void; get upUtilizationPercentInput(): number; } export interface YdbTopicAutoPartitioningSettings { /** * The auto partitioning strategy to use * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_topic#auto_partitioning_strategy YdbTopic#auto_partitioning_strategy} */ readonly autoPartitioningStrategy?: string; /** * auto_partitioning_write_speed_strategy block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_topic#auto_partitioning_write_speed_strategy YdbTopic#auto_partitioning_write_speed_strategy} */ readonly autoPartitioningWriteSpeedStrategy?: YdbTopicAutoPartitioningSettingsAutoPartitioningWriteSpeedStrategy; } export declare function ydbTopicAutoPartitioningSettingsToTerraform(struct?: YdbTopicAutoPartitioningSettingsOutputReference | YdbTopicAutoPartitioningSettings): any; export declare function ydbTopicAutoPartitioningSettingsToHclTerraform(struct?: YdbTopicAutoPartitioningSettingsOutputReference | YdbTopicAutoPartitioningSettings): any; export declare class YdbTopicAutoPartitioningSettingsOutputReference 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(): YdbTopicAutoPartitioningSettings | undefined; set internalValue(value: YdbTopicAutoPartitioningSettings | undefined); private _autoPartitioningStrategy?; get autoPartitioningStrategy(): string; set autoPartitioningStrategy(value: string); resetAutoPartitioningStrategy(): void; get autoPartitioningStrategyInput(): string; private _autoPartitioningWriteSpeedStrategy; get autoPartitioningWriteSpeedStrategy(): YdbTopicAutoPartitioningSettingsAutoPartitioningWriteSpeedStrategyOutputReference; putAutoPartitioningWriteSpeedStrategy(value: YdbTopicAutoPartitioningSettingsAutoPartitioningWriteSpeedStrategy): void; resetAutoPartitioningWriteSpeedStrategy(): void; get autoPartitioningWriteSpeedStrategyInput(): YdbTopicAutoPartitioningSettingsAutoPartitioningWriteSpeedStrategy; } export interface YdbTopicConsumer { /** * Defines an important consumer. No data will be deleted from the topic until all the important consumers read them. Default value `false`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_topic#important YdbTopic#important} */ readonly important?: boolean | cdktf.IResolvable; /** * Reader's name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_topic#name YdbTopic#name} */ readonly name: string; /** * Timestamp in UNIX timestamp format from which the reader will start reading data. Default value `0`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_topic#starting_message_timestamp_ms YdbTopic#starting_message_timestamp_ms} */ readonly startingMessageTimestampMs?: number; /** * Supported data encodings. Can be one of `gzip`, `raw` or `zstd`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_topic#supported_codecs YdbTopic#supported_codecs} */ readonly supportedCodecs?: string[]; } export declare function ydbTopicConsumerToTerraform(struct?: YdbTopicConsumer | cdktf.IResolvable): any; export declare function ydbTopicConsumerToHclTerraform(struct?: YdbTopicConsumer | cdktf.IResolvable): any; export declare class YdbTopicConsumerOutputReference 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(): YdbTopicConsumer | cdktf.IResolvable | undefined; set internalValue(value: YdbTopicConsumer | 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 YdbTopicConsumerList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: YdbTopicConsumer[] | 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): YdbTopicConsumerOutputReference; } export interface YdbTopicTimeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_topic#create YdbTopic#create} */ readonly create?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_topic#default YdbTopic#default} */ readonly default?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_topic#delete YdbTopic#delete} */ readonly delete?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_topic#read YdbTopic#read} */ readonly read?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_topic#update YdbTopic#update} */ readonly update?: string; } export declare function ydbTopicTimeoutsToTerraform(struct?: YdbTopicTimeouts | cdktf.IResolvable): any; export declare function ydbTopicTimeoutsToHclTerraform(struct?: YdbTopicTimeouts | cdktf.IResolvable): any; export declare class YdbTopicTimeoutsOutputReference 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(): YdbTopicTimeouts | cdktf.IResolvable | undefined; set internalValue(value: YdbTopicTimeouts | 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_topic yandex_ydb_topic} */ export declare class YdbTopic extends cdktf.TerraformResource { static readonly tfResourceType = "yandex_ydb_topic"; /** * Generates CDKTF code for importing a YdbTopic 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 YdbTopic to import * @param importFromId The id of the existing YdbTopic that should be imported. Refer to the {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/ydb_topic#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the YdbTopic 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_topic yandex_ydb_topic} 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 YdbTopicConfig */ constructor(scope: Construct, id: string, config: YdbTopicConfig); private _databaseEndpoint?; get databaseEndpoint(): string; set databaseEndpoint(value: string); get databaseEndpointInput(): string; private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _maxPartitionsCount?; get maxPartitionsCount(): number; set maxPartitionsCount(value: number); resetMaxPartitionsCount(): void; get maxPartitionsCountInput(): number; private _meteringMode?; get meteringMode(): string; set meteringMode(value: string); resetMeteringMode(): void; get meteringModeInput(): string; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _partitionWriteSpeedKbps?; get partitionWriteSpeedKbps(): number; set partitionWriteSpeedKbps(value: number); resetPartitionWriteSpeedKbps(): void; get partitionWriteSpeedKbpsInput(): number; private _partitionsCount?; get partitionsCount(): number; set partitionsCount(value: number); resetPartitionsCount(): void; get partitionsCountInput(): number; private _retentionPeriodHours?; get retentionPeriodHours(): number; set retentionPeriodHours(value: number); resetRetentionPeriodHours(): void; get retentionPeriodHoursInput(): number; private _retentionStorageMb?; get retentionStorageMb(): number; set retentionStorageMb(value: number); resetRetentionStorageMb(): void; get retentionStorageMbInput(): number; private _supportedCodecs?; get supportedCodecs(): string[]; set supportedCodecs(value: string[]); resetSupportedCodecs(): void; get supportedCodecsInput(): string[]; private _autoPartitioningSettings; get autoPartitioningSettings(): YdbTopicAutoPartitioningSettingsOutputReference; putAutoPartitioningSettings(value: YdbTopicAutoPartitioningSettings): void; resetAutoPartitioningSettings(): void; get autoPartitioningSettingsInput(): YdbTopicAutoPartitioningSettings; private _consumer; get consumer(): YdbTopicConsumerList; putConsumer(value: YdbTopicConsumer[] | cdktf.IResolvable): void; resetConsumer(): void; get consumerInput(): any; private _timeouts; get timeouts(): YdbTopicTimeoutsOutputReference; putTimeouts(value: YdbTopicTimeouts): void; resetTimeouts(): void; get timeoutsInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }