import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface DataTencentcloudInstanceTypesConfig extends cdktf.TerraformMetaArguments { /** * The available zone that the CVM instance locates at. This field is conflict with `filter`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/instance_types#availability_zone DataTencentcloudInstanceTypes#availability_zone} */ readonly availabilityZone?: string; /** * The number of CPU cores of the instance. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/instance_types#cpu_core_count DataTencentcloudInstanceTypes#cpu_core_count} */ readonly cpuCoreCount?: number; /** * Indicate to filter instances types that is sold out or not, default is false. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/instance_types#exclude_sold_out DataTencentcloudInstanceTypes#exclude_sold_out} */ readonly excludeSoldOut?: boolean | cdktf.IResolvable; /** * The number of GPU cores of the instance. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/instance_types#gpu_core_count DataTencentcloudInstanceTypes#gpu_core_count} */ readonly gpuCoreCount?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/instance_types#id DataTencentcloudInstanceTypes#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 memory capacity, unit in GB. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/instance_types#memory_size DataTencentcloudInstanceTypes#memory_size} */ readonly memorySize?: number; /** * Used to save results. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/instance_types#result_output_file DataTencentcloudInstanceTypes#result_output_file} */ readonly resultOutputFile?: string; /** * cbs_filter block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/instance_types#cbs_filter DataTencentcloudInstanceTypes#cbs_filter} */ readonly cbsFilter?: DataTencentcloudInstanceTypesCbsFilter; /** * filter block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/instance_types#filter DataTencentcloudInstanceTypes#filter} */ readonly filter?: DataTencentcloudInstanceTypesFilter[] | cdktf.IResolvable; } export interface DataTencentcloudInstanceTypesInstanceTypesCbsConfigs { } export declare function dataTencentcloudInstanceTypesInstanceTypesCbsConfigsToTerraform(struct?: DataTencentcloudInstanceTypesInstanceTypesCbsConfigs): any; export declare function dataTencentcloudInstanceTypesInstanceTypesCbsConfigsToHclTerraform(struct?: DataTencentcloudInstanceTypesInstanceTypesCbsConfigs): any; export declare class DataTencentcloudInstanceTypesInstanceTypesCbsConfigsOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @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(): DataTencentcloudInstanceTypesInstanceTypesCbsConfigs | undefined; set internalValue(value: DataTencentcloudInstanceTypesInstanceTypesCbsConfigs | undefined); get available(): any; get deviceClass(): any; get diskChargeType(): any; get diskType(): any; get diskUsage(): any; get extraPerformanceRange(): any; get instanceFamily(): any; get maxDiskSize(): any; get minDiskSize(): any; get stepSize(): any; get zone(): any; } export declare class DataTencentcloudInstanceTypesInstanceTypesCbsConfigsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; /** * @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): DataTencentcloudInstanceTypesInstanceTypesCbsConfigsOutputReference; } export interface DataTencentcloudInstanceTypesInstanceTypes { } export declare function dataTencentcloudInstanceTypesInstanceTypesToTerraform(struct?: DataTencentcloudInstanceTypesInstanceTypes): any; export declare function dataTencentcloudInstanceTypesInstanceTypesToHclTerraform(struct?: DataTencentcloudInstanceTypesInstanceTypes): any; export declare class DataTencentcloudInstanceTypesInstanceTypesOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @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(): DataTencentcloudInstanceTypesInstanceTypes | undefined; set internalValue(value: DataTencentcloudInstanceTypesInstanceTypes | undefined); get availabilityZone(): any; private _cbsConfigs; get cbsConfigs(): DataTencentcloudInstanceTypesInstanceTypesCbsConfigsList; get cpuCoreCount(): any; get family(): any; get gpuCoreCount(): any; get instanceChargeType(): any; get instanceType(): any; get memorySize(): any; get status(): any; } export declare class DataTencentcloudInstanceTypesInstanceTypesList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; /** * @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): DataTencentcloudInstanceTypesInstanceTypesOutputReference; } export interface DataTencentcloudInstanceTypesCbsFilter { /** * Payment model. Value range: * - PREPAID: Prepaid; * - POSTPAID_BY_HOUR: Post-payment. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/instance_types#disk_charge_type DataTencentcloudInstanceTypes#disk_charge_type} */ readonly diskChargeType?: string; /** * Hard disk media type. Value range: * - CLOUD_BASIC: Represents ordinary Cloud Block Storage; * - CLOUD_PREMIUM: Represents high-performance Cloud Block Storage; * - CLOUD_SSD: Represents SSD Cloud Block Storage; * - CLOUD_HSSD: Represents enhanced SSD Cloud Block Storage. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/instance_types#disk_types DataTencentcloudInstanceTypes#disk_types} */ readonly diskTypes?: string[]; /** * System disk or data disk. Value range: * - SYSTEM_DISK: Represents the system disk; * - DATA_DISK: Represents the data disk. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/instance_types#disk_usage DataTencentcloudInstanceTypes#disk_usage} */ readonly diskUsage?: string; } export declare function dataTencentcloudInstanceTypesCbsFilterToTerraform(struct?: DataTencentcloudInstanceTypesCbsFilterOutputReference | DataTencentcloudInstanceTypesCbsFilter): any; export declare function dataTencentcloudInstanceTypesCbsFilterToHclTerraform(struct?: DataTencentcloudInstanceTypesCbsFilterOutputReference | DataTencentcloudInstanceTypesCbsFilter): any; export declare class DataTencentcloudInstanceTypesCbsFilterOutputReference 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(): DataTencentcloudInstanceTypesCbsFilter | undefined; set internalValue(value: DataTencentcloudInstanceTypesCbsFilter | undefined); private _diskChargeType?; get diskChargeType(): string; set diskChargeType(value: string); resetDiskChargeType(): void; get diskChargeTypeInput(): string; private _diskTypes?; get diskTypes(): string[]; set diskTypes(value: string[]); resetDiskTypes(): void; get diskTypesInput(): string[]; private _diskUsage?; get diskUsage(): string; set diskUsage(value: string); resetDiskUsage(): void; get diskUsageInput(): string; } export interface DataTencentcloudInstanceTypesFilter { /** * The filter name. Valid values: `zone`, `instance-family` and `instance-charge-type`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/instance_types#name DataTencentcloudInstanceTypes#name} */ readonly name: string; /** * The filter values. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/instance_types#values DataTencentcloudInstanceTypes#values} */ readonly values: string[]; } export declare function dataTencentcloudInstanceTypesFilterToTerraform(struct?: DataTencentcloudInstanceTypesFilter | cdktf.IResolvable): any; export declare function dataTencentcloudInstanceTypesFilterToHclTerraform(struct?: DataTencentcloudInstanceTypesFilter | cdktf.IResolvable): any; export declare class DataTencentcloudInstanceTypesFilterOutputReference 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(): DataTencentcloudInstanceTypesFilter | cdktf.IResolvable | undefined; set internalValue(value: DataTencentcloudInstanceTypesFilter | cdktf.IResolvable | undefined); private _name?; get name(): string; set name(value: string); get nameInput(): string; private _values?; get values(): string[]; set values(value: string[]); get valuesInput(): string[]; } export declare class DataTencentcloudInstanceTypesFilterList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: DataTencentcloudInstanceTypesFilter[] | 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): DataTencentcloudInstanceTypesFilterOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/instance_types tencentcloud_instance_types} */ export declare class DataTencentcloudInstanceTypes extends cdktf.TerraformDataSource { static readonly tfResourceType = "tencentcloud_instance_types"; /** * Generates CDKTF code for importing a DataTencentcloudInstanceTypes 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 DataTencentcloudInstanceTypes to import * @param importFromId The id of the existing DataTencentcloudInstanceTypes that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/instance_types#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the DataTencentcloudInstanceTypes 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/instance_types tencentcloud_instance_types} 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 DataTencentcloudInstanceTypesConfig = {} */ constructor(scope: Construct, id: string, config?: DataTencentcloudInstanceTypesConfig); private _availabilityZone?; get availabilityZone(): string; set availabilityZone(value: string); resetAvailabilityZone(): void; get availabilityZoneInput(): string; private _cpuCoreCount?; get cpuCoreCount(): number; set cpuCoreCount(value: number); resetCpuCoreCount(): void; get cpuCoreCountInput(): number; private _excludeSoldOut?; get excludeSoldOut(): boolean | cdktf.IResolvable; set excludeSoldOut(value: boolean | cdktf.IResolvable); resetExcludeSoldOut(): void; get excludeSoldOutInput(): any; private _gpuCoreCount?; get gpuCoreCount(): number; set gpuCoreCount(value: number); resetGpuCoreCount(): void; get gpuCoreCountInput(): number; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _instanceTypes; get instanceTypes(): DataTencentcloudInstanceTypesInstanceTypesList; private _memorySize?; get memorySize(): number; set memorySize(value: number); resetMemorySize(): void; get memorySizeInput(): number; private _resultOutputFile?; get resultOutputFile(): string; set resultOutputFile(value: string); resetResultOutputFile(): void; get resultOutputFileInput(): string; private _cbsFilter; get cbsFilter(): DataTencentcloudInstanceTypesCbsFilterOutputReference; putCbsFilter(value: DataTencentcloudInstanceTypesCbsFilter): void; resetCbsFilter(): void; get cbsFilterInput(): DataTencentcloudInstanceTypesCbsFilter; private _filter; get filter(): DataTencentcloudInstanceTypesFilterList; putFilter(value: DataTencentcloudInstanceTypesFilter[] | cdktf.IResolvable): void; resetFilter(): void; get filterInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }