import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface LighthouseDiskConfig extends cdktf.TerraformMetaArguments { /** * Whether to automatically use the voucher. Not used by default. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_disk#auto_voucher LighthouseDisk#auto_voucher} */ readonly autoVoucher?: boolean | cdktf.IResolvable; /** * Specify the disk backup quota. If not uploaded, the default is no backup quota. Currently, only one disk backup quota is supported. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_disk#disk_backup_quota LighthouseDisk#disk_backup_quota} */ readonly diskBackupQuota?: number; /** * Disk count. Values: [1, 30]. Default: 1. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_disk#disk_count LighthouseDisk#disk_count} */ readonly diskCount?: number; /** * Disk name. Maximum length 60. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_disk#disk_name LighthouseDisk#disk_name} */ readonly diskName?: string; /** * Disk size, unit: GB. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_disk#disk_size LighthouseDisk#disk_size} */ readonly diskSize: number; /** * Disk type. Value:CLOUD_PREMIUM, CLOUD_SSD. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_disk#disk_type LighthouseDisk#disk_type} */ readonly diskType: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_disk#id LighthouseDisk#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; /** * Availability zone. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_disk#zone LighthouseDisk#zone} */ readonly zone: string; /** * auto_mount_configuration block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_disk#auto_mount_configuration LighthouseDisk#auto_mount_configuration} */ readonly autoMountConfiguration?: LighthouseDiskAutoMountConfiguration; /** * disk_charge_prepaid block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_disk#disk_charge_prepaid LighthouseDisk#disk_charge_prepaid} */ readonly diskChargePrepaid: LighthouseDiskDiskChargePrepaid; } export interface LighthouseDiskAutoMountConfiguration { /** * The file system type. Value: ext4, xfs. Only instances of the Linux operating system can pass in this parameter, and if it is not passed, it defaults to ext4. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_disk#file_system_type LighthouseDisk#file_system_type} */ readonly fileSystemType?: string; /** * Instance ID to be mounted. The specified instance must be in the Running state. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_disk#instance_id LighthouseDisk#instance_id} */ readonly instanceId: string; /** * The mount point within the instance. Only instances of the Linux operating system can pass in this parameter, and if it is not passed, it will be mounted under the /data/disk path by default. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_disk#mount_point LighthouseDisk#mount_point} */ readonly mountPoint?: string; } export declare function lighthouseDiskAutoMountConfigurationToTerraform(struct?: LighthouseDiskAutoMountConfigurationOutputReference | LighthouseDiskAutoMountConfiguration): any; export declare function lighthouseDiskAutoMountConfigurationToHclTerraform(struct?: LighthouseDiskAutoMountConfigurationOutputReference | LighthouseDiskAutoMountConfiguration): any; export declare class LighthouseDiskAutoMountConfigurationOutputReference 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(): LighthouseDiskAutoMountConfiguration | undefined; set internalValue(value: LighthouseDiskAutoMountConfiguration | undefined); private _fileSystemType?; get fileSystemType(): string; set fileSystemType(value: string); resetFileSystemType(): void; get fileSystemTypeInput(): string; private _instanceId?; get instanceId(): string; set instanceId(value: string); get instanceIdInput(): string; private _mountPoint?; get mountPoint(): string; set mountPoint(value: string); resetMountPoint(): void; get mountPointInput(): string; } export interface LighthouseDiskDiskChargePrepaid { /** * new purchase cycle. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_disk#period LighthouseDisk#period} */ readonly period: number; /** * Automatic renewal flag. Value: `NOTIFY_AND_AUTO_RENEW`: Notice expires and auto-renews. `NOTIFY_AND_MANUAL_RENEW`: Notification expires without automatic renewal, users need to manually renew. `DISABLE_NOTIFY_AND_AUTO_RENEW`: No automatic renewal and no notification. Default: `NOTIFY_AND_MANUAL_RENEW`. If this parameter is specified as `NOTIFY_AND_AUTO_RENEW`, the disk will be automatically renewed monthly when the account balance is sufficient. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_disk#renew_flag LighthouseDisk#renew_flag} */ readonly renewFlag?: string; /** * newly purchased unit. Default: m. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_disk#time_unit LighthouseDisk#time_unit} */ readonly timeUnit?: string; } export declare function lighthouseDiskDiskChargePrepaidToTerraform(struct?: LighthouseDiskDiskChargePrepaidOutputReference | LighthouseDiskDiskChargePrepaid): any; export declare function lighthouseDiskDiskChargePrepaidToHclTerraform(struct?: LighthouseDiskDiskChargePrepaidOutputReference | LighthouseDiskDiskChargePrepaid): any; export declare class LighthouseDiskDiskChargePrepaidOutputReference 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(): LighthouseDiskDiskChargePrepaid | undefined; set internalValue(value: LighthouseDiskDiskChargePrepaid | undefined); private _period?; get period(): number; set period(value: number); get periodInput(): number; private _renewFlag?; get renewFlag(): string; set renewFlag(value: string); resetRenewFlag(): void; get renewFlagInput(): string; private _timeUnit?; get timeUnit(): string; set timeUnit(value: string); resetTimeUnit(): void; get timeUnitInput(): string; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_disk tencentcloud_lighthouse_disk} */ export declare class LighthouseDisk extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_lighthouse_disk"; /** * Generates CDKTF code for importing a LighthouseDisk 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 LighthouseDisk to import * @param importFromId The id of the existing LighthouseDisk that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/lighthouse_disk#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the LighthouseDisk 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/lighthouse_disk tencentcloud_lighthouse_disk} 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 LighthouseDiskConfig */ constructor(scope: Construct, id: string, config: LighthouseDiskConfig); private _autoVoucher?; get autoVoucher(): boolean | cdktf.IResolvable; set autoVoucher(value: boolean | cdktf.IResolvable); resetAutoVoucher(): void; get autoVoucherInput(): any; private _diskBackupQuota?; get diskBackupQuota(): number; set diskBackupQuota(value: number); resetDiskBackupQuota(): void; get diskBackupQuotaInput(): number; private _diskCount?; get diskCount(): number; set diskCount(value: number); resetDiskCount(): void; get diskCountInput(): number; private _diskName?; get diskName(): string; set diskName(value: string); resetDiskName(): void; get diskNameInput(): string; private _diskSize?; get diskSize(): number; set diskSize(value: number); get diskSizeInput(): number; private _diskType?; get diskType(): string; set diskType(value: string); get diskTypeInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _zone?; get zone(): string; set zone(value: string); get zoneInput(): string; private _autoMountConfiguration; get autoMountConfiguration(): LighthouseDiskAutoMountConfigurationOutputReference; putAutoMountConfiguration(value: LighthouseDiskAutoMountConfiguration): void; resetAutoMountConfiguration(): void; get autoMountConfigurationInput(): LighthouseDiskAutoMountConfiguration; private _diskChargePrepaid; get diskChargePrepaid(): LighthouseDiskDiskChargePrepaidOutputReference; putDiskChargePrepaid(value: LighthouseDiskDiskChargePrepaid): void; get diskChargePrepaidInput(): LighthouseDiskDiskChargePrepaid; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }