import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface CvmModifyInstanceDiskTypeConfig extends cdktf.TerraformMetaArguments { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_modify_instance_disk_type#id CvmModifyInstanceDiskType#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. To obtain the instance IDs, you can call DescribeInstances and look for InstanceId in the response. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_modify_instance_disk_type#instance_id CvmModifyInstanceDiskType#instance_id} */ readonly instanceId: string; /** * data_disks block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_modify_instance_disk_type#data_disks CvmModifyInstanceDiskType#data_disks} */ readonly dataDisks?: CvmModifyInstanceDiskTypeDataDisks[] | cdktf.IResolvable; /** * system_disk block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_modify_instance_disk_type#system_disk CvmModifyInstanceDiskType#system_disk} */ readonly systemDisk?: CvmModifyInstanceDiskTypeSystemDisk; } export interface CvmModifyInstanceDiskTypeDataDisks { /** * ID of the dedicated cluster to which the instance belongs. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_modify_instance_disk_type#cdc_id CvmModifyInstanceDiskType#cdc_id} */ readonly cdcId?: string; /** * Whether to terminate the data disk when its CVM is terminated. Valid values: * - TRUE: terminate the data disk when its CVM is terminated. This value only supports pay-as-you-go cloud disks billed on an hourly basis. * - FALSE: retain the data disk when its CVM is terminated. * Default value: TRUE. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_modify_instance_disk_type#delete_with_instance CvmModifyInstanceDiskType#delete_with_instance} */ readonly deleteWithInstance?: boolean | cdktf.IResolvable; /** * Data disk ID. Note that it's not available for LOCAL_BASIC and LOCAL_SSD disks. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_modify_instance_disk_type#disk_id CvmModifyInstanceDiskType#disk_id} */ readonly diskId?: string; /** * Data disk size (in GB). The minimum adjustment increment is 10 GB. The value range varies by data disk type. The default value is 0, indicating that no data disk is purchased. For more information, see the product documentation. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_modify_instance_disk_type#disk_size CvmModifyInstanceDiskType#disk_size} */ readonly diskSize: number; /** * Data disk type. Valid values: * - LOCAL_BASIC: local hard disk; * - LOCAL_SSD: local SSD hard disk; * - LOCAL_NVME: local NVME hard disk, which is strongly related to InstanceType and cannot be specified; * - LOCAL_PRO: local HDD hard disk, which is strongly related to InstanceType and cannot be specified; * - CLOUD_BASIC: ordinary cloud disk; * - CLOUD_PREMIUM: high-performance cloud disk; * - CLOUD_SSD:SSD cloud disk; * - CLOUD_HSSD: enhanced SSD cloud disk; * - CLOUD_TSSD: extremely fast SSD cloud disk; * - CLOUD_BSSD: general-purpose SSD cloud disk; * Default value: LOCAL_BASIC. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_modify_instance_disk_type#disk_type CvmModifyInstanceDiskType#disk_type} */ readonly diskType?: string; /** * Specifies whether the data disk is encrypted. Valid values: * - TRUE: encrypted * - FALSE: not encrypted * Default value: FALSE. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_modify_instance_disk_type#encrypt CvmModifyInstanceDiskType#encrypt} */ readonly encrypt?: boolean | cdktf.IResolvable; /** * ID of the custom CMK in the format of UUID or “kms-abcd1234”. This parameter is used to encrypt cloud disks. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_modify_instance_disk_type#kms_key_id CvmModifyInstanceDiskType#kms_key_id} */ readonly kmsKeyId?: string; /** * Data disk snapshot ID. The size of the selected data disk snapshot must be smaller than that of the data disk. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_modify_instance_disk_type#snapshot_id CvmModifyInstanceDiskType#snapshot_id} */ readonly snapshotId?: string; /** * Cloud disk performance, in MB/s. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_modify_instance_disk_type#throughput_performance CvmModifyInstanceDiskType#throughput_performance} */ readonly throughputPerformance?: number; } export declare function cvmModifyInstanceDiskTypeDataDisksToTerraform(struct?: CvmModifyInstanceDiskTypeDataDisks | cdktf.IResolvable): any; export declare function cvmModifyInstanceDiskTypeDataDisksToHclTerraform(struct?: CvmModifyInstanceDiskTypeDataDisks | cdktf.IResolvable): any; export declare class CvmModifyInstanceDiskTypeDataDisksOutputReference 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(): CvmModifyInstanceDiskTypeDataDisks | cdktf.IResolvable | undefined; set internalValue(value: CvmModifyInstanceDiskTypeDataDisks | cdktf.IResolvable | undefined); private _cdcId?; get cdcId(): string; set cdcId(value: string); resetCdcId(): void; get cdcIdInput(): string; private _deleteWithInstance?; get deleteWithInstance(): boolean | cdktf.IResolvable; set deleteWithInstance(value: boolean | cdktf.IResolvable); resetDeleteWithInstance(): void; get deleteWithInstanceInput(): any; private _diskId?; get diskId(): string; set diskId(value: string); resetDiskId(): void; get diskIdInput(): string; private _diskSize?; get diskSize(): number; set diskSize(value: number); get diskSizeInput(): number; private _diskType?; get diskType(): string; set diskType(value: string); resetDiskType(): void; get diskTypeInput(): string; private _encrypt?; get encrypt(): boolean | cdktf.IResolvable; set encrypt(value: boolean | cdktf.IResolvable); resetEncrypt(): void; get encryptInput(): any; private _kmsKeyId?; get kmsKeyId(): string; set kmsKeyId(value: string); resetKmsKeyId(): void; get kmsKeyIdInput(): string; private _snapshotId?; get snapshotId(): string; set snapshotId(value: string); resetSnapshotId(): void; get snapshotIdInput(): string; private _throughputPerformance?; get throughputPerformance(): number; set throughputPerformance(value: number); resetThroughputPerformance(): void; get throughputPerformanceInput(): number; } export declare class CvmModifyInstanceDiskTypeDataDisksList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: CvmModifyInstanceDiskTypeDataDisks[] | 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): CvmModifyInstanceDiskTypeDataDisksOutputReference; } export interface CvmModifyInstanceDiskTypeSystemDisk { /** * ID of the dedicated cluster to which the instance belongs. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_modify_instance_disk_type#cdc_id CvmModifyInstanceDiskType#cdc_id} */ readonly cdcId?: string; /** * System disk ID. System disks whose type is LOCAL_BASIC or LOCAL_SSD do not have an ID and do not support this parameter. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_modify_instance_disk_type#disk_id CvmModifyInstanceDiskType#disk_id} */ readonly diskId?: string; /** * System disk size; unit: GB; default value: 50 GB. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_modify_instance_disk_type#disk_size CvmModifyInstanceDiskType#disk_size} */ readonly diskSize?: number; /** * System disk type. Valid values:- LOCAL_BASIC: local disk * - LOCAL_SSD: local SSD disk * - CLOUD_BASIC: ordinary cloud disk * - CLOUD_SSD: SSD cloud disk * - CLOUD_PREMIUM: Premium cloud storage * - CLOUD_BSSD: Balanced SSD * The disk currently in stock will be used by default. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_modify_instance_disk_type#disk_type CvmModifyInstanceDiskType#disk_type} */ readonly diskType?: string; } export declare function cvmModifyInstanceDiskTypeSystemDiskToTerraform(struct?: CvmModifyInstanceDiskTypeSystemDiskOutputReference | CvmModifyInstanceDiskTypeSystemDisk): any; export declare function cvmModifyInstanceDiskTypeSystemDiskToHclTerraform(struct?: CvmModifyInstanceDiskTypeSystemDiskOutputReference | CvmModifyInstanceDiskTypeSystemDisk): any; export declare class CvmModifyInstanceDiskTypeSystemDiskOutputReference 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(): CvmModifyInstanceDiskTypeSystemDisk | undefined; set internalValue(value: CvmModifyInstanceDiskTypeSystemDisk | undefined); private _cdcId?; get cdcId(): string; set cdcId(value: string); resetCdcId(): void; get cdcIdInput(): string; private _diskId?; get diskId(): string; set diskId(value: string); resetDiskId(): void; get diskIdInput(): 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; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_modify_instance_disk_type tencentcloud_cvm_modify_instance_disk_type} */ export declare class CvmModifyInstanceDiskType extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_cvm_modify_instance_disk_type"; /** * Generates CDKTF code for importing a CvmModifyInstanceDiskType 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 CvmModifyInstanceDiskType to import * @param importFromId The id of the existing CvmModifyInstanceDiskType that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cvm_modify_instance_disk_type#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the CvmModifyInstanceDiskType 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/cvm_modify_instance_disk_type tencentcloud_cvm_modify_instance_disk_type} 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 CvmModifyInstanceDiskTypeConfig */ constructor(scope: Construct, id: string, config: CvmModifyInstanceDiskTypeConfig); 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; private _dataDisks; get dataDisks(): CvmModifyInstanceDiskTypeDataDisksList; putDataDisks(value: CvmModifyInstanceDiskTypeDataDisks[] | cdktf.IResolvable): void; resetDataDisks(): void; get dataDisksInput(): any; private _systemDisk; get systemDisk(): CvmModifyInstanceDiskTypeSystemDiskOutputReference; putSystemDisk(value: CvmModifyInstanceDiskTypeSystemDisk): void; resetSystemDisk(): void; get systemDiskInput(): CvmModifyInstanceDiskTypeSystemDisk; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }