import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface ClsMachineGroupConfig extends cdktf.TerraformMetaArguments { /** * Whether to enable automatic update for the machine group. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cls_machine_group#auto_update ClsMachineGroup#auto_update} */ readonly autoUpdate?: boolean | cdktf.IResolvable; /** * Machine group name, which must be unique. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cls_machine_group#group_name ClsMachineGroup#group_name} */ readonly groupName: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cls_machine_group#id ClsMachineGroup#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; /** * Whether to enable the service log to record the logs generated by the LogListener service itself. After it is enabled, the internal logset cls_service_logging and the loglistener_status, loglistener_alarm, and loglistener_business log topics will be created, which will not incur fees. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cls_machine_group#service_logging ClsMachineGroup#service_logging} */ readonly serviceLogging?: boolean | cdktf.IResolvable; /** * Tag description list. Up to 10 tag key-value pairs are supported and must be unique. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cls_machine_group#tags ClsMachineGroup#tags} */ readonly tags?: { [key: string]: string; }; /** * Update end time. We recommend you update LogListener during off-peak hours. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cls_machine_group#update_end_time ClsMachineGroup#update_end_time} */ readonly updateEndTime?: string; /** * Update start time. We recommend you update LogListener during off-peak hours. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cls_machine_group#update_start_time ClsMachineGroup#update_start_time} */ readonly updateStartTime?: string; /** * machine_group_type block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cls_machine_group#machine_group_type ClsMachineGroup#machine_group_type} */ readonly machineGroupType: ClsMachineGroupMachineGroupType; } export interface ClsMachineGroupMachineGroupType { /** * Machine group type. Valid values: ip: the IP addresses of collection machines are stored in Values of the machine group; label: the tags of the machines are stored in Values of the machine group. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cls_machine_group#type ClsMachineGroup#type} */ readonly type: string; /** * Machine description list. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cls_machine_group#values ClsMachineGroup#values} */ readonly values: string[]; } export declare function clsMachineGroupMachineGroupTypeToTerraform(struct?: ClsMachineGroupMachineGroupTypeOutputReference | ClsMachineGroupMachineGroupType): any; export declare function clsMachineGroupMachineGroupTypeToHclTerraform(struct?: ClsMachineGroupMachineGroupTypeOutputReference | ClsMachineGroupMachineGroupType): any; export declare class ClsMachineGroupMachineGroupTypeOutputReference 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(): ClsMachineGroupMachineGroupType | undefined; set internalValue(value: ClsMachineGroupMachineGroupType | undefined); private _type?; get type(): string; set type(value: string); get typeInput(): string; private _values?; get values(): string[]; set values(value: string[]); get valuesInput(): string[]; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cls_machine_group tencentcloud_cls_machine_group} */ export declare class ClsMachineGroup extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_cls_machine_group"; /** * Generates CDKTF code for importing a ClsMachineGroup 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 ClsMachineGroup to import * @param importFromId The id of the existing ClsMachineGroup that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cls_machine_group#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the ClsMachineGroup 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/cls_machine_group tencentcloud_cls_machine_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 ClsMachineGroupConfig */ constructor(scope: Construct, id: string, config: ClsMachineGroupConfig); private _autoUpdate?; get autoUpdate(): boolean | cdktf.IResolvable; set autoUpdate(value: boolean | cdktf.IResolvable); resetAutoUpdate(): void; get autoUpdateInput(): any; private _groupName?; get groupName(): string; set groupName(value: string); get groupNameInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _serviceLogging?; get serviceLogging(): boolean | cdktf.IResolvable; set serviceLogging(value: boolean | cdktf.IResolvable); resetServiceLogging(): void; get serviceLoggingInput(): any; private _tags?; get tags(): { [key: string]: string; }; set tags(value: { [key: string]: string; }); resetTags(): void; get tagsInput(): { [key: string]: string; }; private _updateEndTime?; get updateEndTime(): string; set updateEndTime(value: string); resetUpdateEndTime(): void; get updateEndTimeInput(): string; private _updateStartTime?; get updateStartTime(): string; set updateStartTime(value: string); resetUpdateStartTime(): void; get updateStartTimeInput(): string; private _machineGroupType; get machineGroupType(): ClsMachineGroupMachineGroupTypeOutputReference; putMachineGroupType(value: ClsMachineGroupMachineGroupType): void; get machineGroupTypeInput(): ClsMachineGroupMachineGroupType; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }