published on Monday, Jul 20, 2026 by Volcengine
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)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:
- 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 Volcengine.Rule Container Rule - Container log collection rules.
- Exclude
Paths List<Volcengine.Rule Exclude Path> - 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 Volcengine.Rule Extract Rule - Log extraction rules. Note: This parameter is required if LogType is set to any type other than minimalistlog or jsonlog.
- Host
Group List<Volcengine.Infos Rule Host Group Info> - 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 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 int
- Collection configuration status. 0: Running. 1: Paused.
- User
Define Volcengine.Rule Rule User Define Rule - 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 RuleContainer Rule Args - Container log collection rules.
- Exclude
Paths []RuleExclude Path Args - 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 RuleExtract Rule Args - Log extraction rules. Note: This parameter is required if LogType is set to any type other than minimalistlog or jsonlog.
- Host
Group []RuleInfos Host Group Info Args - 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 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 []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.
- User
Define RuleRule User Define Rule Args - 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_ list(object)infos - 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_ objectrule - 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 RuleContainer Rule - Container log collection rules.
- exclude
Paths List<RuleExclude Path> - 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 RuleExtract Rule - Log extraction rules. Note: This parameter is required if LogType is set to any type other than minimalistlog or jsonlog.
- host
Group List<RuleInfos Host Group Info> - 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 Integer - 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 Integer
- Collection configuration status. 0: Running. 1: Paused.
- user
Define RuleRule User Define Rule - 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 RuleContainer Rule - Container log collection rules.
- exclude
Paths RuleExclude Path[] - 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 RuleExtract Rule - Log extraction rules. Note: This parameter is required if LogType is set to any type other than minimalistlog or jsonlog.
- host
Group RuleInfos Host Group Info[] - 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 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 RuleRule User Define Rule - 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 RuleContainer Rule Args - Container log collection rules.
- exclude_
paths Sequence[RuleExclude Path Args] - 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 RuleExtract Rule Args - Log extraction rules. Note: This parameter is required if LogType is set to any type other than minimalistlog or jsonlog.
- host_
group_ Sequence[Ruleinfos Host Group Info Args] - 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_ Rulerule User Define Rule Args - 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 Property Map - Container log collection rules.
- exclude
Paths 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.
- extract
Rule Property Map - Log extraction rules. Note: This parameter is required if LogType is set to any type other than minimalistlog or jsonlog.
- host
Group List<Property Map>Infos - 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 Property MapRule - User-defined collection rules.
Outputs
All input properties are implicitly available as output properties. Additionally, the Rule resource produces the following output properties:
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
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) -> Rulefunc 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.
- Container
Rule Volcengine.Rule Container Rule - Container log collection rules.
- Create
Time string - Time when the collection configuration was created.
- Exclude
Paths List<Volcengine.Rule Exclude Path> - 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 Volcengine.Rule Extract Rule - Log extraction rules. Note: This parameter is required if LogType is set to any type other than minimalistlog or jsonlog.
- Host
Group List<Volcengine.Infos Rule Host Group Info> - 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 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 int
- 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 Volcengine.Rule Rule User Define Rule - User-defined collection rules.
- Container
Rule RuleContainer Rule Args - Container log collection rules.
- Create
Time string - Time when the collection configuration was created.
- Exclude
Paths []RuleExclude Path Args - 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 RuleExtract Rule Args - Log extraction rules. Note: This parameter is required if LogType is set to any type other than minimalistlog or jsonlog.
- Host
Group []RuleInfos Host Group Info Args - 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 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 []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.
- 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 RuleRule User Define Rule Args - 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_ list(object)infos - 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_ objectrule - User-defined collection rules.
- container
Rule RuleContainer Rule - Container log collection rules.
- create
Time String - Time when the collection configuration was created.
- exclude
Paths List<RuleExclude Path> - 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 RuleExtract Rule - Log extraction rules. Note: This parameter is required if LogType is set to any type other than minimalistlog or jsonlog.
- host
Group List<RuleInfos Host Group Info> - 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 Integer - 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 Integer
- 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 RuleRule User Define Rule - User-defined collection rules.
- container
Rule RuleContainer Rule - Container log collection rules.
- create
Time string - Time when the collection configuration was created.
- exclude
Paths RuleExclude Path[] - 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 RuleExtract Rule - Log extraction rules. Note: This parameter is required if LogType is set to any type other than minimalistlog or jsonlog.
- host
Group RuleInfos Host Group Info[] - 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 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 RuleRule User Define Rule - User-defined collection rules.
- container_
rule RuleContainer Rule Args - Container log collection rules.
- create_
time str - Time when the collection configuration was created.
- exclude_
paths Sequence[RuleExclude Path Args] - 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 RuleExtract Rule Args - Log extraction rules. Note: This parameter is required if LogType is set to any type other than minimalistlog or jsonlog.
- host_
group_ Sequence[Ruleinfos Host Group Info Args] - 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_ Rulerule User Define Rule Args - User-defined collection rules.
- container
Rule Property Map - Container log collection rules.
- create
Time String - Time when the collection configuration was created.
- exclude
Paths 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.
- extract
Rule Property Map - Log extraction rules. Note: This parameter is required if LogType is set to any type other than minimalistlog or jsonlog.
- host
Group List<Property Map>Infos - 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 Property MapRule - User-defined collection rules.
Supporting Types
RuleContainerRule, RuleContainerRuleArgs
- Container
Name stringRegex - 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.
-
List<Volcengine.
Rule Container Rule Env Tag> - 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 List<Volcengine.Env Regexes Rule Container Rule Exclude Container Env Regex> - 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 List<Volcengine.Label Regexes Rule Container Rule Exclude Container Label Regex> - 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 List<Volcengine.Env Regexes Rule Container Rule Include Container Env Regex> - 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 List<Volcengine.Label Regexes Rule Container Rule Include Container Label Regex> - 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 Volcengine.Rule Container Rule Kubernetes Rule - 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 stringRegex - 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.
-
[]Rule
Container Rule Env Tag - 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 []RuleEnv Regexes Container Rule Exclude Container Env Regex - 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 []RuleLabel Regexes Container Rule Exclude Container Label Regex - 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 []RuleEnv Regexes Container Rule Include Container Env Regex - 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 []RuleLabel Regexes Container Rule Include Container Label Regex - 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 RuleContainer Rule Kubernetes Rule - 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_ stringregex - 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.
- 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_ list(object)env_ regexes - 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_ list(object)label_ regexes - 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_ list(object)env_ regexes - 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_ list(object)label_ regexes - 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).
- container
Name StringRegex - 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.
-
List<Rule
Container Rule Env Tag> - 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 List<RuleEnv Regexes Container Rule Exclude Container Env Regex> - 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 List<RuleLabel Regexes Container Rule Exclude Container Label Regex> - 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 List<RuleEnv Regexes Container Rule Include Container Env Regex> - 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 List<RuleLabel Regexes Container Rule Include Container Label Regex> - 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 RuleContainer Rule Kubernetes Rule - 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 stringRegex - 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.
-
Rule
Container Rule Env Tag[] - 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 RuleEnv Regexes Container Rule Exclude Container Env Regex[] - 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 RuleLabel Regexes Container Rule Exclude Container Label Regex[] - 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 RuleEnv Regexes Container Rule Include Container Env Regex[] - 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 RuleLabel Regexes Container Rule Include Container Label Regex[] - 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 RuleContainer Rule Kubernetes Rule - 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_ strregex - 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.
-
Sequence[Rule
Container Rule Env Tag] - 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_ Sequence[Ruleenv_ regexes Container Rule Exclude Container Env Regex] - 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_ Sequence[Rulelabel_ regexes Container Rule Exclude Container Label Regex] - 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_ Sequence[Ruleenv_ regexes Container Rule Include Container Env Regex] - 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_ Sequence[Rulelabel_ regexes Container Rule Include Container Label Regex] - 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 RuleContainer Rule Kubernetes Rule - 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).
- container
Name StringRegex - 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.
- 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.
- exclude
Container List<Property Map>Env Regexes - 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 List<Property Map>Label Regexes - 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 List<Property Map>Env Regexes - 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 List<Property Map>Label Regexes - 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 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
RuleContainerRuleExcludeContainerEnvRegex, RuleContainerRuleExcludeContainerEnvRegexArgs
RuleContainerRuleExcludeContainerLabelRegex, RuleContainerRuleExcludeContainerLabelRegexArgs
RuleContainerRuleIncludeContainerEnvRegex, RuleContainerRuleIncludeContainerEnvRegexArgs
RuleContainerRuleIncludeContainerLabelRegex, RuleContainerRuleIncludeContainerLabelRegexArgs
RuleContainerRuleKubernetesRule, RuleContainerRuleKubernetesRuleArgs
-
List<Volcengine.
Rule Container Rule Kubernetes Rule Annotation Tag> - 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 boolLabel Tag - 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 List<Volcengine.Annotation Regexes Rule Container Rule Kubernetes Rule Exclude Pod Annotation Regex> - 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 List<Volcengine.Label Regexes Rule Container Rule Kubernetes Rule Exclude Pod Label Regex> - 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 List<Volcengine.Annotation Regexes Rule Container Rule Kubernetes Rule Include Pod Annotation Regex> - 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 List<Volcengine.Label Regexes Rule Container Rule Kubernetes Rule Include Pod Label Regex> - 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.
-
List<Volcengine.
Rule Container Rule Kubernetes Rule Label Tag> - 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 stringRegex - 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 stringRegex - 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 stringRegex - 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
-
[]Rule
Container Rule Kubernetes Rule Annotation Tag - 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 boolLabel Tag - 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 []RuleAnnotation Regexes Container Rule Kubernetes Rule Exclude Pod Annotation Regex - 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 []RuleLabel Regexes Container Rule Kubernetes Rule Exclude Pod Label Regex - 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 []RuleAnnotation Regexes Container Rule Kubernetes Rule Include Pod Annotation Regex - 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 []RuleLabel Regexes Container Rule Kubernetes Rule Include Pod Label Regex - 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.
-
[]Rule
Container Rule Kubernetes Rule Label Tag - 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 stringRegex - 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 stringRegex - 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 stringRegex - 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
- 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_ boollabel_ tag - 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_ list(object)annotation_ regexes - 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_ list(object)label_ regexes - 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_ list(object)annotation_ regexes - 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_ list(object)label_ regexes - 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.
- 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_ stringregex - 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_ stringregex - 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_ stringregex - 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
-
List<Rule
Container Rule Kubernetes Rule Annotation Tag> - 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 BooleanLabel Tag - 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 List<RuleAnnotation Regexes Container Rule Kubernetes Rule Exclude Pod Annotation Regex> - 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 List<RuleLabel Regexes Container Rule Kubernetes Rule Exclude Pod Label Regex> - 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 List<RuleAnnotation Regexes Container Rule Kubernetes Rule Include Pod Annotation Regex> - 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 List<RuleLabel Regexes Container Rule Kubernetes Rule Include Pod Label Regex> - 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.
-
List<Rule
Container Rule Kubernetes Rule Label Tag> - 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 StringRegex - 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 StringRegex - 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 StringRegex - 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
-
Rule
Container Rule Kubernetes Rule Annotation Tag[] - 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 booleanLabel Tag - 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 RuleAnnotation Regexes Container Rule Kubernetes Rule Exclude Pod Annotation Regex[] - 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 RuleLabel Regexes Container Rule Kubernetes Rule Exclude Pod Label Regex[] - 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 RuleAnnotation Regexes Container Rule Kubernetes Rule Include Pod Annotation Regex[] - 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 RuleLabel Regexes Container Rule Kubernetes Rule Include Pod Label Regex[] - 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.
-
Rule
Container Rule Kubernetes Rule Label Tag[] - 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 stringRegex - 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 stringRegex - 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 stringRegex - 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
-
Sequence[Rule
Container Rule Kubernetes Rule Annotation Tag] - 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_ boollabel_ tag - 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_ Sequence[Ruleannotation_ regexes Container Rule Kubernetes Rule Exclude Pod Annotation Regex] - 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_ Sequence[Rulelabel_ regexes Container Rule Kubernetes Rule Exclude Pod Label Regex] - 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_ Sequence[Ruleannotation_ regexes Container Rule Kubernetes Rule Include Pod Annotation Regex] - 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_ Sequence[Rulelabel_ regexes Container Rule Kubernetes Rule Include Pod Label Regex] - 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.
-
Sequence[Rule
Container Rule Kubernetes Rule Label Tag] - 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_ strregex - 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_ strregex - 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_ strregex - 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
- 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.
- enable
All BooleanLabel Tag - 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 List<Property Map>Annotation Regexes - 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 List<Property Map>Label Regexes - 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 List<Property Map>Annotation Regexes - 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 List<Property Map>Label Regexes - 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.
- 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.
- namespace
Name StringRegex - 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 StringRegex - 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 StringRegex - 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
RuleContainerRuleKubernetesRuleAnnotationTag, RuleContainerRuleKubernetesRuleAnnotationTagArgs
RuleContainerRuleKubernetesRuleExcludePodAnnotationRegex, RuleContainerRuleKubernetesRuleExcludePodAnnotationRegexArgs
RuleContainerRuleKubernetesRuleExcludePodLabelRegex, RuleContainerRuleKubernetesRuleExcludePodLabelRegexArgs
RuleContainerRuleKubernetesRuleIncludePodAnnotationRegex, RuleContainerRuleKubernetesRuleIncludePodAnnotationRegexArgs
RuleContainerRuleKubernetesRuleIncludePodLabelRegex, RuleContainerRuleKubernetesRuleIncludePodLabelRegexArgs
RuleContainerRuleKubernetesRuleLabelTag, RuleContainerRuleKubernetesRuleLabelTagArgs
RuleExcludePath, RuleExcludePathArgs
RuleExtractRule, RuleExtractRuleArgs
- 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 List<Volcengine.Regexes Rule Extract Rule Filter Key Regex> - 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 Volcengine.Rule Extract Rule Log Template - 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 stringRegex - 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 stringLog Key - Key name for unmatched logs.
- Un
Match boolUp Load Switch - 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 []RuleRegexes Extract Rule Filter Key Regex - 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.
- 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 RuleExtract Rule Log Template - 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 stringRegex - 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 stringLog Key - Key name for unmatched logs.
- Un
Match boolUp Load Switch - 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_ list(object)regexes - 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_ stringregex - 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_ stringlog_ key - Key name for unmatched logs.
- un_
match_ boolup_ load_ switch - 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 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.
- filter
Key List<RuleRegexes Extract Rule Filter Key Regex> - 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 RuleExtract Rule Log Template - 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 StringRegex - 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 StringLog Key - Key name for unmatched logs.
- un
Match BooleanUp Load Switch - 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 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.
- filter
Key RuleRegexes Extract Rule Filter Key Regex[] - 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.
- 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 RuleExtract Rule Log Template - 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 stringRegex - 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 stringLog Key - Key name for unmatched logs.
- un
Match booleanUp Load Switch - 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_ Sequence[Ruleregexes Extract Rule Filter Key Regex] - 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 RuleExtract Rule Log Template - 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_ strregex - 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_ strlog_ key - Key name for unmatched logs.
- un_
match_ boolup_ load_ switch - 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 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.
- filter
Key List<Property Map>Regexes - 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 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.
- time
Extract StringRegex - 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 StringLog Key - Key name for unmatched logs.
- un
Match BooleanUp Load Switch - Switch for uploading unmatched logs.
RuleExtractRuleFilterKeyRegex, RuleExtractRuleFilterKeyRegexArgs
RuleExtractRuleLogTemplate, RuleExtractRuleLogTemplateArgs
RuleHostGroupInfo, RuleHostGroupInfoArgs
- Host
Group stringId - Machine group ID
- Host
Group stringId - Machine group ID
- host_
group_ stringid - Machine group ID
- host
Group StringId - Machine group ID
- host
Group stringId - Machine group ID
- host_
group_ strid - Machine group ID
- host
Group StringId - Machine group ID
RuleUserDefineRule, RuleUserDefineRuleArgs
- Advanced
Volcengine.
Rule User Define Rule Advanced - 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 boolGroup Label - 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 boolLog - Upload raw logs. true: Upload raw logs. false (default): Do not upload raw logs.
- Fields
List<Volcengine.
Rule User Define Rule Field> - 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 stringLabel Key - Field name used to store machine group label information
- Hostname
Key string - 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 stringType - 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 Volcengine.Rule Rule User Define Rule Parse Path Rule - 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.
Rule User Define Rule Plugin - 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 stringKey - 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.
-
Volcengine.
Rule User Define Rule Shard Hash Key - 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 intKb - 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
Rule
User Define Rule Advanced - 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 boolGroup Label - 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 boolLog - Upload raw logs. true: Upload raw logs. false (default): Do not upload raw logs.
- Fields
[]Rule
User Define Rule Field - 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 stringLabel Key - Field name used to store machine group label information
- Hostname
Key string - 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 stringType - 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 RuleRule User Define Rule Parse Path Rule - 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
Rule
User Define Rule Plugin - 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 stringKey - 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.
-
Rule
User Define Rule Shard Hash Key - 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 intKb - 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_ boolgroup_ label - 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_ boollog - 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_ stringlabel_ key - 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_ stringtype - 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_ objectrule - 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_ stringkey - 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.
- 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_ numberkb - 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
Rule
User Define Rule Advanced - 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 BooleanGroup Label - 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 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.
- enable
Raw BooleanLog - Upload raw logs. true: Upload raw logs. false (default): Do not upload raw logs.
- fields
List<Rule
User Define Rule Field> - 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 StringLabel Key - Field name used to store machine group label information
- hostname
Key String - Hostname field name. Required only when EnableHostname is true.
- ignore
Older Integer - Ignore log files that have not been updated for a specified period (in hours).
- multi
Collects StringType - 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 RuleRule User Define Rule Parse Path Rule - 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
Rule
User Define Rule Plugin - 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 StringKey - 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.
-
Rule
User Define Rule Shard Hash Key - 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 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.
- tail
Size IntegerKb - 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
Rule
User Define Rule Advanced - 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 booleanGroup Label - 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 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.
- enable
Raw booleanLog - Upload raw logs. true: Upload raw logs. false (default): Do not upload raw logs.
- fields
Rule
User Define Rule Field[] - 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 stringLabel Key - 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 stringType - 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 RuleRule User Define Rule Parse Path Rule - 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
Rule
User Define Rule Plugin - 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 stringKey - 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.
-
Rule
User Define Rule Shard Hash Key - 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 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.
- tail
Size numberKb - 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
Rule
User Define Rule Advanced - 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_ boolgroup_ label - 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_ boollog - Upload raw logs. true: Upload raw logs. false (default): Do not upload raw logs.
- fields
Sequence[Rule
User Define Rule Field] - 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_ strlabel_ key - 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_ strtype - 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_ Rulerule User Define Rule Parse Path Rule - 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
Rule
User Define Rule Plugin - 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_ strkey - 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.
-
Rule
User Define Rule Shard Hash Key - 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_ intkb - 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.
- enable
Host BooleanGroup Label - 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 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.
- enable
Raw BooleanLog - 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.
- host
Group StringLabel Key - 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 StringType - 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 Property MapRule - 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.
- raw
Log StringKey - 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.
- 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
- tail
Files 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.
- tail
Size NumberKb - 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
- 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 intTerminator Eof Max Time - 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 intTerminator Eof Max Time - 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_ numberterminator_ eof_ max_ time - 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 Boolean - After reading to the end of the log file, choose whether to release the file handle. Default is false.
- close
Inactive 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.
- close
Removed Boolean - Release the file handle after the log file is removed. Default is false.
- close
Renamed Boolean - Release the file handle after the log file is renamed. Default is false.
- close
Timeout 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.
- no
Line IntegerTerminator Eof Max Time - 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 boolean - 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 boolean - Release the file handle after the log file is removed. Default is false.
- close
Renamed boolean - 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 numberTerminator Eof Max Time - 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_ intterminator_ eof_ max_ time - 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 Boolean - 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 Boolean - Release the file handle after the log file is removed. Default is false.
- close
Renamed Boolean - 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 NumberTerminator Eof Max Time - 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
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.
- 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 []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.
- 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.
- 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 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 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.
- 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
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
- 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).
- 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).
- 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).
- 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).
- 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).
- 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).
- 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).
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
volcengineccTerraform Provider.
published on Monday, Jul 20, 2026 by Volcengine