import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface CkafkaInstanceConfig extends cdktf.TerraformMetaArguments { /** * Instance bandwidth in MBps. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ckafka_instance#band_width CkafkaInstance#band_width} */ readonly bandWidth?: number; /** * The charge type of instance. Valid values are `PREPAID` and `POSTPAID_BY_HOUR`. Default value is `PREPAID`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ckafka_instance#charge_type CkafkaInstance#charge_type} */ readonly chargeType?: string; /** * Disk Size. Its interval varies with bandwidth, and the input must be within the interval, which can be viewed through the control. If it is not within the interval, the plan will cause a change when first created. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ckafka_instance#disk_size CkafkaInstance#disk_size} */ readonly diskSize?: number; /** * Type of disk. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ckafka_instance#disk_type CkafkaInstance#disk_type} */ readonly diskType?: string; /** * Elastic bandwidth switch 0 not turned on 1 turned on (0 default). This takes effect only when the instance is created. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ckafka_instance#elastic_bandwidth_switch CkafkaInstance#elastic_bandwidth_switch} */ readonly elasticBandwidthSwitch?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ckafka_instance#id CkafkaInstance#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; /** * Instance name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ckafka_instance#instance_name CkafkaInstance#instance_name} */ readonly instanceName: string; /** * Description of instance type. `profession`: 1, `standard`: 1(general), 2(standard), 3(advanced), 4(capacity), 5(specialized-1), 6(specialized-2), 7(specialized-3), 8(specialized-4), 9(exclusive). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ckafka_instance#instance_type CkafkaInstance#instance_type} */ readonly instanceType?: number; /** * Kafka version (0.10.2/1.1.1/2.4.1). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ckafka_instance#kafka_version CkafkaInstance#kafka_version} */ readonly kafkaVersion?: string; /** * The size of a single message in bytes at the instance level. Value range: `1024 - 12*1024*1024 bytes (i.e., 1KB-12MB). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ckafka_instance#max_message_byte CkafkaInstance#max_message_byte} */ readonly maxMessageByte?: number; /** * The maximum retention time of instance logs, in minutes. the default is 10080 (7 days), the maximum is 30 days, and the default 0 is not filled, which means that the log retention time recovery policy is not enabled. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ckafka_instance#msg_retention_time CkafkaInstance#msg_retention_time} */ readonly msgRetentionTime?: number; /** * Indicates whether the instance is multi zones. NOTE: if set to `true`, `zone_ids` must set together. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ckafka_instance#multi_zone_flag CkafkaInstance#multi_zone_flag} */ readonly multiZoneFlag?: boolean | cdktf.IResolvable; /** * Partition Size. Its interval varies with bandwidth, and the input must be within the interval, which can be viewed through the control. If it is not within the interval, the plan will cause a change when first created. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ckafka_instance#partition CkafkaInstance#partition} */ readonly partition?: number; /** * Prepaid purchase time, such as 1, is one month. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ckafka_instance#period CkafkaInstance#period} */ readonly period?: number; /** * Bandwidth of the public network. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ckafka_instance#public_network CkafkaInstance#public_network} */ readonly publicNetwork?: number; /** * Modification of the rebalancing time after upgrade. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ckafka_instance#rebalance_time CkafkaInstance#rebalance_time} */ readonly rebalanceTime?: number; /** * Prepaid automatic renewal mark, 0 means the default state, the initial state, 1 means automatic renewal, 2 means clear no automatic renewal (user setting). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ckafka_instance#renew_flag CkafkaInstance#renew_flag} */ readonly renewFlag?: number; /** * Specifications type of instance. Allowed values are `profession`, `premium`. Default is `profession`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ckafka_instance#specifications_type CkafkaInstance#specifications_type} */ readonly specificationsType?: string; /** * Subnet id, it will be basic network if not set. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ckafka_instance#subnet_id CkafkaInstance#subnet_id} */ readonly subnetId?: string; /** * Tag set of instance. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ckafka_instance#tag_set CkafkaInstance#tag_set} */ readonly tagSet?: { [key: string]: string; }; /** * POSTPAID_BY_HOUR scale-down mode * - 1: stable transformation; * - 2: High-speed transformer. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ckafka_instance#upgrade_strategy CkafkaInstance#upgrade_strategy} */ readonly upgradeStrategy?: number; /** * Vpc id, it will be basic network if not set. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ckafka_instance#vpc_id CkafkaInstance#vpc_id} */ readonly vpcId?: string; /** * Available zone id. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ckafka_instance#zone_id CkafkaInstance#zone_id} */ readonly zoneId: number; /** * List of available zone id. NOTE: this argument must set together with `multi_zone_flag`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ckafka_instance#zone_ids CkafkaInstance#zone_ids} */ readonly zoneIds?: number[]; /** * config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ckafka_instance#config CkafkaInstance#config} */ readonly config?: CkafkaInstanceConfigA; /** * dynamic_retention_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ckafka_instance#dynamic_retention_config CkafkaInstance#dynamic_retention_config} */ readonly dynamicRetentionConfig?: CkafkaInstanceDynamicRetentionConfig; /** * tags block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ckafka_instance#tags CkafkaInstance#tags} */ readonly tags?: CkafkaInstanceTags[] | cdktf.IResolvable; } export interface CkafkaInstanceConfigA { /** * Automatic creation. true: enabled, false: not enabled. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ckafka_instance#auto_create_topic_enable CkafkaInstance#auto_create_topic_enable} */ readonly autoCreateTopicEnable: boolean | cdktf.IResolvable; /** * If auto.create.topic.enable is set to true and this value is not set, 3 will be used by default. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ckafka_instance#default_num_partitions CkafkaInstance#default_num_partitions} */ readonly defaultNumPartitions: number; /** * If auto.create.topic.enable is set to true but this value is not set, 2 will be used by default. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ckafka_instance#default_replication_factor CkafkaInstance#default_replication_factor} */ readonly defaultReplicationFactor: number; } export declare function ckafkaInstanceConfigAToTerraform(struct?: CkafkaInstanceConfigAOutputReference | CkafkaInstanceConfigA): any; export declare function ckafkaInstanceConfigAToHclTerraform(struct?: CkafkaInstanceConfigAOutputReference | CkafkaInstanceConfigA): any; export declare class CkafkaInstanceConfigAOutputReference 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(): CkafkaInstanceConfigA | undefined; set internalValue(value: CkafkaInstanceConfigA | undefined); private _autoCreateTopicEnable?; get autoCreateTopicEnable(): boolean | cdktf.IResolvable; set autoCreateTopicEnable(value: boolean | cdktf.IResolvable); get autoCreateTopicEnableInput(): any; private _defaultNumPartitions?; get defaultNumPartitions(): number; set defaultNumPartitions(value: number); get defaultNumPartitionsInput(): number; private _defaultReplicationFactor?; get defaultReplicationFactor(): number; set defaultReplicationFactor(value: number); get defaultReplicationFactorInput(): number; } export interface CkafkaInstanceDynamicRetentionConfig { /** * Minimum retention time, in minutes. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ckafka_instance#bottom_retention CkafkaInstance#bottom_retention} */ readonly bottomRetention?: number; /** * Disk quota threshold (in percentage) for triggering the message retention time change event. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ckafka_instance#disk_quota_percentage CkafkaInstance#disk_quota_percentage} */ readonly diskQuotaPercentage?: number; /** * Whether the dynamic message retention time configuration is enabled. 0: disabled; 1: enabled. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ckafka_instance#enable CkafkaInstance#enable} */ readonly enable?: number; /** * Percentage by which the message retention time is shortened each time. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ckafka_instance#step_forward_percentage CkafkaInstance#step_forward_percentage} */ readonly stepForwardPercentage?: number; } export declare function ckafkaInstanceDynamicRetentionConfigToTerraform(struct?: CkafkaInstanceDynamicRetentionConfigOutputReference | CkafkaInstanceDynamicRetentionConfig): any; export declare function ckafkaInstanceDynamicRetentionConfigToHclTerraform(struct?: CkafkaInstanceDynamicRetentionConfigOutputReference | CkafkaInstanceDynamicRetentionConfig): any; export declare class CkafkaInstanceDynamicRetentionConfigOutputReference 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(): CkafkaInstanceDynamicRetentionConfig | undefined; set internalValue(value: CkafkaInstanceDynamicRetentionConfig | undefined); private _bottomRetention?; get bottomRetention(): number; set bottomRetention(value: number); resetBottomRetention(): void; get bottomRetentionInput(): number; private _diskQuotaPercentage?; get diskQuotaPercentage(): number; set diskQuotaPercentage(value: number); resetDiskQuotaPercentage(): void; get diskQuotaPercentageInput(): number; private _enable?; get enable(): number; set enable(value: number); resetEnable(): void; get enableInput(): number; private _stepForwardPercentage?; get stepForwardPercentage(): number; set stepForwardPercentage(value: number); resetStepForwardPercentage(): void; get stepForwardPercentageInput(): number; } export interface CkafkaInstanceTags { /** * Tag key. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ckafka_instance#key CkafkaInstance#key} */ readonly key: string; /** * Tag value. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ckafka_instance#value CkafkaInstance#value} */ readonly value: string; } export declare function ckafkaInstanceTagsToTerraform(struct?: CkafkaInstanceTags | cdktf.IResolvable): any; export declare function ckafkaInstanceTagsToHclTerraform(struct?: CkafkaInstanceTags | cdktf.IResolvable): any; export declare class CkafkaInstanceTagsOutputReference 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(): CkafkaInstanceTags | cdktf.IResolvable | undefined; set internalValue(value: CkafkaInstanceTags | cdktf.IResolvable | undefined); private _key?; get key(): string; set key(value: string); get keyInput(): string; private _value?; get value(): string; set value(value: string); get valueInput(): string; } export declare class CkafkaInstanceTagsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: CkafkaInstanceTags[] | 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): CkafkaInstanceTagsOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ckafka_instance tencentcloud_ckafka_instance} */ export declare class CkafkaInstance extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_ckafka_instance"; /** * Generates CDKTF code for importing a CkafkaInstance 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 CkafkaInstance to import * @param importFromId The id of the existing CkafkaInstance that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ckafka_instance#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the CkafkaInstance 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/tencentcloudstack/tencentcloud/1.82.49/docs/resources/ckafka_instance tencentcloud_ckafka_instance} 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 CkafkaInstanceConfig */ constructor(scope: Construct, id: string, config: CkafkaInstanceConfig); private _bandWidth?; get bandWidth(): number; set bandWidth(value: number); resetBandWidth(): void; get bandWidthInput(): number; private _chargeType?; get chargeType(): string; set chargeType(value: string); resetChargeType(): void; get chargeTypeInput(): string; private _diskSize?; get diskSize(): number; set diskSize(value: number); resetDiskSize(): void; get diskSizeInput(): number; private _diskType?; get diskType(): string; set diskType(value: string); resetDiskType(): void; get diskTypeInput(): string; private _elasticBandwidthSwitch?; get elasticBandwidthSwitch(): number; set elasticBandwidthSwitch(value: number); resetElasticBandwidthSwitch(): void; get elasticBandwidthSwitchInput(): number; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _instanceName?; get instanceName(): string; set instanceName(value: string); get instanceNameInput(): string; private _instanceType?; get instanceType(): number; set instanceType(value: number); resetInstanceType(): void; get instanceTypeInput(): number; private _kafkaVersion?; get kafkaVersion(): string; set kafkaVersion(value: string); resetKafkaVersion(): void; get kafkaVersionInput(): string; private _maxMessageByte?; get maxMessageByte(): number; set maxMessageByte(value: number); resetMaxMessageByte(): void; get maxMessageByteInput(): number; private _msgRetentionTime?; get msgRetentionTime(): number; set msgRetentionTime(value: number); resetMsgRetentionTime(): void; get msgRetentionTimeInput(): number; private _multiZoneFlag?; get multiZoneFlag(): boolean | cdktf.IResolvable; set multiZoneFlag(value: boolean | cdktf.IResolvable); resetMultiZoneFlag(): void; get multiZoneFlagInput(): any; private _partition?; get partition(): number; set partition(value: number); resetPartition(): void; get partitionInput(): number; private _period?; get period(): number; set period(value: number); resetPeriod(): void; get periodInput(): number; private _publicNetwork?; get publicNetwork(): number; set publicNetwork(value: number); resetPublicNetwork(): void; get publicNetworkInput(): number; private _rebalanceTime?; get rebalanceTime(): number; set rebalanceTime(value: number); resetRebalanceTime(): void; get rebalanceTimeInput(): number; private _renewFlag?; get renewFlag(): number; set renewFlag(value: number); resetRenewFlag(): void; get renewFlagInput(): number; private _specificationsType?; get specificationsType(): string; set specificationsType(value: string); resetSpecificationsType(): void; get specificationsTypeInput(): string; private _subnetId?; get subnetId(): string; set subnetId(value: string); resetSubnetId(): void; get subnetIdInput(): string; private _tagSet?; get tagSet(): { [key: string]: string; }; set tagSet(value: { [key: string]: string; }); resetTagSet(): void; get tagSetInput(): { [key: string]: string; }; private _upgradeStrategy?; get upgradeStrategy(): number; set upgradeStrategy(value: number); resetUpgradeStrategy(): void; get upgradeStrategyInput(): number; get vip(): any; private _vpcId?; get vpcId(): string; set vpcId(value: string); resetVpcId(): void; get vpcIdInput(): string; get vport(): any; private _zoneId?; get zoneId(): number; set zoneId(value: number); get zoneIdInput(): number; private _zoneIds?; get zoneIds(): number[]; set zoneIds(value: number[]); resetZoneIds(): void; get zoneIdsInput(): number[]; private _config; get config(): CkafkaInstanceConfigAOutputReference; putConfig(value: CkafkaInstanceConfigA): void; resetConfig(): void; get configInput(): CkafkaInstanceConfigA; private _dynamicRetentionConfig; get dynamicRetentionConfig(): CkafkaInstanceDynamicRetentionConfigOutputReference; putDynamicRetentionConfig(value: CkafkaInstanceDynamicRetentionConfig): void; resetDynamicRetentionConfig(): void; get dynamicRetentionConfigInput(): CkafkaInstanceDynamicRetentionConfig; private _tags; get tags(): CkafkaInstanceTagsList; putTags(value: CkafkaInstanceTags[] | cdktf.IResolvable): void; resetTags(): void; get tagsInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }