import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface TemScaleRuleConfig extends cdktf.TerraformMetaArguments { /** * application ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tem_scale_rule#application_id TemScaleRule#application_id} */ readonly applicationId: string; /** * environment ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tem_scale_rule#environment_id TemScaleRule#environment_id} */ readonly environmentId: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tem_scale_rule#id TemScaleRule#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; /** * application ID, which is combined by environment ID and application ID, like `en-o5edaepv#app-3j29aa2p`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tem_scale_rule#workload_id TemScaleRule#workload_id} */ readonly workloadId: string; /** * autoscaler block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tem_scale_rule#autoscaler TemScaleRule#autoscaler} */ readonly autoscaler: TemScaleRuleAutoscaler; } export interface TemScaleRuleAutoscalerCronHorizontalAutoscalerSchedules { /** * start time. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tem_scale_rule#start_at TemScaleRule#start_at} */ readonly startAt: string; /** * target replica number. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tem_scale_rule#target_replicas TemScaleRule#target_replicas} */ readonly targetReplicas: number; } export declare function temScaleRuleAutoscalerCronHorizontalAutoscalerSchedulesToTerraform(struct?: TemScaleRuleAutoscalerCronHorizontalAutoscalerSchedules | cdktf.IResolvable): any; export declare function temScaleRuleAutoscalerCronHorizontalAutoscalerSchedulesToHclTerraform(struct?: TemScaleRuleAutoscalerCronHorizontalAutoscalerSchedules | cdktf.IResolvable): any; export declare class TemScaleRuleAutoscalerCronHorizontalAutoscalerSchedulesOutputReference 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(): TemScaleRuleAutoscalerCronHorizontalAutoscalerSchedules | cdktf.IResolvable | undefined; set internalValue(value: TemScaleRuleAutoscalerCronHorizontalAutoscalerSchedules | cdktf.IResolvable | undefined); private _startAt?; get startAt(): string; set startAt(value: string); get startAtInput(): string; private _targetReplicas?; get targetReplicas(): number; set targetReplicas(value: number); get targetReplicasInput(): number; } export declare class TemScaleRuleAutoscalerCronHorizontalAutoscalerSchedulesList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: TemScaleRuleAutoscalerCronHorizontalAutoscalerSchedules[] | 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): TemScaleRuleAutoscalerCronHorizontalAutoscalerSchedulesOutputReference; } export interface TemScaleRuleAutoscalerCronHorizontalAutoscaler { /** * enable scaler. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tem_scale_rule#enabled TemScaleRule#enabled} */ readonly enabled: boolean | cdktf.IResolvable; /** * name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tem_scale_rule#name TemScaleRule#name} */ readonly name: string; /** * period. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tem_scale_rule#period TemScaleRule#period} */ readonly period: string; /** * priority. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tem_scale_rule#priority TemScaleRule#priority} */ readonly priority: number; /** * schedules block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tem_scale_rule#schedules TemScaleRule#schedules} */ readonly schedules: TemScaleRuleAutoscalerCronHorizontalAutoscalerSchedules[] | cdktf.IResolvable; } export declare function temScaleRuleAutoscalerCronHorizontalAutoscalerToTerraform(struct?: TemScaleRuleAutoscalerCronHorizontalAutoscaler | cdktf.IResolvable): any; export declare function temScaleRuleAutoscalerCronHorizontalAutoscalerToHclTerraform(struct?: TemScaleRuleAutoscalerCronHorizontalAutoscaler | cdktf.IResolvable): any; export declare class TemScaleRuleAutoscalerCronHorizontalAutoscalerOutputReference 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(): TemScaleRuleAutoscalerCronHorizontalAutoscaler | cdktf.IResolvable | undefined; set internalValue(value: TemScaleRuleAutoscalerCronHorizontalAutoscaler | cdktf.IResolvable | undefined); private _enabled?; get enabled(): boolean | cdktf.IResolvable; set enabled(value: boolean | cdktf.IResolvable); get enabledInput(): any; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _period?; get period(): string; set period(value: string); get periodInput(): string; private _priority?; get priority(): number; set priority(value: number); get priorityInput(): number; private _schedules; get schedules(): TemScaleRuleAutoscalerCronHorizontalAutoscalerSchedulesList; putSchedules(value: TemScaleRuleAutoscalerCronHorizontalAutoscalerSchedules[] | cdktf.IResolvable): void; get schedulesInput(): any; } export declare class TemScaleRuleAutoscalerCronHorizontalAutoscalerList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: TemScaleRuleAutoscalerCronHorizontalAutoscaler[] | 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): TemScaleRuleAutoscalerCronHorizontalAutoscalerOutputReference; } export interface TemScaleRuleAutoscalerHorizontalAutoscaler { /** * enable scaler. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tem_scale_rule#enabled TemScaleRule#enabled} */ readonly enabled: boolean | cdktf.IResolvable; /** * maximal replica number. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tem_scale_rule#max_replicas TemScaleRule#max_replicas} */ readonly maxReplicas: number; /** * metric name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tem_scale_rule#metrics TemScaleRule#metrics} */ readonly metrics: string; /** * minimal replica number. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tem_scale_rule#min_replicas TemScaleRule#min_replicas} */ readonly minReplicas: number; /** * metric threshold. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tem_scale_rule#threshold TemScaleRule#threshold} */ readonly threshold: number; } export declare function temScaleRuleAutoscalerHorizontalAutoscalerToTerraform(struct?: TemScaleRuleAutoscalerHorizontalAutoscaler | cdktf.IResolvable): any; export declare function temScaleRuleAutoscalerHorizontalAutoscalerToHclTerraform(struct?: TemScaleRuleAutoscalerHorizontalAutoscaler | cdktf.IResolvable): any; export declare class TemScaleRuleAutoscalerHorizontalAutoscalerOutputReference 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(): TemScaleRuleAutoscalerHorizontalAutoscaler | cdktf.IResolvable | undefined; set internalValue(value: TemScaleRuleAutoscalerHorizontalAutoscaler | cdktf.IResolvable | undefined); private _enabled?; get enabled(): boolean | cdktf.IResolvable; set enabled(value: boolean | cdktf.IResolvable); get enabledInput(): any; private _maxReplicas?; get maxReplicas(): number; set maxReplicas(value: number); get maxReplicasInput(): number; private _metrics?; get metrics(): string; set metrics(value: string); get metricsInput(): string; private _minReplicas?; get minReplicas(): number; set minReplicas(value: number); get minReplicasInput(): number; private _threshold?; get threshold(): number; set threshold(value: number); get thresholdInput(): number; } export declare class TemScaleRuleAutoscalerHorizontalAutoscalerList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: TemScaleRuleAutoscalerHorizontalAutoscaler[] | 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): TemScaleRuleAutoscalerHorizontalAutoscalerOutputReference; } export interface TemScaleRuleAutoscaler { /** * name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tem_scale_rule#autoscaler_name TemScaleRule#autoscaler_name} */ readonly autoscalerName: string; /** * description. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tem_scale_rule#description TemScaleRule#description} */ readonly description?: string; /** * enable AutoScaler. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tem_scale_rule#enabled TemScaleRule#enabled} */ readonly enabled: boolean | cdktf.IResolvable; /** * maximal replica number. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tem_scale_rule#max_replicas TemScaleRule#max_replicas} */ readonly maxReplicas: number; /** * minimal replica number. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tem_scale_rule#min_replicas TemScaleRule#min_replicas} */ readonly minReplicas: number; /** * cron_horizontal_autoscaler block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tem_scale_rule#cron_horizontal_autoscaler TemScaleRule#cron_horizontal_autoscaler} */ readonly cronHorizontalAutoscaler?: TemScaleRuleAutoscalerCronHorizontalAutoscaler[] | cdktf.IResolvable; /** * horizontal_autoscaler block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tem_scale_rule#horizontal_autoscaler TemScaleRule#horizontal_autoscaler} */ readonly horizontalAutoscaler?: TemScaleRuleAutoscalerHorizontalAutoscaler[] | cdktf.IResolvable; } export declare function temScaleRuleAutoscalerToTerraform(struct?: TemScaleRuleAutoscalerOutputReference | TemScaleRuleAutoscaler): any; export declare function temScaleRuleAutoscalerToHclTerraform(struct?: TemScaleRuleAutoscalerOutputReference | TemScaleRuleAutoscaler): any; export declare class TemScaleRuleAutoscalerOutputReference 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(): TemScaleRuleAutoscaler | undefined; set internalValue(value: TemScaleRuleAutoscaler | undefined); private _autoscalerName?; get autoscalerName(): string; set autoscalerName(value: string); get autoscalerNameInput(): string; private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string; private _enabled?; get enabled(): boolean | cdktf.IResolvable; set enabled(value: boolean | cdktf.IResolvable); get enabledInput(): any; private _maxReplicas?; get maxReplicas(): number; set maxReplicas(value: number); get maxReplicasInput(): number; private _minReplicas?; get minReplicas(): number; set minReplicas(value: number); get minReplicasInput(): number; private _cronHorizontalAutoscaler; get cronHorizontalAutoscaler(): TemScaleRuleAutoscalerCronHorizontalAutoscalerList; putCronHorizontalAutoscaler(value: TemScaleRuleAutoscalerCronHorizontalAutoscaler[] | cdktf.IResolvable): void; resetCronHorizontalAutoscaler(): void; get cronHorizontalAutoscalerInput(): any; private _horizontalAutoscaler; get horizontalAutoscaler(): TemScaleRuleAutoscalerHorizontalAutoscalerList; putHorizontalAutoscaler(value: TemScaleRuleAutoscalerHorizontalAutoscaler[] | cdktf.IResolvable): void; resetHorizontalAutoscaler(): void; get horizontalAutoscalerInput(): any; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tem_scale_rule tencentcloud_tem_scale_rule} */ export declare class TemScaleRule extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_tem_scale_rule"; /** * Generates CDKTF code for importing a TemScaleRule 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 TemScaleRule to import * @param importFromId The id of the existing TemScaleRule that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/tem_scale_rule#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the TemScaleRule 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/tem_scale_rule tencentcloud_tem_scale_rule} 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 TemScaleRuleConfig */ constructor(scope: Construct, id: string, config: TemScaleRuleConfig); private _applicationId?; get applicationId(): string; set applicationId(value: string); get applicationIdInput(): string; private _environmentId?; get environmentId(): string; set environmentId(value: string); get environmentIdInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _workloadId?; get workloadId(): string; set workloadId(value: string); get workloadIdInput(): string; private _autoscaler; get autoscaler(): TemScaleRuleAutoscalerOutputReference; putAutoscaler(value: TemScaleRuleAutoscaler): void; get autoscalerInput(): TemScaleRuleAutoscaler; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }