import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface ClsConfigConfig extends cdktf.TerraformMetaArguments { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cls_config#id ClsConfig#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; /** * Type of the log to be collected. Valid values: json_log: log in JSON format; delimiter_log: log in delimited format; minimalist_log: minimalist log; multiline_log: log in multi-line format; fullregex_log: log in full regex format. Default value: minimalist_log. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cls_config#log_type ClsConfig#log_type} */ readonly logType?: string; /** * Collection configuration name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cls_config#name ClsConfig#name} */ readonly name: string; /** * Log topic ID (TopicId) of collection configuration. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cls_config#output ClsConfig#output} */ readonly output?: string; /** * Log collection path containing the filename. Required for document collection. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cls_config#path ClsConfig#path} */ readonly path?: string; /** * Custom collection rule, which is a serialized JSON string. Required when LogType is user_define_log. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cls_config#user_define_rule ClsConfig#user_define_rule} */ readonly userDefineRule?: string; /** * exclude_paths block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cls_config#exclude_paths ClsConfig#exclude_paths} */ readonly excludePaths?: ClsConfigExcludePaths[] | cdktf.IResolvable; /** * extract_rule block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cls_config#extract_rule ClsConfig#extract_rule} */ readonly extractRule: ClsConfigExtractRule; } export interface ClsConfigExcludePaths { /** * Type. Valid values: File, Path. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cls_config#type ClsConfig#type} */ readonly type?: string; /** * Specific content corresponding to Type. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cls_config#value ClsConfig#value} */ readonly value?: string; } export declare function clsConfigExcludePathsToTerraform(struct?: ClsConfigExcludePaths | cdktf.IResolvable): any; export declare function clsConfigExcludePathsToHclTerraform(struct?: ClsConfigExcludePaths | cdktf.IResolvable): any; export declare class ClsConfigExcludePathsOutputReference 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(): ClsConfigExcludePaths | cdktf.IResolvable | undefined; set internalValue(value: ClsConfigExcludePaths | cdktf.IResolvable | undefined); private _type?; get type(): string; set type(value: string); resetType(): void; get typeInput(): string; private _value?; get value(): string; set value(value: string); resetValue(): void; get valueInput(): string; } export declare class ClsConfigExcludePathsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: ClsConfigExcludePaths[] | 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): ClsConfigExcludePathsOutputReference; } export interface ClsConfigExtractRuleFilterKeyRegex { /** * Log key to be filtered. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cls_config#key ClsConfig#key} */ readonly key?: string; /** * Filter rule regex corresponding to key. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cls_config#regex ClsConfig#regex} */ readonly regex?: string; } export declare function clsConfigExtractRuleFilterKeyRegexToTerraform(struct?: ClsConfigExtractRuleFilterKeyRegex | cdktf.IResolvable): any; export declare function clsConfigExtractRuleFilterKeyRegexToHclTerraform(struct?: ClsConfigExtractRuleFilterKeyRegex | cdktf.IResolvable): any; export declare class ClsConfigExtractRuleFilterKeyRegexOutputReference 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(): ClsConfigExtractRuleFilterKeyRegex | cdktf.IResolvable | undefined; set internalValue(value: ClsConfigExtractRuleFilterKeyRegex | cdktf.IResolvable | undefined); private _key?; get key(): string; set key(value: string); resetKey(): void; get keyInput(): string; private _regex?; get regex(): string; set regex(value: string); resetRegex(): void; get regexInput(): string; } export declare class ClsConfigExtractRuleFilterKeyRegexList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: ClsConfigExtractRuleFilterKeyRegex[] | 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): ClsConfigExtractRuleFilterKeyRegexOutputReference; } export interface ClsConfigExtractRuleMetaTags { /** * tag key. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cls_config#key ClsConfig#key} */ readonly key?: string; /** * tag value. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cls_config#value ClsConfig#value} */ readonly value?: string; } export declare function clsConfigExtractRuleMetaTagsToTerraform(struct?: ClsConfigExtractRuleMetaTags | cdktf.IResolvable): any; export declare function clsConfigExtractRuleMetaTagsToHclTerraform(struct?: ClsConfigExtractRuleMetaTags | cdktf.IResolvable): any; export declare class ClsConfigExtractRuleMetaTagsOutputReference 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(): ClsConfigExtractRuleMetaTags | cdktf.IResolvable | undefined; set internalValue(value: ClsConfigExtractRuleMetaTags | cdktf.IResolvable | undefined); private _key?; get key(): string; set key(value: string); resetKey(): void; get keyInput(): string; private _value?; get value(): string; set value(value: string); resetValue(): void; get valueInput(): string; } export declare class ClsConfigExtractRuleMetaTagsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: ClsConfigExtractRuleMetaTags[] | 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): ClsConfigExtractRuleMetaTagsOutputReference; } export interface ClsConfigExtractRule { /** * syslog system log collection specifies the address and port that the collector listens to. This parameter is only valid when LogType is service_syslog. It does not need to be filled in for other types. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cls_config#address ClsConfig#address} */ readonly address?: string; /** * Size of the data to be rewound in incremental collection mode. Default value: -1 (full collection). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cls_config#backtracking ClsConfig#backtracking} */ readonly backtracking?: number; /** * First-Line matching rule, which is valid only if log_type is multiline_log or fullregex_log. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cls_config#begin_regex ClsConfig#begin_regex} */ readonly beginRegex?: string; /** * Delimiter for delimited log, which is valid only if log_type is delimiter_log. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cls_config#delimiter ClsConfig#delimiter} */ readonly delimiter?: string; /** * GBK encoding. Default 0. Note: - Currently, when the value is 0, it means UTF-8 encoding. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cls_config#is_gbk ClsConfig#is_gbk} */ readonly isGbk?: number; /** * standard json. Default 0. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cls_config#json_standard ClsConfig#json_standard} */ readonly jsonStandard?: number; /** * Key name of each extracted field. An empty key indicates to discard the field. This parameter is valid only if log_type is delimiter_log. json_log logs use the key of JSON itself. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cls_config#keys ClsConfig#keys} */ readonly keys?: string[]; /** * Full log matching rule, which is valid only if log_type is fullregex_log. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cls_config#log_regex ClsConfig#log_regex} */ readonly logRegex?: string; /** * metadata type. 0: Do not use metadata information; 1: Use machine group metadata; 2: Use user-defined metadata; 3: Use collection configuration path. Note: COS import does not support this field. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cls_config#metadata_type ClsConfig#metadata_type} */ readonly metadataType?: number; /** * parse protocol. This parameter is only valid when LogType is service_syslog. It does not need to be filled in for other types. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cls_config#parse_protocol ClsConfig#parse_protocol} */ readonly parseProtocol?: string; /** * metadata path regex. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cls_config#path_regex ClsConfig#path_regex} */ readonly pathRegex?: string; /** * syslog protocol, tcp or udp. The value can be tcp or udp. It is effective only when LogType is service_syslog. Other types do not need to be filled in. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cls_config#protocol ClsConfig#protocol} */ readonly protocol?: string; /** * Time field format. For more information, please see the output parameters of the time format description of the strftime function in C language. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cls_config#time_format ClsConfig#time_format} */ readonly timeFormat?: string; /** * Time field key name. time_key and time_format must appear in pair. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cls_config#time_key ClsConfig#time_key} */ readonly timeKey?: string; /** * Unmatched log key. Required when UnMatchUpLoadSwitch is true. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cls_config#un_match_log_key ClsConfig#un_match_log_key} */ readonly unMatchLogKey?: string; /** * Whether to upload the logs that failed to be parsed. Valid values: true: yes; false: no. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cls_config#un_match_up_load_switch ClsConfig#un_match_up_load_switch} */ readonly unMatchUpLoadSwitch?: boolean | cdktf.IResolvable; /** * filter_key_regex block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cls_config#filter_key_regex ClsConfig#filter_key_regex} */ readonly filterKeyRegex?: ClsConfigExtractRuleFilterKeyRegex[] | cdktf.IResolvable; /** * meta_tags block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cls_config#meta_tags ClsConfig#meta_tags} */ readonly metaTags?: ClsConfigExtractRuleMetaTags[] | cdktf.IResolvable; } export declare function clsConfigExtractRuleToTerraform(struct?: ClsConfigExtractRuleOutputReference | ClsConfigExtractRule): any; export declare function clsConfigExtractRuleToHclTerraform(struct?: ClsConfigExtractRuleOutputReference | ClsConfigExtractRule): any; export declare class ClsConfigExtractRuleOutputReference 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(): ClsConfigExtractRule | undefined; set internalValue(value: ClsConfigExtractRule | undefined); private _address?; get address(): string; set address(value: string); resetAddress(): void; get addressInput(): string; private _backtracking?; get backtracking(): number; set backtracking(value: number); resetBacktracking(): void; get backtrackingInput(): number; private _beginRegex?; get beginRegex(): string; set beginRegex(value: string); resetBeginRegex(): void; get beginRegexInput(): string; private _delimiter?; get delimiter(): string; set delimiter(value: string); resetDelimiter(): void; get delimiterInput(): string; private _isGbk?; get isGbk(): number; set isGbk(value: number); resetIsGbk(): void; get isGbkInput(): number; private _jsonStandard?; get jsonStandard(): number; set jsonStandard(value: number); resetJsonStandard(): void; get jsonStandardInput(): number; private _keys?; get keys(): string[]; set keys(value: string[]); resetKeys(): void; get keysInput(): string[]; private _logRegex?; get logRegex(): string; set logRegex(value: string); resetLogRegex(): void; get logRegexInput(): string; private _metadataType?; get metadataType(): number; set metadataType(value: number); resetMetadataType(): void; get metadataTypeInput(): number; private _parseProtocol?; get parseProtocol(): string; set parseProtocol(value: string); resetParseProtocol(): void; get parseProtocolInput(): string; private _pathRegex?; get pathRegex(): string; set pathRegex(value: string); resetPathRegex(): void; get pathRegexInput(): string; private _protocol?; get protocol(): string; set protocol(value: string); resetProtocol(): void; get protocolInput(): string; private _timeFormat?; get timeFormat(): string; set timeFormat(value: string); resetTimeFormat(): void; get timeFormatInput(): string; private _timeKey?; get timeKey(): string; set timeKey(value: string); resetTimeKey(): void; get timeKeyInput(): string; private _unMatchLogKey?; get unMatchLogKey(): string; set unMatchLogKey(value: string); resetUnMatchLogKey(): void; get unMatchLogKeyInput(): string; private _unMatchUpLoadSwitch?; get unMatchUpLoadSwitch(): boolean | cdktf.IResolvable; set unMatchUpLoadSwitch(value: boolean | cdktf.IResolvable); resetUnMatchUpLoadSwitch(): void; get unMatchUpLoadSwitchInput(): any; private _filterKeyRegex; get filterKeyRegex(): ClsConfigExtractRuleFilterKeyRegexList; putFilterKeyRegex(value: ClsConfigExtractRuleFilterKeyRegex[] | cdktf.IResolvable): void; resetFilterKeyRegex(): void; get filterKeyRegexInput(): any; private _metaTags; get metaTags(): ClsConfigExtractRuleMetaTagsList; putMetaTags(value: ClsConfigExtractRuleMetaTags[] | cdktf.IResolvable): void; resetMetaTags(): void; get metaTagsInput(): any; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cls_config tencentcloud_cls_config} */ export declare class ClsConfig extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_cls_config"; /** * Generates CDKTF code for importing a ClsConfig 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 ClsConfig to import * @param importFromId The id of the existing ClsConfig that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cls_config#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the ClsConfig 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_config tencentcloud_cls_config} 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 ClsConfigConfig */ constructor(scope: Construct, id: string, config: ClsConfigConfig); private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _logType?; get logType(): string; set logType(value: string); resetLogType(): void; get logTypeInput(): string; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _output?; get output(): string; set output(value: string); resetOutput(): void; get outputInput(): string; private _path?; get path(): string; set path(value: string); resetPath(): void; get pathInput(): string; private _userDefineRule?; get userDefineRule(): string; set userDefineRule(value: string); resetUserDefineRule(): void; get userDefineRuleInput(): string; private _excludePaths; get excludePaths(): ClsConfigExcludePathsList; putExcludePaths(value: ClsConfigExcludePaths[] | cdktf.IResolvable): void; resetExcludePaths(): void; get excludePathsInput(): any; private _extractRule; get extractRule(): ClsConfigExtractRuleOutputReference; putExtractRule(value: ClsConfigExtractRule): void; get extractRuleInput(): ClsConfigExtractRule; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }