import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface CbsStorageSetConfig extends cdktf.TerraformMetaArguments { /** * The available zone that the CBS instance locates at. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cbs_storage_set#availability_zone CbsStorageSet#availability_zone} */ readonly availabilityZone: string; /** * The charge type of CBS instance. Support `POSTPAID_BY_HOUR` and `DEDICATED_CLUSTER_PAID`. The default is `POSTPAID_BY_HOUR`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cbs_storage_set#charge_type CbsStorageSet#charge_type} */ readonly chargeType?: string; /** * Exclusive cluster id. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cbs_storage_set#dedicated_cluster_id CbsStorageSet#dedicated_cluster_id} */ readonly dedicatedClusterId?: string; /** * The number of disks to be purchased. Default 1. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cbs_storage_set#disk_count CbsStorageSet#disk_count} */ readonly diskCount?: number; /** * Indicates whether CBS is encrypted. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cbs_storage_set#encrypt CbsStorageSet#encrypt} */ readonly encrypt?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cbs_storage_set#id CbsStorageSet#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; /** * Optional parameters. When purchasing an encryption disk, customize the key. When this parameter is passed in, the `encrypt` parameter need be set. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cbs_storage_set#kms_key_id CbsStorageSet#kms_key_id} */ readonly kmsKeyId?: string; /** * ID of the project to which the instance belongs. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cbs_storage_set#project_id CbsStorageSet#project_id} */ readonly projectId?: number; /** * ID of the snapshot. If specified, created the CBS by this snapshot. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cbs_storage_set#snapshot_id CbsStorageSet#snapshot_id} */ readonly snapshotId?: string; /** * Name of CBS. The maximum length can not exceed 60 bytes. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cbs_storage_set#storage_name CbsStorageSet#storage_name} */ readonly storageName: string; /** * Volume of CBS, and unit is GB. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cbs_storage_set#storage_size CbsStorageSet#storage_size} */ readonly storageSize: number; /** * Type of CBS medium. Valid values: CLOUD_BASIC: HDD cloud disk, CLOUD_PREMIUM: Premium Cloud Storage, CLOUD_BSSD: General Purpose SSD, CLOUD_SSD: SSD, CLOUD_HSSD: Enhanced SSD, CLOUD_TSSD: Tremendous SSD. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cbs_storage_set#storage_type CbsStorageSet#storage_type} */ readonly storageType: string; /** * Add extra performance to the data disk. Only works when disk type is `CLOUD_TSSD` or `CLOUD_HSSD`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cbs_storage_set#throughput_performance CbsStorageSet#throughput_performance} */ readonly throughputPerformance?: number; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cbs_storage_set tencentcloud_cbs_storage_set} */ export declare class CbsStorageSet extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_cbs_storage_set"; /** * Generates CDKTF code for importing a CbsStorageSet 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 CbsStorageSet to import * @param importFromId The id of the existing CbsStorageSet that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cbs_storage_set#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the CbsStorageSet 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/cbs_storage_set tencentcloud_cbs_storage_set} 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 CbsStorageSetConfig */ constructor(scope: Construct, id: string, config: CbsStorageSetConfig); get attached(): any; private _availabilityZone?; get availabilityZone(): string; set availabilityZone(value: string); get availabilityZoneInput(): string; private _chargeType?; get chargeType(): string; set chargeType(value: string); resetChargeType(): void; get chargeTypeInput(): string; private _dedicatedClusterId?; get dedicatedClusterId(): string; set dedicatedClusterId(value: string); resetDedicatedClusterId(): void; get dedicatedClusterIdInput(): string; private _diskCount?; get diskCount(): number; set diskCount(value: number); resetDiskCount(): void; get diskCountInput(): number; get diskIds(): any; private _encrypt?; get encrypt(): boolean | cdktf.IResolvable; set encrypt(value: boolean | cdktf.IResolvable); resetEncrypt(): void; get encryptInput(): any; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _kmsKeyId?; get kmsKeyId(): string; set kmsKeyId(value: string); resetKmsKeyId(): void; get kmsKeyIdInput(): string; private _projectId?; get projectId(): number; set projectId(value: number); resetProjectId(): void; get projectIdInput(): number; private _snapshotId?; get snapshotId(): string; set snapshotId(value: string); resetSnapshotId(): void; get snapshotIdInput(): string; private _storageName?; get storageName(): string; set storageName(value: string); get storageNameInput(): string; private _storageSize?; get storageSize(): number; set storageSize(value: number); get storageSizeInput(): number; get storageStatus(): any; private _storageType?; get storageType(): string; set storageType(value: string); get storageTypeInput(): string; private _throughputPerformance?; get throughputPerformance(): number; set throughputPerformance(value: number); resetThroughputPerformance(): void; get throughputPerformanceInput(): number; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }