import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface DataTencentcloudDcdbUpgradePriceConfig extends cdktf.TerraformMetaArguments { /** * Price unit. Valid values: `pent` (cent), `microPent` (microcent). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/dcdb_upgrade_price#amount_unit DataTencentcloudDcdbUpgradePrice#amount_unit} */ readonly amountUnit?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/dcdb_upgrade_price#id DataTencentcloudDcdbUpgradePrice#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 ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/dcdb_upgrade_price#instance_id DataTencentcloudDcdbUpgradePrice#instance_id} */ readonly instanceId: string; /** * Used to save results. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/dcdb_upgrade_price#result_output_file DataTencentcloudDcdbUpgradePrice#result_output_file} */ readonly resultOutputFile?: string; /** * Upgrade type, ADD: add new shard, EXPAND: upgrade the existing shard, SPLIT: split existing shard. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/dcdb_upgrade_price#upgrade_type DataTencentcloudDcdbUpgradePrice#upgrade_type} */ readonly upgradeType: string; /** * add_shard_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/dcdb_upgrade_price#add_shard_config DataTencentcloudDcdbUpgradePrice#add_shard_config} */ readonly addShardConfig?: DataTencentcloudDcdbUpgradePriceAddShardConfig; /** * expand_shard_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/dcdb_upgrade_price#expand_shard_config DataTencentcloudDcdbUpgradePrice#expand_shard_config} */ readonly expandShardConfig?: DataTencentcloudDcdbUpgradePriceExpandShardConfig; /** * split_shard_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/dcdb_upgrade_price#split_shard_config DataTencentcloudDcdbUpgradePrice#split_shard_config} */ readonly splitShardConfig?: DataTencentcloudDcdbUpgradePriceSplitShardConfig; } export interface DataTencentcloudDcdbUpgradePriceAddShardConfig { /** * The number of new shards. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/dcdb_upgrade_price#shard_count DataTencentcloudDcdbUpgradePrice#shard_count} */ readonly shardCount: number; /** * Shard memory size in GB. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/dcdb_upgrade_price#shard_memory DataTencentcloudDcdbUpgradePrice#shard_memory} */ readonly shardMemory: number; /** * Shard storage capacity in GB. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/dcdb_upgrade_price#shard_storage DataTencentcloudDcdbUpgradePrice#shard_storage} */ readonly shardStorage: number; } export declare function dataTencentcloudDcdbUpgradePriceAddShardConfigToTerraform(struct?: DataTencentcloudDcdbUpgradePriceAddShardConfigOutputReference | DataTencentcloudDcdbUpgradePriceAddShardConfig): any; export declare function dataTencentcloudDcdbUpgradePriceAddShardConfigToHclTerraform(struct?: DataTencentcloudDcdbUpgradePriceAddShardConfigOutputReference | DataTencentcloudDcdbUpgradePriceAddShardConfig): any; export declare class DataTencentcloudDcdbUpgradePriceAddShardConfigOutputReference 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(): DataTencentcloudDcdbUpgradePriceAddShardConfig | undefined; set internalValue(value: DataTencentcloudDcdbUpgradePriceAddShardConfig | undefined); private _shardCount?; get shardCount(): number; set shardCount(value: number); get shardCountInput(): number; private _shardMemory?; get shardMemory(): number; set shardMemory(value: number); get shardMemoryInput(): number; private _shardStorage?; get shardStorage(): number; set shardStorage(value: number); get shardStorageInput(): number; } export interface DataTencentcloudDcdbUpgradePriceExpandShardConfig { /** * List of shard ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/dcdb_upgrade_price#shard_instance_ids DataTencentcloudDcdbUpgradePrice#shard_instance_ids} */ readonly shardInstanceIds: string[]; /** * Shard memory size in GB. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/dcdb_upgrade_price#shard_memory DataTencentcloudDcdbUpgradePrice#shard_memory} */ readonly shardMemory: number; /** * Shard node count. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/dcdb_upgrade_price#shard_node_count DataTencentcloudDcdbUpgradePrice#shard_node_count} */ readonly shardNodeCount?: number; /** * Shard storage capacity in GB. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/dcdb_upgrade_price#shard_storage DataTencentcloudDcdbUpgradePrice#shard_storage} */ readonly shardStorage: number; } export declare function dataTencentcloudDcdbUpgradePriceExpandShardConfigToTerraform(struct?: DataTencentcloudDcdbUpgradePriceExpandShardConfigOutputReference | DataTencentcloudDcdbUpgradePriceExpandShardConfig): any; export declare function dataTencentcloudDcdbUpgradePriceExpandShardConfigToHclTerraform(struct?: DataTencentcloudDcdbUpgradePriceExpandShardConfigOutputReference | DataTencentcloudDcdbUpgradePriceExpandShardConfig): any; export declare class DataTencentcloudDcdbUpgradePriceExpandShardConfigOutputReference 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(): DataTencentcloudDcdbUpgradePriceExpandShardConfig | undefined; set internalValue(value: DataTencentcloudDcdbUpgradePriceExpandShardConfig | undefined); private _shardInstanceIds?; get shardInstanceIds(): string[]; set shardInstanceIds(value: string[]); get shardInstanceIdsInput(): string[]; private _shardMemory?; get shardMemory(): number; set shardMemory(value: number); get shardMemoryInput(): number; private _shardNodeCount?; get shardNodeCount(): number; set shardNodeCount(value: number); resetShardNodeCount(): void; get shardNodeCountInput(): number; private _shardStorage?; get shardStorage(): number; set shardStorage(value: number); get shardStorageInput(): number; } export interface DataTencentcloudDcdbUpgradePriceSplitShardConfig { /** * List of shard ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/dcdb_upgrade_price#shard_instance_ids DataTencentcloudDcdbUpgradePrice#shard_instance_ids} */ readonly shardInstanceIds: string[]; /** * Shard memory size in GB. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/dcdb_upgrade_price#shard_memory DataTencentcloudDcdbUpgradePrice#shard_memory} */ readonly shardMemory: number; /** * Shard storage capacity in GB. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/dcdb_upgrade_price#shard_storage DataTencentcloudDcdbUpgradePrice#shard_storage} */ readonly shardStorage: number; /** * Data split ratio, fixed at 50%. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/dcdb_upgrade_price#split_rate DataTencentcloudDcdbUpgradePrice#split_rate} */ readonly splitRate: number; } export declare function dataTencentcloudDcdbUpgradePriceSplitShardConfigToTerraform(struct?: DataTencentcloudDcdbUpgradePriceSplitShardConfigOutputReference | DataTencentcloudDcdbUpgradePriceSplitShardConfig): any; export declare function dataTencentcloudDcdbUpgradePriceSplitShardConfigToHclTerraform(struct?: DataTencentcloudDcdbUpgradePriceSplitShardConfigOutputReference | DataTencentcloudDcdbUpgradePriceSplitShardConfig): any; export declare class DataTencentcloudDcdbUpgradePriceSplitShardConfigOutputReference 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(): DataTencentcloudDcdbUpgradePriceSplitShardConfig | undefined; set internalValue(value: DataTencentcloudDcdbUpgradePriceSplitShardConfig | undefined); private _shardInstanceIds?; get shardInstanceIds(): string[]; set shardInstanceIds(value: string[]); get shardInstanceIdsInput(): string[]; private _shardMemory?; get shardMemory(): number; set shardMemory(value: number); get shardMemoryInput(): number; private _shardStorage?; get shardStorage(): number; set shardStorage(value: number); get shardStorageInput(): number; private _splitRate?; get splitRate(): number; set splitRate(value: number); get splitRateInput(): number; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/dcdb_upgrade_price tencentcloud_dcdb_upgrade_price} */ export declare class DataTencentcloudDcdbUpgradePrice extends cdktf.TerraformDataSource { static readonly tfResourceType = "tencentcloud_dcdb_upgrade_price"; /** * Generates CDKTF code for importing a DataTencentcloudDcdbUpgradePrice 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 DataTencentcloudDcdbUpgradePrice to import * @param importFromId The id of the existing DataTencentcloudDcdbUpgradePrice that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/dcdb_upgrade_price#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the DataTencentcloudDcdbUpgradePrice 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/data-sources/dcdb_upgrade_price tencentcloud_dcdb_upgrade_price} Data Source * * @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 DataTencentcloudDcdbUpgradePriceConfig */ constructor(scope: Construct, id: string, config: DataTencentcloudDcdbUpgradePriceConfig); private _amountUnit?; get amountUnit(): string; set amountUnit(value: string); resetAmountUnit(): void; get amountUnitInput(): string; get formula(): any; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _instanceId?; get instanceId(): string; set instanceId(value: string); get instanceIdInput(): string; get originalPrice(): any; get price(): any; private _resultOutputFile?; get resultOutputFile(): string; set resultOutputFile(value: string); resetResultOutputFile(): void; get resultOutputFileInput(): string; private _upgradeType?; get upgradeType(): string; set upgradeType(value: string); get upgradeTypeInput(): string; private _addShardConfig; get addShardConfig(): DataTencentcloudDcdbUpgradePriceAddShardConfigOutputReference; putAddShardConfig(value: DataTencentcloudDcdbUpgradePriceAddShardConfig): void; resetAddShardConfig(): void; get addShardConfigInput(): DataTencentcloudDcdbUpgradePriceAddShardConfig; private _expandShardConfig; get expandShardConfig(): DataTencentcloudDcdbUpgradePriceExpandShardConfigOutputReference; putExpandShardConfig(value: DataTencentcloudDcdbUpgradePriceExpandShardConfig): void; resetExpandShardConfig(): void; get expandShardConfigInput(): DataTencentcloudDcdbUpgradePriceExpandShardConfig; private _splitShardConfig; get splitShardConfig(): DataTencentcloudDcdbUpgradePriceSplitShardConfigOutputReference; putSplitShardConfig(value: DataTencentcloudDcdbUpgradePriceSplitShardConfig): void; resetSplitShardConfig(): void; get splitShardConfigInput(): DataTencentcloudDcdbUpgradePriceSplitShardConfig; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }