1. Packages
  2. Packages
  3. Volcenginecc Provider
  4. API Docs
  5. tls
  6. Rule
Viewing docs for volcenginecc v0.0.50
published on Monday, Jul 20, 2026 by Volcengine
volcenginecc logo
Viewing docs for volcenginecc v0.0.50
published on Monday, Jul 20, 2026 by Volcengine

    The log service provides log collection tools such as LogCollector and multi-language SDKs, supports various log collection methods, is compatible with open-source protocol frameworks like Kafka and OpenTelemetry, and supports log data collection from host applications, K8s clusters, mobile clients, Volcano Engine cloud products, and other cloud vendors.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as volcenginecc from "@volcengine/pulumi-volcenginecc";
    
    const tLSRuleDemo = new volcenginecc.tls.Rule("TLSRuleDemo", {
        containerRule: {
            container_name_regex: "ccapi-test",
            env_tag: [{
                key: "k1",
                val: "v1",
            }],
            exclude_container_env_regex: [{
                key: "k2",
                val: "v2",
            }],
            exclude_container_label_regex: [{
                key: "k2",
                val: "v2",
            }],
            include_container_env_regex: [{
                key: "k1",
                val: "v1",
            }],
            include_container_label_regex: [{
                key: "k1",
                val: "v1",
            }],
            kubernetes_rule: {
                annotationTag: [{
                    key: "k1",
                    val: "v1",
                }],
                enableAllLabelTag: true,
                excludePodAnnotationRegex: [{
                    key: "k2",
                    val: "v2",
                }],
                excludePodLabelRegex: [{
                    key: "k2",
                    val: "v2",
                }],
                includePodAnnotationRegex: [{
                    key: "k1",
                    val: "v1",
                }],
                includePodLabelRegex: [{
                    key: "k1",
                    val: "v1",
                }],
                labelTag: [{
                    key: "k1",
                    val: "v1",
                }],
                namespaceNameRegex: "ccapi",
                podNameRegex: "ccapi",
                workloadNameRegex: "ccapi",
                workloadType: "Deployment",
            },
            stream: "",
        },
        excludePaths: [{
            type: "Path",
            value: "/test",
        }],
        extractRule: {
            begin_regex: "",
            delimiter: " ",
            enable_nanosecond: true,
            filter_key_regex: [{
                key: "k1",
                regex: "v1",
            }],
            keys: ["k1"],
            log_regex: "",
            log_template: {
                format: "",
                type: "",
            },
            quote: "",
            time_extract_regex: "dsfasdf",
            time_format: "%Y-%m-%d %H:%M:%S.%f",
            time_key: "time_key",
            time_sample: "2006-01-02T15:04:05Z07:00",
            time_zone: "Etc/GMT+12",
            un_match_log_key: "LogParseFailed",
            un_match_up_load_switch: true,
        },
        hostGroupInfos: [{
            host_group_id: "38feb3b9-xxxxx-de52cxxxxx",
        }],
        inputType: 2,
        logSample: "asdfasf",
        logType: "delimiter_log",
        paths: ["/test"],
        ruleName: "dx-rule-1",
        topicId: "b881e3cd-xxxxx-966f-fe98xxxxxxx",
        userDefineRule: {
            advanced: {
                closeEof: false,
                closeInactive: 10,
                closeRemoved: false,
                closeRenamed: false,
                closeTimeout: 0,
                noLineTerminatorEofMaxTime: 0,
            },
            enable_host_group_label: true,
            enable_hostname: true,
            enable_raw_log: true,
            fields: [{
                key: "k1",
                val: "v1",
            }],
            host_group_label_key: "host_group_label",
            hostname_key: "hostname",
            ignore_older: 72,
            multi_collects_type: "RuleID",
            parse_path_rule: {
                keys: [
                    "instance-id",
                    "pod-name",
                ],
                pathSample: "/var/logs/instanceid_any_podname/test.log",
                regex: "/var/logs/([a-z]*)_any_([a-z]*)/test.log",
            },
            plugin: {
                processors: "{}",
            },
            raw_log_key: "raw",
            shard_hash_key: {
                hashKey: "2342134",
            },
            tail_files: true,
            tail_size_kb: 10240,
        },
    });
    
    import pulumi
    import pulumi_volcenginecc as volcenginecc
    
    t_ls_rule_demo = volcenginecc.tls.Rule("TLSRuleDemo",
        container_rule={
            "container_name_regex": "ccapi-test",
            "env_tag": [{
                "key": "k1",
                "val": "v1",
            }],
            "exclude_container_env_regex": [{
                "key": "k2",
                "val": "v2",
            }],
            "exclude_container_label_regex": [{
                "key": "k2",
                "val": "v2",
            }],
            "include_container_env_regex": [{
                "key": "k1",
                "val": "v1",
            }],
            "include_container_label_regex": [{
                "key": "k1",
                "val": "v1",
            }],
            "kubernetes_rule": {
                "annotationTag": [{
                    "key": "k1",
                    "val": "v1",
                }],
                "enableAllLabelTag": True,
                "excludePodAnnotationRegex": [{
                    "key": "k2",
                    "val": "v2",
                }],
                "excludePodLabelRegex": [{
                    "key": "k2",
                    "val": "v2",
                }],
                "includePodAnnotationRegex": [{
                    "key": "k1",
                    "val": "v1",
                }],
                "includePodLabelRegex": [{
                    "key": "k1",
                    "val": "v1",
                }],
                "labelTag": [{
                    "key": "k1",
                    "val": "v1",
                }],
                "namespaceNameRegex": "ccapi",
                "podNameRegex": "ccapi",
                "workloadNameRegex": "ccapi",
                "workloadType": "Deployment",
            },
            "stream": "",
        },
        exclude_paths=[{
            "type": "Path",
            "value": "/test",
        }],
        extract_rule={
            "begin_regex": "",
            "delimiter": " ",
            "enable_nanosecond": True,
            "filter_key_regex": [{
                "key": "k1",
                "regex": "v1",
            }],
            "keys": ["k1"],
            "log_regex": "",
            "log_template": {
                "format": "",
                "type": "",
            },
            "quote": "",
            "time_extract_regex": "dsfasdf",
            "time_format": "%Y-%m-%d %H:%M:%S.%f",
            "time_key": "time_key",
            "time_sample": "2006-01-02T15:04:05Z07:00",
            "time_zone": "Etc/GMT+12",
            "un_match_log_key": "LogParseFailed",
            "un_match_up_load_switch": True,
        },
        host_group_infos=[{
            "host_group_id": "38feb3b9-xxxxx-de52cxxxxx",
        }],
        input_type=2,
        log_sample="asdfasf",
        log_type="delimiter_log",
        paths=["/test"],
        rule_name="dx-rule-1",
        topic_id="b881e3cd-xxxxx-966f-fe98xxxxxxx",
        user_define_rule={
            "advanced": {
                "close_eof": False,
                "close_inactive": 10,
                "close_removed": False,
                "close_renamed": False,
                "close_timeout": 0,
                "no_line_terminator_eof_max_time": 0,
            },
            "enable_host_group_label": True,
            "enable_hostname": True,
            "enable_raw_log": True,
            "fields": [{
                "key": "k1",
                "val": "v1",
            }],
            "host_group_label_key": "host_group_label",
            "hostname_key": "hostname",
            "ignore_older": 72,
            "multi_collects_type": "RuleID",
            "parse_path_rule": {
                "keys": [
                    "instance-id",
                    "pod-name",
                ],
                "pathSample": "/var/logs/instanceid_any_podname/test.log",
                "regex": "/var/logs/([a-z]*)_any_([a-z]*)/test.log",
            },
            "plugin": {
                "processors": "{}",
            },
            "raw_log_key": "raw",
            "shard_hash_key": {
                "hashKey": "2342134",
            },
            "tail_files": True,
            "tail_size_kb": 10240,
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/volcengine/pulumi-volcenginecc/sdk/go/volcenginecc/tls"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := tls.NewRule(ctx, "TLSRuleDemo", &tls.RuleArgs{
    			ContainerRule: &tls.RuleContainerRuleArgs{
    				Container_name_regex: "ccapi-test",
    				Env_tag: []map[string]interface{}{
    					map[string]interface{}{
    						"key": "k1",
    						"val": "v1",
    					},
    				},
    				Exclude_container_env_regex: []map[string]interface{}{
    					map[string]interface{}{
    						"key": "k2",
    						"val": "v2",
    					},
    				},
    				Exclude_container_label_regex: []map[string]interface{}{
    					map[string]interface{}{
    						"key": "k2",
    						"val": "v2",
    					},
    				},
    				Include_container_env_regex: []map[string]interface{}{
    					map[string]interface{}{
    						"key": "k1",
    						"val": "v1",
    					},
    				},
    				Include_container_label_regex: []map[string]interface{}{
    					map[string]interface{}{
    						"key": "k1",
    						"val": "v1",
    					},
    				},
    				Kubernetes_rule: map[string]interface{}{
    					"annotationTag": []map[string]interface{}{
    						map[string]interface{}{
    							"key": "k1",
    							"val": "v1",
    						},
    					},
    					"enableAllLabelTag": true,
    					"excludePodAnnotationRegex": []map[string]interface{}{
    						map[string]interface{}{
    							"key": "k2",
    							"val": "v2",
    						},
    					},
    					"excludePodLabelRegex": []map[string]interface{}{
    						map[string]interface{}{
    							"key": "k2",
    							"val": "v2",
    						},
    					},
    					"includePodAnnotationRegex": []map[string]interface{}{
    						map[string]interface{}{
    							"key": "k1",
    							"val": "v1",
    						},
    					},
    					"includePodLabelRegex": []map[string]interface{}{
    						map[string]interface{}{
    							"key": "k1",
    							"val": "v1",
    						},
    					},
    					"labelTag": []map[string]interface{}{
    						map[string]interface{}{
    							"key": "k1",
    							"val": "v1",
    						},
    					},
    					"namespaceNameRegex": "ccapi",
    					"podNameRegex":       "ccapi",
    					"workloadNameRegex":  "ccapi",
    					"workloadType":       "Deployment",
    				},
    				Stream: pulumi.String(""),
    			},
    			ExcludePaths: tls.RuleExcludePathArray{
    				&tls.RuleExcludePathArgs{
    					Type:  pulumi.String("Path"),
    					Value: pulumi.String("/test"),
    				},
    			},
    			ExtractRule: &tls.RuleExtractRuleArgs{
    				Begin_regex:       "",
    				Delimiter:         pulumi.String(" "),
    				Enable_nanosecond: true,
    				Filter_key_regex: []map[string]interface{}{
    					map[string]interface{}{
    						"key":   "k1",
    						"regex": "v1",
    					},
    				},
    				Keys: pulumi.StringArray{
    					pulumi.String("k1"),
    				},
    				Log_regex: "",
    				Log_template: map[string]interface{}{
    					"format": "",
    					"type":   "",
    				},
    				Quote:                   pulumi.String(""),
    				Time_extract_regex:      "dsfasdf",
    				Time_format:             "%Y-%m-%d %H:%M:%S.%f",
    				Time_key:                "time_key",
    				Time_sample:             "2006-01-02T15:04:05Z07:00",
    				Time_zone:               "Etc/GMT+12",
    				Un_match_log_key:        "LogParseFailed",
    				Un_match_up_load_switch: true,
    			},
    			HostGroupInfos: tls.RuleHostGroupInfoArray{
    				&tls.RuleHostGroupInfoArgs{
    					Host_group_id: "38feb3b9-xxxxx-de52cxxxxx",
    				},
    			},
    			InputType: pulumi.Int(2),
    			LogSample: pulumi.String("asdfasf"),
    			LogType:   pulumi.String("delimiter_log"),
    			Paths: pulumi.StringArray{
    				pulumi.String("/test"),
    			},
    			RuleName: pulumi.String("dx-rule-1"),
    			TopicId:  pulumi.String("b881e3cd-xxxxx-966f-fe98xxxxxxx"),
    			UserDefineRule: &tls.RuleUserDefineRuleArgs{
    				Advanced: &tls.RuleUserDefineRuleAdvancedArgs{
    					CloseEof:                   pulumi.Bool(false),
    					CloseInactive:              pulumi.Int(10),
    					CloseRemoved:               pulumi.Bool(false),
    					CloseRenamed:               pulumi.Bool(false),
    					CloseTimeout:               pulumi.Int(0),
    					NoLineTerminatorEofMaxTime: pulumi.Int(0),
    				},
    				Enable_host_group_label: true,
    				Enable_hostname:         true,
    				Enable_raw_log:          true,
    				Fields: tls.RuleUserDefineRuleFieldArray{
    					&tls.RuleUserDefineRuleFieldArgs{
    						Key: pulumi.String("k1"),
    						Val: pulumi.String("v1"),
    					},
    				},
    				Host_group_label_key: "host_group_label",
    				Hostname_key:         "hostname",
    				Ignore_older:         72,
    				Multi_collects_type:  "RuleID",
    				Parse_path_rule: map[string]interface{}{
    					"keys": []string{
    						"instance-id",
    						"pod-name",
    					},
    					"pathSample": "/var/logs/instanceid_any_podname/test.log",
    					"regex":      "/var/logs/([a-z]*)_any_([a-z]*)/test.log",
    				},
    				Plugin: &tls.RuleUserDefineRulePluginArgs{
    					Processors: pulumi.String("{}"),
    				},
    				Raw_log_key: "raw",
    				Shard_hash_key: map[string]interface{}{
    					"hashKey": "2342134",
    				},
    				Tail_files:   true,
    				Tail_size_kb: 10240,
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Volcenginecc = Volcengine.Pulumi.Volcenginecc;
    
    return await Deployment.RunAsync(() => 
    {
        var tLSRuleDemo = new Volcenginecc.Tls.Rule("TLSRuleDemo", new()
        {
            ContainerRule = new Volcenginecc.Tls.Inputs.RuleContainerRuleArgs
            {
                Container_name_regex = "ccapi-test",
                Env_tag = new[]
                {
                    
                    {
                        { "key", "k1" },
                        { "val", "v1" },
                    },
                },
                Exclude_container_env_regex = new[]
                {
                    
                    {
                        { "key", "k2" },
                        { "val", "v2" },
                    },
                },
                Exclude_container_label_regex = new[]
                {
                    
                    {
                        { "key", "k2" },
                        { "val", "v2" },
                    },
                },
                Include_container_env_regex = new[]
                {
                    
                    {
                        { "key", "k1" },
                        { "val", "v1" },
                    },
                },
                Include_container_label_regex = new[]
                {
                    
                    {
                        { "key", "k1" },
                        { "val", "v1" },
                    },
                },
                Kubernetes_rule = 
                {
                    { "annotationTag", new[]
                    {
                        
                        {
                            { "key", "k1" },
                            { "val", "v1" },
                        },
                    } },
                    { "enableAllLabelTag", true },
                    { "excludePodAnnotationRegex", new[]
                    {
                        
                        {
                            { "key", "k2" },
                            { "val", "v2" },
                        },
                    } },
                    { "excludePodLabelRegex", new[]
                    {
                        
                        {
                            { "key", "k2" },
                            { "val", "v2" },
                        },
                    } },
                    { "includePodAnnotationRegex", new[]
                    {
                        
                        {
                            { "key", "k1" },
                            { "val", "v1" },
                        },
                    } },
                    { "includePodLabelRegex", new[]
                    {
                        
                        {
                            { "key", "k1" },
                            { "val", "v1" },
                        },
                    } },
                    { "labelTag", new[]
                    {
                        
                        {
                            { "key", "k1" },
                            { "val", "v1" },
                        },
                    } },
                    { "namespaceNameRegex", "ccapi" },
                    { "podNameRegex", "ccapi" },
                    { "workloadNameRegex", "ccapi" },
                    { "workloadType", "Deployment" },
                },
                Stream = "",
            },
            ExcludePaths = new[]
            {
                new Volcenginecc.Tls.Inputs.RuleExcludePathArgs
                {
                    Type = "Path",
                    Value = "/test",
                },
            },
            ExtractRule = new Volcenginecc.Tls.Inputs.RuleExtractRuleArgs
            {
                Begin_regex = "",
                Delimiter = " ",
                Enable_nanosecond = true,
                Filter_key_regex = new[]
                {
                    
                    {
                        { "key", "k1" },
                        { "regex", "v1" },
                    },
                },
                Keys = new[]
                {
                    "k1",
                },
                Log_regex = "",
                Log_template = 
                {
                    { "format", "" },
                    { "type", "" },
                },
                Quote = "",
                Time_extract_regex = "dsfasdf",
                Time_format = "%Y-%m-%d %H:%M:%S.%f",
                Time_key = "time_key",
                Time_sample = "2006-01-02T15:04:05Z07:00",
                Time_zone = "Etc/GMT+12",
                Un_match_log_key = "LogParseFailed",
                Un_match_up_load_switch = true,
            },
            HostGroupInfos = new[]
            {
                new Volcenginecc.Tls.Inputs.RuleHostGroupInfoArgs
                {
                    Host_group_id = "38feb3b9-xxxxx-de52cxxxxx",
                },
            },
            InputType = 2,
            LogSample = "asdfasf",
            LogType = "delimiter_log",
            Paths = new[]
            {
                "/test",
            },
            RuleName = "dx-rule-1",
            TopicId = "b881e3cd-xxxxx-966f-fe98xxxxxxx",
            UserDefineRule = new Volcenginecc.Tls.Inputs.RuleUserDefineRuleArgs
            {
                Advanced = new Volcenginecc.Tls.Inputs.RuleUserDefineRuleAdvancedArgs
                {
                    CloseEof = false,
                    CloseInactive = 10,
                    CloseRemoved = false,
                    CloseRenamed = false,
                    CloseTimeout = 0,
                    NoLineTerminatorEofMaxTime = 0,
                },
                Enable_host_group_label = true,
                Enable_hostname = true,
                Enable_raw_log = true,
                Fields = new[]
                {
                    new Volcenginecc.Tls.Inputs.RuleUserDefineRuleFieldArgs
                    {
                        Key = "k1",
                        Val = "v1",
                    },
                },
                Host_group_label_key = "host_group_label",
                Hostname_key = "hostname",
                Ignore_older = 72,
                Multi_collects_type = "RuleID",
                Parse_path_rule = 
                {
                    { "keys", new[]
                    {
                        "instance-id",
                        "pod-name",
                    } },
                    { "pathSample", "/var/logs/instanceid_any_podname/test.log" },
                    { "regex", "/var/logs/([a-z]*)_any_([a-z]*)/test.log" },
                },
                Plugin = new Volcenginecc.Tls.Inputs.RuleUserDefineRulePluginArgs
                {
                    Processors = "{}",
                },
                Raw_log_key = "raw",
                Shard_hash_key = 
                {
                    { "hashKey", "2342134" },
                },
                Tail_files = true,
                Tail_size_kb = 10240,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.volcengine.volcenginecc.tls.Rule;
    import com.volcengine.volcenginecc.tls.RuleArgs;
    import com.pulumi.volcenginecc.tls.inputs.RuleContainerRuleArgs;
    import com.pulumi.volcenginecc.tls.inputs.RuleExcludePathArgs;
    import com.pulumi.volcenginecc.tls.inputs.RuleExtractRuleArgs;
    import com.pulumi.volcenginecc.tls.inputs.RuleHostGroupInfoArgs;
    import com.pulumi.volcenginecc.tls.inputs.RuleUserDefineRuleArgs;
    import com.pulumi.volcenginecc.tls.inputs.RuleUserDefineRuleAdvancedArgs;
    import com.pulumi.volcenginecc.tls.inputs.RuleUserDefineRuleFieldArgs;
    import com.pulumi.volcenginecc.tls.inputs.RuleUserDefineRulePluginArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var tLSRuleDemo = new Rule("tLSRuleDemo", RuleArgs.builder()
                .containerRule(RuleContainerRuleArgs.builder()
                    .container_name_regex("ccapi-test")
                    .env_tag(Arrays.asList(Map.ofEntries(
                        Map.entry("key", "k1"),
                        Map.entry("val", "v1")
                    )))
                    .exclude_container_env_regex(Arrays.asList(Map.ofEntries(
                        Map.entry("key", "k2"),
                        Map.entry("val", "v2")
                    )))
                    .exclude_container_label_regex(Arrays.asList(Map.ofEntries(
                        Map.entry("key", "k2"),
                        Map.entry("val", "v2")
                    )))
                    .include_container_env_regex(Arrays.asList(Map.ofEntries(
                        Map.entry("key", "k1"),
                        Map.entry("val", "v1")
                    )))
                    .include_container_label_regex(Arrays.asList(Map.ofEntries(
                        Map.entry("key", "k1"),
                        Map.entry("val", "v1")
                    )))
                    .kubernetes_rule(Map.ofEntries(
                        Map.entry("annotationTag", Arrays.asList(Map.ofEntries(
                            Map.entry("key", "k1"),
                            Map.entry("val", "v1")
                        ))),
                        Map.entry("enableAllLabelTag", true),
                        Map.entry("excludePodAnnotationRegex", Arrays.asList(Map.ofEntries(
                            Map.entry("key", "k2"),
                            Map.entry("val", "v2")
                        ))),
                        Map.entry("excludePodLabelRegex", Arrays.asList(Map.ofEntries(
                            Map.entry("key", "k2"),
                            Map.entry("val", "v2")
                        ))),
                        Map.entry("includePodAnnotationRegex", Arrays.asList(Map.ofEntries(
                            Map.entry("key", "k1"),
                            Map.entry("val", "v1")
                        ))),
                        Map.entry("includePodLabelRegex", Arrays.asList(Map.ofEntries(
                            Map.entry("key", "k1"),
                            Map.entry("val", "v1")
                        ))),
                        Map.entry("labelTag", Arrays.asList(Map.ofEntries(
                            Map.entry("key", "k1"),
                            Map.entry("val", "v1")
                        ))),
                        Map.entry("namespaceNameRegex", "ccapi"),
                        Map.entry("podNameRegex", "ccapi"),
                        Map.entry("workloadNameRegex", "ccapi"),
                        Map.entry("workloadType", "Deployment")
                    ))
                    .stream("")
                    .build())
                .excludePaths(RuleExcludePathArgs.builder()
                    .type("Path")
                    .value("/test")
                    .build())
                .extractRule(RuleExtractRuleArgs.builder()
                    .begin_regex("")
                    .delimiter(" ")
                    .enable_nanosecond(true)
                    .filter_key_regex(Arrays.asList(Map.ofEntries(
                        Map.entry("key", "k1"),
                        Map.entry("regex", "v1")
                    )))
                    .keys("k1")
                    .log_regex("")
                    .log_template(Map.ofEntries(
                        Map.entry("format", ""),
                        Map.entry("type", "")
                    ))
                    .quote("")
                    .time_extract_regex("dsfasdf")
                    .time_format("%Y-%m-%d %H:%M:%S.%f")
                    .time_key("time_key")
                    .time_sample("2006-01-02T15:04:05Z07:00")
                    .time_zone("Etc/GMT+12")
                    .un_match_log_key("LogParseFailed")
                    .un_match_up_load_switch(true)
                    .build())
                .hostGroupInfos(RuleHostGroupInfoArgs.builder()
                    .host_group_id("38feb3b9-xxxxx-de52cxxxxx")
                    .build())
                .inputType(2)
                .logSample("asdfasf")
                .logType("delimiter_log")
                .paths("/test")
                .ruleName("dx-rule-1")
                .topicId("b881e3cd-xxxxx-966f-fe98xxxxxxx")
                .userDefineRule(RuleUserDefineRuleArgs.builder()
                    .advanced(RuleUserDefineRuleAdvancedArgs.builder()
                        .closeEof(false)
                        .closeInactive(10)
                        .closeRemoved(false)
                        .closeRenamed(false)
                        .closeTimeout(0)
                        .noLineTerminatorEofMaxTime(0)
                        .build())
                    .enable_host_group_label(true)
                    .enable_hostname(true)
                    .enable_raw_log(true)
                    .fields(RuleUserDefineRuleFieldArgs.builder()
                        .key("k1")
                        .val("v1")
                        .build())
                    .host_group_label_key("host_group_label")
                    .hostname_key("hostname")
                    .ignore_older(72)
                    .multi_collects_type("RuleID")
                    .parse_path_rule(Map.ofEntries(
                        Map.entry("keys", Arrays.asList(                    
                            "instance-id",
                            "pod-name")),
                        Map.entry("pathSample", "/var/logs/instanceid_any_podname/test.log"),
                        Map.entry("regex", "/var/logs/([a-z]*)_any_([a-z]*)/test.log")
                    ))
                    .plugin(RuleUserDefineRulePluginArgs.builder()
                        .processors("{}")
                        .build())
                    .raw_log_key("raw")
                    .shard_hash_key(Map.of("hashKey", "2342134"))
                    .tail_files(true)
                    .tail_size_kb(10240)
                    .build())
                .build());
    
        }
    }
    
    resources:
      tLSRuleDemo:
        type: volcenginecc:tls:Rule
        name: TLSRuleDemo
        properties:
          containerRule:
            container_name_regex: ccapi-test
            env_tag:
              - key: k1
                val: v1
            exclude_container_env_regex:
              - key: k2
                val: v2
            exclude_container_label_regex:
              - key: k2
                val: v2
            include_container_env_regex:
              - key: k1
                val: v1
            include_container_label_regex:
              - key: k1
                val: v1
            kubernetes_rule:
              annotationTag:
                - key: k1
                  val: v1
              enableAllLabelTag: true
              excludePodAnnotationRegex:
                - key: k2
                  val: v2
              excludePodLabelRegex:
                - key: k2
                  val: v2
              includePodAnnotationRegex:
                - key: k1
                  val: v1
              includePodLabelRegex:
                - key: k1
                  val: v1
              labelTag:
                - key: k1
                  val: v1
              namespaceNameRegex: ccapi
              podNameRegex: ccapi
              workloadNameRegex: ccapi
              workloadType: Deployment
            stream: ""
          excludePaths:
            - type: Path
              value: /test
          extractRule:
            begin_regex: ""
            delimiter: ' '
            enable_nanosecond: true
            filter_key_regex:
              - key: k1
                regex: v1
            keys:
              - k1
            log_regex: ""
            log_template:
              format: ""
              type: ""
            quote: ""
            time_extract_regex: dsfasdf
            time_format: '%Y-%m-%d %H:%M:%S.%f'
            time_key: time_key
            time_sample: 2006-01-02T15:04:05Z07:00
            time_zone: Etc/GMT+12
            un_match_log_key: LogParseFailed
            un_match_up_load_switch: true
          hostGroupInfos:
            - host_group_id: 38feb3b9-xxxxx-de52cxxxxx
          inputType: 2
          logSample: asdfasf
          logType: delimiter_log
          paths:
            - /test
          ruleName: dx-rule-1
          topicId: b881e3cd-xxxxx-966f-fe98xxxxxxx
          userDefineRule:
            advanced:
              closeEof: false
              closeInactive: 10
              closeRemoved: false
              closeRenamed: false
              closeTimeout: 0
              noLineTerminatorEofMaxTime: 0
            enable_host_group_label: true
            enable_hostname: true
            enable_raw_log: true
            fields:
              - key: k1
                val: v1
            host_group_label_key: host_group_label
            hostname_key: hostname
            ignore_older: 72
            multi_collects_type: RuleID
            parse_path_rule:
              keys:
                - instance-id
                - pod-name
              pathSample: /var/logs/instanceid_any_podname/test.log
              regex: /var/logs/([a-z]*)_any_([a-z]*)/test.log
            plugin:
              processors: '{}'
            raw_log_key: raw
            shard_hash_key:
              hashKey: '2342134'
            tail_files: true
            tail_size_kb: 10240
    
    pulumi {
      required_providers {
        volcenginecc = {
          source = "pulumi/volcenginecc"
        }
      }
    }
    
    resource "volcenginecc_tls_rule" "TLSRuleDemo" {
      container_rule = {
        container_name_regex = "ccapi-test"
        env_tag = [{
          "key" = "k1"
          "val" = "v1"
        }]
        exclude_container_env_regex = [{
          "key" = "k2"
          "val" = "v2"
        }]
        exclude_container_label_regex = [{
          "key" = "k2"
          "val" = "v2"
        }]
        include_container_env_regex = [{
          "key" = "k1"
          "val" = "v1"
        }]
        include_container_label_regex = [{
          "key" = "k1"
          "val" = "v1"
        }]
        kubernetes_rule = {
          "annotationTag" = [{
            "key" = "k1"
            "val" = "v1"
          }]
          "enableAllLabelTag" = true
          "excludePodAnnotationRegex" = [{
            "key" = "k2"
            "val" = "v2"
          }]
          "excludePodLabelRegex" = [{
            "key" = "k2"
            "val" = "v2"
          }]
          "includePodAnnotationRegex" = [{
            "key" = "k1"
            "val" = "v1"
          }]
          "includePodLabelRegex" = [{
            "key" = "k1"
            "val" = "v1"
          }]
          "labelTag" = [{
            "key" = "k1"
            "val" = "v1"
          }]
          "namespaceNameRegex" = "ccapi"
          "podNameRegex"       = "ccapi"
          "workloadNameRegex"  = "ccapi"
          "workloadType"       = "Deployment"
        }
        stream = ""
      }
      exclude_paths {
        type  = "Path"
        value = "/test"
      }
      extract_rule = {
        begin_regex       = ""
        delimiter         = " "
        enable_nanosecond = true
        filter_key_regex = [{
          "key"   = "k1"
          "regex" = "v1"
        }]
        keys      = ["k1"]
        log_regex = ""
        log_template = {
          "format" = ""
          "type"   = ""
        }
        quote                   = ""
        time_extract_regex      = "dsfasdf"
        time_format             = "%Y-%m-%d %H:%M:%S.%f"
        time_key                = "time_key"
        time_sample             = "2006-01-02T15:04:05Z07:00"
        time_zone               = "Etc/GMT+12"
        un_match_log_key        = "LogParseFailed"
        un_match_up_load_switch = true
      }
      host_group_infos {
        host_group_id = "38feb3b9-xxxxx-de52cxxxxx"
      }
      input_type = 2
      log_sample = "asdfasf"
      log_type   = "delimiter_log"
      paths      = ["/test"]
      rule_name  = "dx-rule-1"
      topic_id   = "b881e3cd-xxxxx-966f-fe98xxxxxxx"
      user_define_rule = {
        advanced = {
          close_eof                       = false
          close_inactive                  = 10
          close_removed                   = false
          close_renamed                   = false
          close_timeout                   = 0
          no_line_terminator_eof_max_time = 0
        }
        enable_host_group_label = true
        enable_hostname         = true
        enable_raw_log          = true
        fields = [{
          "key" = "k1"
          "val" = "v1"
        }]
        host_group_label_key = "host_group_label"
        hostname_key         = "hostname"
        ignore_older         = 72
        multi_collects_type  = "RuleID"
        parse_path_rule = {
          "keys"       = ["instance-id", "pod-name"]
          "pathSample" = "/var/logs/instanceid_any_podname/test.log"
          "regex"      = "/var/logs/([a-z]*)_any_([a-z]*)/test.log"
        }
        plugin = {
          processors = "{}"
        }
        raw_log_key = "raw"
        shard_hash_key = {
          "hashKey" = "2342134"
        }
        tail_files   = true
        tail_size_kb = 10240
      }
    }
    

    Create Rule Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new Rule(name: string, args: RuleArgs, opts?: CustomResourceOptions);
    @overload
    def Rule(resource_name: str,
             args: RuleArgs,
             opts: Optional[ResourceOptions] = None)
    
    @overload
    def Rule(resource_name: str,
             opts: Optional[ResourceOptions] = None,
             rule_name: Optional[str] = None,
             topic_id: Optional[str] = None,
             container_rule: Optional[RuleContainerRuleArgs] = None,
             exclude_paths: Optional[Sequence[RuleExcludePathArgs]] = None,
             extract_rule: Optional[RuleExtractRuleArgs] = None,
             host_group_infos: Optional[Sequence[RuleHostGroupInfoArgs]] = None,
             input_type: Optional[int] = None,
             log_sample: Optional[str] = None,
             log_type: Optional[str] = None,
             paths: Optional[Sequence[str]] = None,
             pause: Optional[int] = None,
             user_define_rule: Optional[RuleUserDefineRuleArgs] = None)
    func NewRule(ctx *Context, name string, args RuleArgs, opts ...ResourceOption) (*Rule, error)
    public Rule(string name, RuleArgs args, CustomResourceOptions? opts = null)
    public Rule(String name, RuleArgs args)
    public Rule(String name, RuleArgs args, CustomResourceOptions options)
    
    type: volcenginecc:tls:Rule
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    resource "volcenginecc_tls_rule" "name" {
        # resource properties
    }

    Parameters

    name string
    The unique name of the resource.
    args RuleArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args RuleArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args RuleArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args RuleArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args RuleArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var exampleruleResourceResourceFromTlsrule = new Volcenginecc.Tls.Rule("exampleruleResourceResourceFromTlsrule", new()
    {
        RuleName = "string",
        TopicId = "string",
        ContainerRule = new Volcenginecc.Tls.Inputs.RuleContainerRuleArgs
        {
            ContainerNameRegex = "string",
            EnvTags = new[]
            {
                new Volcenginecc.Tls.Inputs.RuleContainerRuleEnvTagArgs
                {
                    Key = "string",
                    Val = "string",
                },
            },
            ExcludeContainerEnvRegexes = new[]
            {
                new Volcenginecc.Tls.Inputs.RuleContainerRuleExcludeContainerEnvRegexArgs
                {
                    Key = "string",
                    Val = "string",
                },
            },
            ExcludeContainerLabelRegexes = new[]
            {
                new Volcenginecc.Tls.Inputs.RuleContainerRuleExcludeContainerLabelRegexArgs
                {
                    Key = "string",
                    Val = "string",
                },
            },
            IncludeContainerEnvRegexes = new[]
            {
                new Volcenginecc.Tls.Inputs.RuleContainerRuleIncludeContainerEnvRegexArgs
                {
                    Key = "string",
                    Val = "string",
                },
            },
            IncludeContainerLabelRegexes = new[]
            {
                new Volcenginecc.Tls.Inputs.RuleContainerRuleIncludeContainerLabelRegexArgs
                {
                    Key = "string",
                    Val = "string",
                },
            },
            KubernetesRule = new Volcenginecc.Tls.Inputs.RuleContainerRuleKubernetesRuleArgs
            {
                AnnotationTags = new[]
                {
                    new Volcenginecc.Tls.Inputs.RuleContainerRuleKubernetesRuleAnnotationTagArgs
                    {
                        Key = "string",
                        Val = "string",
                    },
                },
                EnableAllLabelTag = false,
                ExcludePodAnnotationRegexes = new[]
                {
                    new Volcenginecc.Tls.Inputs.RuleContainerRuleKubernetesRuleExcludePodAnnotationRegexArgs
                    {
                        Key = "string",
                        Val = "string",
                    },
                },
                ExcludePodLabelRegexes = new[]
                {
                    new Volcenginecc.Tls.Inputs.RuleContainerRuleKubernetesRuleExcludePodLabelRegexArgs
                    {
                        Key = "string",
                        Val = "string",
                    },
                },
                IncludePodAnnotationRegexes = new[]
                {
                    new Volcenginecc.Tls.Inputs.RuleContainerRuleKubernetesRuleIncludePodAnnotationRegexArgs
                    {
                        Key = "string",
                        Val = "string",
                    },
                },
                IncludePodLabelRegexes = new[]
                {
                    new Volcenginecc.Tls.Inputs.RuleContainerRuleKubernetesRuleIncludePodLabelRegexArgs
                    {
                        Key = "string",
                        Val = "string",
                    },
                },
                LabelTags = new[]
                {
                    new Volcenginecc.Tls.Inputs.RuleContainerRuleKubernetesRuleLabelTagArgs
                    {
                        Key = "string",
                        Val = "string",
                    },
                },
                NamespaceNameRegex = "string",
                PodNameRegex = "string",
                WorkloadNameRegex = "string",
                WorkloadType = "string",
            },
            Stream = "string",
        },
        ExcludePaths = new[]
        {
            new Volcenginecc.Tls.Inputs.RuleExcludePathArgs
            {
                Type = "string",
                Value = "string",
            },
        },
        ExtractRule = new Volcenginecc.Tls.Inputs.RuleExtractRuleArgs
        {
            BeginRegex = "string",
            Delimiter = "string",
            EnableNanosecond = false,
            FilterKeyRegexes = new[]
            {
                new Volcenginecc.Tls.Inputs.RuleExtractRuleFilterKeyRegexArgs
                {
                    Key = "string",
                    Regex = "string",
                },
            },
            Keys = new[]
            {
                "string",
            },
            LogRegex = "string",
            LogTemplate = new Volcenginecc.Tls.Inputs.RuleExtractRuleLogTemplateArgs
            {
                Format = "string",
                Type = "string",
            },
            Quote = "string",
            TimeExtractRegex = "string",
            TimeFormat = "string",
            TimeKey = "string",
            TimeSample = "string",
            TimeZone = "string",
            UnMatchLogKey = "string",
            UnMatchUpLoadSwitch = false,
        },
        HostGroupInfos = new[]
        {
            new Volcenginecc.Tls.Inputs.RuleHostGroupInfoArgs
            {
                HostGroupId = "string",
            },
        },
        InputType = 0,
        LogSample = "string",
        LogType = "string",
        Paths = new[]
        {
            "string",
        },
        Pause = 0,
        UserDefineRule = new Volcenginecc.Tls.Inputs.RuleUserDefineRuleArgs
        {
            Advanced = new Volcenginecc.Tls.Inputs.RuleUserDefineRuleAdvancedArgs
            {
                CloseEof = false,
                CloseInactive = 0,
                CloseRemoved = false,
                CloseRenamed = false,
                CloseTimeout = 0,
                NoLineTerminatorEofMaxTime = 0,
            },
            EnableHostGroupLabel = false,
            EnableHostname = false,
            EnableRawLog = false,
            Fields = new[]
            {
                new Volcenginecc.Tls.Inputs.RuleUserDefineRuleFieldArgs
                {
                    Key = "string",
                    Val = "string",
                },
            },
            HostGroupLabelKey = "string",
            HostnameKey = "string",
            IgnoreOlder = 0,
            MultiCollectsType = "string",
            ParsePathRule = new Volcenginecc.Tls.Inputs.RuleUserDefineRuleParsePathRuleArgs
            {
                Keys = new[]
                {
                    "string",
                },
                PathSample = "string",
                Regex = "string",
            },
            Plugin = new Volcenginecc.Tls.Inputs.RuleUserDefineRulePluginArgs
            {
                Processors = "string",
            },
            RawLogKey = "string",
            ShardHashKey = new Volcenginecc.Tls.Inputs.RuleUserDefineRuleShardHashKeyArgs
            {
                HashKey = "string",
            },
            TailFiles = false,
            TailSizeKb = 0,
        },
    });
    
    example, err := tls.NewRule(ctx, "exampleruleResourceResourceFromTlsrule", &tls.RuleArgs{
    	RuleName: pulumi.String("string"),
    	TopicId:  pulumi.String("string"),
    	ContainerRule: &tls.RuleContainerRuleArgs{
    		ContainerNameRegex: pulumi.String("string"),
    		EnvTags: tls.RuleContainerRuleEnvTagArray{
    			&tls.RuleContainerRuleEnvTagArgs{
    				Key: pulumi.String("string"),
    				Val: pulumi.String("string"),
    			},
    		},
    		ExcludeContainerEnvRegexes: tls.RuleContainerRuleExcludeContainerEnvRegexArray{
    			&tls.RuleContainerRuleExcludeContainerEnvRegexArgs{
    				Key: pulumi.String("string"),
    				Val: pulumi.String("string"),
    			},
    		},
    		ExcludeContainerLabelRegexes: tls.RuleContainerRuleExcludeContainerLabelRegexArray{
    			&tls.RuleContainerRuleExcludeContainerLabelRegexArgs{
    				Key: pulumi.String("string"),
    				Val: pulumi.String("string"),
    			},
    		},
    		IncludeContainerEnvRegexes: tls.RuleContainerRuleIncludeContainerEnvRegexArray{
    			&tls.RuleContainerRuleIncludeContainerEnvRegexArgs{
    				Key: pulumi.String("string"),
    				Val: pulumi.String("string"),
    			},
    		},
    		IncludeContainerLabelRegexes: tls.RuleContainerRuleIncludeContainerLabelRegexArray{
    			&tls.RuleContainerRuleIncludeContainerLabelRegexArgs{
    				Key: pulumi.String("string"),
    				Val: pulumi.String("string"),
    			},
    		},
    		KubernetesRule: &tls.RuleContainerRuleKubernetesRuleArgs{
    			AnnotationTags: tls.RuleContainerRuleKubernetesRuleAnnotationTagArray{
    				&tls.RuleContainerRuleKubernetesRuleAnnotationTagArgs{
    					Key: pulumi.String("string"),
    					Val: pulumi.String("string"),
    				},
    			},
    			EnableAllLabelTag: pulumi.Bool(false),
    			ExcludePodAnnotationRegexes: tls.RuleContainerRuleKubernetesRuleExcludePodAnnotationRegexArray{
    				&tls.RuleContainerRuleKubernetesRuleExcludePodAnnotationRegexArgs{
    					Key: pulumi.String("string"),
    					Val: pulumi.String("string"),
    				},
    			},
    			ExcludePodLabelRegexes: tls.RuleContainerRuleKubernetesRuleExcludePodLabelRegexArray{
    				&tls.RuleContainerRuleKubernetesRuleExcludePodLabelRegexArgs{
    					Key: pulumi.String("string"),
    					Val: pulumi.String("string"),
    				},
    			},
    			IncludePodAnnotationRegexes: tls.RuleContainerRuleKubernetesRuleIncludePodAnnotationRegexArray{
    				&tls.RuleContainerRuleKubernetesRuleIncludePodAnnotationRegexArgs{
    					Key: pulumi.String("string"),
    					Val: pulumi.String("string"),
    				},
    			},
    			IncludePodLabelRegexes: tls.RuleContainerRuleKubernetesRuleIncludePodLabelRegexArray{
    				&tls.RuleContainerRuleKubernetesRuleIncludePodLabelRegexArgs{
    					Key: pulumi.String("string"),
    					Val: pulumi.String("string"),
    				},
    			},
    			LabelTags: tls.RuleContainerRuleKubernetesRuleLabelTagArray{
    				&tls.RuleContainerRuleKubernetesRuleLabelTagArgs{
    					Key: pulumi.String("string"),
    					Val: pulumi.String("string"),
    				},
    			},
    			NamespaceNameRegex: pulumi.String("string"),
    			PodNameRegex:       pulumi.String("string"),
    			WorkloadNameRegex:  pulumi.String("string"),
    			WorkloadType:       pulumi.String("string"),
    		},
    		Stream: pulumi.String("string"),
    	},
    	ExcludePaths: tls.RuleExcludePathArray{
    		&tls.RuleExcludePathArgs{
    			Type:  pulumi.String("string"),
    			Value: pulumi.String("string"),
    		},
    	},
    	ExtractRule: &tls.RuleExtractRuleArgs{
    		BeginRegex:       pulumi.String("string"),
    		Delimiter:        pulumi.String("string"),
    		EnableNanosecond: pulumi.Bool(false),
    		FilterKeyRegexes: tls.RuleExtractRuleFilterKeyRegexArray{
    			&tls.RuleExtractRuleFilterKeyRegexArgs{
    				Key:   pulumi.String("string"),
    				Regex: pulumi.String("string"),
    			},
    		},
    		Keys: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		LogRegex: pulumi.String("string"),
    		LogTemplate: &tls.RuleExtractRuleLogTemplateArgs{
    			Format: pulumi.String("string"),
    			Type:   pulumi.String("string"),
    		},
    		Quote:               pulumi.String("string"),
    		TimeExtractRegex:    pulumi.String("string"),
    		TimeFormat:          pulumi.String("string"),
    		TimeKey:             pulumi.String("string"),
    		TimeSample:          pulumi.String("string"),
    		TimeZone:            pulumi.String("string"),
    		UnMatchLogKey:       pulumi.String("string"),
    		UnMatchUpLoadSwitch: pulumi.Bool(false),
    	},
    	HostGroupInfos: tls.RuleHostGroupInfoArray{
    		&tls.RuleHostGroupInfoArgs{
    			HostGroupId: pulumi.String("string"),
    		},
    	},
    	InputType: pulumi.Int(0),
    	LogSample: pulumi.String("string"),
    	LogType:   pulumi.String("string"),
    	Paths: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Pause: pulumi.Int(0),
    	UserDefineRule: &tls.RuleUserDefineRuleArgs{
    		Advanced: &tls.RuleUserDefineRuleAdvancedArgs{
    			CloseEof:                   pulumi.Bool(false),
    			CloseInactive:              pulumi.Int(0),
    			CloseRemoved:               pulumi.Bool(false),
    			CloseRenamed:               pulumi.Bool(false),
    			CloseTimeout:               pulumi.Int(0),
    			NoLineTerminatorEofMaxTime: pulumi.Int(0),
    		},
    		EnableHostGroupLabel: pulumi.Bool(false),
    		EnableHostname:       pulumi.Bool(false),
    		EnableRawLog:         pulumi.Bool(false),
    		Fields: tls.RuleUserDefineRuleFieldArray{
    			&tls.RuleUserDefineRuleFieldArgs{
    				Key: pulumi.String("string"),
    				Val: pulumi.String("string"),
    			},
    		},
    		HostGroupLabelKey: pulumi.String("string"),
    		HostnameKey:       pulumi.String("string"),
    		IgnoreOlder:       pulumi.Int(0),
    		MultiCollectsType: pulumi.String("string"),
    		ParsePathRule: &tls.RuleUserDefineRuleParsePathRuleArgs{
    			Keys: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			PathSample: pulumi.String("string"),
    			Regex:      pulumi.String("string"),
    		},
    		Plugin: &tls.RuleUserDefineRulePluginArgs{
    			Processors: pulumi.String("string"),
    		},
    		RawLogKey: pulumi.String("string"),
    		ShardHashKey: &tls.RuleUserDefineRuleShardHashKeyArgs{
    			HashKey: pulumi.String("string"),
    		},
    		TailFiles:  pulumi.Bool(false),
    		TailSizeKb: pulumi.Int(0),
    	},
    })
    
    resource "volcenginecc_tls_rule" "exampleruleResourceResourceFromTlsrule" {
      lifecycle {
        create_before_destroy = true
      }
      rule_name = "string"
      topic_id  = "string"
      container_rule = {
        container_name_regex = "string"
        env_tags = [{
          key = "string"
          val = "string"
        }]
        exclude_container_env_regexes = [{
          key = "string"
          val = "string"
        }]
        exclude_container_label_regexes = [{
          key = "string"
          val = "string"
        }]
        include_container_env_regexes = [{
          key = "string"
          val = "string"
        }]
        include_container_label_regexes = [{
          key = "string"
          val = "string"
        }]
        kubernetes_rule = {
          annotation_tags = [{
            key = "string"
            val = "string"
          }]
          enable_all_label_tag = false
          exclude_pod_annotation_regexes = [{
            key = "string"
            val = "string"
          }]
          exclude_pod_label_regexes = [{
            key = "string"
            val = "string"
          }]
          include_pod_annotation_regexes = [{
            key = "string"
            val = "string"
          }]
          include_pod_label_regexes = [{
            key = "string"
            val = "string"
          }]
          label_tags = [{
            key = "string"
            val = "string"
          }]
          namespace_name_regex = "string"
          pod_name_regex       = "string"
          workload_name_regex  = "string"
          workload_type        = "string"
        }
        stream = "string"
      }
      exclude_paths {
        type  = "string"
        value = "string"
      }
      extract_rule = {
        begin_regex       = "string"
        delimiter         = "string"
        enable_nanosecond = false
        filter_key_regexes = [{
          key   = "string"
          regex = "string"
        }]
        keys      = ["string"]
        log_regex = "string"
        log_template = {
          format = "string"
          type   = "string"
        }
        quote                   = "string"
        time_extract_regex      = "string"
        time_format             = "string"
        time_key                = "string"
        time_sample             = "string"
        time_zone               = "string"
        un_match_log_key        = "string"
        un_match_up_load_switch = false
      }
      host_group_infos {
        host_group_id = "string"
      }
      input_type = 0
      log_sample = "string"
      log_type   = "string"
      paths      = ["string"]
      pause      = 0
      user_define_rule = {
        advanced = {
          close_eof                       = false
          close_inactive                  = 0
          close_removed                   = false
          close_renamed                   = false
          close_timeout                   = 0
          no_line_terminator_eof_max_time = 0
        }
        enable_host_group_label = false
        enable_hostname         = false
        enable_raw_log          = false
        fields = [{
          key = "string"
          val = "string"
        }]
        host_group_label_key = "string"
        hostname_key         = "string"
        ignore_older         = 0
        multi_collects_type  = "string"
        parse_path_rule = {
          keys        = ["string"]
          path_sample = "string"
          regex       = "string"
        }
        plugin = {
          processors = "string"
        }
        raw_log_key = "string"
        shard_hash_key = {
          hash_key = "string"
        }
        tail_files   = false
        tail_size_kb = 0
      }
    }
    
    var exampleruleResourceResourceFromTlsrule = new com.volcengine.volcenginecc.tls.Rule("exampleruleResourceResourceFromTlsrule", com.volcengine.volcenginecc.tls.RuleArgs.builder()
        .ruleName("string")
        .topicId("string")
        .containerRule(RuleContainerRuleArgs.builder()
            .containerNameRegex("string")
            .envTags(RuleContainerRuleEnvTagArgs.builder()
                .key("string")
                .val("string")
                .build())
            .excludeContainerEnvRegexes(RuleContainerRuleExcludeContainerEnvRegexArgs.builder()
                .key("string")
                .val("string")
                .build())
            .excludeContainerLabelRegexes(RuleContainerRuleExcludeContainerLabelRegexArgs.builder()
                .key("string")
                .val("string")
                .build())
            .includeContainerEnvRegexes(RuleContainerRuleIncludeContainerEnvRegexArgs.builder()
                .key("string")
                .val("string")
                .build())
            .includeContainerLabelRegexes(RuleContainerRuleIncludeContainerLabelRegexArgs.builder()
                .key("string")
                .val("string")
                .build())
            .kubernetesRule(RuleContainerRuleKubernetesRuleArgs.builder()
                .annotationTags(RuleContainerRuleKubernetesRuleAnnotationTagArgs.builder()
                    .key("string")
                    .val("string")
                    .build())
                .enableAllLabelTag(false)
                .excludePodAnnotationRegexes(RuleContainerRuleKubernetesRuleExcludePodAnnotationRegexArgs.builder()
                    .key("string")
                    .val("string")
                    .build())
                .excludePodLabelRegexes(RuleContainerRuleKubernetesRuleExcludePodLabelRegexArgs.builder()
                    .key("string")
                    .val("string")
                    .build())
                .includePodAnnotationRegexes(RuleContainerRuleKubernetesRuleIncludePodAnnotationRegexArgs.builder()
                    .key("string")
                    .val("string")
                    .build())
                .includePodLabelRegexes(RuleContainerRuleKubernetesRuleIncludePodLabelRegexArgs.builder()
                    .key("string")
                    .val("string")
                    .build())
                .labelTags(RuleContainerRuleKubernetesRuleLabelTagArgs.builder()
                    .key("string")
                    .val("string")
                    .build())
                .namespaceNameRegex("string")
                .podNameRegex("string")
                .workloadNameRegex("string")
                .workloadType("string")
                .build())
            .stream("string")
            .build())
        .excludePaths(RuleExcludePathArgs.builder()
            .type("string")
            .value("string")
            .build())
        .extractRule(RuleExtractRuleArgs.builder()
            .beginRegex("string")
            .delimiter("string")
            .enableNanosecond(false)
            .filterKeyRegexes(RuleExtractRuleFilterKeyRegexArgs.builder()
                .key("string")
                .regex("string")
                .build())
            .keys("string")
            .logRegex("string")
            .logTemplate(RuleExtractRuleLogTemplateArgs.builder()
                .format("string")
                .type("string")
                .build())
            .quote("string")
            .timeExtractRegex("string")
            .timeFormat("string")
            .timeKey("string")
            .timeSample("string")
            .timeZone("string")
            .unMatchLogKey("string")
            .unMatchUpLoadSwitch(false)
            .build())
        .hostGroupInfos(RuleHostGroupInfoArgs.builder()
            .hostGroupId("string")
            .build())
        .inputType(0)
        .logSample("string")
        .logType("string")
        .paths("string")
        .pause(0)
        .userDefineRule(RuleUserDefineRuleArgs.builder()
            .advanced(RuleUserDefineRuleAdvancedArgs.builder()
                .closeEof(false)
                .closeInactive(0)
                .closeRemoved(false)
                .closeRenamed(false)
                .closeTimeout(0)
                .noLineTerminatorEofMaxTime(0)
                .build())
            .enableHostGroupLabel(false)
            .enableHostname(false)
            .enableRawLog(false)
            .fields(RuleUserDefineRuleFieldArgs.builder()
                .key("string")
                .val("string")
                .build())
            .hostGroupLabelKey("string")
            .hostnameKey("string")
            .ignoreOlder(0)
            .multiCollectsType("string")
            .parsePathRule(RuleUserDefineRuleParsePathRuleArgs.builder()
                .keys("string")
                .pathSample("string")
                .regex("string")
                .build())
            .plugin(RuleUserDefineRulePluginArgs.builder()
                .processors("string")
                .build())
            .rawLogKey("string")
            .shardHashKey(RuleUserDefineRuleShardHashKeyArgs.builder()
                .hashKey("string")
                .build())
            .tailFiles(false)
            .tailSizeKb(0)
            .build())
        .build());
    
    examplerule_resource_resource_from_tlsrule = volcenginecc.tls.Rule("exampleruleResourceResourceFromTlsrule",
        rule_name="string",
        topic_id="string",
        container_rule={
            "container_name_regex": "string",
            "env_tags": [{
                "key": "string",
                "val": "string",
            }],
            "exclude_container_env_regexes": [{
                "key": "string",
                "val": "string",
            }],
            "exclude_container_label_regexes": [{
                "key": "string",
                "val": "string",
            }],
            "include_container_env_regexes": [{
                "key": "string",
                "val": "string",
            }],
            "include_container_label_regexes": [{
                "key": "string",
                "val": "string",
            }],
            "kubernetes_rule": {
                "annotation_tags": [{
                    "key": "string",
                    "val": "string",
                }],
                "enable_all_label_tag": False,
                "exclude_pod_annotation_regexes": [{
                    "key": "string",
                    "val": "string",
                }],
                "exclude_pod_label_regexes": [{
                    "key": "string",
                    "val": "string",
                }],
                "include_pod_annotation_regexes": [{
                    "key": "string",
                    "val": "string",
                }],
                "include_pod_label_regexes": [{
                    "key": "string",
                    "val": "string",
                }],
                "label_tags": [{
                    "key": "string",
                    "val": "string",
                }],
                "namespace_name_regex": "string",
                "pod_name_regex": "string",
                "workload_name_regex": "string",
                "workload_type": "string",
            },
            "stream": "string",
        },
        exclude_paths=[{
            "type": "string",
            "value": "string",
        }],
        extract_rule={
            "begin_regex": "string",
            "delimiter": "string",
            "enable_nanosecond": False,
            "filter_key_regexes": [{
                "key": "string",
                "regex": "string",
            }],
            "keys": ["string"],
            "log_regex": "string",
            "log_template": {
                "format": "string",
                "type": "string",
            },
            "quote": "string",
            "time_extract_regex": "string",
            "time_format": "string",
            "time_key": "string",
            "time_sample": "string",
            "time_zone": "string",
            "un_match_log_key": "string",
            "un_match_up_load_switch": False,
        },
        host_group_infos=[{
            "host_group_id": "string",
        }],
        input_type=0,
        log_sample="string",
        log_type="string",
        paths=["string"],
        pause=0,
        user_define_rule={
            "advanced": {
                "close_eof": False,
                "close_inactive": 0,
                "close_removed": False,
                "close_renamed": False,
                "close_timeout": 0,
                "no_line_terminator_eof_max_time": 0,
            },
            "enable_host_group_label": False,
            "enable_hostname": False,
            "enable_raw_log": False,
            "fields": [{
                "key": "string",
                "val": "string",
            }],
            "host_group_label_key": "string",
            "hostname_key": "string",
            "ignore_older": 0,
            "multi_collects_type": "string",
            "parse_path_rule": {
                "keys": ["string"],
                "path_sample": "string",
                "regex": "string",
            },
            "plugin": {
                "processors": "string",
            },
            "raw_log_key": "string",
            "shard_hash_key": {
                "hash_key": "string",
            },
            "tail_files": False,
            "tail_size_kb": 0,
        })
    
    const exampleruleResourceResourceFromTlsrule = new volcenginecc.tls.Rule("exampleruleResourceResourceFromTlsrule", {
        ruleName: "string",
        topicId: "string",
        containerRule: {
            containerNameRegex: "string",
            envTags: [{
                key: "string",
                val: "string",
            }],
            excludeContainerEnvRegexes: [{
                key: "string",
                val: "string",
            }],
            excludeContainerLabelRegexes: [{
                key: "string",
                val: "string",
            }],
            includeContainerEnvRegexes: [{
                key: "string",
                val: "string",
            }],
            includeContainerLabelRegexes: [{
                key: "string",
                val: "string",
            }],
            kubernetesRule: {
                annotationTags: [{
                    key: "string",
                    val: "string",
                }],
                enableAllLabelTag: false,
                excludePodAnnotationRegexes: [{
                    key: "string",
                    val: "string",
                }],
                excludePodLabelRegexes: [{
                    key: "string",
                    val: "string",
                }],
                includePodAnnotationRegexes: [{
                    key: "string",
                    val: "string",
                }],
                includePodLabelRegexes: [{
                    key: "string",
                    val: "string",
                }],
                labelTags: [{
                    key: "string",
                    val: "string",
                }],
                namespaceNameRegex: "string",
                podNameRegex: "string",
                workloadNameRegex: "string",
                workloadType: "string",
            },
            stream: "string",
        },
        excludePaths: [{
            type: "string",
            value: "string",
        }],
        extractRule: {
            beginRegex: "string",
            delimiter: "string",
            enableNanosecond: false,
            filterKeyRegexes: [{
                key: "string",
                regex: "string",
            }],
            keys: ["string"],
            logRegex: "string",
            logTemplate: {
                format: "string",
                type: "string",
            },
            quote: "string",
            timeExtractRegex: "string",
            timeFormat: "string",
            timeKey: "string",
            timeSample: "string",
            timeZone: "string",
            unMatchLogKey: "string",
            unMatchUpLoadSwitch: false,
        },
        hostGroupInfos: [{
            hostGroupId: "string",
        }],
        inputType: 0,
        logSample: "string",
        logType: "string",
        paths: ["string"],
        pause: 0,
        userDefineRule: {
            advanced: {
                closeEof: false,
                closeInactive: 0,
                closeRemoved: false,
                closeRenamed: false,
                closeTimeout: 0,
                noLineTerminatorEofMaxTime: 0,
            },
            enableHostGroupLabel: false,
            enableHostname: false,
            enableRawLog: false,
            fields: [{
                key: "string",
                val: "string",
            }],
            hostGroupLabelKey: "string",
            hostnameKey: "string",
            ignoreOlder: 0,
            multiCollectsType: "string",
            parsePathRule: {
                keys: ["string"],
                pathSample: "string",
                regex: "string",
            },
            plugin: {
                processors: "string",
            },
            rawLogKey: "string",
            shardHashKey: {
                hashKey: "string",
            },
            tailFiles: false,
            tailSizeKb: 0,
        },
    });
    
    type: volcenginecc:tls:Rule
    properties:
        containerRule:
            containerNameRegex: string
            envTags:
                - key: string
                  val: string
            excludeContainerEnvRegexes:
                - key: string
                  val: string
            excludeContainerLabelRegexes:
                - key: string
                  val: string
            includeContainerEnvRegexes:
                - key: string
                  val: string
            includeContainerLabelRegexes:
                - key: string
                  val: string
            kubernetesRule:
                annotationTags:
                    - key: string
                      val: string
                enableAllLabelTag: false
                excludePodAnnotationRegexes:
                    - key: string
                      val: string
                excludePodLabelRegexes:
                    - key: string
                      val: string
                includePodAnnotationRegexes:
                    - key: string
                      val: string
                includePodLabelRegexes:
                    - key: string
                      val: string
                labelTags:
                    - key: string
                      val: string
                namespaceNameRegex: string
                podNameRegex: string
                workloadNameRegex: string
                workloadType: string
            stream: string
        excludePaths:
            - type: string
              value: string
        extractRule:
            beginRegex: string
            delimiter: string
            enableNanosecond: false
            filterKeyRegexes:
                - key: string
                  regex: string
            keys:
                - string
            logRegex: string
            logTemplate:
                format: string
                type: string
            quote: string
            timeExtractRegex: string
            timeFormat: string
            timeKey: string
            timeSample: string
            timeZone: string
            unMatchLogKey: string
            unMatchUpLoadSwitch: false
        hostGroupInfos:
            - hostGroupId: string
        inputType: 0
        logSample: string
        logType: string
        paths:
            - string
        pause: 0
        ruleName: string
        topicId: string
        userDefineRule:
            advanced:
                closeEof: false
                closeInactive: 0
                closeRemoved: false
                closeRenamed: false
                closeTimeout: 0
                noLineTerminatorEofMaxTime: 0
            enableHostGroupLabel: false
            enableHostname: false
            enableRawLog: false
            fields:
                - key: string
                  val: string
            hostGroupLabelKey: string
            hostnameKey: string
            ignoreOlder: 0
            multiCollectsType: string
            parsePathRule:
                keys:
                    - string
                pathSample: string
                regex: string
            plugin:
                processors: string
            rawLogKey: string
            shardHashKey:
                hashKey: string
            tailFiles: false
            tailSizeKb: 0
    

    Rule Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The Rule resource accepts the following input properties:

    RuleName string
    Collection configuration name. Please refer to the resource naming rules. Must be unique within a log topic.
    TopicId string
    Log topic ID to which the collection configuration belongs.
    ContainerRule Volcengine.RuleContainerRule
    Container log collection rules.
    ExcludePaths List<Volcengine.RuleExcludePath>
    Denylist entries for collection. You can create up to 10 denylist entries. When InputType=0 or InputType=2: If Type is Path, Value represents a directory. Supports exact match and wildcard pattern matching. Wildcards supported: *, ?. The ** wildcard is not supported. If Type is File, Value represents a file name. Supports exact match and wildcard pattern matching. Wildcards supported: **, *, ?. Only one ** wildcard can be configured at most. When InputType=1: Configuring a denylist is not allowed. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    ExtractRule Volcengine.RuleExtractRule
    Log extraction rules. Note: This parameter is required if LogType is set to any type other than minimalistlog or jsonlog.
    HostGroupInfos List<Volcengine.RuleHostGroupInfo>
    Machine group information list. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    InputType int
    Collection type. 0: (Default) Host log file. 1: K8s container stdout. 2: K8s container internal log file.
    LogSample string
    Log sample. Maximum length is 3000 characters. Log sample content must match the collection mode. Single-line full-text mode and JSON mode do not require a log sample. Other modes require a log sample, and the content must match the collection mode.
    LogType string
    Collection mode. minimalistlog: (Default) Single-line full-text mode. jsonlog: JSON mode. delimiterlog: Delimiter mode. multilinelog: Multi-line full-text mode. fullregex_log: Full regex mode.
    Paths List<string>
    Collection path list. You can create up to 10 collection paths. Collection paths must be specified as absolute paths; relative paths are not supported. When InputType=0 or InputType=2, collection paths support exact match and wildcard mode. Wildcards only support **, *, and ?, but you can configure at most one ** wildcard. When InputType=1, you do not need to configure the collection path list.
    Pause int
    Collection configuration status. 0: Running. 1: Paused.
    UserDefineRule Volcengine.RuleUserDefineRule
    User-defined collection rules.
    RuleName string
    Collection configuration name. Please refer to the resource naming rules. Must be unique within a log topic.
    TopicId string
    Log topic ID to which the collection configuration belongs.
    ContainerRule RuleContainerRuleArgs
    Container log collection rules.
    ExcludePaths []RuleExcludePathArgs
    Denylist entries for collection. You can create up to 10 denylist entries. When InputType=0 or InputType=2: If Type is Path, Value represents a directory. Supports exact match and wildcard pattern matching. Wildcards supported: *, ?. The ** wildcard is not supported. If Type is File, Value represents a file name. Supports exact match and wildcard pattern matching. Wildcards supported: **, *, ?. Only one ** wildcard can be configured at most. When InputType=1: Configuring a denylist is not allowed. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    ExtractRule RuleExtractRuleArgs
    Log extraction rules. Note: This parameter is required if LogType is set to any type other than minimalistlog or jsonlog.
    HostGroupInfos []RuleHostGroupInfoArgs
    Machine group information list. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    InputType int
    Collection type. 0: (Default) Host log file. 1: K8s container stdout. 2: K8s container internal log file.
    LogSample string
    Log sample. Maximum length is 3000 characters. Log sample content must match the collection mode. Single-line full-text mode and JSON mode do not require a log sample. Other modes require a log sample, and the content must match the collection mode.
    LogType string
    Collection mode. minimalistlog: (Default) Single-line full-text mode. jsonlog: JSON mode. delimiterlog: Delimiter mode. multilinelog: Multi-line full-text mode. fullregex_log: Full regex mode.
    Paths []string
    Collection path list. You can create up to 10 collection paths. Collection paths must be specified as absolute paths; relative paths are not supported. When InputType=0 or InputType=2, collection paths support exact match and wildcard mode. Wildcards only support **, *, and ?, but you can configure at most one ** wildcard. When InputType=1, you do not need to configure the collection path list.
    Pause int
    Collection configuration status. 0: Running. 1: Paused.
    UserDefineRule RuleUserDefineRuleArgs
    User-defined collection rules.
    rule_name string
    Collection configuration name. Please refer to the resource naming rules. Must be unique within a log topic.
    topic_id string
    Log topic ID to which the collection configuration belongs.
    container_rule object
    Container log collection rules.
    exclude_paths list(object)
    Denylist entries for collection. You can create up to 10 denylist entries. When InputType=0 or InputType=2: If Type is Path, Value represents a directory. Supports exact match and wildcard pattern matching. Wildcards supported: *, ?. The ** wildcard is not supported. If Type is File, Value represents a file name. Supports exact match and wildcard pattern matching. Wildcards supported: **, *, ?. Only one ** wildcard can be configured at most. When InputType=1: Configuring a denylist is not allowed. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    extract_rule object
    Log extraction rules. Note: This parameter is required if LogType is set to any type other than minimalistlog or jsonlog.
    host_group_infos list(object)
    Machine group information list. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    input_type number
    Collection type. 0: (Default) Host log file. 1: K8s container stdout. 2: K8s container internal log file.
    log_sample string
    Log sample. Maximum length is 3000 characters. Log sample content must match the collection mode. Single-line full-text mode and JSON mode do not require a log sample. Other modes require a log sample, and the content must match the collection mode.
    log_type string
    Collection mode. minimalistlog: (Default) Single-line full-text mode. jsonlog: JSON mode. delimiterlog: Delimiter mode. multilinelog: Multi-line full-text mode. fullregex_log: Full regex mode.
    paths list(string)
    Collection path list. You can create up to 10 collection paths. Collection paths must be specified as absolute paths; relative paths are not supported. When InputType=0 or InputType=2, collection paths support exact match and wildcard mode. Wildcards only support **, *, and ?, but you can configure at most one ** wildcard. When InputType=1, you do not need to configure the collection path list.
    pause number
    Collection configuration status. 0: Running. 1: Paused.
    user_define_rule object
    User-defined collection rules.
    ruleName String
    Collection configuration name. Please refer to the resource naming rules. Must be unique within a log topic.
    topicId String
    Log topic ID to which the collection configuration belongs.
    containerRule RuleContainerRule
    Container log collection rules.
    excludePaths List<RuleExcludePath>
    Denylist entries for collection. You can create up to 10 denylist entries. When InputType=0 or InputType=2: If Type is Path, Value represents a directory. Supports exact match and wildcard pattern matching. Wildcards supported: *, ?. The ** wildcard is not supported. If Type is File, Value represents a file name. Supports exact match and wildcard pattern matching. Wildcards supported: **, *, ?. Only one ** wildcard can be configured at most. When InputType=1: Configuring a denylist is not allowed. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    extractRule RuleExtractRule
    Log extraction rules. Note: This parameter is required if LogType is set to any type other than minimalistlog or jsonlog.
    hostGroupInfos List<RuleHostGroupInfo>
    Machine group information list. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    inputType Integer
    Collection type. 0: (Default) Host log file. 1: K8s container stdout. 2: K8s container internal log file.
    logSample String
    Log sample. Maximum length is 3000 characters. Log sample content must match the collection mode. Single-line full-text mode and JSON mode do not require a log sample. Other modes require a log sample, and the content must match the collection mode.
    logType String
    Collection mode. minimalistlog: (Default) Single-line full-text mode. jsonlog: JSON mode. delimiterlog: Delimiter mode. multilinelog: Multi-line full-text mode. fullregex_log: Full regex mode.
    paths List<String>
    Collection path list. You can create up to 10 collection paths. Collection paths must be specified as absolute paths; relative paths are not supported. When InputType=0 or InputType=2, collection paths support exact match and wildcard mode. Wildcards only support **, *, and ?, but you can configure at most one ** wildcard. When InputType=1, you do not need to configure the collection path list.
    pause Integer
    Collection configuration status. 0: Running. 1: Paused.
    userDefineRule RuleUserDefineRule
    User-defined collection rules.
    ruleName string
    Collection configuration name. Please refer to the resource naming rules. Must be unique within a log topic.
    topicId string
    Log topic ID to which the collection configuration belongs.
    containerRule RuleContainerRule
    Container log collection rules.
    excludePaths RuleExcludePath[]
    Denylist entries for collection. You can create up to 10 denylist entries. When InputType=0 or InputType=2: If Type is Path, Value represents a directory. Supports exact match and wildcard pattern matching. Wildcards supported: *, ?. The ** wildcard is not supported. If Type is File, Value represents a file name. Supports exact match and wildcard pattern matching. Wildcards supported: **, *, ?. Only one ** wildcard can be configured at most. When InputType=1: Configuring a denylist is not allowed. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    extractRule RuleExtractRule
    Log extraction rules. Note: This parameter is required if LogType is set to any type other than minimalistlog or jsonlog.
    hostGroupInfos RuleHostGroupInfo[]
    Machine group information list. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    inputType number
    Collection type. 0: (Default) Host log file. 1: K8s container stdout. 2: K8s container internal log file.
    logSample string
    Log sample. Maximum length is 3000 characters. Log sample content must match the collection mode. Single-line full-text mode and JSON mode do not require a log sample. Other modes require a log sample, and the content must match the collection mode.
    logType string
    Collection mode. minimalistlog: (Default) Single-line full-text mode. jsonlog: JSON mode. delimiterlog: Delimiter mode. multilinelog: Multi-line full-text mode. fullregex_log: Full regex mode.
    paths string[]
    Collection path list. You can create up to 10 collection paths. Collection paths must be specified as absolute paths; relative paths are not supported. When InputType=0 or InputType=2, collection paths support exact match and wildcard mode. Wildcards only support **, *, and ?, but you can configure at most one ** wildcard. When InputType=1, you do not need to configure the collection path list.
    pause number
    Collection configuration status. 0: Running. 1: Paused.
    userDefineRule RuleUserDefineRule
    User-defined collection rules.
    rule_name str
    Collection configuration name. Please refer to the resource naming rules. Must be unique within a log topic.
    topic_id str
    Log topic ID to which the collection configuration belongs.
    container_rule RuleContainerRuleArgs
    Container log collection rules.
    exclude_paths Sequence[RuleExcludePathArgs]
    Denylist entries for collection. You can create up to 10 denylist entries. When InputType=0 or InputType=2: If Type is Path, Value represents a directory. Supports exact match and wildcard pattern matching. Wildcards supported: *, ?. The ** wildcard is not supported. If Type is File, Value represents a file name. Supports exact match and wildcard pattern matching. Wildcards supported: **, *, ?. Only one ** wildcard can be configured at most. When InputType=1: Configuring a denylist is not allowed. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    extract_rule RuleExtractRuleArgs
    Log extraction rules. Note: This parameter is required if LogType is set to any type other than minimalistlog or jsonlog.
    host_group_infos Sequence[RuleHostGroupInfoArgs]
    Machine group information list. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    input_type int
    Collection type. 0: (Default) Host log file. 1: K8s container stdout. 2: K8s container internal log file.
    log_sample str
    Log sample. Maximum length is 3000 characters. Log sample content must match the collection mode. Single-line full-text mode and JSON mode do not require a log sample. Other modes require a log sample, and the content must match the collection mode.
    log_type str
    Collection mode. minimalistlog: (Default) Single-line full-text mode. jsonlog: JSON mode. delimiterlog: Delimiter mode. multilinelog: Multi-line full-text mode. fullregex_log: Full regex mode.
    paths Sequence[str]
    Collection path list. You can create up to 10 collection paths. Collection paths must be specified as absolute paths; relative paths are not supported. When InputType=0 or InputType=2, collection paths support exact match and wildcard mode. Wildcards only support **, *, and ?, but you can configure at most one ** wildcard. When InputType=1, you do not need to configure the collection path list.
    pause int
    Collection configuration status. 0: Running. 1: Paused.
    user_define_rule RuleUserDefineRuleArgs
    User-defined collection rules.
    ruleName String
    Collection configuration name. Please refer to the resource naming rules. Must be unique within a log topic.
    topicId String
    Log topic ID to which the collection configuration belongs.
    containerRule Property Map
    Container log collection rules.
    excludePaths List<Property Map>
    Denylist entries for collection. You can create up to 10 denylist entries. When InputType=0 or InputType=2: If Type is Path, Value represents a directory. Supports exact match and wildcard pattern matching. Wildcards supported: *, ?. The ** wildcard is not supported. If Type is File, Value represents a file name. Supports exact match and wildcard pattern matching. Wildcards supported: **, *, ?. Only one ** wildcard can be configured at most. When InputType=1: Configuring a denylist is not allowed. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    extractRule Property Map
    Log extraction rules. Note: This parameter is required if LogType is set to any type other than minimalistlog or jsonlog.
    hostGroupInfos List<Property Map>
    Machine group information list. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    inputType Number
    Collection type. 0: (Default) Host log file. 1: K8s container stdout. 2: K8s container internal log file.
    logSample String
    Log sample. Maximum length is 3000 characters. Log sample content must match the collection mode. Single-line full-text mode and JSON mode do not require a log sample. Other modes require a log sample, and the content must match the collection mode.
    logType String
    Collection mode. minimalistlog: (Default) Single-line full-text mode. jsonlog: JSON mode. delimiterlog: Delimiter mode. multilinelog: Multi-line full-text mode. fullregex_log: Full regex mode.
    paths List<String>
    Collection path list. You can create up to 10 collection paths. Collection paths must be specified as absolute paths; relative paths are not supported. When InputType=0 or InputType=2, collection paths support exact match and wildcard mode. Wildcards only support **, *, and ?, but you can configure at most one ** wildcard. When InputType=1, you do not need to configure the collection path list.
    pause Number
    Collection configuration status. 0: Running. 1: Paused.
    userDefineRule Property Map
    User-defined collection rules.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the Rule resource produces the following output properties:

    CreateTime string
    Time when the collection configuration was created.
    Id string
    The provider-assigned unique ID for this managed resource.
    ModifyTime string
    Collection configuration modification time.
    ProjectId string
    ID of the project to which the collection configuration belongs.
    ProjectName string
    Name of the project to which the collection configuration belongs
    RuleId string
    Collection configuration ID.
    TopicName string
    Name of the log topic to which the collection configuration belongs.
    CreateTime string
    Time when the collection configuration was created.
    Id string
    The provider-assigned unique ID for this managed resource.
    ModifyTime string
    Collection configuration modification time.
    ProjectId string
    ID of the project to which the collection configuration belongs.
    ProjectName string
    Name of the project to which the collection configuration belongs
    RuleId string
    Collection configuration ID.
    TopicName string
    Name of the log topic to which the collection configuration belongs.
    create_time string
    Time when the collection configuration was created.
    id string
    The provider-assigned unique ID for this managed resource.
    modify_time string
    Collection configuration modification time.
    project_id string
    ID of the project to which the collection configuration belongs.
    project_name string
    Name of the project to which the collection configuration belongs
    rule_id string
    Collection configuration ID.
    topic_name string
    Name of the log topic to which the collection configuration belongs.
    createTime String
    Time when the collection configuration was created.
    id String
    The provider-assigned unique ID for this managed resource.
    modifyTime String
    Collection configuration modification time.
    projectId String
    ID of the project to which the collection configuration belongs.
    projectName String
    Name of the project to which the collection configuration belongs
    ruleId String
    Collection configuration ID.
    topicName String
    Name of the log topic to which the collection configuration belongs.
    createTime string
    Time when the collection configuration was created.
    id string
    The provider-assigned unique ID for this managed resource.
    modifyTime string
    Collection configuration modification time.
    projectId string
    ID of the project to which the collection configuration belongs.
    projectName string
    Name of the project to which the collection configuration belongs
    ruleId string
    Collection configuration ID.
    topicName string
    Name of the log topic to which the collection configuration belongs.
    create_time str
    Time when the collection configuration was created.
    id str
    The provider-assigned unique ID for this managed resource.
    modify_time str
    Collection configuration modification time.
    project_id str
    ID of the project to which the collection configuration belongs.
    project_name str
    Name of the project to which the collection configuration belongs
    rule_id str
    Collection configuration ID.
    topic_name str
    Name of the log topic to which the collection configuration belongs.
    createTime String
    Time when the collection configuration was created.
    id String
    The provider-assigned unique ID for this managed resource.
    modifyTime String
    Collection configuration modification time.
    projectId String
    ID of the project to which the collection configuration belongs.
    projectName String
    Name of the project to which the collection configuration belongs
    ruleId String
    Collection configuration ID.
    topicName String
    Name of the log topic to which the collection configuration belongs.

    Look up Existing Rule Resource

    Get an existing Rule resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: RuleState, opts?: CustomResourceOptions): Rule
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            container_rule: Optional[RuleContainerRuleArgs] = None,
            create_time: Optional[str] = None,
            exclude_paths: Optional[Sequence[RuleExcludePathArgs]] = None,
            extract_rule: Optional[RuleExtractRuleArgs] = None,
            host_group_infos: Optional[Sequence[RuleHostGroupInfoArgs]] = None,
            input_type: Optional[int] = None,
            log_sample: Optional[str] = None,
            log_type: Optional[str] = None,
            modify_time: Optional[str] = None,
            paths: Optional[Sequence[str]] = None,
            pause: Optional[int] = None,
            project_id: Optional[str] = None,
            project_name: Optional[str] = None,
            rule_id: Optional[str] = None,
            rule_name: Optional[str] = None,
            topic_id: Optional[str] = None,
            topic_name: Optional[str] = None,
            user_define_rule: Optional[RuleUserDefineRuleArgs] = None) -> Rule
    func GetRule(ctx *Context, name string, id IDInput, state *RuleState, opts ...ResourceOption) (*Rule, error)
    public static Rule Get(string name, Input<string> id, RuleState? state, CustomResourceOptions? opts = null)
    public static Rule get(String name, Output<String> id, RuleState state, CustomResourceOptions options)
    resources:  _:    type: volcenginecc:tls:Rule    get:      id: ${id}
    import {
      to = volcenginecc_tls_rule.example
      id = "${id}"
    }
    
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    ContainerRule Volcengine.RuleContainerRule
    Container log collection rules.
    CreateTime string
    Time when the collection configuration was created.
    ExcludePaths List<Volcengine.RuleExcludePath>
    Denylist entries for collection. You can create up to 10 denylist entries. When InputType=0 or InputType=2: If Type is Path, Value represents a directory. Supports exact match and wildcard pattern matching. Wildcards supported: *, ?. The ** wildcard is not supported. If Type is File, Value represents a file name. Supports exact match and wildcard pattern matching. Wildcards supported: **, *, ?. Only one ** wildcard can be configured at most. When InputType=1: Configuring a denylist is not allowed. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    ExtractRule Volcengine.RuleExtractRule
    Log extraction rules. Note: This parameter is required if LogType is set to any type other than minimalistlog or jsonlog.
    HostGroupInfos List<Volcengine.RuleHostGroupInfo>
    Machine group information list. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    InputType int
    Collection type. 0: (Default) Host log file. 1: K8s container stdout. 2: K8s container internal log file.
    LogSample string
    Log sample. Maximum length is 3000 characters. Log sample content must match the collection mode. Single-line full-text mode and JSON mode do not require a log sample. Other modes require a log sample, and the content must match the collection mode.
    LogType string
    Collection mode. minimalistlog: (Default) Single-line full-text mode. jsonlog: JSON mode. delimiterlog: Delimiter mode. multilinelog: Multi-line full-text mode. fullregex_log: Full regex mode.
    ModifyTime string
    Collection configuration modification time.
    Paths List<string>
    Collection path list. You can create up to 10 collection paths. Collection paths must be specified as absolute paths; relative paths are not supported. When InputType=0 or InputType=2, collection paths support exact match and wildcard mode. Wildcards only support **, *, and ?, but you can configure at most one ** wildcard. When InputType=1, you do not need to configure the collection path list.
    Pause int
    Collection configuration status. 0: Running. 1: Paused.
    ProjectId string
    ID of the project to which the collection configuration belongs.
    ProjectName string
    Name of the project to which the collection configuration belongs
    RuleId string
    Collection configuration ID.
    RuleName string
    Collection configuration name. Please refer to the resource naming rules. Must be unique within a log topic.
    TopicId string
    Log topic ID to which the collection configuration belongs.
    TopicName string
    Name of the log topic to which the collection configuration belongs.
    UserDefineRule Volcengine.RuleUserDefineRule
    User-defined collection rules.
    ContainerRule RuleContainerRuleArgs
    Container log collection rules.
    CreateTime string
    Time when the collection configuration was created.
    ExcludePaths []RuleExcludePathArgs
    Denylist entries for collection. You can create up to 10 denylist entries. When InputType=0 or InputType=2: If Type is Path, Value represents a directory. Supports exact match and wildcard pattern matching. Wildcards supported: *, ?. The ** wildcard is not supported. If Type is File, Value represents a file name. Supports exact match and wildcard pattern matching. Wildcards supported: **, *, ?. Only one ** wildcard can be configured at most. When InputType=1: Configuring a denylist is not allowed. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    ExtractRule RuleExtractRuleArgs
    Log extraction rules. Note: This parameter is required if LogType is set to any type other than minimalistlog or jsonlog.
    HostGroupInfos []RuleHostGroupInfoArgs
    Machine group information list. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    InputType int
    Collection type. 0: (Default) Host log file. 1: K8s container stdout. 2: K8s container internal log file.
    LogSample string
    Log sample. Maximum length is 3000 characters. Log sample content must match the collection mode. Single-line full-text mode and JSON mode do not require a log sample. Other modes require a log sample, and the content must match the collection mode.
    LogType string
    Collection mode. minimalistlog: (Default) Single-line full-text mode. jsonlog: JSON mode. delimiterlog: Delimiter mode. multilinelog: Multi-line full-text mode. fullregex_log: Full regex mode.
    ModifyTime string
    Collection configuration modification time.
    Paths []string
    Collection path list. You can create up to 10 collection paths. Collection paths must be specified as absolute paths; relative paths are not supported. When InputType=0 or InputType=2, collection paths support exact match and wildcard mode. Wildcards only support **, *, and ?, but you can configure at most one ** wildcard. When InputType=1, you do not need to configure the collection path list.
    Pause int
    Collection configuration status. 0: Running. 1: Paused.
    ProjectId string
    ID of the project to which the collection configuration belongs.
    ProjectName string
    Name of the project to which the collection configuration belongs
    RuleId string
    Collection configuration ID.
    RuleName string
    Collection configuration name. Please refer to the resource naming rules. Must be unique within a log topic.
    TopicId string
    Log topic ID to which the collection configuration belongs.
    TopicName string
    Name of the log topic to which the collection configuration belongs.
    UserDefineRule RuleUserDefineRuleArgs
    User-defined collection rules.
    container_rule object
    Container log collection rules.
    create_time string
    Time when the collection configuration was created.
    exclude_paths list(object)
    Denylist entries for collection. You can create up to 10 denylist entries. When InputType=0 or InputType=2: If Type is Path, Value represents a directory. Supports exact match and wildcard pattern matching. Wildcards supported: *, ?. The ** wildcard is not supported. If Type is File, Value represents a file name. Supports exact match and wildcard pattern matching. Wildcards supported: **, *, ?. Only one ** wildcard can be configured at most. When InputType=1: Configuring a denylist is not allowed. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    extract_rule object
    Log extraction rules. Note: This parameter is required if LogType is set to any type other than minimalistlog or jsonlog.
    host_group_infos list(object)
    Machine group information list. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    input_type number
    Collection type. 0: (Default) Host log file. 1: K8s container stdout. 2: K8s container internal log file.
    log_sample string
    Log sample. Maximum length is 3000 characters. Log sample content must match the collection mode. Single-line full-text mode and JSON mode do not require a log sample. Other modes require a log sample, and the content must match the collection mode.
    log_type string
    Collection mode. minimalistlog: (Default) Single-line full-text mode. jsonlog: JSON mode. delimiterlog: Delimiter mode. multilinelog: Multi-line full-text mode. fullregex_log: Full regex mode.
    modify_time string
    Collection configuration modification time.
    paths list(string)
    Collection path list. You can create up to 10 collection paths. Collection paths must be specified as absolute paths; relative paths are not supported. When InputType=0 or InputType=2, collection paths support exact match and wildcard mode. Wildcards only support **, *, and ?, but you can configure at most one ** wildcard. When InputType=1, you do not need to configure the collection path list.
    pause number
    Collection configuration status. 0: Running. 1: Paused.
    project_id string
    ID of the project to which the collection configuration belongs.
    project_name string
    Name of the project to which the collection configuration belongs
    rule_id string
    Collection configuration ID.
    rule_name string
    Collection configuration name. Please refer to the resource naming rules. Must be unique within a log topic.
    topic_id string
    Log topic ID to which the collection configuration belongs.
    topic_name string
    Name of the log topic to which the collection configuration belongs.
    user_define_rule object
    User-defined collection rules.
    containerRule RuleContainerRule
    Container log collection rules.
    createTime String
    Time when the collection configuration was created.
    excludePaths List<RuleExcludePath>
    Denylist entries for collection. You can create up to 10 denylist entries. When InputType=0 or InputType=2: If Type is Path, Value represents a directory. Supports exact match and wildcard pattern matching. Wildcards supported: *, ?. The ** wildcard is not supported. If Type is File, Value represents a file name. Supports exact match and wildcard pattern matching. Wildcards supported: **, *, ?. Only one ** wildcard can be configured at most. When InputType=1: Configuring a denylist is not allowed. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    extractRule RuleExtractRule
    Log extraction rules. Note: This parameter is required if LogType is set to any type other than minimalistlog or jsonlog.
    hostGroupInfos List<RuleHostGroupInfo>
    Machine group information list. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    inputType Integer
    Collection type. 0: (Default) Host log file. 1: K8s container stdout. 2: K8s container internal log file.
    logSample String
    Log sample. Maximum length is 3000 characters. Log sample content must match the collection mode. Single-line full-text mode and JSON mode do not require a log sample. Other modes require a log sample, and the content must match the collection mode.
    logType String
    Collection mode. minimalistlog: (Default) Single-line full-text mode. jsonlog: JSON mode. delimiterlog: Delimiter mode. multilinelog: Multi-line full-text mode. fullregex_log: Full regex mode.
    modifyTime String
    Collection configuration modification time.
    paths List<String>
    Collection path list. You can create up to 10 collection paths. Collection paths must be specified as absolute paths; relative paths are not supported. When InputType=0 or InputType=2, collection paths support exact match and wildcard mode. Wildcards only support **, *, and ?, but you can configure at most one ** wildcard. When InputType=1, you do not need to configure the collection path list.
    pause Integer
    Collection configuration status. 0: Running. 1: Paused.
    projectId String
    ID of the project to which the collection configuration belongs.
    projectName String
    Name of the project to which the collection configuration belongs
    ruleId String
    Collection configuration ID.
    ruleName String
    Collection configuration name. Please refer to the resource naming rules. Must be unique within a log topic.
    topicId String
    Log topic ID to which the collection configuration belongs.
    topicName String
    Name of the log topic to which the collection configuration belongs.
    userDefineRule RuleUserDefineRule
    User-defined collection rules.
    containerRule RuleContainerRule
    Container log collection rules.
    createTime string
    Time when the collection configuration was created.
    excludePaths RuleExcludePath[]
    Denylist entries for collection. You can create up to 10 denylist entries. When InputType=0 or InputType=2: If Type is Path, Value represents a directory. Supports exact match and wildcard pattern matching. Wildcards supported: *, ?. The ** wildcard is not supported. If Type is File, Value represents a file name. Supports exact match and wildcard pattern matching. Wildcards supported: **, *, ?. Only one ** wildcard can be configured at most. When InputType=1: Configuring a denylist is not allowed. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    extractRule RuleExtractRule
    Log extraction rules. Note: This parameter is required if LogType is set to any type other than minimalistlog or jsonlog.
    hostGroupInfos RuleHostGroupInfo[]
    Machine group information list. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    inputType number
    Collection type. 0: (Default) Host log file. 1: K8s container stdout. 2: K8s container internal log file.
    logSample string
    Log sample. Maximum length is 3000 characters. Log sample content must match the collection mode. Single-line full-text mode and JSON mode do not require a log sample. Other modes require a log sample, and the content must match the collection mode.
    logType string
    Collection mode. minimalistlog: (Default) Single-line full-text mode. jsonlog: JSON mode. delimiterlog: Delimiter mode. multilinelog: Multi-line full-text mode. fullregex_log: Full regex mode.
    modifyTime string
    Collection configuration modification time.
    paths string[]
    Collection path list. You can create up to 10 collection paths. Collection paths must be specified as absolute paths; relative paths are not supported. When InputType=0 or InputType=2, collection paths support exact match and wildcard mode. Wildcards only support **, *, and ?, but you can configure at most one ** wildcard. When InputType=1, you do not need to configure the collection path list.
    pause number
    Collection configuration status. 0: Running. 1: Paused.
    projectId string
    ID of the project to which the collection configuration belongs.
    projectName string
    Name of the project to which the collection configuration belongs
    ruleId string
    Collection configuration ID.
    ruleName string
    Collection configuration name. Please refer to the resource naming rules. Must be unique within a log topic.
    topicId string
    Log topic ID to which the collection configuration belongs.
    topicName string
    Name of the log topic to which the collection configuration belongs.
    userDefineRule RuleUserDefineRule
    User-defined collection rules.
    container_rule RuleContainerRuleArgs
    Container log collection rules.
    create_time str
    Time when the collection configuration was created.
    exclude_paths Sequence[RuleExcludePathArgs]
    Denylist entries for collection. You can create up to 10 denylist entries. When InputType=0 or InputType=2: If Type is Path, Value represents a directory. Supports exact match and wildcard pattern matching. Wildcards supported: *, ?. The ** wildcard is not supported. If Type is File, Value represents a file name. Supports exact match and wildcard pattern matching. Wildcards supported: **, *, ?. Only one ** wildcard can be configured at most. When InputType=1: Configuring a denylist is not allowed. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    extract_rule RuleExtractRuleArgs
    Log extraction rules. Note: This parameter is required if LogType is set to any type other than minimalistlog or jsonlog.
    host_group_infos Sequence[RuleHostGroupInfoArgs]
    Machine group information list. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    input_type int
    Collection type. 0: (Default) Host log file. 1: K8s container stdout. 2: K8s container internal log file.
    log_sample str
    Log sample. Maximum length is 3000 characters. Log sample content must match the collection mode. Single-line full-text mode and JSON mode do not require a log sample. Other modes require a log sample, and the content must match the collection mode.
    log_type str
    Collection mode. minimalistlog: (Default) Single-line full-text mode. jsonlog: JSON mode. delimiterlog: Delimiter mode. multilinelog: Multi-line full-text mode. fullregex_log: Full regex mode.
    modify_time str
    Collection configuration modification time.
    paths Sequence[str]
    Collection path list. You can create up to 10 collection paths. Collection paths must be specified as absolute paths; relative paths are not supported. When InputType=0 or InputType=2, collection paths support exact match and wildcard mode. Wildcards only support **, *, and ?, but you can configure at most one ** wildcard. When InputType=1, you do not need to configure the collection path list.
    pause int
    Collection configuration status. 0: Running. 1: Paused.
    project_id str
    ID of the project to which the collection configuration belongs.
    project_name str
    Name of the project to which the collection configuration belongs
    rule_id str
    Collection configuration ID.
    rule_name str
    Collection configuration name. Please refer to the resource naming rules. Must be unique within a log topic.
    topic_id str
    Log topic ID to which the collection configuration belongs.
    topic_name str
    Name of the log topic to which the collection configuration belongs.
    user_define_rule RuleUserDefineRuleArgs
    User-defined collection rules.
    containerRule Property Map
    Container log collection rules.
    createTime String
    Time when the collection configuration was created.
    excludePaths List<Property Map>
    Denylist entries for collection. You can create up to 10 denylist entries. When InputType=0 or InputType=2: If Type is Path, Value represents a directory. Supports exact match and wildcard pattern matching. Wildcards supported: *, ?. The ** wildcard is not supported. If Type is File, Value represents a file name. Supports exact match and wildcard pattern matching. Wildcards supported: **, *, ?. Only one ** wildcard can be configured at most. When InputType=1: Configuring a denylist is not allowed. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    extractRule Property Map
    Log extraction rules. Note: This parameter is required if LogType is set to any type other than minimalistlog or jsonlog.
    hostGroupInfos List<Property Map>
    Machine group information list. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    inputType Number
    Collection type. 0: (Default) Host log file. 1: K8s container stdout. 2: K8s container internal log file.
    logSample String
    Log sample. Maximum length is 3000 characters. Log sample content must match the collection mode. Single-line full-text mode and JSON mode do not require a log sample. Other modes require a log sample, and the content must match the collection mode.
    logType String
    Collection mode. minimalistlog: (Default) Single-line full-text mode. jsonlog: JSON mode. delimiterlog: Delimiter mode. multilinelog: Multi-line full-text mode. fullregex_log: Full regex mode.
    modifyTime String
    Collection configuration modification time.
    paths List<String>
    Collection path list. You can create up to 10 collection paths. Collection paths must be specified as absolute paths; relative paths are not supported. When InputType=0 or InputType=2, collection paths support exact match and wildcard mode. Wildcards only support **, *, and ?, but you can configure at most one ** wildcard. When InputType=1, you do not need to configure the collection path list.
    pause Number
    Collection configuration status. 0: Running. 1: Paused.
    projectId String
    ID of the project to which the collection configuration belongs.
    projectName String
    Name of the project to which the collection configuration belongs
    ruleId String
    Collection configuration ID.
    ruleName String
    Collection configuration name. Please refer to the resource naming rules. Must be unique within a log topic.
    topicId String
    Log topic ID to which the collection configuration belongs.
    topicName String
    Name of the log topic to which the collection configuration belongs.
    userDefineRule Property Map
    User-defined collection rules.

    Supporting Types

    RuleContainerRule, RuleContainerRuleArgs

    ContainerNameRegex string
    Container name to collect. If no container name is specified, all containers in the machine group will be collected. Supports regex matching; for example, setting the container name to ^(container-test)$ will collect all containers named container-test.
    EnvTags List<Volcengine.RuleContainerRuleEnvTag>
    Whether to add environment variables as log tags to the raw log data. When enabled, the log service adds container environment variable fields to the logs. Setting multiple key-value pairs adds multiple fields. For example, set Key to source and Value to data_source. If the container has the environment variable source=DC, the log will include the field tagdata_source_*: DC Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    ExcludeContainerEnvRegexes List<Volcengine.RuleContainerRuleExcludeContainerEnvRegex>
    The container environment variable denylist specifies which containers are excluded from collection. If the denylist is not enabled, all containers are collected. When the container environment variable denylist is enabled, Key is required and Value is optional. If Value is empty, all containers whose environment variables contain the Key are excluded from collection. If Value is not empty, only containers with a matching key-value pair are excluded, meaning only containers whose environment variables contain the Key and whose value matches the Value are excluded. Value supports regular expressions. For example, if Key is set to module and Value is set to ^(tcp|udp)$, containers with environment variables module:tcp or module:udp are excluded from collection. Multiple key-value pairs are evaluated with a logical OR, so any container environment variable matching any key-value pair will be excluded from collection. When the container environment variable denylist is enabled, Keys must be unique. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    ExcludeContainerLabelRegexes List<Volcengine.RuleContainerRuleExcludeContainerLabelRegex>
    Container label denylist specifies containers to exclude from collection. If the denylist is not enabled, all containers will be collected. If the container label denylist is enabled, Key is required and Value is optional. If Value is empty, all containers with the Key in their label will be excluded. If Value is not empty, only containers matching the key-value pair will be excluded—that is, containers with the Key in their label and a Value matching the specified pattern. Value supports regex matching; for example, set Key to app and Value to ^(test1|test2)$ to exclude containers with labels app:test1 and app:test2. Multiple key-value pairs use logical OR; any container label matching any pair will be excluded from collection. When the container label denylist is enabled, Keys must not be duplicated. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    IncludeContainerEnvRegexes List<Volcengine.RuleContainerRuleIncludeContainerEnvRegex>
    The container environment variable allowlist specifies which containers to collect using container environment variables. If the allowlist is not enabled, all containers are collected. When the container environment variable allowlist is enabled, you must enter key-value pairs. Key is required; Value is optional. If Value is empty, all containers containing the Key in their environment variables are collected. If Value is not empty, only containers with the Key in their environment variables and a Value matching the specified value are collected. Value supports regular expression matching. For example, if Key is set to module and Value is set to ^(tcp|udp)$, only containers with module:tcp or module:udp in their environment variables are collected. The logical relationship between multiple key-value pairs is OR, meaning any container environment variable matching any key-value pair will be included in the collection scope. When the container environment variable allowlist is enabled, Keys must not be duplicated. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    IncludeContainerLabelRegexes List<Volcengine.RuleContainerRuleIncludeContainerLabelRegex>
    The container label allowlist specifies which containers to collect based on container labels. If the allowlist is not enabled, all containers are collected. When the container label allowlist is enabled, you must specify key-value pairs. Key is required and Value is optional. If Value is empty, all containers whose labels contain the Key are collected. If Value is not empty, only containers whose labels contain the Key and whose value matches the Value are collected. Value supports regular expressions. For example, if Key is set to app and Value is set to ^(test1|test2)$, only containers with labels app:test1 or app:test2 are collected. Multiple key-value pairs are evaluated with a logical OR, so any container label matching any key-value pair will be included in the collection scope. When the container label allowlist is enabled, Keys must be unique. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    KubernetesRule Volcengine.RuleContainerRuleKubernetesRule
    Kubernetes container collection rules.
    Stream string
    Collection information. stdout: Collects container standard output (stdout). stderr: Collects container standard error (stderr). all: Collects both container standard output (stdout) and standard error (stderr).
    ContainerNameRegex string
    Container name to collect. If no container name is specified, all containers in the machine group will be collected. Supports regex matching; for example, setting the container name to ^(container-test)$ will collect all containers named container-test.
    EnvTags []RuleContainerRuleEnvTag
    Whether to add environment variables as log tags to the raw log data. When enabled, the log service adds container environment variable fields to the logs. Setting multiple key-value pairs adds multiple fields. For example, set Key to source and Value to data_source. If the container has the environment variable source=DC, the log will include the field tagdata_source_*: DC Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    ExcludeContainerEnvRegexes []RuleContainerRuleExcludeContainerEnvRegex
    The container environment variable denylist specifies which containers are excluded from collection. If the denylist is not enabled, all containers are collected. When the container environment variable denylist is enabled, Key is required and Value is optional. If Value is empty, all containers whose environment variables contain the Key are excluded from collection. If Value is not empty, only containers with a matching key-value pair are excluded, meaning only containers whose environment variables contain the Key and whose value matches the Value are excluded. Value supports regular expressions. For example, if Key is set to module and Value is set to ^(tcp|udp)$, containers with environment variables module:tcp or module:udp are excluded from collection. Multiple key-value pairs are evaluated with a logical OR, so any container environment variable matching any key-value pair will be excluded from collection. When the container environment variable denylist is enabled, Keys must be unique. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    ExcludeContainerLabelRegexes []RuleContainerRuleExcludeContainerLabelRegex
    Container label denylist specifies containers to exclude from collection. If the denylist is not enabled, all containers will be collected. If the container label denylist is enabled, Key is required and Value is optional. If Value is empty, all containers with the Key in their label will be excluded. If Value is not empty, only containers matching the key-value pair will be excluded—that is, containers with the Key in their label and a Value matching the specified pattern. Value supports regex matching; for example, set Key to app and Value to ^(test1|test2)$ to exclude containers with labels app:test1 and app:test2. Multiple key-value pairs use logical OR; any container label matching any pair will be excluded from collection. When the container label denylist is enabled, Keys must not be duplicated. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    IncludeContainerEnvRegexes []RuleContainerRuleIncludeContainerEnvRegex
    The container environment variable allowlist specifies which containers to collect using container environment variables. If the allowlist is not enabled, all containers are collected. When the container environment variable allowlist is enabled, you must enter key-value pairs. Key is required; Value is optional. If Value is empty, all containers containing the Key in their environment variables are collected. If Value is not empty, only containers with the Key in their environment variables and a Value matching the specified value are collected. Value supports regular expression matching. For example, if Key is set to module and Value is set to ^(tcp|udp)$, only containers with module:tcp or module:udp in their environment variables are collected. The logical relationship between multiple key-value pairs is OR, meaning any container environment variable matching any key-value pair will be included in the collection scope. When the container environment variable allowlist is enabled, Keys must not be duplicated. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    IncludeContainerLabelRegexes []RuleContainerRuleIncludeContainerLabelRegex
    The container label allowlist specifies which containers to collect based on container labels. If the allowlist is not enabled, all containers are collected. When the container label allowlist is enabled, you must specify key-value pairs. Key is required and Value is optional. If Value is empty, all containers whose labels contain the Key are collected. If Value is not empty, only containers whose labels contain the Key and whose value matches the Value are collected. Value supports regular expressions. For example, if Key is set to app and Value is set to ^(test1|test2)$, only containers with labels app:test1 or app:test2 are collected. Multiple key-value pairs are evaluated with a logical OR, so any container label matching any key-value pair will be included in the collection scope. When the container label allowlist is enabled, Keys must be unique. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    KubernetesRule RuleContainerRuleKubernetesRule
    Kubernetes container collection rules.
    Stream string
    Collection information. stdout: Collects container standard output (stdout). stderr: Collects container standard error (stderr). all: Collects both container standard output (stdout) and standard error (stderr).
    container_name_regex string
    Container name to collect. If no container name is specified, all containers in the machine group will be collected. Supports regex matching; for example, setting the container name to ^(container-test)$ will collect all containers named container-test.
    env_tags list(object)
    Whether to add environment variables as log tags to the raw log data. When enabled, the log service adds container environment variable fields to the logs. Setting multiple key-value pairs adds multiple fields. For example, set Key to source and Value to data_source. If the container has the environment variable source=DC, the log will include the field tagdata_source_*: DC Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    exclude_container_env_regexes list(object)
    The container environment variable denylist specifies which containers are excluded from collection. If the denylist is not enabled, all containers are collected. When the container environment variable denylist is enabled, Key is required and Value is optional. If Value is empty, all containers whose environment variables contain the Key are excluded from collection. If Value is not empty, only containers with a matching key-value pair are excluded, meaning only containers whose environment variables contain the Key and whose value matches the Value are excluded. Value supports regular expressions. For example, if Key is set to module and Value is set to ^(tcp|udp)$, containers with environment variables module:tcp or module:udp are excluded from collection. Multiple key-value pairs are evaluated with a logical OR, so any container environment variable matching any key-value pair will be excluded from collection. When the container environment variable denylist is enabled, Keys must be unique. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    exclude_container_label_regexes list(object)
    Container label denylist specifies containers to exclude from collection. If the denylist is not enabled, all containers will be collected. If the container label denylist is enabled, Key is required and Value is optional. If Value is empty, all containers with the Key in their label will be excluded. If Value is not empty, only containers matching the key-value pair will be excluded—that is, containers with the Key in their label and a Value matching the specified pattern. Value supports regex matching; for example, set Key to app and Value to ^(test1|test2)$ to exclude containers with labels app:test1 and app:test2. Multiple key-value pairs use logical OR; any container label matching any pair will be excluded from collection. When the container label denylist is enabled, Keys must not be duplicated. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    include_container_env_regexes list(object)
    The container environment variable allowlist specifies which containers to collect using container environment variables. If the allowlist is not enabled, all containers are collected. When the container environment variable allowlist is enabled, you must enter key-value pairs. Key is required; Value is optional. If Value is empty, all containers containing the Key in their environment variables are collected. If Value is not empty, only containers with the Key in their environment variables and a Value matching the specified value are collected. Value supports regular expression matching. For example, if Key is set to module and Value is set to ^(tcp|udp)$, only containers with module:tcp or module:udp in their environment variables are collected. The logical relationship between multiple key-value pairs is OR, meaning any container environment variable matching any key-value pair will be included in the collection scope. When the container environment variable allowlist is enabled, Keys must not be duplicated. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    include_container_label_regexes list(object)
    The container label allowlist specifies which containers to collect based on container labels. If the allowlist is not enabled, all containers are collected. When the container label allowlist is enabled, you must specify key-value pairs. Key is required and Value is optional. If Value is empty, all containers whose labels contain the Key are collected. If Value is not empty, only containers whose labels contain the Key and whose value matches the Value are collected. Value supports regular expressions. For example, if Key is set to app and Value is set to ^(test1|test2)$, only containers with labels app:test1 or app:test2 are collected. Multiple key-value pairs are evaluated with a logical OR, so any container label matching any key-value pair will be included in the collection scope. When the container label allowlist is enabled, Keys must be unique. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    kubernetes_rule object
    Kubernetes container collection rules.
    stream string
    Collection information. stdout: Collects container standard output (stdout). stderr: Collects container standard error (stderr). all: Collects both container standard output (stdout) and standard error (stderr).
    containerNameRegex String
    Container name to collect. If no container name is specified, all containers in the machine group will be collected. Supports regex matching; for example, setting the container name to ^(container-test)$ will collect all containers named container-test.
    envTags List<RuleContainerRuleEnvTag>
    Whether to add environment variables as log tags to the raw log data. When enabled, the log service adds container environment variable fields to the logs. Setting multiple key-value pairs adds multiple fields. For example, set Key to source and Value to data_source. If the container has the environment variable source=DC, the log will include the field tagdata_source_*: DC Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    excludeContainerEnvRegexes List<RuleContainerRuleExcludeContainerEnvRegex>
    The container environment variable denylist specifies which containers are excluded from collection. If the denylist is not enabled, all containers are collected. When the container environment variable denylist is enabled, Key is required and Value is optional. If Value is empty, all containers whose environment variables contain the Key are excluded from collection. If Value is not empty, only containers with a matching key-value pair are excluded, meaning only containers whose environment variables contain the Key and whose value matches the Value are excluded. Value supports regular expressions. For example, if Key is set to module and Value is set to ^(tcp|udp)$, containers with environment variables module:tcp or module:udp are excluded from collection. Multiple key-value pairs are evaluated with a logical OR, so any container environment variable matching any key-value pair will be excluded from collection. When the container environment variable denylist is enabled, Keys must be unique. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    excludeContainerLabelRegexes List<RuleContainerRuleExcludeContainerLabelRegex>
    Container label denylist specifies containers to exclude from collection. If the denylist is not enabled, all containers will be collected. If the container label denylist is enabled, Key is required and Value is optional. If Value is empty, all containers with the Key in their label will be excluded. If Value is not empty, only containers matching the key-value pair will be excluded—that is, containers with the Key in their label and a Value matching the specified pattern. Value supports regex matching; for example, set Key to app and Value to ^(test1|test2)$ to exclude containers with labels app:test1 and app:test2. Multiple key-value pairs use logical OR; any container label matching any pair will be excluded from collection. When the container label denylist is enabled, Keys must not be duplicated. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    includeContainerEnvRegexes List<RuleContainerRuleIncludeContainerEnvRegex>
    The container environment variable allowlist specifies which containers to collect using container environment variables. If the allowlist is not enabled, all containers are collected. When the container environment variable allowlist is enabled, you must enter key-value pairs. Key is required; Value is optional. If Value is empty, all containers containing the Key in their environment variables are collected. If Value is not empty, only containers with the Key in their environment variables and a Value matching the specified value are collected. Value supports regular expression matching. For example, if Key is set to module and Value is set to ^(tcp|udp)$, only containers with module:tcp or module:udp in their environment variables are collected. The logical relationship between multiple key-value pairs is OR, meaning any container environment variable matching any key-value pair will be included in the collection scope. When the container environment variable allowlist is enabled, Keys must not be duplicated. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    includeContainerLabelRegexes List<RuleContainerRuleIncludeContainerLabelRegex>
    The container label allowlist specifies which containers to collect based on container labels. If the allowlist is not enabled, all containers are collected. When the container label allowlist is enabled, you must specify key-value pairs. Key is required and Value is optional. If Value is empty, all containers whose labels contain the Key are collected. If Value is not empty, only containers whose labels contain the Key and whose value matches the Value are collected. Value supports regular expressions. For example, if Key is set to app and Value is set to ^(test1|test2)$, only containers with labels app:test1 or app:test2 are collected. Multiple key-value pairs are evaluated with a logical OR, so any container label matching any key-value pair will be included in the collection scope. When the container label allowlist is enabled, Keys must be unique. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    kubernetesRule RuleContainerRuleKubernetesRule
    Kubernetes container collection rules.
    stream String
    Collection information. stdout: Collects container standard output (stdout). stderr: Collects container standard error (stderr). all: Collects both container standard output (stdout) and standard error (stderr).
    containerNameRegex string
    Container name to collect. If no container name is specified, all containers in the machine group will be collected. Supports regex matching; for example, setting the container name to ^(container-test)$ will collect all containers named container-test.
    envTags RuleContainerRuleEnvTag[]
    Whether to add environment variables as log tags to the raw log data. When enabled, the log service adds container environment variable fields to the logs. Setting multiple key-value pairs adds multiple fields. For example, set Key to source and Value to data_source. If the container has the environment variable source=DC, the log will include the field tagdata_source_*: DC Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    excludeContainerEnvRegexes RuleContainerRuleExcludeContainerEnvRegex[]
    The container environment variable denylist specifies which containers are excluded from collection. If the denylist is not enabled, all containers are collected. When the container environment variable denylist is enabled, Key is required and Value is optional. If Value is empty, all containers whose environment variables contain the Key are excluded from collection. If Value is not empty, only containers with a matching key-value pair are excluded, meaning only containers whose environment variables contain the Key and whose value matches the Value are excluded. Value supports regular expressions. For example, if Key is set to module and Value is set to ^(tcp|udp)$, containers with environment variables module:tcp or module:udp are excluded from collection. Multiple key-value pairs are evaluated with a logical OR, so any container environment variable matching any key-value pair will be excluded from collection. When the container environment variable denylist is enabled, Keys must be unique. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    excludeContainerLabelRegexes RuleContainerRuleExcludeContainerLabelRegex[]
    Container label denylist specifies containers to exclude from collection. If the denylist is not enabled, all containers will be collected. If the container label denylist is enabled, Key is required and Value is optional. If Value is empty, all containers with the Key in their label will be excluded. If Value is not empty, only containers matching the key-value pair will be excluded—that is, containers with the Key in their label and a Value matching the specified pattern. Value supports regex matching; for example, set Key to app and Value to ^(test1|test2)$ to exclude containers with labels app:test1 and app:test2. Multiple key-value pairs use logical OR; any container label matching any pair will be excluded from collection. When the container label denylist is enabled, Keys must not be duplicated. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    includeContainerEnvRegexes RuleContainerRuleIncludeContainerEnvRegex[]
    The container environment variable allowlist specifies which containers to collect using container environment variables. If the allowlist is not enabled, all containers are collected. When the container environment variable allowlist is enabled, you must enter key-value pairs. Key is required; Value is optional. If Value is empty, all containers containing the Key in their environment variables are collected. If Value is not empty, only containers with the Key in their environment variables and a Value matching the specified value are collected. Value supports regular expression matching. For example, if Key is set to module and Value is set to ^(tcp|udp)$, only containers with module:tcp or module:udp in their environment variables are collected. The logical relationship between multiple key-value pairs is OR, meaning any container environment variable matching any key-value pair will be included in the collection scope. When the container environment variable allowlist is enabled, Keys must not be duplicated. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    includeContainerLabelRegexes RuleContainerRuleIncludeContainerLabelRegex[]
    The container label allowlist specifies which containers to collect based on container labels. If the allowlist is not enabled, all containers are collected. When the container label allowlist is enabled, you must specify key-value pairs. Key is required and Value is optional. If Value is empty, all containers whose labels contain the Key are collected. If Value is not empty, only containers whose labels contain the Key and whose value matches the Value are collected. Value supports regular expressions. For example, if Key is set to app and Value is set to ^(test1|test2)$, only containers with labels app:test1 or app:test2 are collected. Multiple key-value pairs are evaluated with a logical OR, so any container label matching any key-value pair will be included in the collection scope. When the container label allowlist is enabled, Keys must be unique. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    kubernetesRule RuleContainerRuleKubernetesRule
    Kubernetes container collection rules.
    stream string
    Collection information. stdout: Collects container standard output (stdout). stderr: Collects container standard error (stderr). all: Collects both container standard output (stdout) and standard error (stderr).
    container_name_regex str
    Container name to collect. If no container name is specified, all containers in the machine group will be collected. Supports regex matching; for example, setting the container name to ^(container-test)$ will collect all containers named container-test.
    env_tags Sequence[RuleContainerRuleEnvTag]
    Whether to add environment variables as log tags to the raw log data. When enabled, the log service adds container environment variable fields to the logs. Setting multiple key-value pairs adds multiple fields. For example, set Key to source and Value to data_source. If the container has the environment variable source=DC, the log will include the field tagdata_source_*: DC Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    exclude_container_env_regexes Sequence[RuleContainerRuleExcludeContainerEnvRegex]
    The container environment variable denylist specifies which containers are excluded from collection. If the denylist is not enabled, all containers are collected. When the container environment variable denylist is enabled, Key is required and Value is optional. If Value is empty, all containers whose environment variables contain the Key are excluded from collection. If Value is not empty, only containers with a matching key-value pair are excluded, meaning only containers whose environment variables contain the Key and whose value matches the Value are excluded. Value supports regular expressions. For example, if Key is set to module and Value is set to ^(tcp|udp)$, containers with environment variables module:tcp or module:udp are excluded from collection. Multiple key-value pairs are evaluated with a logical OR, so any container environment variable matching any key-value pair will be excluded from collection. When the container environment variable denylist is enabled, Keys must be unique. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    exclude_container_label_regexes Sequence[RuleContainerRuleExcludeContainerLabelRegex]
    Container label denylist specifies containers to exclude from collection. If the denylist is not enabled, all containers will be collected. If the container label denylist is enabled, Key is required and Value is optional. If Value is empty, all containers with the Key in their label will be excluded. If Value is not empty, only containers matching the key-value pair will be excluded—that is, containers with the Key in their label and a Value matching the specified pattern. Value supports regex matching; for example, set Key to app and Value to ^(test1|test2)$ to exclude containers with labels app:test1 and app:test2. Multiple key-value pairs use logical OR; any container label matching any pair will be excluded from collection. When the container label denylist is enabled, Keys must not be duplicated. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    include_container_env_regexes Sequence[RuleContainerRuleIncludeContainerEnvRegex]
    The container environment variable allowlist specifies which containers to collect using container environment variables. If the allowlist is not enabled, all containers are collected. When the container environment variable allowlist is enabled, you must enter key-value pairs. Key is required; Value is optional. If Value is empty, all containers containing the Key in their environment variables are collected. If Value is not empty, only containers with the Key in their environment variables and a Value matching the specified value are collected. Value supports regular expression matching. For example, if Key is set to module and Value is set to ^(tcp|udp)$, only containers with module:tcp or module:udp in their environment variables are collected. The logical relationship between multiple key-value pairs is OR, meaning any container environment variable matching any key-value pair will be included in the collection scope. When the container environment variable allowlist is enabled, Keys must not be duplicated. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    include_container_label_regexes Sequence[RuleContainerRuleIncludeContainerLabelRegex]
    The container label allowlist specifies which containers to collect based on container labels. If the allowlist is not enabled, all containers are collected. When the container label allowlist is enabled, you must specify key-value pairs. Key is required and Value is optional. If Value is empty, all containers whose labels contain the Key are collected. If Value is not empty, only containers whose labels contain the Key and whose value matches the Value are collected. Value supports regular expressions. For example, if Key is set to app and Value is set to ^(test1|test2)$, only containers with labels app:test1 or app:test2 are collected. Multiple key-value pairs are evaluated with a logical OR, so any container label matching any key-value pair will be included in the collection scope. When the container label allowlist is enabled, Keys must be unique. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    kubernetes_rule RuleContainerRuleKubernetesRule
    Kubernetes container collection rules.
    stream str
    Collection information. stdout: Collects container standard output (stdout). stderr: Collects container standard error (stderr). all: Collects both container standard output (stdout) and standard error (stderr).
    containerNameRegex String
    Container name to collect. If no container name is specified, all containers in the machine group will be collected. Supports regex matching; for example, setting the container name to ^(container-test)$ will collect all containers named container-test.
    envTags List<Property Map>
    Whether to add environment variables as log tags to the raw log data. When enabled, the log service adds container environment variable fields to the logs. Setting multiple key-value pairs adds multiple fields. For example, set Key to source and Value to data_source. If the container has the environment variable source=DC, the log will include the field tagdata_source_*: DC Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    excludeContainerEnvRegexes List<Property Map>
    The container environment variable denylist specifies which containers are excluded from collection. If the denylist is not enabled, all containers are collected. When the container environment variable denylist is enabled, Key is required and Value is optional. If Value is empty, all containers whose environment variables contain the Key are excluded from collection. If Value is not empty, only containers with a matching key-value pair are excluded, meaning only containers whose environment variables contain the Key and whose value matches the Value are excluded. Value supports regular expressions. For example, if Key is set to module and Value is set to ^(tcp|udp)$, containers with environment variables module:tcp or module:udp are excluded from collection. Multiple key-value pairs are evaluated with a logical OR, so any container environment variable matching any key-value pair will be excluded from collection. When the container environment variable denylist is enabled, Keys must be unique. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    excludeContainerLabelRegexes List<Property Map>
    Container label denylist specifies containers to exclude from collection. If the denylist is not enabled, all containers will be collected. If the container label denylist is enabled, Key is required and Value is optional. If Value is empty, all containers with the Key in their label will be excluded. If Value is not empty, only containers matching the key-value pair will be excluded—that is, containers with the Key in their label and a Value matching the specified pattern. Value supports regex matching; for example, set Key to app and Value to ^(test1|test2)$ to exclude containers with labels app:test1 and app:test2. Multiple key-value pairs use logical OR; any container label matching any pair will be excluded from collection. When the container label denylist is enabled, Keys must not be duplicated. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    includeContainerEnvRegexes List<Property Map>
    The container environment variable allowlist specifies which containers to collect using container environment variables. If the allowlist is not enabled, all containers are collected. When the container environment variable allowlist is enabled, you must enter key-value pairs. Key is required; Value is optional. If Value is empty, all containers containing the Key in their environment variables are collected. If Value is not empty, only containers with the Key in their environment variables and a Value matching the specified value are collected. Value supports regular expression matching. For example, if Key is set to module and Value is set to ^(tcp|udp)$, only containers with module:tcp or module:udp in their environment variables are collected. The logical relationship between multiple key-value pairs is OR, meaning any container environment variable matching any key-value pair will be included in the collection scope. When the container environment variable allowlist is enabled, Keys must not be duplicated. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    includeContainerLabelRegexes List<Property Map>
    The container label allowlist specifies which containers to collect based on container labels. If the allowlist is not enabled, all containers are collected. When the container label allowlist is enabled, you must specify key-value pairs. Key is required and Value is optional. If Value is empty, all containers whose labels contain the Key are collected. If Value is not empty, only containers whose labels contain the Key and whose value matches the Value are collected. Value supports regular expressions. For example, if Key is set to app and Value is set to ^(test1|test2)$, only containers with labels app:test1 or app:test2 are collected. Multiple key-value pairs are evaluated with a logical OR, so any container label matching any key-value pair will be included in the collection scope. When the container label allowlist is enabled, Keys must be unique. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    kubernetesRule Property Map
    Kubernetes container collection rules.
    stream String
    Collection information. stdout: Collects container standard output (stdout). stderr: Collects container standard error (stderr). all: Collects both container standard output (stdout) and standard error (stderr).

    RuleContainerRuleEnvTag, RuleContainerRuleEnvTagArgs

    Key string
    Key.
    Val string
    Value.
    Key string
    Key.
    Val string
    Value.
    key string
    Key.
    val string
    Value.
    key String
    Key.
    val String
    Value.
    key string
    Key.
    val string
    Value.
    key str
    Key.
    val str
    Value.
    key String
    Key.
    val String
    Value.

    RuleContainerRuleExcludeContainerEnvRegex, RuleContainerRuleExcludeContainerEnvRegexArgs

    Key string
    Key.
    Val string
    Value.
    Key string
    Key.
    Val string
    Value.
    key string
    Key.
    val string
    Value.
    key String
    Key.
    val String
    Value.
    key string
    Key.
    val string
    Value.
    key str
    Key.
    val str
    Value.
    key String
    Key.
    val String
    Value.

    RuleContainerRuleExcludeContainerLabelRegex, RuleContainerRuleExcludeContainerLabelRegexArgs

    Key string
    Key.
    Val string
    Value.
    Key string
    Key.
    Val string
    Value.
    key string
    Key.
    val string
    Value.
    key String
    Key.
    val String
    Value.
    key string
    Key.
    val string
    Value.
    key str
    Key.
    val str
    Value.
    key String
    Key.
    val String
    Value.

    RuleContainerRuleIncludeContainerEnvRegex, RuleContainerRuleIncludeContainerEnvRegexArgs

    Key string
    Key.
    Val string
    Value.
    Key string
    Key.
    Val string
    Value.
    key string
    Key.
    val string
    Value.
    key String
    Key.
    val String
    Value.
    key string
    Key.
    val string
    Value.
    key str
    Key.
    val str
    Value.
    key String
    Key.
    val String
    Value.

    RuleContainerRuleIncludeContainerLabelRegex, RuleContainerRuleIncludeContainerLabelRegexArgs

    Key string
    Key.
    Val string
    Value.
    Key string
    Key.
    Val string
    Value.
    key string
    Key.
    val string
    Value.
    key String
    Key.
    val String
    Value.
    key string
    Key.
    val string
    Value.
    key str
    Key.
    val str
    Value.
    key String
    Key.
    val String
    Value.

    RuleContainerRuleKubernetesRule, RuleContainerRuleKubernetesRuleArgs

    AnnotationTags List<Volcengine.RuleContainerRuleKubernetesRuleAnnotationTag>
    Whether to add Kubernetes Annotations as log tags to the original log data. When enabled, the log service will add fields related to Kubernetes Pod Annotations to the logs. Setting multiple key-value pairs means adding multiple fields. For example, if you set Key to sink and Value to data_sink, and the Pod contains the annotation sink=ck, a new field tagdata_sink_*: ck will be added to the log. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    EnableAllLabelTag bool
    Whether to add all Kubernetes Labels as log tags to the original log data. When enabled, the log service adds fields for all Labels in the Kubernetes Pod to the logs. For example, if the Pod contains Label source=DC and destination=CS, the logs will include fields tagsource__: DC and **tag**destination__: CS.
    ExcludePodAnnotationRegexes List<Volcengine.RuleContainerRuleKubernetesRuleExcludePodAnnotationRegex>
    Pod Annotation Denylist is used to specify containers that are not collected. If you need to set a Pod Annotation Denylist, Key is required and Value is optional. If Value is empty, all containers under Pods whose Pod Annotation contains the specified Key are excluded. If Value is not empty, only containers under Pods whose Pod Annotation contains the Key and whose value matches the specified Value are excluded. By default, Value uses string matching, meaning it only matches when Value and the Pod Annotation value are exactly the same. If the value starts with ^ and ends with $, it is treated as a regular expression. For example, if Key is set to app and Value is set to ^(test1|test2)$, it matches containers under Pods with Pod Annotation app:test1 or app:test2. Note: The logical relationship between multiple Key-Value pairs is OR, meaning a Pod Annotation that matches any pair will be excluded from the collection scope. When enabling the Pod Annotation Denylist, Keys must not be duplicated. For regex fuzzy matching, you must add .. For example, ^(http.)$ matches strings starting with http Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    ExcludePodLabelRegexes List<Volcengine.RuleContainerRuleKubernetesRuleExcludePodLabelRegex>
    Specify containers to exclude from collection using the Pod Label denylist. If not enabled, all containers are collected. To set a Pod Label denylist, Key is required and Value is optional. If Value is empty, all containers with the specified Key in their Pod Label are excluded from collection. If Value is not empty, only containers with the specified Key and a Value matching the Value in their Pod Label are excluded. Value supports regular expressions. For example, set Key to module and Value to ^(tcp|udp)$ to exclude containers with module:tcp or module:udp in their Pod Label. Note: The logical relationship between multiple Key-Value pairs is OR. Any Pod Label matching any Key-Value pair will be excluded from collection. When enabling the Pod Label denylist, Keys must not be duplicated. For fuzzy regular expression matching, you must add .. For example, ^(http.)$ matches any string starting with http Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    IncludePodAnnotationRegexes List<Volcengine.RuleContainerRuleKubernetesRuleIncludePodAnnotationRegex>
    Pod Annotation Allowlist is used to specify containers to be collected. If you need to set a Pod Annotation Allowlist, Key is required and Value is optional. If Value is empty, all containers under Pods that contain the Key in Pod Annotation will match. If Value is not empty, only containers under Pods that contain the Key and whose value matches Value in Pod Annotation will match. Value defaults to string matching, meaning only when Value and the Pod Annotation value are exactly the same will they match. If the value starts with ^ and ends with $, it is a regex match. For example, set Key to app and Value to ^(test1|test2)$ to match containers under Pods with Pod Annotation app:test1 or app:test2. Note: The logical relationship between multiple Key-Value pairs is OR, meaning as long as Pod Annotation matches any pair, it will be included in the collection scope. When enabling Pod Annotation Allowlist, Keys must not be duplicated. For regex fuzzy matching, you must add .. For example, ^(http.)$ matches strings starting with http. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    IncludePodLabelRegexes List<Volcengine.RuleContainerRuleKubernetesRuleIncludePodLabelRegex>
    Pod Label Allowlist is used to specify which containers to collect. If Pod Label Allowlist is not enabled, all containers will be collected. If you need to set a Pod Label Allowlist, Key is required: if Value is empty, all containers with the Key in their Pod Label will be collected. If Value is not empty, only containers with the Key in their Pod Label and a Value matching the specified pattern will be collected; regular expression matching is supported. For example, if you set Key to module and Value to ^(tcp|udp)$, only containers with module:tcp or module:udp in their Pod Label will be collected. Note: The logical relationship between multiple key-value pairs is OR, meaning any Pod Label matching any key-value pair will be included in the collection scope. When enabling Pod Label Allowlist, Keys cannot be duplicated. For fuzzy regular expression matching, you must add ., for example, ^(http.)$ matches strings starting with http. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    LabelTags List<Volcengine.RuleContainerRuleKubernetesRuleLabelTag>
    Whether to add Kubernetes labels as log tags to the raw log data. When enabled, the log service adds Kubernetes Pod label fields to the logs. Setting multiple key-value pairs adds multiple fields. For example, if you set Key to source and Value to data_source, and the Pod contains the label source=DC, the log will include the field tagdata_source_*: DC. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    NamespaceNameRegex string
    Name of the Kubernetes Namespace to collect. If no Namespace name is specified, all containers will be collected. Namespace names support regular expression matching. For example, if you set the Namespace name to ^(tcp|udp)$, it will collect all containers under the tcp and udp namespaces.
    PodNameRegex string
    Pod name is used to specify the Pod whose containers will be collected. If no Pod name is specified, all containers will be collected. Pod name supports regular expression matching. For example, setting the Pod name to ^(http.*)$ collects all containers under Pods whose names start with http.
    WorkloadNameRegex string
    Specify the container to collect by workload name. If no workload name is specified, all containers are collected. Workload names support regular expressions. For example, setting the workload name to ^(http.*)$ collects all containers under workloads starting with http.
    WorkloadType string
    Specify the container to collect by workload type. Only one type can be selected. If no type is specified, containers of all types will be collected. Supported workload types: Deployment: stateless workload StatefulSet: stateful workload DaemonSet: daemon process Job: task CronJob: scheduled task
    AnnotationTags []RuleContainerRuleKubernetesRuleAnnotationTag
    Whether to add Kubernetes Annotations as log tags to the original log data. When enabled, the log service will add fields related to Kubernetes Pod Annotations to the logs. Setting multiple key-value pairs means adding multiple fields. For example, if you set Key to sink and Value to data_sink, and the Pod contains the annotation sink=ck, a new field tagdata_sink_*: ck will be added to the log. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    EnableAllLabelTag bool
    Whether to add all Kubernetes Labels as log tags to the original log data. When enabled, the log service adds fields for all Labels in the Kubernetes Pod to the logs. For example, if the Pod contains Label source=DC and destination=CS, the logs will include fields tagsource__: DC and **tag**destination__: CS.
    ExcludePodAnnotationRegexes []RuleContainerRuleKubernetesRuleExcludePodAnnotationRegex
    Pod Annotation Denylist is used to specify containers that are not collected. If you need to set a Pod Annotation Denylist, Key is required and Value is optional. If Value is empty, all containers under Pods whose Pod Annotation contains the specified Key are excluded. If Value is not empty, only containers under Pods whose Pod Annotation contains the Key and whose value matches the specified Value are excluded. By default, Value uses string matching, meaning it only matches when Value and the Pod Annotation value are exactly the same. If the value starts with ^ and ends with $, it is treated as a regular expression. For example, if Key is set to app and Value is set to ^(test1|test2)$, it matches containers under Pods with Pod Annotation app:test1 or app:test2. Note: The logical relationship between multiple Key-Value pairs is OR, meaning a Pod Annotation that matches any pair will be excluded from the collection scope. When enabling the Pod Annotation Denylist, Keys must not be duplicated. For regex fuzzy matching, you must add .. For example, ^(http.)$ matches strings starting with http Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    ExcludePodLabelRegexes []RuleContainerRuleKubernetesRuleExcludePodLabelRegex
    Specify containers to exclude from collection using the Pod Label denylist. If not enabled, all containers are collected. To set a Pod Label denylist, Key is required and Value is optional. If Value is empty, all containers with the specified Key in their Pod Label are excluded from collection. If Value is not empty, only containers with the specified Key and a Value matching the Value in their Pod Label are excluded. Value supports regular expressions. For example, set Key to module and Value to ^(tcp|udp)$ to exclude containers with module:tcp or module:udp in their Pod Label. Note: The logical relationship between multiple Key-Value pairs is OR. Any Pod Label matching any Key-Value pair will be excluded from collection. When enabling the Pod Label denylist, Keys must not be duplicated. For fuzzy regular expression matching, you must add .. For example, ^(http.)$ matches any string starting with http Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    IncludePodAnnotationRegexes []RuleContainerRuleKubernetesRuleIncludePodAnnotationRegex
    Pod Annotation Allowlist is used to specify containers to be collected. If you need to set a Pod Annotation Allowlist, Key is required and Value is optional. If Value is empty, all containers under Pods that contain the Key in Pod Annotation will match. If Value is not empty, only containers under Pods that contain the Key and whose value matches Value in Pod Annotation will match. Value defaults to string matching, meaning only when Value and the Pod Annotation value are exactly the same will they match. If the value starts with ^ and ends with $, it is a regex match. For example, set Key to app and Value to ^(test1|test2)$ to match containers under Pods with Pod Annotation app:test1 or app:test2. Note: The logical relationship between multiple Key-Value pairs is OR, meaning as long as Pod Annotation matches any pair, it will be included in the collection scope. When enabling Pod Annotation Allowlist, Keys must not be duplicated. For regex fuzzy matching, you must add .. For example, ^(http.)$ matches strings starting with http. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    IncludePodLabelRegexes []RuleContainerRuleKubernetesRuleIncludePodLabelRegex
    Pod Label Allowlist is used to specify which containers to collect. If Pod Label Allowlist is not enabled, all containers will be collected. If you need to set a Pod Label Allowlist, Key is required: if Value is empty, all containers with the Key in their Pod Label will be collected. If Value is not empty, only containers with the Key in their Pod Label and a Value matching the specified pattern will be collected; regular expression matching is supported. For example, if you set Key to module and Value to ^(tcp|udp)$, only containers with module:tcp or module:udp in their Pod Label will be collected. Note: The logical relationship between multiple key-value pairs is OR, meaning any Pod Label matching any key-value pair will be included in the collection scope. When enabling Pod Label Allowlist, Keys cannot be duplicated. For fuzzy regular expression matching, you must add ., for example, ^(http.)$ matches strings starting with http. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    LabelTags []RuleContainerRuleKubernetesRuleLabelTag
    Whether to add Kubernetes labels as log tags to the raw log data. When enabled, the log service adds Kubernetes Pod label fields to the logs. Setting multiple key-value pairs adds multiple fields. For example, if you set Key to source and Value to data_source, and the Pod contains the label source=DC, the log will include the field tagdata_source_*: DC. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    NamespaceNameRegex string
    Name of the Kubernetes Namespace to collect. If no Namespace name is specified, all containers will be collected. Namespace names support regular expression matching. For example, if you set the Namespace name to ^(tcp|udp)$, it will collect all containers under the tcp and udp namespaces.
    PodNameRegex string
    Pod name is used to specify the Pod whose containers will be collected. If no Pod name is specified, all containers will be collected. Pod name supports regular expression matching. For example, setting the Pod name to ^(http.*)$ collects all containers under Pods whose names start with http.
    WorkloadNameRegex string
    Specify the container to collect by workload name. If no workload name is specified, all containers are collected. Workload names support regular expressions. For example, setting the workload name to ^(http.*)$ collects all containers under workloads starting with http.
    WorkloadType string
    Specify the container to collect by workload type. Only one type can be selected. If no type is specified, containers of all types will be collected. Supported workload types: Deployment: stateless workload StatefulSet: stateful workload DaemonSet: daemon process Job: task CronJob: scheduled task
    annotation_tags list(object)
    Whether to add Kubernetes Annotations as log tags to the original log data. When enabled, the log service will add fields related to Kubernetes Pod Annotations to the logs. Setting multiple key-value pairs means adding multiple fields. For example, if you set Key to sink and Value to data_sink, and the Pod contains the annotation sink=ck, a new field tagdata_sink_*: ck will be added to the log. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    enable_all_label_tag bool
    Whether to add all Kubernetes Labels as log tags to the original log data. When enabled, the log service adds fields for all Labels in the Kubernetes Pod to the logs. For example, if the Pod contains Label source=DC and destination=CS, the logs will include fields tagsource__: DC and **tag**destination__: CS.
    exclude_pod_annotation_regexes list(object)
    Pod Annotation Denylist is used to specify containers that are not collected. If you need to set a Pod Annotation Denylist, Key is required and Value is optional. If Value is empty, all containers under Pods whose Pod Annotation contains the specified Key are excluded. If Value is not empty, only containers under Pods whose Pod Annotation contains the Key and whose value matches the specified Value are excluded. By default, Value uses string matching, meaning it only matches when Value and the Pod Annotation value are exactly the same. If the value starts with ^ and ends with $, it is treated as a regular expression. For example, if Key is set to app and Value is set to ^(test1|test2)$, it matches containers under Pods with Pod Annotation app:test1 or app:test2. Note: The logical relationship between multiple Key-Value pairs is OR, meaning a Pod Annotation that matches any pair will be excluded from the collection scope. When enabling the Pod Annotation Denylist, Keys must not be duplicated. For regex fuzzy matching, you must add .. For example, ^(http.)$ matches strings starting with http Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    exclude_pod_label_regexes list(object)
    Specify containers to exclude from collection using the Pod Label denylist. If not enabled, all containers are collected. To set a Pod Label denylist, Key is required and Value is optional. If Value is empty, all containers with the specified Key in their Pod Label are excluded from collection. If Value is not empty, only containers with the specified Key and a Value matching the Value in their Pod Label are excluded. Value supports regular expressions. For example, set Key to module and Value to ^(tcp|udp)$ to exclude containers with module:tcp or module:udp in their Pod Label. Note: The logical relationship between multiple Key-Value pairs is OR. Any Pod Label matching any Key-Value pair will be excluded from collection. When enabling the Pod Label denylist, Keys must not be duplicated. For fuzzy regular expression matching, you must add .. For example, ^(http.)$ matches any string starting with http Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    include_pod_annotation_regexes list(object)
    Pod Annotation Allowlist is used to specify containers to be collected. If you need to set a Pod Annotation Allowlist, Key is required and Value is optional. If Value is empty, all containers under Pods that contain the Key in Pod Annotation will match. If Value is not empty, only containers under Pods that contain the Key and whose value matches Value in Pod Annotation will match. Value defaults to string matching, meaning only when Value and the Pod Annotation value are exactly the same will they match. If the value starts with ^ and ends with $, it is a regex match. For example, set Key to app and Value to ^(test1|test2)$ to match containers under Pods with Pod Annotation app:test1 or app:test2. Note: The logical relationship between multiple Key-Value pairs is OR, meaning as long as Pod Annotation matches any pair, it will be included in the collection scope. When enabling Pod Annotation Allowlist, Keys must not be duplicated. For regex fuzzy matching, you must add .. For example, ^(http.)$ matches strings starting with http. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    include_pod_label_regexes list(object)
    Pod Label Allowlist is used to specify which containers to collect. If Pod Label Allowlist is not enabled, all containers will be collected. If you need to set a Pod Label Allowlist, Key is required: if Value is empty, all containers with the Key in their Pod Label will be collected. If Value is not empty, only containers with the Key in their Pod Label and a Value matching the specified pattern will be collected; regular expression matching is supported. For example, if you set Key to module and Value to ^(tcp|udp)$, only containers with module:tcp or module:udp in their Pod Label will be collected. Note: The logical relationship between multiple key-value pairs is OR, meaning any Pod Label matching any key-value pair will be included in the collection scope. When enabling Pod Label Allowlist, Keys cannot be duplicated. For fuzzy regular expression matching, you must add ., for example, ^(http.)$ matches strings starting with http. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    label_tags list(object)
    Whether to add Kubernetes labels as log tags to the raw log data. When enabled, the log service adds Kubernetes Pod label fields to the logs. Setting multiple key-value pairs adds multiple fields. For example, if you set Key to source and Value to data_source, and the Pod contains the label source=DC, the log will include the field tagdata_source_*: DC. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    namespace_name_regex string
    Name of the Kubernetes Namespace to collect. If no Namespace name is specified, all containers will be collected. Namespace names support regular expression matching. For example, if you set the Namespace name to ^(tcp|udp)$, it will collect all containers under the tcp and udp namespaces.
    pod_name_regex string
    Pod name is used to specify the Pod whose containers will be collected. If no Pod name is specified, all containers will be collected. Pod name supports regular expression matching. For example, setting the Pod name to ^(http.*)$ collects all containers under Pods whose names start with http.
    workload_name_regex string
    Specify the container to collect by workload name. If no workload name is specified, all containers are collected. Workload names support regular expressions. For example, setting the workload name to ^(http.*)$ collects all containers under workloads starting with http.
    workload_type string
    Specify the container to collect by workload type. Only one type can be selected. If no type is specified, containers of all types will be collected. Supported workload types: Deployment: stateless workload StatefulSet: stateful workload DaemonSet: daemon process Job: task CronJob: scheduled task
    annotationTags List<RuleContainerRuleKubernetesRuleAnnotationTag>
    Whether to add Kubernetes Annotations as log tags to the original log data. When enabled, the log service will add fields related to Kubernetes Pod Annotations to the logs. Setting multiple key-value pairs means adding multiple fields. For example, if you set Key to sink and Value to data_sink, and the Pod contains the annotation sink=ck, a new field tagdata_sink_*: ck will be added to the log. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    enableAllLabelTag Boolean
    Whether to add all Kubernetes Labels as log tags to the original log data. When enabled, the log service adds fields for all Labels in the Kubernetes Pod to the logs. For example, if the Pod contains Label source=DC and destination=CS, the logs will include fields tagsource__: DC and **tag**destination__: CS.
    excludePodAnnotationRegexes List<RuleContainerRuleKubernetesRuleExcludePodAnnotationRegex>
    Pod Annotation Denylist is used to specify containers that are not collected. If you need to set a Pod Annotation Denylist, Key is required and Value is optional. If Value is empty, all containers under Pods whose Pod Annotation contains the specified Key are excluded. If Value is not empty, only containers under Pods whose Pod Annotation contains the Key and whose value matches the specified Value are excluded. By default, Value uses string matching, meaning it only matches when Value and the Pod Annotation value are exactly the same. If the value starts with ^ and ends with $, it is treated as a regular expression. For example, if Key is set to app and Value is set to ^(test1|test2)$, it matches containers under Pods with Pod Annotation app:test1 or app:test2. Note: The logical relationship between multiple Key-Value pairs is OR, meaning a Pod Annotation that matches any pair will be excluded from the collection scope. When enabling the Pod Annotation Denylist, Keys must not be duplicated. For regex fuzzy matching, you must add .. For example, ^(http.)$ matches strings starting with http Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    excludePodLabelRegexes List<RuleContainerRuleKubernetesRuleExcludePodLabelRegex>
    Specify containers to exclude from collection using the Pod Label denylist. If not enabled, all containers are collected. To set a Pod Label denylist, Key is required and Value is optional. If Value is empty, all containers with the specified Key in their Pod Label are excluded from collection. If Value is not empty, only containers with the specified Key and a Value matching the Value in their Pod Label are excluded. Value supports regular expressions. For example, set Key to module and Value to ^(tcp|udp)$ to exclude containers with module:tcp or module:udp in their Pod Label. Note: The logical relationship between multiple Key-Value pairs is OR. Any Pod Label matching any Key-Value pair will be excluded from collection. When enabling the Pod Label denylist, Keys must not be duplicated. For fuzzy regular expression matching, you must add .. For example, ^(http.)$ matches any string starting with http Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    includePodAnnotationRegexes List<RuleContainerRuleKubernetesRuleIncludePodAnnotationRegex>
    Pod Annotation Allowlist is used to specify containers to be collected. If you need to set a Pod Annotation Allowlist, Key is required and Value is optional. If Value is empty, all containers under Pods that contain the Key in Pod Annotation will match. If Value is not empty, only containers under Pods that contain the Key and whose value matches Value in Pod Annotation will match. Value defaults to string matching, meaning only when Value and the Pod Annotation value are exactly the same will they match. If the value starts with ^ and ends with $, it is a regex match. For example, set Key to app and Value to ^(test1|test2)$ to match containers under Pods with Pod Annotation app:test1 or app:test2. Note: The logical relationship between multiple Key-Value pairs is OR, meaning as long as Pod Annotation matches any pair, it will be included in the collection scope. When enabling Pod Annotation Allowlist, Keys must not be duplicated. For regex fuzzy matching, you must add .. For example, ^(http.)$ matches strings starting with http. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    includePodLabelRegexes List<RuleContainerRuleKubernetesRuleIncludePodLabelRegex>
    Pod Label Allowlist is used to specify which containers to collect. If Pod Label Allowlist is not enabled, all containers will be collected. If you need to set a Pod Label Allowlist, Key is required: if Value is empty, all containers with the Key in their Pod Label will be collected. If Value is not empty, only containers with the Key in their Pod Label and a Value matching the specified pattern will be collected; regular expression matching is supported. For example, if you set Key to module and Value to ^(tcp|udp)$, only containers with module:tcp or module:udp in their Pod Label will be collected. Note: The logical relationship between multiple key-value pairs is OR, meaning any Pod Label matching any key-value pair will be included in the collection scope. When enabling Pod Label Allowlist, Keys cannot be duplicated. For fuzzy regular expression matching, you must add ., for example, ^(http.)$ matches strings starting with http. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    labelTags List<RuleContainerRuleKubernetesRuleLabelTag>
    Whether to add Kubernetes labels as log tags to the raw log data. When enabled, the log service adds Kubernetes Pod label fields to the logs. Setting multiple key-value pairs adds multiple fields. For example, if you set Key to source and Value to data_source, and the Pod contains the label source=DC, the log will include the field tagdata_source_*: DC. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    namespaceNameRegex String
    Name of the Kubernetes Namespace to collect. If no Namespace name is specified, all containers will be collected. Namespace names support regular expression matching. For example, if you set the Namespace name to ^(tcp|udp)$, it will collect all containers under the tcp and udp namespaces.
    podNameRegex String
    Pod name is used to specify the Pod whose containers will be collected. If no Pod name is specified, all containers will be collected. Pod name supports regular expression matching. For example, setting the Pod name to ^(http.*)$ collects all containers under Pods whose names start with http.
    workloadNameRegex String
    Specify the container to collect by workload name. If no workload name is specified, all containers are collected. Workload names support regular expressions. For example, setting the workload name to ^(http.*)$ collects all containers under workloads starting with http.
    workloadType String
    Specify the container to collect by workload type. Only one type can be selected. If no type is specified, containers of all types will be collected. Supported workload types: Deployment: stateless workload StatefulSet: stateful workload DaemonSet: daemon process Job: task CronJob: scheduled task
    annotationTags RuleContainerRuleKubernetesRuleAnnotationTag[]
    Whether to add Kubernetes Annotations as log tags to the original log data. When enabled, the log service will add fields related to Kubernetes Pod Annotations to the logs. Setting multiple key-value pairs means adding multiple fields. For example, if you set Key to sink and Value to data_sink, and the Pod contains the annotation sink=ck, a new field tagdata_sink_*: ck will be added to the log. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    enableAllLabelTag boolean
    Whether to add all Kubernetes Labels as log tags to the original log data. When enabled, the log service adds fields for all Labels in the Kubernetes Pod to the logs. For example, if the Pod contains Label source=DC and destination=CS, the logs will include fields tagsource__: DC and **tag**destination__: CS.
    excludePodAnnotationRegexes RuleContainerRuleKubernetesRuleExcludePodAnnotationRegex[]
    Pod Annotation Denylist is used to specify containers that are not collected. If you need to set a Pod Annotation Denylist, Key is required and Value is optional. If Value is empty, all containers under Pods whose Pod Annotation contains the specified Key are excluded. If Value is not empty, only containers under Pods whose Pod Annotation contains the Key and whose value matches the specified Value are excluded. By default, Value uses string matching, meaning it only matches when Value and the Pod Annotation value are exactly the same. If the value starts with ^ and ends with $, it is treated as a regular expression. For example, if Key is set to app and Value is set to ^(test1|test2)$, it matches containers under Pods with Pod Annotation app:test1 or app:test2. Note: The logical relationship between multiple Key-Value pairs is OR, meaning a Pod Annotation that matches any pair will be excluded from the collection scope. When enabling the Pod Annotation Denylist, Keys must not be duplicated. For regex fuzzy matching, you must add .. For example, ^(http.)$ matches strings starting with http Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    excludePodLabelRegexes RuleContainerRuleKubernetesRuleExcludePodLabelRegex[]
    Specify containers to exclude from collection using the Pod Label denylist. If not enabled, all containers are collected. To set a Pod Label denylist, Key is required and Value is optional. If Value is empty, all containers with the specified Key in their Pod Label are excluded from collection. If Value is not empty, only containers with the specified Key and a Value matching the Value in their Pod Label are excluded. Value supports regular expressions. For example, set Key to module and Value to ^(tcp|udp)$ to exclude containers with module:tcp or module:udp in their Pod Label. Note: The logical relationship between multiple Key-Value pairs is OR. Any Pod Label matching any Key-Value pair will be excluded from collection. When enabling the Pod Label denylist, Keys must not be duplicated. For fuzzy regular expression matching, you must add .. For example, ^(http.)$ matches any string starting with http Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    includePodAnnotationRegexes RuleContainerRuleKubernetesRuleIncludePodAnnotationRegex[]
    Pod Annotation Allowlist is used to specify containers to be collected. If you need to set a Pod Annotation Allowlist, Key is required and Value is optional. If Value is empty, all containers under Pods that contain the Key in Pod Annotation will match. If Value is not empty, only containers under Pods that contain the Key and whose value matches Value in Pod Annotation will match. Value defaults to string matching, meaning only when Value and the Pod Annotation value are exactly the same will they match. If the value starts with ^ and ends with $, it is a regex match. For example, set Key to app and Value to ^(test1|test2)$ to match containers under Pods with Pod Annotation app:test1 or app:test2. Note: The logical relationship between multiple Key-Value pairs is OR, meaning as long as Pod Annotation matches any pair, it will be included in the collection scope. When enabling Pod Annotation Allowlist, Keys must not be duplicated. For regex fuzzy matching, you must add .. For example, ^(http.)$ matches strings starting with http. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    includePodLabelRegexes RuleContainerRuleKubernetesRuleIncludePodLabelRegex[]
    Pod Label Allowlist is used to specify which containers to collect. If Pod Label Allowlist is not enabled, all containers will be collected. If you need to set a Pod Label Allowlist, Key is required: if Value is empty, all containers with the Key in their Pod Label will be collected. If Value is not empty, only containers with the Key in their Pod Label and a Value matching the specified pattern will be collected; regular expression matching is supported. For example, if you set Key to module and Value to ^(tcp|udp)$, only containers with module:tcp or module:udp in their Pod Label will be collected. Note: The logical relationship between multiple key-value pairs is OR, meaning any Pod Label matching any key-value pair will be included in the collection scope. When enabling Pod Label Allowlist, Keys cannot be duplicated. For fuzzy regular expression matching, you must add ., for example, ^(http.)$ matches strings starting with http. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    labelTags RuleContainerRuleKubernetesRuleLabelTag[]
    Whether to add Kubernetes labels as log tags to the raw log data. When enabled, the log service adds Kubernetes Pod label fields to the logs. Setting multiple key-value pairs adds multiple fields. For example, if you set Key to source and Value to data_source, and the Pod contains the label source=DC, the log will include the field tagdata_source_*: DC. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    namespaceNameRegex string
    Name of the Kubernetes Namespace to collect. If no Namespace name is specified, all containers will be collected. Namespace names support regular expression matching. For example, if you set the Namespace name to ^(tcp|udp)$, it will collect all containers under the tcp and udp namespaces.
    podNameRegex string
    Pod name is used to specify the Pod whose containers will be collected. If no Pod name is specified, all containers will be collected. Pod name supports regular expression matching. For example, setting the Pod name to ^(http.*)$ collects all containers under Pods whose names start with http.
    workloadNameRegex string
    Specify the container to collect by workload name. If no workload name is specified, all containers are collected. Workload names support regular expressions. For example, setting the workload name to ^(http.*)$ collects all containers under workloads starting with http.
    workloadType string
    Specify the container to collect by workload type. Only one type can be selected. If no type is specified, containers of all types will be collected. Supported workload types: Deployment: stateless workload StatefulSet: stateful workload DaemonSet: daemon process Job: task CronJob: scheduled task
    annotation_tags Sequence[RuleContainerRuleKubernetesRuleAnnotationTag]
    Whether to add Kubernetes Annotations as log tags to the original log data. When enabled, the log service will add fields related to Kubernetes Pod Annotations to the logs. Setting multiple key-value pairs means adding multiple fields. For example, if you set Key to sink and Value to data_sink, and the Pod contains the annotation sink=ck, a new field tagdata_sink_*: ck will be added to the log. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    enable_all_label_tag bool
    Whether to add all Kubernetes Labels as log tags to the original log data. When enabled, the log service adds fields for all Labels in the Kubernetes Pod to the logs. For example, if the Pod contains Label source=DC and destination=CS, the logs will include fields tagsource__: DC and **tag**destination__: CS.
    exclude_pod_annotation_regexes Sequence[RuleContainerRuleKubernetesRuleExcludePodAnnotationRegex]
    Pod Annotation Denylist is used to specify containers that are not collected. If you need to set a Pod Annotation Denylist, Key is required and Value is optional. If Value is empty, all containers under Pods whose Pod Annotation contains the specified Key are excluded. If Value is not empty, only containers under Pods whose Pod Annotation contains the Key and whose value matches the specified Value are excluded. By default, Value uses string matching, meaning it only matches when Value and the Pod Annotation value are exactly the same. If the value starts with ^ and ends with $, it is treated as a regular expression. For example, if Key is set to app and Value is set to ^(test1|test2)$, it matches containers under Pods with Pod Annotation app:test1 or app:test2. Note: The logical relationship between multiple Key-Value pairs is OR, meaning a Pod Annotation that matches any pair will be excluded from the collection scope. When enabling the Pod Annotation Denylist, Keys must not be duplicated. For regex fuzzy matching, you must add .. For example, ^(http.)$ matches strings starting with http Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    exclude_pod_label_regexes Sequence[RuleContainerRuleKubernetesRuleExcludePodLabelRegex]
    Specify containers to exclude from collection using the Pod Label denylist. If not enabled, all containers are collected. To set a Pod Label denylist, Key is required and Value is optional. If Value is empty, all containers with the specified Key in their Pod Label are excluded from collection. If Value is not empty, only containers with the specified Key and a Value matching the Value in their Pod Label are excluded. Value supports regular expressions. For example, set Key to module and Value to ^(tcp|udp)$ to exclude containers with module:tcp or module:udp in their Pod Label. Note: The logical relationship between multiple Key-Value pairs is OR. Any Pod Label matching any Key-Value pair will be excluded from collection. When enabling the Pod Label denylist, Keys must not be duplicated. For fuzzy regular expression matching, you must add .. For example, ^(http.)$ matches any string starting with http Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    include_pod_annotation_regexes Sequence[RuleContainerRuleKubernetesRuleIncludePodAnnotationRegex]
    Pod Annotation Allowlist is used to specify containers to be collected. If you need to set a Pod Annotation Allowlist, Key is required and Value is optional. If Value is empty, all containers under Pods that contain the Key in Pod Annotation will match. If Value is not empty, only containers under Pods that contain the Key and whose value matches Value in Pod Annotation will match. Value defaults to string matching, meaning only when Value and the Pod Annotation value are exactly the same will they match. If the value starts with ^ and ends with $, it is a regex match. For example, set Key to app and Value to ^(test1|test2)$ to match containers under Pods with Pod Annotation app:test1 or app:test2. Note: The logical relationship between multiple Key-Value pairs is OR, meaning as long as Pod Annotation matches any pair, it will be included in the collection scope. When enabling Pod Annotation Allowlist, Keys must not be duplicated. For regex fuzzy matching, you must add .. For example, ^(http.)$ matches strings starting with http. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    include_pod_label_regexes Sequence[RuleContainerRuleKubernetesRuleIncludePodLabelRegex]
    Pod Label Allowlist is used to specify which containers to collect. If Pod Label Allowlist is not enabled, all containers will be collected. If you need to set a Pod Label Allowlist, Key is required: if Value is empty, all containers with the Key in their Pod Label will be collected. If Value is not empty, only containers with the Key in their Pod Label and a Value matching the specified pattern will be collected; regular expression matching is supported. For example, if you set Key to module and Value to ^(tcp|udp)$, only containers with module:tcp or module:udp in their Pod Label will be collected. Note: The logical relationship between multiple key-value pairs is OR, meaning any Pod Label matching any key-value pair will be included in the collection scope. When enabling Pod Label Allowlist, Keys cannot be duplicated. For fuzzy regular expression matching, you must add ., for example, ^(http.)$ matches strings starting with http. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    label_tags Sequence[RuleContainerRuleKubernetesRuleLabelTag]
    Whether to add Kubernetes labels as log tags to the raw log data. When enabled, the log service adds Kubernetes Pod label fields to the logs. Setting multiple key-value pairs adds multiple fields. For example, if you set Key to source and Value to data_source, and the Pod contains the label source=DC, the log will include the field tagdata_source_*: DC. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    namespace_name_regex str
    Name of the Kubernetes Namespace to collect. If no Namespace name is specified, all containers will be collected. Namespace names support regular expression matching. For example, if you set the Namespace name to ^(tcp|udp)$, it will collect all containers under the tcp and udp namespaces.
    pod_name_regex str
    Pod name is used to specify the Pod whose containers will be collected. If no Pod name is specified, all containers will be collected. Pod name supports regular expression matching. For example, setting the Pod name to ^(http.*)$ collects all containers under Pods whose names start with http.
    workload_name_regex str
    Specify the container to collect by workload name. If no workload name is specified, all containers are collected. Workload names support regular expressions. For example, setting the workload name to ^(http.*)$ collects all containers under workloads starting with http.
    workload_type str
    Specify the container to collect by workload type. Only one type can be selected. If no type is specified, containers of all types will be collected. Supported workload types: Deployment: stateless workload StatefulSet: stateful workload DaemonSet: daemon process Job: task CronJob: scheduled task
    annotationTags List<Property Map>
    Whether to add Kubernetes Annotations as log tags to the original log data. When enabled, the log service will add fields related to Kubernetes Pod Annotations to the logs. Setting multiple key-value pairs means adding multiple fields. For example, if you set Key to sink and Value to data_sink, and the Pod contains the annotation sink=ck, a new field tagdata_sink_*: ck will be added to the log. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    enableAllLabelTag Boolean
    Whether to add all Kubernetes Labels as log tags to the original log data. When enabled, the log service adds fields for all Labels in the Kubernetes Pod to the logs. For example, if the Pod contains Label source=DC and destination=CS, the logs will include fields tagsource__: DC and **tag**destination__: CS.
    excludePodAnnotationRegexes List<Property Map>
    Pod Annotation Denylist is used to specify containers that are not collected. If you need to set a Pod Annotation Denylist, Key is required and Value is optional. If Value is empty, all containers under Pods whose Pod Annotation contains the specified Key are excluded. If Value is not empty, only containers under Pods whose Pod Annotation contains the Key and whose value matches the specified Value are excluded. By default, Value uses string matching, meaning it only matches when Value and the Pod Annotation value are exactly the same. If the value starts with ^ and ends with $, it is treated as a regular expression. For example, if Key is set to app and Value is set to ^(test1|test2)$, it matches containers under Pods with Pod Annotation app:test1 or app:test2. Note: The logical relationship between multiple Key-Value pairs is OR, meaning a Pod Annotation that matches any pair will be excluded from the collection scope. When enabling the Pod Annotation Denylist, Keys must not be duplicated. For regex fuzzy matching, you must add .. For example, ^(http.)$ matches strings starting with http Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    excludePodLabelRegexes List<Property Map>
    Specify containers to exclude from collection using the Pod Label denylist. If not enabled, all containers are collected. To set a Pod Label denylist, Key is required and Value is optional. If Value is empty, all containers with the specified Key in their Pod Label are excluded from collection. If Value is not empty, only containers with the specified Key and a Value matching the Value in their Pod Label are excluded. Value supports regular expressions. For example, set Key to module and Value to ^(tcp|udp)$ to exclude containers with module:tcp or module:udp in their Pod Label. Note: The logical relationship between multiple Key-Value pairs is OR. Any Pod Label matching any Key-Value pair will be excluded from collection. When enabling the Pod Label denylist, Keys must not be duplicated. For fuzzy regular expression matching, you must add .. For example, ^(http.)$ matches any string starting with http Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    includePodAnnotationRegexes List<Property Map>
    Pod Annotation Allowlist is used to specify containers to be collected. If you need to set a Pod Annotation Allowlist, Key is required and Value is optional. If Value is empty, all containers under Pods that contain the Key in Pod Annotation will match. If Value is not empty, only containers under Pods that contain the Key and whose value matches Value in Pod Annotation will match. Value defaults to string matching, meaning only when Value and the Pod Annotation value are exactly the same will they match. If the value starts with ^ and ends with $, it is a regex match. For example, set Key to app and Value to ^(test1|test2)$ to match containers under Pods with Pod Annotation app:test1 or app:test2. Note: The logical relationship between multiple Key-Value pairs is OR, meaning as long as Pod Annotation matches any pair, it will be included in the collection scope. When enabling Pod Annotation Allowlist, Keys must not be duplicated. For regex fuzzy matching, you must add .. For example, ^(http.)$ matches strings starting with http. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    includePodLabelRegexes List<Property Map>
    Pod Label Allowlist is used to specify which containers to collect. If Pod Label Allowlist is not enabled, all containers will be collected. If you need to set a Pod Label Allowlist, Key is required: if Value is empty, all containers with the Key in their Pod Label will be collected. If Value is not empty, only containers with the Key in their Pod Label and a Value matching the specified pattern will be collected; regular expression matching is supported. For example, if you set Key to module and Value to ^(tcp|udp)$, only containers with module:tcp or module:udp in their Pod Label will be collected. Note: The logical relationship between multiple key-value pairs is OR, meaning any Pod Label matching any key-value pair will be included in the collection scope. When enabling Pod Label Allowlist, Keys cannot be duplicated. For fuzzy regular expression matching, you must add ., for example, ^(http.)$ matches strings starting with http. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    labelTags List<Property Map>
    Whether to add Kubernetes labels as log tags to the raw log data. When enabled, the log service adds Kubernetes Pod label fields to the logs. Setting multiple key-value pairs adds multiple fields. For example, if you set Key to source and Value to data_source, and the Pod contains the label source=DC, the log will include the field tagdata_source_*: DC. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    namespaceNameRegex String
    Name of the Kubernetes Namespace to collect. If no Namespace name is specified, all containers will be collected. Namespace names support regular expression matching. For example, if you set the Namespace name to ^(tcp|udp)$, it will collect all containers under the tcp and udp namespaces.
    podNameRegex String
    Pod name is used to specify the Pod whose containers will be collected. If no Pod name is specified, all containers will be collected. Pod name supports regular expression matching. For example, setting the Pod name to ^(http.*)$ collects all containers under Pods whose names start with http.
    workloadNameRegex String
    Specify the container to collect by workload name. If no workload name is specified, all containers are collected. Workload names support regular expressions. For example, setting the workload name to ^(http.*)$ collects all containers under workloads starting with http.
    workloadType String
    Specify the container to collect by workload type. Only one type can be selected. If no type is specified, containers of all types will be collected. Supported workload types: Deployment: stateless workload StatefulSet: stateful workload DaemonSet: daemon process Job: task CronJob: scheduled task

    RuleContainerRuleKubernetesRuleAnnotationTag, RuleContainerRuleKubernetesRuleAnnotationTagArgs

    Key string
    Key.
    Val string
    Value.
    Key string
    Key.
    Val string
    Value.
    key string
    Key.
    val string
    Value.
    key String
    Key.
    val String
    Value.
    key string
    Key.
    val string
    Value.
    key str
    Key.
    val str
    Value.
    key String
    Key.
    val String
    Value.

    RuleContainerRuleKubernetesRuleExcludePodAnnotationRegex, RuleContainerRuleKubernetesRuleExcludePodAnnotationRegexArgs

    Key string
    Key.
    Val string
    Value.
    Key string
    Key.
    Val string
    Value.
    key string
    Key.
    val string
    Value.
    key String
    Key.
    val String
    Value.
    key string
    Key.
    val string
    Value.
    key str
    Key.
    val str
    Value.
    key String
    Key.
    val String
    Value.

    RuleContainerRuleKubernetesRuleExcludePodLabelRegex, RuleContainerRuleKubernetesRuleExcludePodLabelRegexArgs

    Key string
    Key.
    Val string
    Value.
    Key string
    Key.
    Val string
    Value.
    key string
    Key.
    val string
    Value.
    key String
    Key.
    val String
    Value.
    key string
    Key.
    val string
    Value.
    key str
    Key.
    val str
    Value.
    key String
    Key.
    val String
    Value.

    RuleContainerRuleKubernetesRuleIncludePodAnnotationRegex, RuleContainerRuleKubernetesRuleIncludePodAnnotationRegexArgs

    Key string
    Key.
    Val string
    Value.
    Key string
    Key.
    Val string
    Value.
    key string
    Key.
    val string
    Value.
    key String
    Key.
    val String
    Value.
    key string
    Key.
    val string
    Value.
    key str
    Key.
    val str
    Value.
    key String
    Key.
    val String
    Value.

    RuleContainerRuleKubernetesRuleIncludePodLabelRegex, RuleContainerRuleKubernetesRuleIncludePodLabelRegexArgs

    Key string
    Key.
    Val string
    Value.
    Key string
    Key.
    Val string
    Value.
    key string
    Key.
    val string
    Value.
    key String
    Key.
    val String
    Value.
    key string
    Key.
    val string
    Value.
    key str
    Key.
    val str
    Value.
    key String
    Key.
    val String
    Value.

    RuleContainerRuleKubernetesRuleLabelTag, RuleContainerRuleKubernetesRuleLabelTagArgs

    Key string
    Key.
    Val string
    Value.
    Key string
    Key.
    Val string
    Value.
    key string
    Key.
    val string
    Value.
    key String
    Key.
    val String
    Value.
    key string
    Key.
    val string
    Value.
    key str
    Key.
    val str
    Value.
    key String
    Key.
    val String
    Value.

    RuleExcludePath, RuleExcludePathArgs

    Type string
    Collection path type. File: File name. Path: Directory.
    Value string
    Collection path. Must be specified as an absolute path. When Type is Path, Value indicates a directory. When Type is File, Value indicates a file name.
    Type string
    Collection path type. File: File name. Path: Directory.
    Value string
    Collection path. Must be specified as an absolute path. When Type is Path, Value indicates a directory. When Type is File, Value indicates a file name.
    type string
    Collection path type. File: File name. Path: Directory.
    value string
    Collection path. Must be specified as an absolute path. When Type is Path, Value indicates a directory. When Type is File, Value indicates a file name.
    type String
    Collection path type. File: File name. Path: Directory.
    value String
    Collection path. Must be specified as an absolute path. When Type is Path, Value indicates a directory. When Type is File, Value indicates a file name.
    type string
    Collection path type. File: File name. Path: Directory.
    value string
    Collection path. Must be specified as an absolute path. When Type is Path, Value indicates a directory. When Type is File, Value indicates a file name.
    type str
    Collection path type. File: File name. Path: Directory.
    value str
    Collection path. Must be specified as an absolute path. When Type is Path, Value indicates a directory. When Type is File, Value indicates a file name.
    type String
    Collection path type. File: File name. Path: Directory.
    value String
    Collection path. Must be specified as an absolute path. When Type is Path, Value indicates a directory. When Type is File, Value indicates a file name.

    RuleExtractRule, RuleExtractRuleArgs

    BeginRegex string
    Regular expression that the first line of the log must match. Valid only when LogType is multilinelog or fullregexlog. Must be a valid regular expression.
    Delimiter string
    Log delimiter. Valid only when LogType is delimiter_log.
    EnableNanosecond bool
    Enable nanosecond precision time. When enabled, log time parsing will include and report nanosecond precision. true: Enable nanosecond precision time. false: Disable nanosecond precision time.
    FilterKeyRegexes List<Volcengine.RuleExtractRuleFilterKeyRegex>
    Filter rule list. When LogType is minimalistlog or multilinelog, you can configure up to 1 filter rule, and the filter field name key must be content. When LogType is delimiterlog, jsonlog, or fullregex*log, you can configure up to 5 filter rules, and the filter field name key cannot be duplicated or empty. The regular expression for the filter field's log content must be a valid regular expression and is limited to 256 characters. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    Keys List<string>
    List of log field names (Key). This is only valid when LogType is delimiterlog or fullregexlog. You can configure up to 100 field names. When LogType is delimiterlog, field names must be unique and cannot all be empty. When LogType is fullregexlog, field names must be unique and cannot be empty.
    LogRegex string
    The entire log must match the specified regular expression. This is only valid when the collected log type is fullregex_log. Must be a valid regular expression.
    LogTemplate Volcengine.RuleExtractRuleLogTemplate
    Automatically extract log fields based on the specified log template
    Quote string
    Quoting character. Content wrapped by a quoting character will not be split but parsed as a complete field. Only valid when LogType is delimiter_log.
    TimeExtractRegex string
    Regular expression for extracting time, used to extract the time value from the TimeKey field and parse it as the collection time
    TimeFormat string
    Parsing format for the time field. If you use a specific time field in the log as the log timestamp, you must provide both TimeKey and TimeFormat. TimeKey and TimeFormat must be used together.
    TimeKey string
    Name of the log time field. If you want to use a specific time field in the log as the log timestamp, you need to specify both TimeKey and TimeFormat. TimeKey and TimeFormat must be provided together.
    TimeSample string
    Time sample. Used to check whether the entered time parsing format is correct.
    TimeZone string
    Time zone. Supports machine time zone (default) and custom time zone. Custom time zone supports GMT and UTC. GMT format: GMT+08:00. UTC format: Asia/Shanghai.
    UnMatchLogKey string
    Key name for unmatched logs.
    UnMatchUpLoadSwitch bool
    Switch for uploading unmatched logs.
    BeginRegex string
    Regular expression that the first line of the log must match. Valid only when LogType is multilinelog or fullregexlog. Must be a valid regular expression.
    Delimiter string
    Log delimiter. Valid only when LogType is delimiter_log.
    EnableNanosecond bool
    Enable nanosecond precision time. When enabled, log time parsing will include and report nanosecond precision. true: Enable nanosecond precision time. false: Disable nanosecond precision time.
    FilterKeyRegexes []RuleExtractRuleFilterKeyRegex
    Filter rule list. When LogType is minimalistlog or multilinelog, you can configure up to 1 filter rule, and the filter field name key must be content. When LogType is delimiterlog, jsonlog, or fullregex*log, you can configure up to 5 filter rules, and the filter field name key cannot be duplicated or empty. The regular expression for the filter field's log content must be a valid regular expression and is limited to 256 characters. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    Keys []string
    List of log field names (Key). This is only valid when LogType is delimiterlog or fullregexlog. You can configure up to 100 field names. When LogType is delimiterlog, field names must be unique and cannot all be empty. When LogType is fullregexlog, field names must be unique and cannot be empty.
    LogRegex string
    The entire log must match the specified regular expression. This is only valid when the collected log type is fullregex_log. Must be a valid regular expression.
    LogTemplate RuleExtractRuleLogTemplate
    Automatically extract log fields based on the specified log template
    Quote string
    Quoting character. Content wrapped by a quoting character will not be split but parsed as a complete field. Only valid when LogType is delimiter_log.
    TimeExtractRegex string
    Regular expression for extracting time, used to extract the time value from the TimeKey field and parse it as the collection time
    TimeFormat string
    Parsing format for the time field. If you use a specific time field in the log as the log timestamp, you must provide both TimeKey and TimeFormat. TimeKey and TimeFormat must be used together.
    TimeKey string
    Name of the log time field. If you want to use a specific time field in the log as the log timestamp, you need to specify both TimeKey and TimeFormat. TimeKey and TimeFormat must be provided together.
    TimeSample string
    Time sample. Used to check whether the entered time parsing format is correct.
    TimeZone string
    Time zone. Supports machine time zone (default) and custom time zone. Custom time zone supports GMT and UTC. GMT format: GMT+08:00. UTC format: Asia/Shanghai.
    UnMatchLogKey string
    Key name for unmatched logs.
    UnMatchUpLoadSwitch bool
    Switch for uploading unmatched logs.
    begin_regex string
    Regular expression that the first line of the log must match. Valid only when LogType is multilinelog or fullregexlog. Must be a valid regular expression.
    delimiter string
    Log delimiter. Valid only when LogType is delimiter_log.
    enable_nanosecond bool
    Enable nanosecond precision time. When enabled, log time parsing will include and report nanosecond precision. true: Enable nanosecond precision time. false: Disable nanosecond precision time.
    filter_key_regexes list(object)
    Filter rule list. When LogType is minimalistlog or multilinelog, you can configure up to 1 filter rule, and the filter field name key must be content. When LogType is delimiterlog, jsonlog, or fullregex*log, you can configure up to 5 filter rules, and the filter field name key cannot be duplicated or empty. The regular expression for the filter field's log content must be a valid regular expression and is limited to 256 characters. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    keys list(string)
    List of log field names (Key). This is only valid when LogType is delimiterlog or fullregexlog. You can configure up to 100 field names. When LogType is delimiterlog, field names must be unique and cannot all be empty. When LogType is fullregexlog, field names must be unique and cannot be empty.
    log_regex string
    The entire log must match the specified regular expression. This is only valid when the collected log type is fullregex_log. Must be a valid regular expression.
    log_template object
    Automatically extract log fields based on the specified log template
    quote string
    Quoting character. Content wrapped by a quoting character will not be split but parsed as a complete field. Only valid when LogType is delimiter_log.
    time_extract_regex string
    Regular expression for extracting time, used to extract the time value from the TimeKey field and parse it as the collection time
    time_format string
    Parsing format for the time field. If you use a specific time field in the log as the log timestamp, you must provide both TimeKey and TimeFormat. TimeKey and TimeFormat must be used together.
    time_key string
    Name of the log time field. If you want to use a specific time field in the log as the log timestamp, you need to specify both TimeKey and TimeFormat. TimeKey and TimeFormat must be provided together.
    time_sample string
    Time sample. Used to check whether the entered time parsing format is correct.
    time_zone string
    Time zone. Supports machine time zone (default) and custom time zone. Custom time zone supports GMT and UTC. GMT format: GMT+08:00. UTC format: Asia/Shanghai.
    un_match_log_key string
    Key name for unmatched logs.
    un_match_up_load_switch bool
    Switch for uploading unmatched logs.
    beginRegex String
    Regular expression that the first line of the log must match. Valid only when LogType is multilinelog or fullregexlog. Must be a valid regular expression.
    delimiter String
    Log delimiter. Valid only when LogType is delimiter_log.
    enableNanosecond Boolean
    Enable nanosecond precision time. When enabled, log time parsing will include and report nanosecond precision. true: Enable nanosecond precision time. false: Disable nanosecond precision time.
    filterKeyRegexes List<RuleExtractRuleFilterKeyRegex>
    Filter rule list. When LogType is minimalistlog or multilinelog, you can configure up to 1 filter rule, and the filter field name key must be content. When LogType is delimiterlog, jsonlog, or fullregex*log, you can configure up to 5 filter rules, and the filter field name key cannot be duplicated or empty. The regular expression for the filter field's log content must be a valid regular expression and is limited to 256 characters. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    keys List<String>
    List of log field names (Key). This is only valid when LogType is delimiterlog or fullregexlog. You can configure up to 100 field names. When LogType is delimiterlog, field names must be unique and cannot all be empty. When LogType is fullregexlog, field names must be unique and cannot be empty.
    logRegex String
    The entire log must match the specified regular expression. This is only valid when the collected log type is fullregex_log. Must be a valid regular expression.
    logTemplate RuleExtractRuleLogTemplate
    Automatically extract log fields based on the specified log template
    quote String
    Quoting character. Content wrapped by a quoting character will not be split but parsed as a complete field. Only valid when LogType is delimiter_log.
    timeExtractRegex String
    Regular expression for extracting time, used to extract the time value from the TimeKey field and parse it as the collection time
    timeFormat String
    Parsing format for the time field. If you use a specific time field in the log as the log timestamp, you must provide both TimeKey and TimeFormat. TimeKey and TimeFormat must be used together.
    timeKey String
    Name of the log time field. If you want to use a specific time field in the log as the log timestamp, you need to specify both TimeKey and TimeFormat. TimeKey and TimeFormat must be provided together.
    timeSample String
    Time sample. Used to check whether the entered time parsing format is correct.
    timeZone String
    Time zone. Supports machine time zone (default) and custom time zone. Custom time zone supports GMT and UTC. GMT format: GMT+08:00. UTC format: Asia/Shanghai.
    unMatchLogKey String
    Key name for unmatched logs.
    unMatchUpLoadSwitch Boolean
    Switch for uploading unmatched logs.
    beginRegex string
    Regular expression that the first line of the log must match. Valid only when LogType is multilinelog or fullregexlog. Must be a valid regular expression.
    delimiter string
    Log delimiter. Valid only when LogType is delimiter_log.
    enableNanosecond boolean
    Enable nanosecond precision time. When enabled, log time parsing will include and report nanosecond precision. true: Enable nanosecond precision time. false: Disable nanosecond precision time.
    filterKeyRegexes RuleExtractRuleFilterKeyRegex[]
    Filter rule list. When LogType is minimalistlog or multilinelog, you can configure up to 1 filter rule, and the filter field name key must be content. When LogType is delimiterlog, jsonlog, or fullregex*log, you can configure up to 5 filter rules, and the filter field name key cannot be duplicated or empty. The regular expression for the filter field's log content must be a valid regular expression and is limited to 256 characters. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    keys string[]
    List of log field names (Key). This is only valid when LogType is delimiterlog or fullregexlog. You can configure up to 100 field names. When LogType is delimiterlog, field names must be unique and cannot all be empty. When LogType is fullregexlog, field names must be unique and cannot be empty.
    logRegex string
    The entire log must match the specified regular expression. This is only valid when the collected log type is fullregex_log. Must be a valid regular expression.
    logTemplate RuleExtractRuleLogTemplate
    Automatically extract log fields based on the specified log template
    quote string
    Quoting character. Content wrapped by a quoting character will not be split but parsed as a complete field. Only valid when LogType is delimiter_log.
    timeExtractRegex string
    Regular expression for extracting time, used to extract the time value from the TimeKey field and parse it as the collection time
    timeFormat string
    Parsing format for the time field. If you use a specific time field in the log as the log timestamp, you must provide both TimeKey and TimeFormat. TimeKey and TimeFormat must be used together.
    timeKey string
    Name of the log time field. If you want to use a specific time field in the log as the log timestamp, you need to specify both TimeKey and TimeFormat. TimeKey and TimeFormat must be provided together.
    timeSample string
    Time sample. Used to check whether the entered time parsing format is correct.
    timeZone string
    Time zone. Supports machine time zone (default) and custom time zone. Custom time zone supports GMT and UTC. GMT format: GMT+08:00. UTC format: Asia/Shanghai.
    unMatchLogKey string
    Key name for unmatched logs.
    unMatchUpLoadSwitch boolean
    Switch for uploading unmatched logs.
    begin_regex str
    Regular expression that the first line of the log must match. Valid only when LogType is multilinelog or fullregexlog. Must be a valid regular expression.
    delimiter str
    Log delimiter. Valid only when LogType is delimiter_log.
    enable_nanosecond bool
    Enable nanosecond precision time. When enabled, log time parsing will include and report nanosecond precision. true: Enable nanosecond precision time. false: Disable nanosecond precision time.
    filter_key_regexes Sequence[RuleExtractRuleFilterKeyRegex]
    Filter rule list. When LogType is minimalistlog or multilinelog, you can configure up to 1 filter rule, and the filter field name key must be content. When LogType is delimiterlog, jsonlog, or fullregex*log, you can configure up to 5 filter rules, and the filter field name key cannot be duplicated or empty. The regular expression for the filter field's log content must be a valid regular expression and is limited to 256 characters. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    keys Sequence[str]
    List of log field names (Key). This is only valid when LogType is delimiterlog or fullregexlog. You can configure up to 100 field names. When LogType is delimiterlog, field names must be unique and cannot all be empty. When LogType is fullregexlog, field names must be unique and cannot be empty.
    log_regex str
    The entire log must match the specified regular expression. This is only valid when the collected log type is fullregex_log. Must be a valid regular expression.
    log_template RuleExtractRuleLogTemplate
    Automatically extract log fields based on the specified log template
    quote str
    Quoting character. Content wrapped by a quoting character will not be split but parsed as a complete field. Only valid when LogType is delimiter_log.
    time_extract_regex str
    Regular expression for extracting time, used to extract the time value from the TimeKey field and parse it as the collection time
    time_format str
    Parsing format for the time field. If you use a specific time field in the log as the log timestamp, you must provide both TimeKey and TimeFormat. TimeKey and TimeFormat must be used together.
    time_key str
    Name of the log time field. If you want to use a specific time field in the log as the log timestamp, you need to specify both TimeKey and TimeFormat. TimeKey and TimeFormat must be provided together.
    time_sample str
    Time sample. Used to check whether the entered time parsing format is correct.
    time_zone str
    Time zone. Supports machine time zone (default) and custom time zone. Custom time zone supports GMT and UTC. GMT format: GMT+08:00. UTC format: Asia/Shanghai.
    un_match_log_key str
    Key name for unmatched logs.
    un_match_up_load_switch bool
    Switch for uploading unmatched logs.
    beginRegex String
    Regular expression that the first line of the log must match. Valid only when LogType is multilinelog or fullregexlog. Must be a valid regular expression.
    delimiter String
    Log delimiter. Valid only when LogType is delimiter_log.
    enableNanosecond Boolean
    Enable nanosecond precision time. When enabled, log time parsing will include and report nanosecond precision. true: Enable nanosecond precision time. false: Disable nanosecond precision time.
    filterKeyRegexes List<Property Map>
    Filter rule list. When LogType is minimalistlog or multilinelog, you can configure up to 1 filter rule, and the filter field name key must be content. When LogType is delimiterlog, jsonlog, or fullregex*log, you can configure up to 5 filter rules, and the filter field name key cannot be duplicated or empty. The regular expression for the filter field's log content must be a valid regular expression and is limited to 256 characters. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    keys List<String>
    List of log field names (Key). This is only valid when LogType is delimiterlog or fullregexlog. You can configure up to 100 field names. When LogType is delimiterlog, field names must be unique and cannot all be empty. When LogType is fullregexlog, field names must be unique and cannot be empty.
    logRegex String
    The entire log must match the specified regular expression. This is only valid when the collected log type is fullregex_log. Must be a valid regular expression.
    logTemplate Property Map
    Automatically extract log fields based on the specified log template
    quote String
    Quoting character. Content wrapped by a quoting character will not be split but parsed as a complete field. Only valid when LogType is delimiter_log.
    timeExtractRegex String
    Regular expression for extracting time, used to extract the time value from the TimeKey field and parse it as the collection time
    timeFormat String
    Parsing format for the time field. If you use a specific time field in the log as the log timestamp, you must provide both TimeKey and TimeFormat. TimeKey and TimeFormat must be used together.
    timeKey String
    Name of the log time field. If you want to use a specific time field in the log as the log timestamp, you need to specify both TimeKey and TimeFormat. TimeKey and TimeFormat must be provided together.
    timeSample String
    Time sample. Used to check whether the entered time parsing format is correct.
    timeZone String
    Time zone. Supports machine time zone (default) and custom time zone. Custom time zone supports GMT and UTC. GMT format: GMT+08:00. UTC format: Asia/Shanghai.
    unMatchLogKey String
    Key name for unmatched logs.
    unMatchUpLoadSwitch Boolean
    Switch for uploading unmatched logs.

    RuleExtractRuleFilterKeyRegex, RuleExtractRuleFilterKeyRegexArgs

    Key string
    Name of the filter field.
    Regex string
    The log content of the filter field must match the specified regular expression.
    Key string
    Name of the filter field.
    Regex string
    The log content of the filter field must match the specified regular expression.
    key string
    Name of the filter field.
    regex string
    The log content of the filter field must match the specified regular expression.
    key String
    Name of the filter field.
    regex String
    The log content of the filter field must match the specified regular expression.
    key string
    Name of the filter field.
    regex string
    The log content of the filter field must match the specified regular expression.
    key str
    Name of the filter field.
    regex str
    The log content of the filter field must match the specified regular expression.
    key String
    Name of the filter field.
    regex String
    The log content of the filter field must match the specified regular expression.

    RuleExtractRuleLogTemplate, RuleExtractRuleLogTemplateArgs

    Format string
    Log template format.
    Type string
    Log template types. Supported types: Nginx: Nginx log template.
    Format string
    Log template format.
    Type string
    Log template types. Supported types: Nginx: Nginx log template.
    format string
    Log template format.
    type string
    Log template types. Supported types: Nginx: Nginx log template.
    format String
    Log template format.
    type String
    Log template types. Supported types: Nginx: Nginx log template.
    format string
    Log template format.
    type string
    Log template types. Supported types: Nginx: Nginx log template.
    format str
    Log template format.
    type str
    Log template types. Supported types: Nginx: Nginx log template.
    format String
    Log template format.
    type String
    Log template types. Supported types: Nginx: Nginx log template.

    RuleHostGroupInfo, RuleHostGroupInfoArgs

    HostGroupId string
    Machine group ID
    HostGroupId string
    Machine group ID
    host_group_id string
    Machine group ID
    hostGroupId String
    Machine group ID
    hostGroupId string
    Machine group ID
    host_group_id str
    Machine group ID
    hostGroupId String
    Machine group ID

    RuleUserDefineRule, RuleUserDefineRuleArgs

    Advanced Volcengine.RuleUserDefineRuleAdvanced
    The Advanced parameter is used for extended configuration. After enabling extended configuration, you can customize advanced behaviors of LogCollector, such as when to release file handles. Note: If multiple release conditions are specified, the handle is released and log file monitoring ends as soon as any condition is met.
    EnableHostGroupLabel bool
    Whether to upload the label information of the host group to the log service. The default is off. true: LogCollector uploads the label information of the host group to the specified field. You can specify the field name in the HostGroupLabelKey parameter. false (default): Host group label information is not uploaded.
    EnableHostname bool
    Upload the hostname field. Default is disabled. true: Add a field to the original log to record the source hostname. Specify the hostname field name using HostnameKey. false: (default) Do not add the hostname field.
    EnableRawLog bool
    Upload raw logs. true: Upload raw logs. false (default): Do not upload raw logs.
    Fields List<Volcengine.RuleUserDefineRuleField>
    Add constant fields to logs. Constant fields must follow these restrictions: You can upload up to 5 constant fields. Field names (Key) must be unique and not empty. Length limit: 1–128 characters, including letters, numbers, and special characters (-*./), and cannot start with an underscore. Field values (Value) must not be empty, with a maximum length of 512 KiB. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    HostGroupLabelKey string
    Field name used to store machine group label information
    HostnameKey string
    Hostname field name. Required only when EnableHostname is true.
    IgnoreOlder int
    Ignore log files that have not been updated for a specified period (in hours).
    MultiCollectsType string
    Allow multiple log file collections. Empty: Use log file ID (including file inode, device, and checksum of the first N bytes) to uniquely identify the log file. RuleID: Use collection rule ID and log file ID to uniquely identify the log file. TopicIDRuleName: Use log topic ID, collection rule name, and log file ID to uniquely identify the log file.
    ParsePathRule Volcengine.RuleUserDefineRuleParsePathRule
    Rule for parsing the collection path. After setting the rule, fields in the collection path are extracted using the specified regular expression and added as metadata to the log data. Note: This parameter is not supported when collecting container standard output.
    Plugin Volcengine.RuleUserDefineRulePlugin
    LogCollector plugin configuration. After enabling plugin configuration, you can add one or more LogCollector processor plugins to parse logs with complex or variable structures.
    RawLogKey string
    Name of the raw log field. Only effective when EnableRawLog is set to true. RawLogKey defaults to raw, meaning the original log data will be encapsulated in the raw field and uploaded to the log service along with the parsed log data.
    ShardHashKey Volcengine.RuleUserDefineRuleShardHashKey
    Rules for routing log partitions. If this parameter is not set, logs are written using the default load balancing mode, and packets are written to any available Shard. If this parameter is set, logs are collected using the HashKey routing Shard mode, and the log service writes data to the Shard containing the specified Key value
    TailFiles bool
    LogCollector collection policy, which specifies whether LogCollector collects incremental logs or full logs. Default is false, meaning full log collection. true: incremental collection. LogCollector only collects newly added content in the file. When new logs are written to monitored log files, LogCollector triggers log collection. For first-time collection, LogCollector automatically determines the collection position based on the incremental threshold TailSizeKb you specify. If the new file size does not exceed the incremental threshold, collection starts from the beginning of the file. If the new file size exceeds the incremental threshold, collection starts from the position at the end of the file minus the incremental threshold, collecting only incremental logs. For subsequent collections, LogCollector determines the collection position based on Checkpoint and continues collecting. false: (default) full collection. LogCollector collects logs from the beginning of each file, including historical log data.
    TailSizeKb int
    Backtracking threshold for incremental collection, in KiB. When LogCollector uses incremental collection, for the first collection of a log file: If the new log file size does not exceed the TailSizeKb value, collection starts from the beginning of the file. If the new log file size exceeds the TailSizeKb value, collection starts from the position that is TailSizeKb from the end of the file.
    Advanced RuleUserDefineRuleAdvanced
    The Advanced parameter is used for extended configuration. After enabling extended configuration, you can customize advanced behaviors of LogCollector, such as when to release file handles. Note: If multiple release conditions are specified, the handle is released and log file monitoring ends as soon as any condition is met.
    EnableHostGroupLabel bool
    Whether to upload the label information of the host group to the log service. The default is off. true: LogCollector uploads the label information of the host group to the specified field. You can specify the field name in the HostGroupLabelKey parameter. false (default): Host group label information is not uploaded.
    EnableHostname bool
    Upload the hostname field. Default is disabled. true: Add a field to the original log to record the source hostname. Specify the hostname field name using HostnameKey. false: (default) Do not add the hostname field.
    EnableRawLog bool
    Upload raw logs. true: Upload raw logs. false (default): Do not upload raw logs.
    Fields []RuleUserDefineRuleField
    Add constant fields to logs. Constant fields must follow these restrictions: You can upload up to 5 constant fields. Field names (Key) must be unique and not empty. Length limit: 1–128 characters, including letters, numbers, and special characters (-*./), and cannot start with an underscore. Field values (Value) must not be empty, with a maximum length of 512 KiB. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    HostGroupLabelKey string
    Field name used to store machine group label information
    HostnameKey string
    Hostname field name. Required only when EnableHostname is true.
    IgnoreOlder int
    Ignore log files that have not been updated for a specified period (in hours).
    MultiCollectsType string
    Allow multiple log file collections. Empty: Use log file ID (including file inode, device, and checksum of the first N bytes) to uniquely identify the log file. RuleID: Use collection rule ID and log file ID to uniquely identify the log file. TopicIDRuleName: Use log topic ID, collection rule name, and log file ID to uniquely identify the log file.
    ParsePathRule RuleUserDefineRuleParsePathRule
    Rule for parsing the collection path. After setting the rule, fields in the collection path are extracted using the specified regular expression and added as metadata to the log data. Note: This parameter is not supported when collecting container standard output.
    Plugin RuleUserDefineRulePlugin
    LogCollector plugin configuration. After enabling plugin configuration, you can add one or more LogCollector processor plugins to parse logs with complex or variable structures.
    RawLogKey string
    Name of the raw log field. Only effective when EnableRawLog is set to true. RawLogKey defaults to raw, meaning the original log data will be encapsulated in the raw field and uploaded to the log service along with the parsed log data.
    ShardHashKey RuleUserDefineRuleShardHashKey
    Rules for routing log partitions. If this parameter is not set, logs are written using the default load balancing mode, and packets are written to any available Shard. If this parameter is set, logs are collected using the HashKey routing Shard mode, and the log service writes data to the Shard containing the specified Key value
    TailFiles bool
    LogCollector collection policy, which specifies whether LogCollector collects incremental logs or full logs. Default is false, meaning full log collection. true: incremental collection. LogCollector only collects newly added content in the file. When new logs are written to monitored log files, LogCollector triggers log collection. For first-time collection, LogCollector automatically determines the collection position based on the incremental threshold TailSizeKb you specify. If the new file size does not exceed the incremental threshold, collection starts from the beginning of the file. If the new file size exceeds the incremental threshold, collection starts from the position at the end of the file minus the incremental threshold, collecting only incremental logs. For subsequent collections, LogCollector determines the collection position based on Checkpoint and continues collecting. false: (default) full collection. LogCollector collects logs from the beginning of each file, including historical log data.
    TailSizeKb int
    Backtracking threshold for incremental collection, in KiB. When LogCollector uses incremental collection, for the first collection of a log file: If the new log file size does not exceed the TailSizeKb value, collection starts from the beginning of the file. If the new log file size exceeds the TailSizeKb value, collection starts from the position that is TailSizeKb from the end of the file.
    advanced object
    The Advanced parameter is used for extended configuration. After enabling extended configuration, you can customize advanced behaviors of LogCollector, such as when to release file handles. Note: If multiple release conditions are specified, the handle is released and log file monitoring ends as soon as any condition is met.
    enable_host_group_label bool
    Whether to upload the label information of the host group to the log service. The default is off. true: LogCollector uploads the label information of the host group to the specified field. You can specify the field name in the HostGroupLabelKey parameter. false (default): Host group label information is not uploaded.
    enable_hostname bool
    Upload the hostname field. Default is disabled. true: Add a field to the original log to record the source hostname. Specify the hostname field name using HostnameKey. false: (default) Do not add the hostname field.
    enable_raw_log bool
    Upload raw logs. true: Upload raw logs. false (default): Do not upload raw logs.
    fields list(object)
    Add constant fields to logs. Constant fields must follow these restrictions: You can upload up to 5 constant fields. Field names (Key) must be unique and not empty. Length limit: 1–128 characters, including letters, numbers, and special characters (-*./), and cannot start with an underscore. Field values (Value) must not be empty, with a maximum length of 512 KiB. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    host_group_label_key string
    Field name used to store machine group label information
    hostname_key string
    Hostname field name. Required only when EnableHostname is true.
    ignore_older number
    Ignore log files that have not been updated for a specified period (in hours).
    multi_collects_type string
    Allow multiple log file collections. Empty: Use log file ID (including file inode, device, and checksum of the first N bytes) to uniquely identify the log file. RuleID: Use collection rule ID and log file ID to uniquely identify the log file. TopicIDRuleName: Use log topic ID, collection rule name, and log file ID to uniquely identify the log file.
    parse_path_rule object
    Rule for parsing the collection path. After setting the rule, fields in the collection path are extracted using the specified regular expression and added as metadata to the log data. Note: This parameter is not supported when collecting container standard output.
    plugin object
    LogCollector plugin configuration. After enabling plugin configuration, you can add one or more LogCollector processor plugins to parse logs with complex or variable structures.
    raw_log_key string
    Name of the raw log field. Only effective when EnableRawLog is set to true. RawLogKey defaults to raw, meaning the original log data will be encapsulated in the raw field and uploaded to the log service along with the parsed log data.
    shard_hash_key object
    Rules for routing log partitions. If this parameter is not set, logs are written using the default load balancing mode, and packets are written to any available Shard. If this parameter is set, logs are collected using the HashKey routing Shard mode, and the log service writes data to the Shard containing the specified Key value
    tail_files bool
    LogCollector collection policy, which specifies whether LogCollector collects incremental logs or full logs. Default is false, meaning full log collection. true: incremental collection. LogCollector only collects newly added content in the file. When new logs are written to monitored log files, LogCollector triggers log collection. For first-time collection, LogCollector automatically determines the collection position based on the incremental threshold TailSizeKb you specify. If the new file size does not exceed the incremental threshold, collection starts from the beginning of the file. If the new file size exceeds the incremental threshold, collection starts from the position at the end of the file minus the incremental threshold, collecting only incremental logs. For subsequent collections, LogCollector determines the collection position based on Checkpoint and continues collecting. false: (default) full collection. LogCollector collects logs from the beginning of each file, including historical log data.
    tail_size_kb number
    Backtracking threshold for incremental collection, in KiB. When LogCollector uses incremental collection, for the first collection of a log file: If the new log file size does not exceed the TailSizeKb value, collection starts from the beginning of the file. If the new log file size exceeds the TailSizeKb value, collection starts from the position that is TailSizeKb from the end of the file.
    advanced RuleUserDefineRuleAdvanced
    The Advanced parameter is used for extended configuration. After enabling extended configuration, you can customize advanced behaviors of LogCollector, such as when to release file handles. Note: If multiple release conditions are specified, the handle is released and log file monitoring ends as soon as any condition is met.
    enableHostGroupLabel Boolean
    Whether to upload the label information of the host group to the log service. The default is off. true: LogCollector uploads the label information of the host group to the specified field. You can specify the field name in the HostGroupLabelKey parameter. false (default): Host group label information is not uploaded.
    enableHostname Boolean
    Upload the hostname field. Default is disabled. true: Add a field to the original log to record the source hostname. Specify the hostname field name using HostnameKey. false: (default) Do not add the hostname field.
    enableRawLog Boolean
    Upload raw logs. true: Upload raw logs. false (default): Do not upload raw logs.
    fields List<RuleUserDefineRuleField>
    Add constant fields to logs. Constant fields must follow these restrictions: You can upload up to 5 constant fields. Field names (Key) must be unique and not empty. Length limit: 1–128 characters, including letters, numbers, and special characters (-*./), and cannot start with an underscore. Field values (Value) must not be empty, with a maximum length of 512 KiB. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    hostGroupLabelKey String
    Field name used to store machine group label information
    hostnameKey String
    Hostname field name. Required only when EnableHostname is true.
    ignoreOlder Integer
    Ignore log files that have not been updated for a specified period (in hours).
    multiCollectsType String
    Allow multiple log file collections. Empty: Use log file ID (including file inode, device, and checksum of the first N bytes) to uniquely identify the log file. RuleID: Use collection rule ID and log file ID to uniquely identify the log file. TopicIDRuleName: Use log topic ID, collection rule name, and log file ID to uniquely identify the log file.
    parsePathRule RuleUserDefineRuleParsePathRule
    Rule for parsing the collection path. After setting the rule, fields in the collection path are extracted using the specified regular expression and added as metadata to the log data. Note: This parameter is not supported when collecting container standard output.
    plugin RuleUserDefineRulePlugin
    LogCollector plugin configuration. After enabling plugin configuration, you can add one or more LogCollector processor plugins to parse logs with complex or variable structures.
    rawLogKey String
    Name of the raw log field. Only effective when EnableRawLog is set to true. RawLogKey defaults to raw, meaning the original log data will be encapsulated in the raw field and uploaded to the log service along with the parsed log data.
    shardHashKey RuleUserDefineRuleShardHashKey
    Rules for routing log partitions. If this parameter is not set, logs are written using the default load balancing mode, and packets are written to any available Shard. If this parameter is set, logs are collected using the HashKey routing Shard mode, and the log service writes data to the Shard containing the specified Key value
    tailFiles Boolean
    LogCollector collection policy, which specifies whether LogCollector collects incremental logs or full logs. Default is false, meaning full log collection. true: incremental collection. LogCollector only collects newly added content in the file. When new logs are written to monitored log files, LogCollector triggers log collection. For first-time collection, LogCollector automatically determines the collection position based on the incremental threshold TailSizeKb you specify. If the new file size does not exceed the incremental threshold, collection starts from the beginning of the file. If the new file size exceeds the incremental threshold, collection starts from the position at the end of the file minus the incremental threshold, collecting only incremental logs. For subsequent collections, LogCollector determines the collection position based on Checkpoint and continues collecting. false: (default) full collection. LogCollector collects logs from the beginning of each file, including historical log data.
    tailSizeKb Integer
    Backtracking threshold for incremental collection, in KiB. When LogCollector uses incremental collection, for the first collection of a log file: If the new log file size does not exceed the TailSizeKb value, collection starts from the beginning of the file. If the new log file size exceeds the TailSizeKb value, collection starts from the position that is TailSizeKb from the end of the file.
    advanced RuleUserDefineRuleAdvanced
    The Advanced parameter is used for extended configuration. After enabling extended configuration, you can customize advanced behaviors of LogCollector, such as when to release file handles. Note: If multiple release conditions are specified, the handle is released and log file monitoring ends as soon as any condition is met.
    enableHostGroupLabel boolean
    Whether to upload the label information of the host group to the log service. The default is off. true: LogCollector uploads the label information of the host group to the specified field. You can specify the field name in the HostGroupLabelKey parameter. false (default): Host group label information is not uploaded.
    enableHostname boolean
    Upload the hostname field. Default is disabled. true: Add a field to the original log to record the source hostname. Specify the hostname field name using HostnameKey. false: (default) Do not add the hostname field.
    enableRawLog boolean
    Upload raw logs. true: Upload raw logs. false (default): Do not upload raw logs.
    fields RuleUserDefineRuleField[]
    Add constant fields to logs. Constant fields must follow these restrictions: You can upload up to 5 constant fields. Field names (Key) must be unique and not empty. Length limit: 1–128 characters, including letters, numbers, and special characters (-*./), and cannot start with an underscore. Field values (Value) must not be empty, with a maximum length of 512 KiB. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    hostGroupLabelKey string
    Field name used to store machine group label information
    hostnameKey string
    Hostname field name. Required only when EnableHostname is true.
    ignoreOlder number
    Ignore log files that have not been updated for a specified period (in hours).
    multiCollectsType string
    Allow multiple log file collections. Empty: Use log file ID (including file inode, device, and checksum of the first N bytes) to uniquely identify the log file. RuleID: Use collection rule ID and log file ID to uniquely identify the log file. TopicIDRuleName: Use log topic ID, collection rule name, and log file ID to uniquely identify the log file.
    parsePathRule RuleUserDefineRuleParsePathRule
    Rule for parsing the collection path. After setting the rule, fields in the collection path are extracted using the specified regular expression and added as metadata to the log data. Note: This parameter is not supported when collecting container standard output.
    plugin RuleUserDefineRulePlugin
    LogCollector plugin configuration. After enabling plugin configuration, you can add one or more LogCollector processor plugins to parse logs with complex or variable structures.
    rawLogKey string
    Name of the raw log field. Only effective when EnableRawLog is set to true. RawLogKey defaults to raw, meaning the original log data will be encapsulated in the raw field and uploaded to the log service along with the parsed log data.
    shardHashKey RuleUserDefineRuleShardHashKey
    Rules for routing log partitions. If this parameter is not set, logs are written using the default load balancing mode, and packets are written to any available Shard. If this parameter is set, logs are collected using the HashKey routing Shard mode, and the log service writes data to the Shard containing the specified Key value
    tailFiles boolean
    LogCollector collection policy, which specifies whether LogCollector collects incremental logs or full logs. Default is false, meaning full log collection. true: incremental collection. LogCollector only collects newly added content in the file. When new logs are written to monitored log files, LogCollector triggers log collection. For first-time collection, LogCollector automatically determines the collection position based on the incremental threshold TailSizeKb you specify. If the new file size does not exceed the incremental threshold, collection starts from the beginning of the file. If the new file size exceeds the incremental threshold, collection starts from the position at the end of the file minus the incremental threshold, collecting only incremental logs. For subsequent collections, LogCollector determines the collection position based on Checkpoint and continues collecting. false: (default) full collection. LogCollector collects logs from the beginning of each file, including historical log data.
    tailSizeKb number
    Backtracking threshold for incremental collection, in KiB. When LogCollector uses incremental collection, for the first collection of a log file: If the new log file size does not exceed the TailSizeKb value, collection starts from the beginning of the file. If the new log file size exceeds the TailSizeKb value, collection starts from the position that is TailSizeKb from the end of the file.
    advanced RuleUserDefineRuleAdvanced
    The Advanced parameter is used for extended configuration. After enabling extended configuration, you can customize advanced behaviors of LogCollector, such as when to release file handles. Note: If multiple release conditions are specified, the handle is released and log file monitoring ends as soon as any condition is met.
    enable_host_group_label bool
    Whether to upload the label information of the host group to the log service. The default is off. true: LogCollector uploads the label information of the host group to the specified field. You can specify the field name in the HostGroupLabelKey parameter. false (default): Host group label information is not uploaded.
    enable_hostname bool
    Upload the hostname field. Default is disabled. true: Add a field to the original log to record the source hostname. Specify the hostname field name using HostnameKey. false: (default) Do not add the hostname field.
    enable_raw_log bool
    Upload raw logs. true: Upload raw logs. false (default): Do not upload raw logs.
    fields Sequence[RuleUserDefineRuleField]
    Add constant fields to logs. Constant fields must follow these restrictions: You can upload up to 5 constant fields. Field names (Key) must be unique and not empty. Length limit: 1–128 characters, including letters, numbers, and special characters (-*./), and cannot start with an underscore. Field values (Value) must not be empty, with a maximum length of 512 KiB. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    host_group_label_key str
    Field name used to store machine group label information
    hostname_key str
    Hostname field name. Required only when EnableHostname is true.
    ignore_older int
    Ignore log files that have not been updated for a specified period (in hours).
    multi_collects_type str
    Allow multiple log file collections. Empty: Use log file ID (including file inode, device, and checksum of the first N bytes) to uniquely identify the log file. RuleID: Use collection rule ID and log file ID to uniquely identify the log file. TopicIDRuleName: Use log topic ID, collection rule name, and log file ID to uniquely identify the log file.
    parse_path_rule RuleUserDefineRuleParsePathRule
    Rule for parsing the collection path. After setting the rule, fields in the collection path are extracted using the specified regular expression and added as metadata to the log data. Note: This parameter is not supported when collecting container standard output.
    plugin RuleUserDefineRulePlugin
    LogCollector plugin configuration. After enabling plugin configuration, you can add one or more LogCollector processor plugins to parse logs with complex or variable structures.
    raw_log_key str
    Name of the raw log field. Only effective when EnableRawLog is set to true. RawLogKey defaults to raw, meaning the original log data will be encapsulated in the raw field and uploaded to the log service along with the parsed log data.
    shard_hash_key RuleUserDefineRuleShardHashKey
    Rules for routing log partitions. If this parameter is not set, logs are written using the default load balancing mode, and packets are written to any available Shard. If this parameter is set, logs are collected using the HashKey routing Shard mode, and the log service writes data to the Shard containing the specified Key value
    tail_files bool
    LogCollector collection policy, which specifies whether LogCollector collects incremental logs or full logs. Default is false, meaning full log collection. true: incremental collection. LogCollector only collects newly added content in the file. When new logs are written to monitored log files, LogCollector triggers log collection. For first-time collection, LogCollector automatically determines the collection position based on the incremental threshold TailSizeKb you specify. If the new file size does not exceed the incremental threshold, collection starts from the beginning of the file. If the new file size exceeds the incremental threshold, collection starts from the position at the end of the file minus the incremental threshold, collecting only incremental logs. For subsequent collections, LogCollector determines the collection position based on Checkpoint and continues collecting. false: (default) full collection. LogCollector collects logs from the beginning of each file, including historical log data.
    tail_size_kb int
    Backtracking threshold for incremental collection, in KiB. When LogCollector uses incremental collection, for the first collection of a log file: If the new log file size does not exceed the TailSizeKb value, collection starts from the beginning of the file. If the new log file size exceeds the TailSizeKb value, collection starts from the position that is TailSizeKb from the end of the file.
    advanced Property Map
    The Advanced parameter is used for extended configuration. After enabling extended configuration, you can customize advanced behaviors of LogCollector, such as when to release file handles. Note: If multiple release conditions are specified, the handle is released and log file monitoring ends as soon as any condition is met.
    enableHostGroupLabel Boolean
    Whether to upload the label information of the host group to the log service. The default is off. true: LogCollector uploads the label information of the host group to the specified field. You can specify the field name in the HostGroupLabelKey parameter. false (default): Host group label information is not uploaded.
    enableHostname Boolean
    Upload the hostname field. Default is disabled. true: Add a field to the original log to record the source hostname. Specify the hostname field name using HostnameKey. false: (default) Do not add the hostname field.
    enableRawLog Boolean
    Upload raw logs. true: Upload raw logs. false (default): Do not upload raw logs.
    fields List<Property Map>
    Add constant fields to logs. Constant fields must follow these restrictions: You can upload up to 5 constant fields. Field names (Key) must be unique and not empty. Length limit: 1–128 characters, including letters, numbers, and special characters (-*./), and cannot start with an underscore. Field values (Value) must not be empty, with a maximum length of 512 KiB. Important Note: When using SetNestedAttribute, you must fully define all attributes of its nested structure. Incomplete definitions may cause Terraform to detect unexpected differences during plan comparison, triggering unnecessary resource updates and affecting resource stability and predictability.
    hostGroupLabelKey String
    Field name used to store machine group label information
    hostnameKey String
    Hostname field name. Required only when EnableHostname is true.
    ignoreOlder Number
    Ignore log files that have not been updated for a specified period (in hours).
    multiCollectsType String
    Allow multiple log file collections. Empty: Use log file ID (including file inode, device, and checksum of the first N bytes) to uniquely identify the log file. RuleID: Use collection rule ID and log file ID to uniquely identify the log file. TopicIDRuleName: Use log topic ID, collection rule name, and log file ID to uniquely identify the log file.
    parsePathRule Property Map
    Rule for parsing the collection path. After setting the rule, fields in the collection path are extracted using the specified regular expression and added as metadata to the log data. Note: This parameter is not supported when collecting container standard output.
    plugin Property Map
    LogCollector plugin configuration. After enabling plugin configuration, you can add one or more LogCollector processor plugins to parse logs with complex or variable structures.
    rawLogKey String
    Name of the raw log field. Only effective when EnableRawLog is set to true. RawLogKey defaults to raw, meaning the original log data will be encapsulated in the raw field and uploaded to the log service along with the parsed log data.
    shardHashKey Property Map
    Rules for routing log partitions. If this parameter is not set, logs are written using the default load balancing mode, and packets are written to any available Shard. If this parameter is set, logs are collected using the HashKey routing Shard mode, and the log service writes data to the Shard containing the specified Key value
    tailFiles Boolean
    LogCollector collection policy, which specifies whether LogCollector collects incremental logs or full logs. Default is false, meaning full log collection. true: incremental collection. LogCollector only collects newly added content in the file. When new logs are written to monitored log files, LogCollector triggers log collection. For first-time collection, LogCollector automatically determines the collection position based on the incremental threshold TailSizeKb you specify. If the new file size does not exceed the incremental threshold, collection starts from the beginning of the file. If the new file size exceeds the incremental threshold, collection starts from the position at the end of the file minus the incremental threshold, collecting only incremental logs. For subsequent collections, LogCollector determines the collection position based on Checkpoint and continues collecting. false: (default) full collection. LogCollector collects logs from the beginning of each file, including historical log data.
    tailSizeKb Number
    Backtracking threshold for incremental collection, in KiB. When LogCollector uses incremental collection, for the first collection of a log file: If the new log file size does not exceed the TailSizeKb value, collection starts from the beginning of the file. If the new log file size exceeds the TailSizeKb value, collection starts from the position that is TailSizeKb from the end of the file.

    RuleUserDefineRuleAdvanced, RuleUserDefineRuleAdvancedArgs

    CloseEof bool
    After reading to the end of the log file, choose whether to release the file handle. Default is false.
    CloseInactive int
    Wait time to release log file handle. If no new logs are written to the log file within the specified time, the handle for that log file is released. Unit: seconds. Range: 1–300 seconds. Default: 60 seconds.
    CloseRemoved bool
    Release the file handle after the log file is removed. Default is false.
    CloseRenamed bool
    Release the file handle after the log file is renamed. Default is false.
    CloseTimeout int
    Maximum monitoring duration for LogCollector log files, in seconds. The default is 0 seconds, meaning LogCollector does not limit the monitoring duration for log files. Timing starts when LogCollector begins monitoring the log file. Once the specified duration is exceeded, LogCollector immediately releases the file handle and stops monitoring, regardless of whether the log file has been fully read.
    NoLineTerminatorEofMaxTime int
    Maximum wait time when LogCollector does not detect a line break, in seconds. The default is 5s. Timing starts when LogCollector begins reading the log file. If no line break is detected within the specified time, LogCollector sends the logs in the buffer. If the file write interval is long, a complete log entry may be split into two parts and written separately. Adjust this parameter based on your log write interval.
    CloseEof bool
    After reading to the end of the log file, choose whether to release the file handle. Default is false.
    CloseInactive int
    Wait time to release log file handle. If no new logs are written to the log file within the specified time, the handle for that log file is released. Unit: seconds. Range: 1–300 seconds. Default: 60 seconds.
    CloseRemoved bool
    Release the file handle after the log file is removed. Default is false.
    CloseRenamed bool
    Release the file handle after the log file is renamed. Default is false.
    CloseTimeout int
    Maximum monitoring duration for LogCollector log files, in seconds. The default is 0 seconds, meaning LogCollector does not limit the monitoring duration for log files. Timing starts when LogCollector begins monitoring the log file. Once the specified duration is exceeded, LogCollector immediately releases the file handle and stops monitoring, regardless of whether the log file has been fully read.
    NoLineTerminatorEofMaxTime int
    Maximum wait time when LogCollector does not detect a line break, in seconds. The default is 5s. Timing starts when LogCollector begins reading the log file. If no line break is detected within the specified time, LogCollector sends the logs in the buffer. If the file write interval is long, a complete log entry may be split into two parts and written separately. Adjust this parameter based on your log write interval.
    close_eof bool
    After reading to the end of the log file, choose whether to release the file handle. Default is false.
    close_inactive number
    Wait time to release log file handle. If no new logs are written to the log file within the specified time, the handle for that log file is released. Unit: seconds. Range: 1–300 seconds. Default: 60 seconds.
    close_removed bool
    Release the file handle after the log file is removed. Default is false.
    close_renamed bool
    Release the file handle after the log file is renamed. Default is false.
    close_timeout number
    Maximum monitoring duration for LogCollector log files, in seconds. The default is 0 seconds, meaning LogCollector does not limit the monitoring duration for log files. Timing starts when LogCollector begins monitoring the log file. Once the specified duration is exceeded, LogCollector immediately releases the file handle and stops monitoring, regardless of whether the log file has been fully read.
    no_line_terminator_eof_max_time number
    Maximum wait time when LogCollector does not detect a line break, in seconds. The default is 5s. Timing starts when LogCollector begins reading the log file. If no line break is detected within the specified time, LogCollector sends the logs in the buffer. If the file write interval is long, a complete log entry may be split into two parts and written separately. Adjust this parameter based on your log write interval.
    closeEof Boolean
    After reading to the end of the log file, choose whether to release the file handle. Default is false.
    closeInactive Integer
    Wait time to release log file handle. If no new logs are written to the log file within the specified time, the handle for that log file is released. Unit: seconds. Range: 1–300 seconds. Default: 60 seconds.
    closeRemoved Boolean
    Release the file handle after the log file is removed. Default is false.
    closeRenamed Boolean
    Release the file handle after the log file is renamed. Default is false.
    closeTimeout Integer
    Maximum monitoring duration for LogCollector log files, in seconds. The default is 0 seconds, meaning LogCollector does not limit the monitoring duration for log files. Timing starts when LogCollector begins monitoring the log file. Once the specified duration is exceeded, LogCollector immediately releases the file handle and stops monitoring, regardless of whether the log file has been fully read.
    noLineTerminatorEofMaxTime Integer
    Maximum wait time when LogCollector does not detect a line break, in seconds. The default is 5s. Timing starts when LogCollector begins reading the log file. If no line break is detected within the specified time, LogCollector sends the logs in the buffer. If the file write interval is long, a complete log entry may be split into two parts and written separately. Adjust this parameter based on your log write interval.
    closeEof boolean
    After reading to the end of the log file, choose whether to release the file handle. Default is false.
    closeInactive number
    Wait time to release log file handle. If no new logs are written to the log file within the specified time, the handle for that log file is released. Unit: seconds. Range: 1–300 seconds. Default: 60 seconds.
    closeRemoved boolean
    Release the file handle after the log file is removed. Default is false.
    closeRenamed boolean
    Release the file handle after the log file is renamed. Default is false.
    closeTimeout number
    Maximum monitoring duration for LogCollector log files, in seconds. The default is 0 seconds, meaning LogCollector does not limit the monitoring duration for log files. Timing starts when LogCollector begins monitoring the log file. Once the specified duration is exceeded, LogCollector immediately releases the file handle and stops monitoring, regardless of whether the log file has been fully read.
    noLineTerminatorEofMaxTime number
    Maximum wait time when LogCollector does not detect a line break, in seconds. The default is 5s. Timing starts when LogCollector begins reading the log file. If no line break is detected within the specified time, LogCollector sends the logs in the buffer. If the file write interval is long, a complete log entry may be split into two parts and written separately. Adjust this parameter based on your log write interval.
    close_eof bool
    After reading to the end of the log file, choose whether to release the file handle. Default is false.
    close_inactive int
    Wait time to release log file handle. If no new logs are written to the log file within the specified time, the handle for that log file is released. Unit: seconds. Range: 1–300 seconds. Default: 60 seconds.
    close_removed bool
    Release the file handle after the log file is removed. Default is false.
    close_renamed bool
    Release the file handle after the log file is renamed. Default is false.
    close_timeout int
    Maximum monitoring duration for LogCollector log files, in seconds. The default is 0 seconds, meaning LogCollector does not limit the monitoring duration for log files. Timing starts when LogCollector begins monitoring the log file. Once the specified duration is exceeded, LogCollector immediately releases the file handle and stops monitoring, regardless of whether the log file has been fully read.
    no_line_terminator_eof_max_time int
    Maximum wait time when LogCollector does not detect a line break, in seconds. The default is 5s. Timing starts when LogCollector begins reading the log file. If no line break is detected within the specified time, LogCollector sends the logs in the buffer. If the file write interval is long, a complete log entry may be split into two parts and written separately. Adjust this parameter based on your log write interval.
    closeEof Boolean
    After reading to the end of the log file, choose whether to release the file handle. Default is false.
    closeInactive Number
    Wait time to release log file handle. If no new logs are written to the log file within the specified time, the handle for that log file is released. Unit: seconds. Range: 1–300 seconds. Default: 60 seconds.
    closeRemoved Boolean
    Release the file handle after the log file is removed. Default is false.
    closeRenamed Boolean
    Release the file handle after the log file is renamed. Default is false.
    closeTimeout Number
    Maximum monitoring duration for LogCollector log files, in seconds. The default is 0 seconds, meaning LogCollector does not limit the monitoring duration for log files. Timing starts when LogCollector begins monitoring the log file. Once the specified duration is exceeded, LogCollector immediately releases the file handle and stops monitoring, regardless of whether the log file has been fully read.
    noLineTerminatorEofMaxTime Number
    Maximum wait time when LogCollector does not detect a line break, in seconds. The default is 5s. Timing starts when LogCollector begins reading the log file. If no line break is detected within the specified time, LogCollector sends the logs in the buffer. If the file write interval is long, a complete log entry may be split into two parts and written separately. Adjust this parameter based on your log write interval.

    RuleUserDefineRuleField, RuleUserDefineRuleFieldArgs

    Key string
    Key.
    Val string
    Value.
    Key string
    Key.
    Val string
    Value.
    key string
    Key.
    val string
    Value.
    key String
    Key.
    val String
    Value.
    key string
    Key.
    val string
    Value.
    key str
    Key.
    val str
    Value.
    key String
    Key.
    val String
    Value.

    RuleUserDefineRuleParsePathRule, RuleUserDefineRuleParsePathRuleArgs

    Keys List<string>
    Field name list. The log service uses a regular expression (Regex) to parse the path sample (PathSample) into multiple fields. Keys specify the name of each field. You can configure up to 100 field names. Field names cannot be empty or duplicated.
    PathSample string
    Sample collection path for actual scenarios. The sample collection path must be an absolute path. Wildcards *, ?, ** are not allowed in the path sample.
    Regex string
    Regular expression used to extract the path field. Must match the sample collection path, otherwise extraction will fail
    Keys []string
    Field name list. The log service uses a regular expression (Regex) to parse the path sample (PathSample) into multiple fields. Keys specify the name of each field. You can configure up to 100 field names. Field names cannot be empty or duplicated.
    PathSample string
    Sample collection path for actual scenarios. The sample collection path must be an absolute path. Wildcards *, ?, ** are not allowed in the path sample.
    Regex string
    Regular expression used to extract the path field. Must match the sample collection path, otherwise extraction will fail
    keys list(string)
    Field name list. The log service uses a regular expression (Regex) to parse the path sample (PathSample) into multiple fields. Keys specify the name of each field. You can configure up to 100 field names. Field names cannot be empty or duplicated.
    path_sample string
    Sample collection path for actual scenarios. The sample collection path must be an absolute path. Wildcards *, ?, ** are not allowed in the path sample.
    regex string
    Regular expression used to extract the path field. Must match the sample collection path, otherwise extraction will fail
    keys List<String>
    Field name list. The log service uses a regular expression (Regex) to parse the path sample (PathSample) into multiple fields. Keys specify the name of each field. You can configure up to 100 field names. Field names cannot be empty or duplicated.
    pathSample String
    Sample collection path for actual scenarios. The sample collection path must be an absolute path. Wildcards *, ?, ** are not allowed in the path sample.
    regex String
    Regular expression used to extract the path field. Must match the sample collection path, otherwise extraction will fail
    keys string[]
    Field name list. The log service uses a regular expression (Regex) to parse the path sample (PathSample) into multiple fields. Keys specify the name of each field. You can configure up to 100 field names. Field names cannot be empty or duplicated.
    pathSample string
    Sample collection path for actual scenarios. The sample collection path must be an absolute path. Wildcards *, ?, ** are not allowed in the path sample.
    regex string
    Regular expression used to extract the path field. Must match the sample collection path, otherwise extraction will fail
    keys Sequence[str]
    Field name list. The log service uses a regular expression (Regex) to parse the path sample (PathSample) into multiple fields. Keys specify the name of each field. You can configure up to 100 field names. Field names cannot be empty or duplicated.
    path_sample str
    Sample collection path for actual scenarios. The sample collection path must be an absolute path. Wildcards *, ?, ** are not allowed in the path sample.
    regex str
    Regular expression used to extract the path field. Must match the sample collection path, otherwise extraction will fail
    keys List<String>
    Field name list. The log service uses a regular expression (Regex) to parse the path sample (PathSample) into multiple fields. Keys specify the name of each field. You can configure up to 100 field names. Field names cannot be empty or duplicated.
    pathSample String
    Sample collection path for actual scenarios. The sample collection path must be an absolute path. Wildcards *, ?, ** are not allowed in the path sample.
    regex String
    Regular expression used to extract the path field. Must match the sample collection path, otherwise extraction will fail

    RuleUserDefineRulePlugin, RuleUserDefineRulePluginArgs

    Processors string
    LogCollector plugin. For the list of supported plugins and parameter descriptions, see LogCollector plugin overview.
    Processors string
    LogCollector plugin. For the list of supported plugins and parameter descriptions, see LogCollector plugin overview.
    processors string
    LogCollector plugin. For the list of supported plugins and parameter descriptions, see LogCollector plugin overview.
    processors String
    LogCollector plugin. For the list of supported plugins and parameter descriptions, see LogCollector plugin overview.
    processors string
    LogCollector plugin. For the list of supported plugins and parameter descriptions, see LogCollector plugin overview.
    processors str
    LogCollector plugin. For the list of supported plugins and parameter descriptions, see LogCollector plugin overview.
    processors String
    LogCollector plugin. For the list of supported plugins and parameter descriptions, see LogCollector plugin overview.

    RuleUserDefineRuleShardHashKey, RuleUserDefineRuleShardHashKeyArgs

    HashKey string
    HashKey of the log group, used to specify the shard to which the current log group will be written. The value range for this parameter is [00000000000000000000000000000000-ffffffffffffffffffffffffffffffff).
    HashKey string
    HashKey of the log group, used to specify the shard to which the current log group will be written. The value range for this parameter is [00000000000000000000000000000000-ffffffffffffffffffffffffffffffff).
    hash_key string
    HashKey of the log group, used to specify the shard to which the current log group will be written. The value range for this parameter is [00000000000000000000000000000000-ffffffffffffffffffffffffffffffff).
    hashKey String
    HashKey of the log group, used to specify the shard to which the current log group will be written. The value range for this parameter is [00000000000000000000000000000000-ffffffffffffffffffffffffffffffff).
    hashKey string
    HashKey of the log group, used to specify the shard to which the current log group will be written. The value range for this parameter is [00000000000000000000000000000000-ffffffffffffffffffffffffffffffff).
    hash_key str
    HashKey of the log group, used to specify the shard to which the current log group will be written. The value range for this parameter is [00000000000000000000000000000000-ffffffffffffffffffffffffffffffff).
    hashKey String
    HashKey of the log group, used to specify the shard to which the current log group will be written. The value range for this parameter is [00000000000000000000000000000000-ffffffffffffffffffffffffffffffff).

    Import

    $ pulumi import volcenginecc:tls/rule:Rule example "rule_id"
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    volcenginecc volcengine/pulumi-volcenginecc
    License
    MPL-2.0
    Notes
    This Pulumi package is based on the volcenginecc Terraform Provider.
    volcenginecc logo
    Viewing docs for volcenginecc v0.0.50
    published on Monday, Jul 20, 2026 by Volcengine

      Try Pulumi Cloud free.
      Your team will thank you.

      Start free trial