import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface MonitorTmpAlertGroupConfig extends cdktf.TerraformMetaArguments { /** * Tencent cloud notification template id list. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/monitor_tmp_alert_group#amp_receivers MonitorTmpAlertGroup#amp_receivers} */ readonly ampReceivers?: string[]; /** * Unique alert group name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/monitor_tmp_alert_group#group_name MonitorTmpAlertGroup#group_name} */ readonly groupName?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/monitor_tmp_alert_group#id MonitorTmpAlertGroup#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 id. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/monitor_tmp_alert_group#instance_id MonitorTmpAlertGroup#instance_id} */ readonly instanceId?: string; /** * Alert message send interval, default 1 hour. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/monitor_tmp_alert_group#repeat_interval MonitorTmpAlertGroup#repeat_interval} */ readonly repeatInterval?: string; /** * custom_receiver block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/monitor_tmp_alert_group#custom_receiver MonitorTmpAlertGroup#custom_receiver} */ readonly customReceiver?: MonitorTmpAlertGroupCustomReceiver; /** * rules block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/monitor_tmp_alert_group#rules MonitorTmpAlertGroup#rules} */ readonly rules?: MonitorTmpAlertGroupRules[] | cdktf.IResolvable; } export interface MonitorTmpAlertGroupCustomReceiverAllowedTimeRanges { /** * Time range end, seconds since 0 o'clock. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/monitor_tmp_alert_group#end MonitorTmpAlertGroup#end} */ readonly end?: string; /** * Time range start, seconds since 0 o'clock. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/monitor_tmp_alert_group#start MonitorTmpAlertGroup#start} */ readonly start?: string; } export declare function monitorTmpAlertGroupCustomReceiverAllowedTimeRangesToTerraform(struct?: MonitorTmpAlertGroupCustomReceiverAllowedTimeRanges | cdktf.IResolvable): any; export declare function monitorTmpAlertGroupCustomReceiverAllowedTimeRangesToHclTerraform(struct?: MonitorTmpAlertGroupCustomReceiverAllowedTimeRanges | cdktf.IResolvable): any; export declare class MonitorTmpAlertGroupCustomReceiverAllowedTimeRangesOutputReference 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(): MonitorTmpAlertGroupCustomReceiverAllowedTimeRanges | cdktf.IResolvable | undefined; set internalValue(value: MonitorTmpAlertGroupCustomReceiverAllowedTimeRanges | cdktf.IResolvable | undefined); private _end?; get end(): string; set end(value: string); resetEnd(): void; get endInput(): string; private _start?; get start(): string; set start(value: string); resetStart(): void; get startInput(): string; } export declare class MonitorTmpAlertGroupCustomReceiverAllowedTimeRangesList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: MonitorTmpAlertGroupCustomReceiverAllowedTimeRanges[] | 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): MonitorTmpAlertGroupCustomReceiverAllowedTimeRangesOutputReference; } export interface MonitorTmpAlertGroupCustomReceiver { /** * Only effect when alertmanager in user cluster, this cluster id. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/monitor_tmp_alert_group#cluster_id MonitorTmpAlertGroup#cluster_id} */ readonly clusterId?: string; /** * Only effect when alertmanager in user cluster, this cluster type (tke|eks|tdcc). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/monitor_tmp_alert_group#cluster_type MonitorTmpAlertGroup#cluster_type} */ readonly clusterType?: string; /** * Custom receiver type, webhook|alertmanager. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/monitor_tmp_alert_group#type MonitorTmpAlertGroup#type} */ readonly type?: string; /** * Custom receiver address, can be accessed by process in prometheus instance subnet. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/monitor_tmp_alert_group#url MonitorTmpAlertGroup#url} */ readonly url?: string; /** * allowed_time_ranges block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/monitor_tmp_alert_group#allowed_time_ranges MonitorTmpAlertGroup#allowed_time_ranges} */ readonly allowedTimeRanges?: MonitorTmpAlertGroupCustomReceiverAllowedTimeRanges[] | cdktf.IResolvable; } export declare function monitorTmpAlertGroupCustomReceiverToTerraform(struct?: MonitorTmpAlertGroupCustomReceiverOutputReference | MonitorTmpAlertGroupCustomReceiver): any; export declare function monitorTmpAlertGroupCustomReceiverToHclTerraform(struct?: MonitorTmpAlertGroupCustomReceiverOutputReference | MonitorTmpAlertGroupCustomReceiver): any; export declare class MonitorTmpAlertGroupCustomReceiverOutputReference 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(): MonitorTmpAlertGroupCustomReceiver | undefined; set internalValue(value: MonitorTmpAlertGroupCustomReceiver | undefined); private _clusterId?; get clusterId(): string; set clusterId(value: string); resetClusterId(): void; get clusterIdInput(): string; private _clusterType?; get clusterType(): string; set clusterType(value: string); resetClusterType(): void; get clusterTypeInput(): string; private _type?; get type(): string; set type(value: string); resetType(): void; get typeInput(): string; private _url?; get url(): string; set url(value: string); resetUrl(): void; get urlInput(): string; private _allowedTimeRanges; get allowedTimeRanges(): MonitorTmpAlertGroupCustomReceiverAllowedTimeRangesList; putAllowedTimeRanges(value: MonitorTmpAlertGroupCustomReceiverAllowedTimeRanges[] | cdktf.IResolvable): void; resetAllowedTimeRanges(): void; get allowedTimeRangesInput(): any; } export interface MonitorTmpAlertGroupRules { /** * Annotation of alert rule. `summary`, `description` is special annotation in prometheus, mapping `Alarm Object`, `Alarm Information` in alarm message. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/monitor_tmp_alert_group#annotations MonitorTmpAlertGroup#annotations} */ readonly annotations?: { [key: string]: string; }; /** * Rule alarm duration. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/monitor_tmp_alert_group#duration MonitorTmpAlertGroup#duration} */ readonly duration?: string; /** * Prometheus alert expression. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/monitor_tmp_alert_group#expr MonitorTmpAlertGroup#expr} */ readonly expr?: string; /** * Labels of alert rule. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/monitor_tmp_alert_group#labels MonitorTmpAlertGroup#labels} */ readonly labels?: { [key: string]: string; }; /** * Alert rule name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/monitor_tmp_alert_group#rule_name MonitorTmpAlertGroup#rule_name} */ readonly ruleName?: string; /** * Rule state. `2`-enable, `3`-disable, default `2`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/monitor_tmp_alert_group#state MonitorTmpAlertGroup#state} */ readonly state?: number; } export declare function monitorTmpAlertGroupRulesToTerraform(struct?: MonitorTmpAlertGroupRules | cdktf.IResolvable): any; export declare function monitorTmpAlertGroupRulesToHclTerraform(struct?: MonitorTmpAlertGroupRules | cdktf.IResolvable): any; export declare class MonitorTmpAlertGroupRulesOutputReference 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(): MonitorTmpAlertGroupRules | cdktf.IResolvable | undefined; set internalValue(value: MonitorTmpAlertGroupRules | cdktf.IResolvable | undefined); private _annotations?; get annotations(): { [key: string]: string; }; set annotations(value: { [key: string]: string; }); resetAnnotations(): void; get annotationsInput(): { [key: string]: string; }; private _duration?; get duration(): string; set duration(value: string); resetDuration(): void; get durationInput(): string; private _expr?; get expr(): string; set expr(value: string); resetExpr(): void; get exprInput(): string; private _labels?; get labels(): { [key: string]: string; }; set labels(value: { [key: string]: string; }); resetLabels(): void; get labelsInput(): { [key: string]: string; }; private _ruleName?; get ruleName(): string; set ruleName(value: string); resetRuleName(): void; get ruleNameInput(): string; private _state?; get state(): number; set state(value: number); resetState(): void; get stateInput(): number; } export declare class MonitorTmpAlertGroupRulesList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: MonitorTmpAlertGroupRules[] | 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): MonitorTmpAlertGroupRulesOutputReference; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/monitor_tmp_alert_group tencentcloud_monitor_tmp_alert_group} */ export declare class MonitorTmpAlertGroup extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_monitor_tmp_alert_group"; /** * Generates CDKTF code for importing a MonitorTmpAlertGroup 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 MonitorTmpAlertGroup to import * @param importFromId The id of the existing MonitorTmpAlertGroup that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/monitor_tmp_alert_group#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the MonitorTmpAlertGroup 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/monitor_tmp_alert_group tencentcloud_monitor_tmp_alert_group} 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 MonitorTmpAlertGroupConfig = {} */ constructor(scope: Construct, id: string, config?: MonitorTmpAlertGroupConfig); private _ampReceivers?; get ampReceivers(): string[]; set ampReceivers(value: string[]); resetAmpReceivers(): void; get ampReceiversInput(): string[]; get groupId(): any; private _groupName?; get groupName(): string; set groupName(value: string); resetGroupName(): void; get groupNameInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _instanceId?; get instanceId(): string; set instanceId(value: string); resetInstanceId(): void; get instanceIdInput(): string; private _repeatInterval?; get repeatInterval(): string; set repeatInterval(value: string); resetRepeatInterval(): void; get repeatIntervalInput(): string; private _customReceiver; get customReceiver(): MonitorTmpAlertGroupCustomReceiverOutputReference; putCustomReceiver(value: MonitorTmpAlertGroupCustomReceiver): void; resetCustomReceiver(): void; get customReceiverInput(): MonitorTmpAlertGroupCustomReceiver; private _rules; get rules(): MonitorTmpAlertGroupRulesList; putRules(value: MonitorTmpAlertGroupRules[] | cdktf.IResolvable): void; resetRules(): void; get rulesInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }