import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface MdbKafkaTopicConfig extends cdktf.TerraformMetaArguments { /** * The ID of the Kafka cluster. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_kafka_topic#cluster_id MdbKafkaTopic#cluster_id} */ readonly clusterId: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_kafka_topic#id MdbKafkaTopic#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; /** * The resource name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_kafka_topic#name MdbKafkaTopic#name} */ readonly name: string; /** * The number of the topic's partitions. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_kafka_topic#partitions MdbKafkaTopic#partitions} */ readonly partitions: number; /** * Amount of data copies (replicas) for the topic in the cluster. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_kafka_topic#replication_factor MdbKafkaTopic#replication_factor} */ readonly replicationFactor: number; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_kafka_topic#timeouts MdbKafkaTopic#timeouts} */ readonly timeouts?: MdbKafkaTopicTimeouts; /** * topic_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_kafka_topic#topic_config MdbKafkaTopic#topic_config} */ readonly topicConfig?: MdbKafkaTopicTopicConfig; } export interface MdbKafkaTopicTimeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_kafka_topic#create MdbKafkaTopic#create} */ readonly create?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_kafka_topic#delete MdbKafkaTopic#delete} */ readonly delete?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_kafka_topic#read MdbKafkaTopic#read} */ readonly read?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_kafka_topic#update MdbKafkaTopic#update} */ readonly update?: string; } export declare function mdbKafkaTopicTimeoutsToTerraform(struct?: MdbKafkaTopicTimeouts | cdktf.IResolvable): any; export declare function mdbKafkaTopicTimeoutsToHclTerraform(struct?: MdbKafkaTopicTimeouts | cdktf.IResolvable): any; export declare class MdbKafkaTopicTimeoutsOutputReference 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(): MdbKafkaTopicTimeouts | cdktf.IResolvable | undefined; set internalValue(value: MdbKafkaTopicTimeouts | cdktf.IResolvable | undefined); private _create?; get create(): string; set create(value: string); resetCreate(): void; get createInput(): 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 MdbKafkaTopicTopicConfig { /** * Retention policy to use on log segments. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_kafka_topic#cleanup_policy MdbKafkaTopic#cleanup_policy} */ readonly cleanupPolicy?: string; /** * Compression type of kafka topic. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_kafka_topic#compression_type MdbKafkaTopic#compression_type} */ readonly compressionType?: string; /** * The amount of time to retain delete tombstone markers for log compacted topics. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_kafka_topic#delete_retention_ms MdbKafkaTopic#delete_retention_ms} */ readonly deleteRetentionMs?: string; /** * The time to wait before deleting a file from the filesystem. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_kafka_topic#file_delete_delay_ms MdbKafkaTopic#file_delete_delay_ms} */ readonly fileDeleteDelayMs?: string; /** * This setting allows specifying an interval at which we will force an fsync of data written to the log. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_kafka_topic#flush_messages MdbKafkaTopic#flush_messages} */ readonly flushMessages?: string; /** * This setting allows specifying a time interval at which we will force an fsync of data written to the log. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_kafka_topic#flush_ms MdbKafkaTopic#flush_ms} */ readonly flushMs?: string; /** * The largest record batch size allowed by Kafka (after compression if compression is enabled). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_kafka_topic#max_message_bytes MdbKafkaTopic#max_message_bytes} */ readonly maxMessageBytes?: string; /** * The minimum time a message will remain uncompacted in the log. Only applicable for logs that are being compacted. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_kafka_topic#min_compaction_lag_ms MdbKafkaTopic#min_compaction_lag_ms} */ readonly minCompactionLagMs?: string; /** * When a producer sets acks to "all" (or "-1"), this configuration specifies the minimum number of replicas that must acknowledge a write for the write to be considered successful. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_kafka_topic#min_insync_replicas MdbKafkaTopic#min_insync_replicas} */ readonly minInsyncReplicas?: string; /** * True if we should preallocate the file on disk when creating a new log segment. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_kafka_topic#preallocate MdbKafkaTopic#preallocate} */ readonly preallocate?: boolean | cdktf.IResolvable; /** * This configuration controls the maximum size a partition (which consists of log segments) can grow to before we will discard old log segments to free up space if we are using the "delete" retention policy. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_kafka_topic#retention_bytes MdbKafkaTopic#retention_bytes} */ readonly retentionBytes?: string; /** * This configuration controls the maximum time we will retain a log before we will discard old log segments to free up space if we are using the "delete" retention policy. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_kafka_topic#retention_ms MdbKafkaTopic#retention_ms} */ readonly retentionMs?: string; /** * This configuration controls the segment file size for the log. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_kafka_topic#segment_bytes MdbKafkaTopic#segment_bytes} */ readonly segmentBytes?: string; } export declare function mdbKafkaTopicTopicConfigToTerraform(struct?: MdbKafkaTopicTopicConfigOutputReference | MdbKafkaTopicTopicConfig): any; export declare function mdbKafkaTopicTopicConfigToHclTerraform(struct?: MdbKafkaTopicTopicConfigOutputReference | MdbKafkaTopicTopicConfig): any; export declare class MdbKafkaTopicTopicConfigOutputReference 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(): MdbKafkaTopicTopicConfig | undefined; set internalValue(value: MdbKafkaTopicTopicConfig | undefined); private _cleanupPolicy?; get cleanupPolicy(): string; set cleanupPolicy(value: string); resetCleanupPolicy(): void; get cleanupPolicyInput(): string; private _compressionType?; get compressionType(): string; set compressionType(value: string); resetCompressionType(): void; get compressionTypeInput(): string; private _deleteRetentionMs?; get deleteRetentionMs(): string; set deleteRetentionMs(value: string); resetDeleteRetentionMs(): void; get deleteRetentionMsInput(): string; private _fileDeleteDelayMs?; get fileDeleteDelayMs(): string; set fileDeleteDelayMs(value: string); resetFileDeleteDelayMs(): void; get fileDeleteDelayMsInput(): string; private _flushMessages?; get flushMessages(): string; set flushMessages(value: string); resetFlushMessages(): void; get flushMessagesInput(): string; private _flushMs?; get flushMs(): string; set flushMs(value: string); resetFlushMs(): void; get flushMsInput(): string; private _maxMessageBytes?; get maxMessageBytes(): string; set maxMessageBytes(value: string); resetMaxMessageBytes(): void; get maxMessageBytesInput(): string; private _minCompactionLagMs?; get minCompactionLagMs(): string; set minCompactionLagMs(value: string); resetMinCompactionLagMs(): void; get minCompactionLagMsInput(): string; private _minInsyncReplicas?; get minInsyncReplicas(): string; set minInsyncReplicas(value: string); resetMinInsyncReplicas(): void; get minInsyncReplicasInput(): string; private _preallocate?; get preallocate(): boolean | cdktf.IResolvable; set preallocate(value: boolean | cdktf.IResolvable); resetPreallocate(): void; get preallocateInput(): any; private _retentionBytes?; get retentionBytes(): string; set retentionBytes(value: string); resetRetentionBytes(): void; get retentionBytesInput(): string; private _retentionMs?; get retentionMs(): string; set retentionMs(value: string); resetRetentionMs(): void; get retentionMsInput(): string; private _segmentBytes?; get segmentBytes(): string; set segmentBytes(value: string); resetSegmentBytes(): void; get segmentBytesInput(): string; } /** * Represents a {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_kafka_topic yandex_mdb_kafka_topic} */ export declare class MdbKafkaTopic extends cdktf.TerraformResource { static readonly tfResourceType = "yandex_mdb_kafka_topic"; /** * Generates CDKTF code for importing a MdbKafkaTopic 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 MdbKafkaTopic to import * @param importFromId The id of the existing MdbKafkaTopic that should be imported. Refer to the {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/mdb_kafka_topic#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the MdbKafkaTopic 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/mdb_kafka_topic yandex_mdb_kafka_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 MdbKafkaTopicConfig */ constructor(scope: Construct, id: string, config: MdbKafkaTopicConfig); private _clusterId?; get clusterId(): string; set clusterId(value: string); get clusterIdInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _partitions?; get partitions(): number; set partitions(value: number); get partitionsInput(): number; private _replicationFactor?; get replicationFactor(): number; set replicationFactor(value: number); get replicationFactorInput(): number; private _timeouts; get timeouts(): MdbKafkaTopicTimeoutsOutputReference; putTimeouts(value: MdbKafkaTopicTimeouts): void; resetTimeouts(): void; get timeoutsInput(): any; private _topicConfig; get topicConfig(): MdbKafkaTopicTopicConfigOutputReference; putTopicConfig(value: MdbKafkaTopicTopicConfig): void; resetTopicConfig(): void; get topicConfigInput(): MdbKafkaTopicTopicConfig; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }