import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface BillingBudgetConfig extends cdktf.TerraformMetaArguments { /** * BILL: system bill, CONSUMPTION: consumption bill. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/billing_budget#bill_type BillingBudget#bill_type} */ readonly billType: string; /** * Budget name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/billing_budget#budget_name BillingBudget#budget_name} */ readonly budgetName: string; /** * Budget remarks. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/billing_budget#budget_note BillingBudget#budget_note} */ readonly budgetNote?: string; /** * Budget value limit. Transfer fixed value when the budget plan type is FIX(Fixed Budget); Passed when the budget plan type is CYCLE(Planned Budget)[{"dateDesc":"2025-07","quota":"1000"},{"dateDesc":"2025-08","quota":"2000"}]. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/billing_budget#budget_quota BillingBudget#budget_quota} */ readonly budgetQuota: string; /** * Cycle type, valid values: DAY, MONTH, QUARTER, YEAR. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/billing_budget#cycle_type BillingBudget#cycle_type} */ readonly cycleType: string; /** * COST original price, REAL_COST actual cost, CASH cash, INCENTIVE gift, VOUCHER voucher, TRANSFER share, TAX tax, AMOUNT_BEFORE_TAX cash payment (before tax). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/billing_budget#fee_type BillingBudget#fee_type} */ readonly feeType: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/billing_budget#id BillingBudget#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; /** * Valid period starting time 2025-01-01(cycle: days) / 2025-01 (cycle: months). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/billing_budget#period_begin BillingBudget#period_begin} */ readonly periodBegin: string; /** * Expiration period end time 2025-12-01(cycle: days) / 2025-12 (cycle: months). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/billing_budget#period_end BillingBudget#period_end} */ readonly periodEnd: string; /** * FIX: fixed budget, CYCLE: planned budget. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/billing_budget#plan_type BillingBudget#plan_type} */ readonly planType: string; /** * dimensions_range block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/billing_budget#dimensions_range BillingBudget#dimensions_range} */ readonly dimensionsRange?: BillingBudgetDimensionsRange; /** * warn_json block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/billing_budget#warn_json BillingBudget#warn_json} */ readonly warnJson: BillingBudgetWarnJson[] | cdktf.IResolvable; /** * wave_threshold_json block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/billing_budget#wave_threshold_json BillingBudget#wave_threshold_json} */ readonly waveThresholdJson?: BillingBudgetWaveThresholdJson[] | cdktf.IResolvable; } export interface BillingBudgetDimensionsRangeTags { /** * Tag key. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/billing_budget#tag_key BillingBudget#tag_key} */ readonly tagKey?: string; /** * Tag value. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/billing_budget#tag_value BillingBudget#tag_value} */ readonly tagValue?: string[]; } export declare function billingBudgetDimensionsRangeTagsToTerraform(struct?: BillingBudgetDimensionsRangeTags | cdktf.IResolvable): any; export declare function billingBudgetDimensionsRangeTagsToHclTerraform(struct?: BillingBudgetDimensionsRangeTags | cdktf.IResolvable): any; export declare class BillingBudgetDimensionsRangeTagsOutputReference 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(): BillingBudgetDimensionsRangeTags | cdktf.IResolvable | undefined; set internalValue(value: BillingBudgetDimensionsRangeTags | cdktf.IResolvable | undefined); private _tagKey?; get tagKey(): string; set tagKey(value: string); resetTagKey(): void; get tagKeyInput(): string; private _tagValue?; get tagValue(): string[]; set tagValue(value: string[]); resetTagValue(): void; get tagValueInput(): string[]; } export declare class BillingBudgetDimensionsRangeTagsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: BillingBudgetDimensionsRangeTags[] | 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): BillingBudgetDimensionsRangeTagsOutputReference; } export interface BillingBudgetDimensionsRange { /** * Action types. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/billing_budget#action_types BillingBudget#action_types} */ readonly actionTypes?: string[]; /** * Products. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/billing_budget#business BillingBudget#business} */ readonly business?: string[]; /** * Component codes. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/billing_budget#component_codes BillingBudget#component_codes} */ readonly componentCodes?: string[]; /** * Consumption types. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/billing_budget#consumption_types BillingBudget#consumption_types} */ readonly consumptionTypes?: string[]; /** * Owner uins. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/billing_budget#owner_uins BillingBudget#owner_uins} */ readonly ownerUins?: string[]; /** * Pay mode. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/billing_budget#pay_mode BillingBudget#pay_mode} */ readonly payMode?: string[]; /** * Payer uins. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/billing_budget#payer_uins BillingBudget#payer_uins} */ readonly payerUins?: string[]; /** * Sub-product. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/billing_budget#product_codes BillingBudget#product_codes} */ readonly productCodes?: string[]; /** * Project ids. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/billing_budget#project_ids BillingBudget#project_ids} */ readonly projectIds?: string[]; /** * Region ids. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/billing_budget#region_ids BillingBudget#region_ids} */ readonly regionIds?: string[]; /** * Unique key for end-level ledger unit. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/billing_budget#tree_node_uniq_keys BillingBudget#tree_node_uniq_keys} */ readonly treeNodeUniqKeys?: string[]; /** * Zone ids. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/billing_budget#zone_ids BillingBudget#zone_ids} */ readonly zoneIds?: string[]; /** * tags block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/billing_budget#tags BillingBudget#tags} */ readonly tags?: BillingBudgetDimensionsRangeTags[] | cdktf.IResolvable; } export declare function billingBudgetDimensionsRangeToTerraform(struct?: BillingBudgetDimensionsRangeOutputReference | BillingBudgetDimensionsRange): any; export declare function billingBudgetDimensionsRangeToHclTerraform(struct?: BillingBudgetDimensionsRangeOutputReference | BillingBudgetDimensionsRange): any; export declare class BillingBudgetDimensionsRangeOutputReference 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(): BillingBudgetDimensionsRange | undefined; set internalValue(value: BillingBudgetDimensionsRange | undefined); private _actionTypes?; get actionTypes(): string[]; set actionTypes(value: string[]); resetActionTypes(): void; get actionTypesInput(): string[]; private _business?; get business(): string[]; set business(value: string[]); resetBusiness(): void; get businessInput(): string[]; private _componentCodes?; get componentCodes(): string[]; set componentCodes(value: string[]); resetComponentCodes(): void; get componentCodesInput(): string[]; private _consumptionTypes?; get consumptionTypes(): string[]; set consumptionTypes(value: string[]); resetConsumptionTypes(): void; get consumptionTypesInput(): string[]; private _ownerUins?; get ownerUins(): string[]; set ownerUins(value: string[]); resetOwnerUins(): void; get ownerUinsInput(): string[]; private _payMode?; get payMode(): string[]; set payMode(value: string[]); resetPayMode(): void; get payModeInput(): string[]; private _payerUins?; get payerUins(): string[]; set payerUins(value: string[]); resetPayerUins(): void; get payerUinsInput(): string[]; private _productCodes?; get productCodes(): string[]; set productCodes(value: string[]); resetProductCodes(): void; get productCodesInput(): string[]; private _projectIds?; get projectIds(): string[]; set projectIds(value: string[]); resetProjectIds(): void; get projectIdsInput(): string[]; private _regionIds?; get regionIds(): string[]; set regionIds(value: string[]); resetRegionIds(): void; get regionIdsInput(): string[]; private _treeNodeUniqKeys?; get treeNodeUniqKeys(): string[]; set treeNodeUniqKeys(value: string[]); resetTreeNodeUniqKeys(): void; get treeNodeUniqKeysInput(): string[]; private _zoneIds?; get zoneIds(): string[]; set zoneIds(value: string[]); resetZoneIds(): void; get zoneIdsInput(): string[]; private _tags; get tags(): BillingBudgetDimensionsRangeTagsList; putTags(value: BillingBudgetDimensionsRangeTags[] | cdktf.IResolvable): void; resetTags(): void; get tagsInput(): any; } export interface BillingBudgetWarnJson { /** * PERCENTAGE: Percentage of budget amount, ABS: fixed value. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/billing_budget#cal_type BillingBudget#cal_type} */ readonly calType: string; /** * Threshold (greater than or equal to 0). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/billing_budget#threshold_value BillingBudget#threshold_value} */ readonly thresholdValue: string; /** * ACTUAL: actual amount, FORECAST: forecast amount. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/billing_budget#warn_type BillingBudget#warn_type} */ readonly warnType: string; } export declare function billingBudgetWarnJsonToTerraform(struct?: BillingBudgetWarnJson | cdktf.IResolvable): any; export declare function billingBudgetWarnJsonToHclTerraform(struct?: BillingBudgetWarnJson | cdktf.IResolvable): any; export declare class BillingBudgetWarnJsonOutputReference 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(): BillingBudgetWarnJson | cdktf.IResolvable | undefined; set internalValue(value: BillingBudgetWarnJson | cdktf.IResolvable | undefined); private _calType?; get calType(): string; set calType(value: string); get calTypeInput(): string; private _thresholdValue?; get thresholdValue(): string; set thresholdValue(value: string); get thresholdValueInput(): string; private _warnType?; get warnType(): string; set warnType(value: string); get warnTypeInput(): string; } export declare class BillingBudgetWarnJsonList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: BillingBudgetWarnJson[] | 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): BillingBudgetWarnJsonOutputReference; } export interface BillingBudgetWaveThresholdJson { /** * Alarm type: chain month-on-month, yoy year-on-year, fix fixed value * (Supported types: daily month-on-month chain day, daily month-on-year chain weekday, daily month-on-year monthly month-on-year fixed value fix day, month-on-month chain month, monthly fixed value fix month). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/billing_budget#meta_type BillingBudget#meta_type} */ readonly metaType?: string; /** * Alarm dimension: day day, month month, weekday week * (Support types: day-to-day chain day, day-to-year weekly dimension chain weekday, day-to-year monthly dimension yoy day, daily fixed value fix day, month-to-month chain month, monthly fixed value fix month). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/billing_budget#period_type BillingBudget#period_type} */ readonly periodType?: string; /** * Volatility threshold (greater than or equal to 0). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/billing_budget#threshold BillingBudget#threshold} */ readonly threshold?: string; /** * ACTUAL: actual amount, FORECAST: forecast amount. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/billing_budget#warn_type BillingBudget#warn_type} */ readonly warnType?: string; } export declare function billingBudgetWaveThresholdJsonToTerraform(struct?: BillingBudgetWaveThresholdJson | cdktf.IResolvable): any; export declare function billingBudgetWaveThresholdJsonToHclTerraform(struct?: BillingBudgetWaveThresholdJson | cdktf.IResolvable): any; export declare class BillingBudgetWaveThresholdJsonOutputReference 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(): BillingBudgetWaveThresholdJson | cdktf.IResolvable | undefined; set internalValue(value: BillingBudgetWaveThresholdJson | cdktf.IResolvable | undefined); private _metaType?; get metaType(): string; set metaType(value: string); resetMetaType(): void; get metaTypeInput(): string; private _periodType?; get periodType(): string; set periodType(value: string); resetPeriodType(): void; get periodTypeInput(): string; private _threshold?; get threshold(): string; set threshold(value: string); resetThreshold(): void; get thresholdInput(): string; private _warnType?; get warnType(): string; set warnType(value: string); resetWarnType(): void; get warnTypeInput(): string; } export declare class BillingBudgetWaveThresholdJsonList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: BillingBudgetWaveThresholdJson[] | 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): BillingBudgetWaveThresholdJsonOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/billing_budget tencentcloud_billing_budget} */ export declare class BillingBudget extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_billing_budget"; /** * Generates CDKTF code for importing a BillingBudget 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 BillingBudget to import * @param importFromId The id of the existing BillingBudget that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/billing_budget#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the BillingBudget 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/billing_budget tencentcloud_billing_budget} 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 BillingBudgetConfig */ constructor(scope: Construct, id: string, config: BillingBudgetConfig); private _billType?; get billType(): string; set billType(value: string); get billTypeInput(): string; private _budgetName?; get budgetName(): string; set budgetName(value: string); get budgetNameInput(): string; private _budgetNote?; get budgetNote(): string; set budgetNote(value: string); resetBudgetNote(): void; get budgetNoteInput(): string; private _budgetQuota?; get budgetQuota(): string; set budgetQuota(value: string); get budgetQuotaInput(): string; private _cycleType?; get cycleType(): string; set cycleType(value: string); get cycleTypeInput(): string; private _feeType?; get feeType(): string; set feeType(value: string); get feeTypeInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _periodBegin?; get periodBegin(): string; set periodBegin(value: string); get periodBeginInput(): string; private _periodEnd?; get periodEnd(): string; set periodEnd(value: string); get periodEndInput(): string; private _planType?; get planType(): string; set planType(value: string); get planTypeInput(): string; private _dimensionsRange; get dimensionsRange(): BillingBudgetDimensionsRangeOutputReference; putDimensionsRange(value: BillingBudgetDimensionsRange): void; resetDimensionsRange(): void; get dimensionsRangeInput(): BillingBudgetDimensionsRange; private _warnJson; get warnJson(): BillingBudgetWarnJsonList; putWarnJson(value: BillingBudgetWarnJson[] | cdktf.IResolvable): void; get warnJsonInput(): any; private _waveThresholdJson; get waveThresholdJson(): BillingBudgetWaveThresholdJsonList; putWaveThresholdJson(value: BillingBudgetWaveThresholdJson[] | cdktf.IResolvable): void; resetWaveThresholdJson(): void; get waveThresholdJsonInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }