import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface DataTencentcloudReservedInstanceConfigsConfig extends cdktf.TerraformMetaArguments { /** * The available zone that the reserved instance locates at. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/reserved_instance_configs#availability_zone DataTencentcloudReservedInstanceConfigs#availability_zone} */ readonly availabilityZone?: string; /** * Validity period of the reserved instance. Valid values are `31536000`(1 year) and `94608000`(3 years). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/reserved_instance_configs#duration DataTencentcloudReservedInstanceConfigs#duration} */ readonly duration?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/reserved_instance_configs#id DataTencentcloudReservedInstanceConfigs#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; /** * The type of reserved instance. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/reserved_instance_configs#instance_type DataTencentcloudReservedInstanceConfigs#instance_type} */ readonly instanceType?: string; /** * Filter by Payment Type. Such as All Upfront. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/reserved_instance_configs#offering_type DataTencentcloudReservedInstanceConfigs#offering_type} */ readonly offeringType?: string; /** * Filter by the Platform Description (that is, operating system) for Reserved Instance billing. Shaped like: linux. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/reserved_instance_configs#product_description DataTencentcloudReservedInstanceConfigs#product_description} */ readonly productDescription?: string; /** * Used to save results. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/reserved_instance_configs#result_output_file DataTencentcloudReservedInstanceConfigs#result_output_file} */ readonly resultOutputFile?: string; } export interface DataTencentcloudReservedInstanceConfigsConfigListStruct { } export declare function dataTencentcloudReservedInstanceConfigsConfigListStructToTerraform(struct?: DataTencentcloudReservedInstanceConfigsConfigListStruct): any; export declare function dataTencentcloudReservedInstanceConfigsConfigListStructToHclTerraform(struct?: DataTencentcloudReservedInstanceConfigsConfigListStruct): any; export declare class DataTencentcloudReservedInstanceConfigsConfigListStructOutputReference 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(): DataTencentcloudReservedInstanceConfigsConfigListStruct | undefined; set internalValue(value: DataTencentcloudReservedInstanceConfigsConfigListStruct | undefined); get availabilityZone(): any; get configId(): any; get currencyCode(): any; get duration(): any; get instanceType(): any; get offeringType(): any; get platform(): any; get price(): any; get usagePrice(): any; } export declare class DataTencentcloudReservedInstanceConfigsConfigListStructList 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): DataTencentcloudReservedInstanceConfigsConfigListStructOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/reserved_instance_configs tencentcloud_reserved_instance_configs} */ export declare class DataTencentcloudReservedInstanceConfigs extends cdktf.TerraformDataSource { static readonly tfResourceType = "tencentcloud_reserved_instance_configs"; /** * Generates CDKTF code for importing a DataTencentcloudReservedInstanceConfigs 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 DataTencentcloudReservedInstanceConfigs to import * @param importFromId The id of the existing DataTencentcloudReservedInstanceConfigs that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/data-sources/reserved_instance_configs#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the DataTencentcloudReservedInstanceConfigs 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/reserved_instance_configs tencentcloud_reserved_instance_configs} 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 DataTencentcloudReservedInstanceConfigsConfig = {} */ constructor(scope: Construct, id: string, config?: DataTencentcloudReservedInstanceConfigsConfig); private _availabilityZone?; get availabilityZone(): string; set availabilityZone(value: string); resetAvailabilityZone(): void; get availabilityZoneInput(): string; private _configList; get configList(): DataTencentcloudReservedInstanceConfigsConfigListStructList; private _duration?; get duration(): number; set duration(value: number); resetDuration(): void; get durationInput(): number; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _instanceType?; get instanceType(): string; set instanceType(value: string); resetInstanceType(): void; get instanceTypeInput(): string; private _offeringType?; get offeringType(): string; set offeringType(value: string); resetOfferingType(): void; get offeringTypeInput(): string; private _productDescription?; get productDescription(): string; set productDescription(value: string); resetProductDescription(): void; get productDescriptionInput(): string; private _resultOutputFile?; get resultOutputFile(): string; set resultOutputFile(value: string); resetResultOutputFile(): void; get resultOutputFileInput(): string; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }