@byteplus/pulumi-bytepluscc 0.0.35 → 0.0.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/cloudmonitor/eventRule.d.ts +226 -0
  2. package/cloudmonitor/eventRule.js +126 -0
  3. package/cloudmonitor/eventRule.js.map +1 -0
  4. package/cloudmonitor/getEventRule.d.ts +65 -0
  5. package/cloudmonitor/getEventRule.js +28 -0
  6. package/cloudmonitor/getEventRule.js.map +1 -0
  7. package/cloudmonitor/getEventRules.d.ts +22 -0
  8. package/cloudmonitor/getEventRules.js +24 -0
  9. package/cloudmonitor/getEventRules.js.map +1 -0
  10. package/cloudmonitor/index.d.ts +9 -0
  11. package/cloudmonitor/index.js +12 -1
  12. package/cloudmonitor/index.js.map +1 -1
  13. package/cr/getVpcEndpoint.d.ts +45 -0
  14. package/cr/getVpcEndpoint.js +28 -0
  15. package/cr/getVpcEndpoint.js.map +1 -0
  16. package/cr/getVpcEndpoints.d.ts +22 -0
  17. package/cr/getVpcEndpoints.js +24 -0
  18. package/cr/getVpcEndpoints.js.map +1 -0
  19. package/cr/index.d.ts +9 -0
  20. package/cr/index.js +12 -1
  21. package/cr/index.js.map +1 -1
  22. package/cr/vpcEndpoint.d.ts +62 -0
  23. package/cr/vpcEndpoint.js +66 -0
  24. package/cr/vpcEndpoint.js.map +1 -0
  25. package/dns/backupSchedule.d.ts +89 -0
  26. package/dns/backupSchedule.js +80 -0
  27. package/dns/backupSchedule.js.map +1 -0
  28. package/dns/getBackupSchedule.d.ts +48 -0
  29. package/dns/getBackupSchedule.js +28 -0
  30. package/dns/getBackupSchedule.js.map +1 -0
  31. package/dns/getBackupSchedules.d.ts +22 -0
  32. package/dns/getBackupSchedules.js +24 -0
  33. package/dns/getBackupSchedules.js.map +1 -0
  34. package/dns/index.d.ts +9 -0
  35. package/dns/index.js +12 -1
  36. package/dns/index.js.map +1 -1
  37. package/gtm/getPolicies.d.ts +22 -0
  38. package/gtm/getPolicies.js +24 -0
  39. package/gtm/getPolicies.js.map +1 -0
  40. package/gtm/getPolicy.d.ts +65 -0
  41. package/gtm/getPolicy.js +28 -0
  42. package/gtm/getPolicy.js.map +1 -0
  43. package/gtm/index.d.ts +9 -0
  44. package/gtm/index.js +12 -1
  45. package/gtm/index.js.map +1 -1
  46. package/gtm/policy.d.ts +114 -0
  47. package/gtm/policy.js +76 -0
  48. package/gtm/policy.js.map +1 -0
  49. package/kafka/getGroup.d.ts +65 -0
  50. package/kafka/getGroup.js +28 -0
  51. package/kafka/getGroup.js.map +1 -0
  52. package/kafka/getGroups.d.ts +22 -0
  53. package/kafka/getGroups.js +24 -0
  54. package/kafka/getGroups.js.map +1 -0
  55. package/kafka/group.d.ts +127 -0
  56. package/kafka/group.js +93 -0
  57. package/kafka/group.js.map +1 -0
  58. package/kafka/index.d.ts +9 -0
  59. package/kafka/index.js +12 -1
  60. package/kafka/index.js.map +1 -1
  61. package/package.json +1 -1
  62. package/rdsmysql/allowList.d.ts +1 -0
  63. package/rdsmysql/allowList.js +1 -1
  64. package/rdsmysql/allowList.js.map +1 -1
  65. package/tls/etl.d.ts +222 -0
  66. package/tls/etl.js +113 -0
  67. package/tls/etl.js.map +1 -0
  68. package/tls/getEtl.d.ts +109 -0
  69. package/tls/getEtl.js +28 -0
  70. package/tls/getEtl.js.map +1 -0
  71. package/tls/getEtls.d.ts +22 -0
  72. package/tls/getEtls.js +24 -0
  73. package/tls/getEtls.js.map +1 -0
  74. package/tls/getHost.d.ts +52 -0
  75. package/tls/getHost.js +28 -0
  76. package/tls/getHost.js.map +1 -0
  77. package/tls/getHostGroup.d.ts +113 -0
  78. package/tls/getHostGroup.js +28 -0
  79. package/tls/getHostGroup.js.map +1 -0
  80. package/tls/getHostGroups.d.ts +22 -0
  81. package/tls/getHostGroups.js +24 -0
  82. package/tls/getHostGroups.js.map +1 -0
  83. package/tls/getHosts.d.ts +22 -0
  84. package/tls/getHosts.js +24 -0
  85. package/tls/getHosts.js.map +1 -0
  86. package/tls/host.d.ts +97 -0
  87. package/tls/host.js +82 -0
  88. package/tls/host.js.map +1 -0
  89. package/tls/hostGroup.d.ts +254 -0
  90. package/tls/hostGroup.js +121 -0
  91. package/tls/hostGroup.js.map +1 -0
  92. package/tls/index.d.ts +27 -0
  93. package/tls/index.js +35 -1
  94. package/tls/index.js.map +1 -1
  95. package/types/input.d.ts +484 -20
  96. package/types/output.d.ts +1571 -553
package/types/output.d.ts CHANGED
@@ -9592,6 +9592,36 @@ export declare namespace cr {
9592
9592
  */
9593
9593
  value: string;
9594
9594
  }
9595
+ interface GetVpcEndpointVpc {
9596
+ /**
9597
+ * Primary account ID for the VPC
9598
+ */
9599
+ accountId: number;
9600
+ /**
9601
+ * Creation time
9602
+ */
9603
+ createTime: string;
9604
+ /**
9605
+ * IP address of the image repository within the VPC
9606
+ */
9607
+ ip: string;
9608
+ /**
9609
+ * VPC region
9610
+ */
9611
+ region: string;
9612
+ /**
9613
+ * Access endpoint status: Enabling: in progress. Enabled: enabled. Disabling: in progress. Failed: failed.
9614
+ */
9615
+ status: string;
9616
+ /**
9617
+ * Subnet ID
9618
+ */
9619
+ subnetId: string;
9620
+ /**
9621
+ * VPC ID。
9622
+ */
9623
+ vpcId: string;
9624
+ }
9595
9625
  interface RegistryEndpoint {
9596
9626
  aclPolicies: outputs.cr.RegistryEndpointAclPolicy[];
9597
9627
  /**
@@ -9639,6 +9669,20 @@ export declare namespace cr {
9639
9669
  */
9640
9670
  value: string;
9641
9671
  }
9672
+ interface VpcEndpointVpc {
9673
+ /**
9674
+ * Primary account ID for the VPC
9675
+ */
9676
+ accountId: number;
9677
+ /**
9678
+ * Subnet ID
9679
+ */
9680
+ subnetId: string;
9681
+ /**
9682
+ * VPC ID。
9683
+ */
9684
+ vpcId: string;
9685
+ }
9642
9686
  }
9643
9687
  export declare namespace directconnect {
9644
9688
  interface DirectConnectGatewayAssociateCen {
@@ -13714,6 +13758,22 @@ export declare namespace fwcenter {
13714
13758
  }
13715
13759
  }
13716
13760
  export declare namespace gtm {
13761
+ interface GetPolicyStatistics {
13762
+ /**
13763
+ * Number of available addresses
13764
+ */
13765
+ activeAddr: number;
13766
+ /**
13767
+ * Number of unavailable addresses
13768
+ */
13769
+ inactiveAddr: number;
13770
+ }
13771
+ interface GetPolicyTarget {
13772
+ /**
13773
+ * Address pool ID.
13774
+ */
13775
+ poolId: string;
13776
+ }
13717
13777
  interface GetPoolAddress {
13718
13778
  /**
13719
13779
  * Address capacity
@@ -13890,6 +13950,22 @@ export declare namespace gtm {
13890
13950
  */
13891
13951
  operator: string;
13892
13952
  }
13953
+ interface PolicyStatistics {
13954
+ /**
13955
+ * Number of available addresses
13956
+ */
13957
+ activeAddr: number;
13958
+ /**
13959
+ * Number of unavailable addresses
13960
+ */
13961
+ inactiveAddr: number;
13962
+ }
13963
+ interface PolicyTarget {
13964
+ /**
13965
+ * Address pool ID.
13966
+ */
13967
+ poolId: string;
13968
+ }
13893
13969
  interface PoolAddress {
13894
13970
  /**
13895
13971
  * Address capacity
@@ -15158,6 +15234,16 @@ export declare namespace kafka {
15158
15234
  */
15159
15235
  instanceName: string;
15160
15236
  }
15237
+ interface GetGroupTag {
15238
+ /**
15239
+ * Tag key
15240
+ */
15241
+ key: string;
15242
+ /**
15243
+ * Tag value
15244
+ */
15245
+ value: string;
15246
+ }
15161
15247
  interface GetInstanceChargeInfo {
15162
15248
  /**
15163
15249
  * Whether to automatically renew the subscription instance after expiration. true - auto renewal; false (default) - no auto renewal, instance will be stopped upon expiration.
@@ -15244,6 +15330,16 @@ export declare namespace kafka {
15244
15330
  */
15245
15331
  value: string;
15246
15332
  }
15333
+ interface GroupTag {
15334
+ /**
15335
+ * Tag key
15336
+ */
15337
+ key: string;
15338
+ /**
15339
+ * Tag value
15340
+ */
15341
+ value: string;
15342
+ }
15247
15343
  interface InstanceChargeInfo {
15248
15344
  /**
15249
15345
  * Whether to automatically renew the subscription instance after expiration. true - auto renewal; false (default) - no auto renewal, instance will be stopped upon expiration.
@@ -17747,32 +17843,12 @@ export declare namespace rdsmysql {
17747
17843
  * Instance ID bound to the current allowlist.
17748
17844
  */
17749
17845
  instanceId: string;
17750
- /**
17751
- * Instance name bound to the current allowlist.
17752
- */
17753
- instanceName: string;
17754
- /**
17755
- * Instance status.
17756
- */
17757
- instanceStatus: string;
17758
- /**
17759
- * Has the latest allowlist been synchronized? Values: true: Yes. false: No. Note: When modifying the allowlist, if the instance is not running, changes to the allowlist will not be immediately synchronized to the instance.
17760
- */
17761
- isLatest: boolean;
17762
- /**
17763
- * Private network ID of the instance.
17764
- */
17765
- vpc: string;
17766
17846
  }
17767
17847
  interface AllowListSecurityGroupBindInfo {
17768
17848
  /**
17769
17849
  * Mode for associating security groups. Values: IngressDirectionIp: Inbound IP. AssociateEcsIp: Associate ECS IP. Note: In the CreateAllowList API, the BindMode and SecurityGroupId fields of SecurityGroupBindInfoObject are required.
17770
17850
  */
17771
17851
  bindMode: string;
17772
- /**
17773
- * Security group IP address list.
17774
- */
17775
- ipLists: string[];
17776
17852
  /**
17777
17853
  * Security group ID.
17778
17854
  */
@@ -20727,6 +20803,24 @@ export declare namespace tls {
20727
20803
  */
20728
20804
  severity: string;
20729
20805
  }
20806
+ interface EtlTargetResource {
20807
+ /**
20808
+ * Name of the custom output target. You must use this name to refer to the output target in the data processing rules
20809
+ */
20810
+ alias: string;
20811
+ /**
20812
+ * Region of the log topic for storing processed logs
20813
+ */
20814
+ region: string;
20815
+ /**
20816
+ * Cross-account authorization role name
20817
+ */
20818
+ roleTrn: string;
20819
+ /**
20820
+ * Log topic ID for storing processed logs
20821
+ */
20822
+ topicId: string;
20823
+ }
20730
20824
  interface GetAlarmAlarmNotifyGroup {
20731
20825
  /**
20732
20826
  * Alert notification group ID.
@@ -21191,471 +21285,1611 @@ export declare namespace tls {
21191
21285
  */
21192
21286
  severity: string;
21193
21287
  }
21194
- interface GetImportTaskImportSourceInfo {
21288
+ interface GetEtlTargetResource {
21195
21289
  /**
21196
- * Kafka data source information. When sourceType is kafka, the KafkaSourceInfo field is required
21290
+ * Name of the custom output target. You must use this name to refer to the output target in the data processing rules
21197
21291
  */
21198
- kafkaSourceInfo: outputs.tls.GetImportTaskImportSourceInfoKafkaSourceInfo;
21292
+ alias: string;
21199
21293
  /**
21200
- * TOS data source information. When sourceType is tos, the TosSourceInfo field is required.
21294
+ * Log project ID for storing processed logs
21201
21295
  */
21202
- tosSourceInfo: outputs.tls.GetImportTaskImportSourceInfoTosSourceInfo;
21203
- }
21204
- interface GetImportTaskImportSourceInfoKafkaSourceInfo {
21296
+ projectId: string;
21205
21297
  /**
21206
- * Data encoding format. Available options: UTF-8, GBK.
21298
+ * Log project name for storing processed logs
21207
21299
  */
21208
- encode: string;
21300
+ projectName: string;
21209
21301
  /**
21210
- * Kafka consumer group. If not specified, the system will automatically create a Kafka consumer group.
21302
+ * Region of the log topic for storing processed logs
21211
21303
  */
21212
- group: string;
21304
+ region: string;
21213
21305
  /**
21214
- * The service addresses for different types of Kafka clusters vary. Details are as follows: Message Queue Kafka Edition: Use the access point of the Kafka instance. For more information, see Access Point. If the Kafka instance and the Log Service Project are in the same region, you can use private network access; otherwise, use public network access. Self-hosted Kafka clusters: Use the IP address and port number or the domain name and port number of the Kafka Broker. Only public network access is supported. Separate multiple service addresses with a comma (,).
21306
+ * Cross-account authorization role name
21215
21307
  */
21216
- host: string;
21308
+ roleTrn: string;
21217
21309
  /**
21218
- * Starting position for data import. Options: 0: Earliest time, start importing from the first record in the specified Kafka Topic. 1: Latest time, start importing from the most recently generated record in the specified Kafka Topic.
21310
+ * Log topic ID for storing processed logs
21219
21311
  */
21220
- initialOffset: number;
21312
+ topicId: string;
21221
21313
  /**
21222
- * If you are using Message Queue Kafka Edition, set this to the Kafka instance ID.
21314
+ * Log topic name for storing processed logs
21223
21315
  */
21224
- instanceId: string;
21316
+ topicName: string;
21317
+ }
21318
+ interface GetHostGroupRule {
21225
21319
  /**
21226
- * Whether to enable authentication. If you use a public service address, it is recommended to enable authentication.
21320
+ * Container collection rules
21227
21321
  */
21228
- isNeedAuth: boolean;
21322
+ containerRule: outputs.tls.GetHostGroupRuleContainerRule;
21229
21323
  /**
21230
- * Password authentication mechanism. Available options: PLAIN, SCRAM-SHA-256, and SCRAM-SHA-512.
21324
+ * Time when the collection configuration was created.
21231
21325
  */
21232
- mechanism: string;
21326
+ createTime: string;
21233
21327
  /**
21234
- * Kafka SASL user password for authentication.
21328
+ * Extraction rule list.
21235
21329
  */
21236
- password: string;
21330
+ excludePaths: outputs.tls.GetHostGroupRuleExcludePath[];
21237
21331
  /**
21238
- * Secure transmission protocol. Options include plaintext, sasl*ssl, ssl, and sasl*plaintext
21332
+ * Extraction rules
21239
21333
  */
21240
- protocol: string;
21334
+ extractRule: outputs.tls.GetHostGroupRuleExtractRule;
21241
21335
  /**
21242
- * Specify log time. Options: 0: Use Kafka message timestamp. 1: Use current system time.
21336
+ * Collection type. 0: Host log file. 1: K8s container standard output. 2: Log file inside K8s container.
21243
21337
  */
21244
- timeSourceDefault: number;
21338
+ inputType: number;
21245
21339
  /**
21246
- * Kafka Topic name. Separate multiple Kafka Topics with commas (,).
21340
+ * Log sample.
21247
21341
  */
21248
- topic: string;
21342
+ logSample: string;
21249
21343
  /**
21250
- * Kafka SASL username for authentication.
21344
+ * Collection modes. minimalist*log: single-line full mode. json*log: JSON mode. delimiter*log: delimiter mode. multiline*log: multi-line full mode. fullregex_log: full regex mode.
21251
21345
  */
21252
- username: string;
21253
- }
21254
- interface GetImportTaskImportSourceInfoTosSourceInfo {
21346
+ logType: string;
21255
21347
  /**
21256
- * TOS bucket name
21348
+ * Time when the collection configuration was modified.
21257
21349
  */
21258
- bucket: string;
21350
+ modifyTime: string;
21259
21351
  /**
21260
- * Compression mode for data in the TOS bucket. none: No compression. snappy: Compress using snappy. gzip: Compress using gzip. lz4: Compress using lz4.
21352
+ * Data collection path list
21261
21353
  */
21262
- compressType: string;
21354
+ paths: string[];
21263
21355
  /**
21264
- * Path of the file to be imported in the TOS bucket.
21356
+ * Running status of the collection configuration. 0: Running. 1: Paused.
21265
21357
  */
21266
- prefix: string;
21358
+ pause: number;
21267
21359
  /**
21268
- * Region where the TOS bucket is located. Cross-region data import is supported
21360
+ * Collection configuration ID.
21269
21361
  */
21270
- region: string;
21271
- }
21272
- interface GetImportTaskTargetInfo {
21362
+ ruleId: string;
21273
21363
  /**
21274
- * Log extraction rule.
21364
+ * Name of the collection configuration.
21275
21365
  */
21276
- extractRule: outputs.tls.GetImportTaskTargetInfoExtractRule;
21366
+ ruleName: string;
21277
21367
  /**
21278
- * Log sample. When LogType is set to multiline_log, you must configure log samples. It is recommended to provide more than two log entries as examples to ensure the regular expression matches the first line of each log. Use real samples from the production environment.
21368
+ * ID of the log topic to which the collection configuration belongs.
21279
21369
  */
21280
- logSample: string;
21370
+ topicId: string;
21281
21371
  /**
21282
- * Specify log parsing type during import. delimiter*log: CSV type. multiline*log: multiline full text type. minimalist*log: single line full text type. json*log: JSON type.
21372
+ * Name of the log topic associated with the collection configuration
21283
21373
  */
21284
- logType: string;
21374
+ topicName: string;
21285
21375
  /**
21286
- * Region.
21376
+ * User-defined collection rules.
21287
21377
  */
21288
- region: string;
21378
+ userDefineRule: outputs.tls.GetHostGroupRuleUserDefineRule;
21289
21379
  }
21290
- interface GetImportTaskTargetInfoExtractRule {
21291
- /**
21292
- * Basic content of log extraction rules.
21293
- */
21294
- extractRule: outputs.tls.GetImportTaskTargetInfoExtractRuleExtractRule;
21380
+ interface GetHostGroupRuleContainerRule {
21295
21381
  /**
21296
- * Number of skipped rows. Only valid when the log type is delimiterLog and the import type is tos.
21382
+ * Container name to collect. If no container name is specified, all containers in the machine group are collected. Supports regular expressions. For example, setting the container name to ^(container-test)$ collects all containers named container-test.
21297
21383
  */
21298
- skipLineCount: number;
21384
+ containerNameRegex: string;
21299
21385
  /**
21300
- * Time extraction regular expression, used to extract the time value from the TimeKey field and parse it as the collection time
21386
+ * Whether to add environment variables as log tags to the raw log data. When enabled, Log Service adds container environment variable fields to 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, Log Service adds the field **tag**data_source_*: DC to the log.
21301
21387
  */
21302
- timeExtractRegex: string;
21388
+ envTags: outputs.tls.GetHostGroupRuleContainerRuleEnvTag[];
21303
21389
  /**
21304
- * 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.
21390
+ * Container environment variable denylist/blocklist specifies containers to exclude from collection. If the denylist/blocklist is not enabled, all containers are collected. If enabled, Key is required and Value is optional. If Value is empty, all containers with the specified Key in their environment variables are excluded. If Value is not empty, only containers matching the key-value pair are excluded—that is, containers with the specified Key and a Value matching the given pattern. Value supports regex matching. For example, set Key to module and Value to ^(tcp|udp)$ to exclude containers with module:tcp or module:udp in their environment variables. Multiple key-value pairs use logical OR: any container matching any pair is excluded from collection. When the denylist/blocklist is enabled, Keys cannot be duplicated.
21305
21391
  */
21306
- timeZone: string;
21307
- }
21308
- interface GetImportTaskTargetInfoExtractRuleExtractRule {
21392
+ excludeContainerEnvRegexes: outputs.tls.GetHostGroupRuleContainerRuleExcludeContainerEnvRegex[];
21309
21393
  /**
21310
- * Regular expression for identifying the first line of each log. The matched part is treated as the start of the log. When LogType is set to multiline_log, you must configure a log sample
21394
+ * The container Label denylist specifies which containers to exclude from collection. If not enabled, all containers are collected. If the container Label denylist is enabled, Key is required and Value is optional. If Value is empty, all containers with the specified Key in the container Label are excluded. If Value is not empty, only containers matching the Key-Value pair are excluded, meaning only containers with the specified Key and a Value matching the pattern are excluded. Value supports regex matching. For example, set Key to app and Value to ^(test1|test2)$ to exclude containers with app:test1 or app:test2 in the container Label. The logical relationship between multiple Key-Value pairs is OR, meaning any container Label matching any pair will be excluded from collection. When enabling the container Label denylist, Keys must not be duplicated.
21311
21395
  */
21312
- beginRegex: string;
21396
+ excludeContainerLabelRegexes: outputs.tls.GetHostGroupRuleContainerRuleExcludeContainerLabelRegex[];
21313
21397
  /**
21314
- * Delimiter. Only valid when LogType is delimiter_log.
21398
+ * The container environment variable allowlist specifies which containers to collect by using environment variables as criteria. 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: collect all containers that contain the Key in their environment variables. If Value is not empty: only collect containers where the Key exists and its value matches Value. Value supports regex matching. For example, set Key to module and Value to ^(tcp|udp)$ to collect only containers with module:tcp or module:udp in their environment variables. Multiple key-value pairs use logical OR; 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.
21315
21399
  */
21316
- delimiter: string;
21400
+ includeContainerEnvRegexes: outputs.tls.GetHostGroupRuleContainerRuleIncludeContainerEnvRegex[];
21317
21401
  /**
21318
- * Enable nanoseconds.
21402
+ * 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 enter key-value pairs. Key is required; Value is optional. If Value is empty, all containers with the specified Key in their container Label are collected. If Value is not empty, only containers with the specified Key and a Value matching the Value field are collected. Value supports regular expressions. For example, set Key to app and Value to ^(test1|test2)$ to collect only containers with app:test1 or app:test2 in their container Label. The logical relationship between multiple key-value pairs is OR; any container Label matching any key-value pair will be included in the collection scope. When the container Label allowlist is enabled, Keys must not be duplicated.
21319
21403
  */
21320
- enableNanosecond: boolean;
21404
+ includeContainerLabelRegexes: outputs.tls.GetHostGroupRuleContainerRuleIncludeContainerLabelRegex[];
21321
21405
  /**
21322
- * Filter key regular expression.
21406
+ * Kubernetes container collection rules.
21323
21407
  */
21324
- filterKeyRegexes: outputs.tls.GetImportTaskTargetInfoExtractRuleExtractRuleFilterKeyRegex[];
21408
+ kubernetesRule: outputs.tls.GetHostGroupRuleContainerRuleKubernetesRule;
21325
21409
  /**
21326
- * List of log field names (Key). Valid only when LogType is delimiter_log. Supports up to 100 field names. Duplicate field names are not allowed, and all field names cannot be left blank
21410
+ * Collection information. stdout: Container standard output (stdout). stderr: Container standard error (stderr). all: Both container standard output (stdout) and standard error (stderr).
21327
21411
  */
21328
- keys: string[];
21412
+ stream: string;
21413
+ }
21414
+ interface GetHostGroupRuleContainerRuleEnvTag {
21329
21415
  /**
21330
- * Log regular expression
21416
+ * Key.
21331
21417
  */
21332
- logRegex: string;
21418
+ key: string;
21333
21419
  /**
21334
- * Log template.
21420
+ * Value.
21335
21421
  */
21336
- logTemplate: outputs.tls.GetImportTaskTargetInfoExtractRuleExtractRuleLogTemplate;
21422
+ val: string;
21423
+ }
21424
+ interface GetHostGroupRuleContainerRuleExcludeContainerEnvRegex {
21337
21425
  /**
21338
- * Quotation mark. Content enclosed by the quotation mark will not be separated and will be parsed as a complete field. Only valid when LogType is delimiter_log.
21426
+ * Key.
21339
21427
  */
21340
- quote: string;
21428
+ key: string;
21341
21429
  /**
21342
- * Parsing format for the time field. If you use a specified time field in the log as the log timestamp, you must fill in TimeKey and TimeFormat. TimeKey and TimeFormat must be paired. For configuration details, see time format.
21430
+ * Value.
21343
21431
  */
21344
- timeFormat: string;
21432
+ val: string;
21433
+ }
21434
+ interface GetHostGroupRuleContainerRuleExcludeContainerLabelRegex {
21345
21435
  /**
21346
- * Name of the log 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 appear in pairs
21436
+ * Key.
21347
21437
  */
21348
- timeKey: string;
21438
+ key: string;
21349
21439
  /**
21350
- * Time sample. Used to verify whether the entered time parsing format is correct
21440
+ * Value.
21351
21441
  */
21352
- timeSample: string;
21442
+ val: string;
21443
+ }
21444
+ interface GetHostGroupRuleContainerRuleIncludeContainerEnvRegex {
21353
21445
  /**
21354
- * When uploading logs that failed to parse, specify the key name for the failed logs. UnMatchUpLoadSwitch=true and UnMatchLogKey must be used together.
21446
+ * Key.
21355
21447
  */
21356
- unMatchLogKey: string;
21448
+ key: string;
21357
21449
  /**
21358
- * Whether to upload logs that failed to parse. UnMatchUpLoadSwitch=true and UnMatchLogKey must be paired. true: Upload logs that failed to parse. false: Do not upload logs that failed to parse.
21450
+ * Value.
21359
21451
  */
21360
- unMatchUpLoadSwitch: boolean;
21452
+ val: string;
21361
21453
  }
21362
- interface GetImportTaskTargetInfoExtractRuleExtractRuleFilterKeyRegex {
21454
+ interface GetHostGroupRuleContainerRuleIncludeContainerLabelRegex {
21363
21455
  /**
21364
21456
  * Key.
21365
21457
  */
21366
21458
  key: string;
21367
21459
  /**
21368
- * Regular expression.
21460
+ * Value.
21369
21461
  */
21370
- regex: string;
21462
+ val: string;
21371
21463
  }
21372
- interface GetImportTaskTargetInfoExtractRuleExtractRuleLogTemplate {
21464
+ interface GetHostGroupRuleContainerRuleKubernetesRule {
21373
21465
  /**
21374
- * Format.
21466
+ * Whether to add Kubernetes Annotations as log tags to the raw log data. When enabled, the log service adds Kubernetes Pod Annotation fields to the logs. Setting multiple key-value pairs adds multiple fields. For example, set Key to sink and Value to data_sink. If the Pod contains the Annotation sink=ck, the log will include the field **tag**data_sink_*: ck.
21375
21467
  */
21376
- format: string;
21468
+ annotationTags: outputs.tls.GetHostGroupRuleContainerRuleKubernetesRuleAnnotationTag[];
21377
21469
  /**
21378
- * Type
21470
+ * Whether to add all Kubernetes Labels as log tags to the raw log data. When enabled, the log service adds fields for all Labels in the Kubernetes Pod to the log. For example, if the Pod has Label source=DC and destination=CS, the log will include fields **tag**source__: DC and **tag**destination__: CS.
21379
21471
  */
21380
- type: string;
21381
- }
21382
- interface GetImportTaskTaskStatistics {
21472
+ enableAllLabelTag: boolean;
21383
21473
  /**
21384
- * Total resource bytes enumerated
21474
+ * 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 Key will be excluded. If Value is not empty, only containers under Pods whose Pod Annotation contains the Key and whose value matches the Value will be excluded. By default, Value uses string matching, meaning only when Value and the Pod Annotation value are exactly the same will it match. If the value starts with ^ and ends with $, it is treated as a regular expression match. For example, set Key to app and Value to ^(test1|test2)$ to match containers under Pods whose Pod Annotation contains app:test1 or app:test2. Note: The logical relationship between multiple Key-Value pairs is OR, meaning as long as the Pod Annotation matches any pair, it will be included in the collection scope. When enabling the Pod Annotation denylist, Keys must not be duplicated. For fuzzy regular expression matching, you must add .*. For example, ^(http.*)$ matches strings that start with http
21385
21475
  */
21386
- bytesTotal: number;
21476
+ excludePodAnnotationRegexes: outputs.tls.GetHostGroupRuleContainerRuleKubernetesRuleExcludePodAnnotationRegex[];
21387
21477
  /**
21388
- * Bytes transferred.
21478
+ * 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 the Pod Label are excluded from collection. If Value is not empty, only containers with the specified Key and a Value matching the pattern are excluded. Value supports regex matching. For example, set Key to module and Value to ^(tcp|udp)$ to exclude containers with module:tcp or module:udp in the Pod Label. Note: The logical relationship between multiple Key-Value pairs is OR, meaning any Pod Label matching any pair will be excluded from collection. When enabling the Pod Label denylist, Keys must not be duplicated. For fuzzy regex matching, you must add .*. For example, ^(http.*)$ matches any string starting with http.
21389
21479
  */
21390
- bytesTransferred: number;
21480
+ excludePodLabelRegexes: outputs.tls.GetHostGroupRuleContainerRuleKubernetesRuleExcludePodLabelRegex[];
21391
21481
  /**
21392
- * Number of resources failed to import.
21482
+ * Pod Annotation Allowlist specifies which containers to collect. If you need to set a Pod Annotation Allowlist, Key is required and Value is optional. If Value is empty, all containers in Pods with the specified Key in their Pod Annotation are matched. If Value is not empty, only containers in Pods where the Pod Annotation contains the Key and its value matches Value are matched. By default, Value uses string matching, meaning only exact matches between Value and the Pod Annotation value are considered. If Value starts with ^ and ends with $, it uses regex matching. For example, set Key to app and Value to ^(test1|test2)$ to match containers in Pods with Pod Annotation app:test1 or app:test2. Note: Multiple Key-Value pairs use logical OR, so any Pod Annotation matching any pair will be included in the collection scope. When enabling the Pod Annotation Allowlist, Keys must not be duplicated. For regex fuzzy matching, you must add .*. For example, ^(http.*)$ matches values starting with http
21393
21483
  */
21394
- failed: number;
21484
+ includePodAnnotationRegexes: outputs.tls.GetHostGroupRuleContainerRuleKubernetesRuleIncludePodAnnotationRegex[];
21395
21485
  /**
21396
- * Number of resources not found.
21486
+ * Pod label allowlist specifies which containers to collect. If the Pod label allowlist is not enabled, all containers are collected. To set a Pod label allowlist, Key is required. If Value is empty, all containers with the Key in their Pod label are collected. If Value is not empty, only containers with the Key in their Pod label and a Value matching the specified pattern are collected. Value supports regex matching. For example, set Key to module and Value to ^(tcp|udp)$ to collect only containers with module:tcp or module:udp in their Pod label. Note: The logical relationship between multiple key-value pairs is OR, meaning any matching pair will include the Pod in the collection scope. When the Pod label allowlist is enabled, Keys must be unique. For fuzzy regex matching, you must add .*. For example, ^(http.*)$ matches strings starting with http.
21397
21487
  */
21398
- notExist: number;
21488
+ includePodLabelRegexes: outputs.tls.GetHostGroupRuleContainerRuleKubernetesRuleIncludePodLabelRegex[];
21399
21489
  /**
21400
- * Number of resources skipped during import
21490
+ * Choose whether to add Kubernetes labels as log tags to the original 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, set Key to source and Value to data_source. If the Pod contains the label source=DC, the log will include the field **tag**data_source_*: DC.
21401
21491
  */
21402
- skipped: number;
21492
+ labelTags: outputs.tls.GetHostGroupRuleContainerRuleKubernetesRuleLabelTag[];
21403
21493
  /**
21404
- * Task status. Status of the import task. Preparing: Preparing for import. Importing: Importing data. Success: Import completed successfully. Failed: Import failed. Stopped: Import paused.
21494
+ * Name of the Kubernetes Namespace to be collected. If not specified, all containers are collected. Namespace names support regular expression matching. For example, setting the Namespace name to ^(tcp|udp)$ collects all containers under the tcp and udp namespaces.
21405
21495
  */
21406
- taskStatus: string;
21496
+ namespaceNameRegex: string;
21497
+ /**
21498
+ * Pod name is used to specify the Pod(s) to be collected. If the Pod name is not specified, all containers are collected. Pod name supports regex matching. For example, setting the Pod name to ^(http.*)$ collects all containers under Pods whose names start with http.
21499
+ */
21500
+ podNameRegex: string;
21501
+ /**
21502
+ * 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.
21503
+ */
21504
+ workloadNameRegex: string;
21505
+ /**
21506
+ * Specify containers 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 are: Deployment: stateless workload StatefulSet: stateful workload DaemonSet: daemon process Job: job CronJob: scheduled job
21507
+ */
21508
+ workloadType: string;
21509
+ }
21510
+ interface GetHostGroupRuleContainerRuleKubernetesRuleAnnotationTag {
21511
+ /**
21512
+ * Key.
21513
+ */
21514
+ key: string;
21515
+ /**
21516
+ * Value.
21517
+ */
21518
+ val: string;
21519
+ }
21520
+ interface GetHostGroupRuleContainerRuleKubernetesRuleExcludePodAnnotationRegex {
21521
+ /**
21522
+ * Key.
21523
+ */
21524
+ key: string;
21525
+ /**
21526
+ * Value.
21527
+ */
21528
+ val: string;
21529
+ }
21530
+ interface GetHostGroupRuleContainerRuleKubernetesRuleExcludePodLabelRegex {
21531
+ /**
21532
+ * Key.
21533
+ */
21534
+ key: string;
21535
+ /**
21536
+ * Value.
21537
+ */
21538
+ val: string;
21539
+ }
21540
+ interface GetHostGroupRuleContainerRuleKubernetesRuleIncludePodAnnotationRegex {
21541
+ /**
21542
+ * Key.
21543
+ */
21544
+ key: string;
21545
+ /**
21546
+ * Value.
21547
+ */
21548
+ val: string;
21549
+ }
21550
+ interface GetHostGroupRuleContainerRuleKubernetesRuleIncludePodLabelRegex {
21551
+ /**
21552
+ * Key.
21553
+ */
21554
+ key: string;
21555
+ /**
21556
+ * Value.
21557
+ */
21558
+ val: string;
21559
+ }
21560
+ interface GetHostGroupRuleContainerRuleKubernetesRuleLabelTag {
21561
+ /**
21562
+ * Key.
21563
+ */
21564
+ key: string;
21565
+ /**
21566
+ * Value.
21567
+ */
21568
+ val: string;
21569
+ }
21570
+ interface GetHostGroupRuleExcludePath {
21571
+ /**
21572
+ * Collection path type. File: file name. Path: directory.
21573
+ */
21574
+ type: string;
21575
+ /**
21576
+ * Collection path. Must be specified as an absolute path. When Type is Path, Value indicates a directory. When Type is File, Value indicates a file name.
21577
+ */
21578
+ value: string;
21579
+ }
21580
+ interface GetHostGroupRuleExtractRule {
21581
+ /**
21582
+ * The regex pattern required to match the first line of the log. This is valid only when LogType is multiline*log or fullregex*log. The pattern must be a valid regular expression.
21583
+ */
21584
+ beginRegex: string;
21585
+ /**
21586
+ * Log delimiter. Valid only when LogType is delimiter_log.
21587
+ */
21588
+ delimiter: string;
21589
+ /**
21590
+ * Enable nanosecond precision time. When enabled, log time parsing will report time with nanosecond precision. true: Enable nanosecond precision time. false: Disable nanosecond precision time.
21591
+ */
21592
+ enableNanosecond: boolean;
21593
+ /**
21594
+ * Filter rule list.
21595
+ */
21596
+ filterKeyRegexes: outputs.tls.GetHostGroupRuleExtractRuleFilterKeyRegex[];
21597
+ /**
21598
+ * List of log field names (Keys).
21599
+ */
21600
+ keys: string[];
21601
+ /**
21602
+ * The entire log entry must match the regular expression. This is only valid when the log type is fullregex_log. The regular expression must be valid.
21603
+ */
21604
+ logRegex: string;
21605
+ /**
21606
+ * Automatically extract log fields based on the specified log template.
21607
+ */
21608
+ logTemplate: outputs.tls.GetHostGroupRuleExtractRuleLogTemplate;
21609
+ /**
21610
+ * Quotation mark. Content enclosed by quotation marks is parsed as a complete field and not separated. Only valid when LogType is delimiter_log.
21611
+ */
21612
+ quote: string;
21613
+ /**
21614
+ * Regular expression for extracting time, used to extract the time value from the TimeKey field and parse it as the collection time.
21615
+ */
21616
+ timeExtractRegex: string;
21617
+ /**
21618
+ * Parsing format for the time field. If a specified time field in the log is used as the log timestamp, you must provide TimeKey and TimeFormat.
21619
+ */
21620
+ timeFormat: string;
21621
+ /**
21622
+ * Field name for the log time field. If a specified time field in the log is used as the log timestamp, you must provide TimeKey and TimeFormat.
21623
+ */
21624
+ timeKey: string;
21625
+ /**
21626
+ * Sample time. Used to verify whether the specified time parsing format is correct.
21627
+ */
21628
+ timeSample: string;
21629
+ /**
21630
+ * Time zone. Supports machine time zone (default) and custom time zone. Custom time zone supports GMT and UTC.
21631
+ */
21632
+ timeZone: string;
21633
+ /**
21634
+ * Key name for logs that failed to parse when uploading
21635
+ */
21636
+ unMatchLogKey: string;
21637
+ /**
21638
+ * Upload logs that failed to parse. UnMatchUpLoadSwitch=true and UnMatchLogKey must be used together. true: Upload logs that failed to parse. false: Do not upload logs that failed to parse.
21639
+ */
21640
+ unMatchUpLoadSwitch: boolean;
21641
+ }
21642
+ interface GetHostGroupRuleExtractRuleFilterKeyRegex {
21643
+ /**
21644
+ * Name of the filter field.
21645
+ */
21646
+ key: string;
21647
+ /**
21648
+ * The log content of the filter field must match the specified regular expression.
21649
+ */
21650
+ regex: string;
21651
+ }
21652
+ interface GetHostGroupRuleExtractRuleLogTemplate {
21653
+ /**
21654
+ * Log template format
21655
+ */
21656
+ format: string;
21657
+ /**
21658
+ * Log template type. Supported types: Nginx (Nginx log template type).
21659
+ */
21660
+ type: string;
21661
+ }
21662
+ interface GetHostGroupRuleUserDefineRule {
21663
+ /**
21664
+ * Advanced parameters are 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 conditions for releasing handles are specified, the handle will be released and log file monitoring will end as soon as any condition is met.
21665
+ */
21666
+ advanced: outputs.tls.GetHostGroupRuleUserDefineRuleAdvanced;
21667
+ /**
21668
+ * Whether to upload the Label information of the host group to the log service. Disabled by default. 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): LogCollector does not upload the Label information of the host group.
21669
+ */
21670
+ enableHostGroupLabel: boolean;
21671
+ /**
21672
+ * Whether to upload the hostname field. Default is disabled. true: Adds a field to the original log to record the log source's hostname. Specify the hostname field name using HostnameKey. false (default): Does not add the hostname field.
21673
+ */
21674
+ enableHostname: boolean;
21675
+ /**
21676
+ * Whether to upload raw logs. true: Upload raw logs. false (default): Do not upload raw logs.
21677
+ */
21678
+ enableRawLog: boolean;
21679
+ /**
21680
+ * Add constant fields to logs. Constant fields must follow these restrictions: Up to 5 constant fields can be uploaded. Field name (Key) must be unique and not empty. Length: 1–128 characters, including letters, numbers, and special characters (-*./), and cannot start with an underscore. Field value (Value) must not be empty, maximum length is 512 KiB.
21681
+ */
21682
+ fields: outputs.tls.GetHostGroupRuleUserDefineRuleField[];
21683
+ /**
21684
+ * Field name used to store machine group label information.
21685
+ */
21686
+ hostGroupLabelKey: string;
21687
+ /**
21688
+ * hostname field name. Only required when EnableHostname is set to true.
21689
+ */
21690
+ hostnameKey: string;
21691
+ /**
21692
+ * Ignore log files that have not been updated for a specified duration, in hours.
21693
+ */
21694
+ ignoreOlder: number;
21695
+ /**
21696
+ * Allows multiple log file collections. Empty: Uses the log file ID (including file inode, device, and checksum of the first N bytes) to uniquely identify the log file. RuleID: Uses the collection rule ID and log file ID to uniquely identify the log file. TopicIDRuleName: Uses the log topic ID, collection rule Name, and log file ID to uniquely identify the log file.
21697
+ */
21698
+ multiCollectsType: string;
21699
+ /**
21700
+ * Rules for parsing the collection path. After setting the rule, fields in the collection path are extracted using the specified regex and added as metadata to the log data. Note: This parameter is not supported when collecting container standard output.
21701
+ */
21702
+ parsePathRule: outputs.tls.GetHostGroupRuleUserDefineRuleParsePathRule;
21703
+ /**
21704
+ * LogCollector plugin configuration. After enabling plugin configuration, you can add one or more LogCollector processor plugins to parse logs with complex or variable structures.
21705
+ */
21706
+ plugin: outputs.tls.GetHostGroupRuleUserDefineRulePlugin;
21707
+ /**
21708
+ * Original log field name. 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 together with the parsed log data
21709
+ */
21710
+ rawLogKey: string;
21711
+ /**
21712
+ * 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 set, logs are collected using the HashKey routing Shard mode, and the log service writes data to the Shard containing the specified Key value.
21713
+ */
21714
+ shardHashKey: outputs.tls.GetHostGroupRuleUserDefineRuleShardHashKey;
21715
+ /**
21716
+ * LogCollector collection strategy, specifying whether LogCollector collects incremental logs or full logs. The default is false, which means full log collection. true: incremental collection. When LogCollector collects logs, it only collects newly added content in the file. When a monitored log file receives new log entries, LogCollector is triggered to collect logs. For log files being collected for the first time, 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 new 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, meaning only incremental logs are collected. For log files that are not being collected for the first time, LogCollector determines the collection position based on the Checkpoint and continues collecting. false: (default) full collection. LogCollector collects logs from the beginning of each file, including historical log data.
21717
+ */
21718
+ tailFiles: boolean;
21719
+ /**
21720
+ * Incremental collection backtracking threshold, 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 TailSizeKb from the end of the file.
21721
+ */
21722
+ tailSizeKb: number;
21723
+ }
21724
+ interface GetHostGroupRuleUserDefineRuleAdvanced {
21725
+ /**
21726
+ * After reading to the end of the log file, whether to release the file handle. Default is false.
21727
+ */
21728
+ closeEof: boolean;
21729
+ /**
21730
+ * Wait time before releasing log file handles. If no new logs are written to a log file for the specified duration, the handle for that log file is released. Unit: seconds. Range: 1–300 seconds. Default: 60 seconds.
21731
+ */
21732
+ closeInactive: number;
21733
+ /**
21734
+ * Whether to release the handle of the log file after it is removed. Default is false.
21735
+ */
21736
+ closeRemoved: boolean;
21737
+ /**
21738
+ * Whether to release the handle of the log file after it is renamed. Default is false.
21739
+ */
21740
+ closeRenamed: boolean;
21741
+ /**
21742
+ * Maximum duration for LogCollector to monitor log files, in seconds. The default is 0 seconds, meaning LogCollector does not limit the monitoring duration. Timing starts when LogCollector begins monitoring the log file. After the specified duration is exceeded, regardless of whether the log file has been fully read, LogCollector immediately releases the file handle and stops monitoring.
21743
+ */
21744
+ closeTimeout: number;
21745
+ /**
21746
+ * Maximum wait time when LogCollector does not read a line break. Unit: seconds. Default: 5s. LogCollector starts timing when it begins reading log file content. If no line break is read within the specified time, it will send the buffered logs. If the file write interval is large, a complete log entry may be split into two parts and written separately. Adjust this parameter based on your log write interval.
21747
+ */
21748
+ noLineTerminatorEofMaxTime: number;
21749
+ }
21750
+ interface GetHostGroupRuleUserDefineRuleField {
21751
+ /**
21752
+ * Key.
21753
+ */
21754
+ key: string;
21755
+ /**
21756
+ * Value.
21757
+ */
21758
+ val: string;
21759
+ }
21760
+ interface GetHostGroupRuleUserDefineRuleParsePathRule {
21761
+ /**
21762
+ * List of field names. Log Service parses PathSample into multiple fields using regular expressions (Regex). Keys specify the name of each field. You can configure up to 100 field names. Field names cannot be empty or duplicated.
21763
+ */
21764
+ keys: string[];
21765
+ /**
21766
+ * Sample collection path for actual scenarios. The sample path must be an absolute path. Wildcards *, ?, ** are not allowed in the sample path.
21767
+ */
21768
+ pathSample: string;
21769
+ /**
21770
+ * Regular expression used to extract the path field. It must match the example collection path; otherwise, extraction will fail.
21771
+ */
21772
+ regex: string;
21773
+ }
21774
+ interface GetHostGroupRuleUserDefineRulePlugin {
21775
+ /**
21776
+ * LogCollector plugins. For supported plugin lists and parameter descriptions, see LogCollector plugin overview.
21777
+ */
21778
+ processors: string;
21779
+ }
21780
+ interface GetHostGroupRuleUserDefineRuleShardHashKey {
21781
+ /**
21782
+ * The HashKey of the log group specifies the shard where the current log group will be written. The valid range for this parameter is [00000000000000000000000000000000-ffffffffffffffffffffffffffffffff).
21783
+ */
21784
+ hashKey: string;
21785
+ }
21786
+ interface GetImportTaskImportSourceInfo {
21787
+ /**
21788
+ * Kafka data source information. When sourceType is kafka, the KafkaSourceInfo field is required
21789
+ */
21790
+ kafkaSourceInfo: outputs.tls.GetImportTaskImportSourceInfoKafkaSourceInfo;
21791
+ /**
21792
+ * TOS data source information. When sourceType is tos, the TosSourceInfo field is required.
21793
+ */
21794
+ tosSourceInfo: outputs.tls.GetImportTaskImportSourceInfoTosSourceInfo;
21795
+ }
21796
+ interface GetImportTaskImportSourceInfoKafkaSourceInfo {
21797
+ /**
21798
+ * Data encoding format. Available options: UTF-8, GBK.
21799
+ */
21800
+ encode: string;
21801
+ /**
21802
+ * Kafka consumer group. If not specified, the system will automatically create a Kafka consumer group.
21803
+ */
21804
+ group: string;
21805
+ /**
21806
+ * The service addresses for different types of Kafka clusters vary. Details are as follows: Message Queue Kafka Edition: Use the access point of the Kafka instance. For more information, see Access Point. If the Kafka instance and the Log Service Project are in the same region, you can use private network access; otherwise, use public network access. Self-hosted Kafka clusters: Use the IP address and port number or the domain name and port number of the Kafka Broker. Only public network access is supported. Separate multiple service addresses with a comma (,).
21807
+ */
21808
+ host: string;
21809
+ /**
21810
+ * Starting position for data import. Options: 0: Earliest time, start importing from the first record in the specified Kafka Topic. 1: Latest time, start importing from the most recently generated record in the specified Kafka Topic.
21811
+ */
21812
+ initialOffset: number;
21813
+ /**
21814
+ * If you are using Message Queue Kafka Edition, set this to the Kafka instance ID.
21815
+ */
21816
+ instanceId: string;
21817
+ /**
21818
+ * Whether to enable authentication. If you use a public service address, it is recommended to enable authentication.
21819
+ */
21820
+ isNeedAuth: boolean;
21821
+ /**
21822
+ * Password authentication mechanism. Available options: PLAIN, SCRAM-SHA-256, and SCRAM-SHA-512.
21823
+ */
21824
+ mechanism: string;
21825
+ /**
21826
+ * Kafka SASL user password for authentication.
21827
+ */
21828
+ password: string;
21829
+ /**
21830
+ * Secure transmission protocol. Options include plaintext, sasl*ssl, ssl, and sasl*plaintext
21831
+ */
21832
+ protocol: string;
21833
+ /**
21834
+ * Specify log time. Options: 0: Use Kafka message timestamp. 1: Use current system time.
21835
+ */
21836
+ timeSourceDefault: number;
21837
+ /**
21838
+ * Kafka Topic name. Separate multiple Kafka Topics with commas (,).
21839
+ */
21840
+ topic: string;
21841
+ /**
21842
+ * Kafka SASL username for authentication.
21843
+ */
21844
+ username: string;
21845
+ }
21846
+ interface GetImportTaskImportSourceInfoTosSourceInfo {
21847
+ /**
21848
+ * TOS bucket name
21849
+ */
21850
+ bucket: string;
21851
+ /**
21852
+ * Compression mode for data in the TOS bucket. none: No compression. snappy: Compress using snappy. gzip: Compress using gzip. lz4: Compress using lz4.
21853
+ */
21854
+ compressType: string;
21855
+ /**
21856
+ * Path of the file to be imported in the TOS bucket.
21857
+ */
21858
+ prefix: string;
21859
+ /**
21860
+ * Region where the TOS bucket is located. Cross-region data import is supported
21861
+ */
21862
+ region: string;
21863
+ }
21864
+ interface GetImportTaskTargetInfo {
21865
+ /**
21866
+ * Log extraction rule.
21867
+ */
21868
+ extractRule: outputs.tls.GetImportTaskTargetInfoExtractRule;
21869
+ /**
21870
+ * Log sample. When LogType is set to multiline_log, you must configure log samples. It is recommended to provide more than two log entries as examples to ensure the regular expression matches the first line of each log. Use real samples from the production environment.
21871
+ */
21872
+ logSample: string;
21873
+ /**
21874
+ * Specify log parsing type during import. delimiter*log: CSV type. multiline*log: multiline full text type. minimalist*log: single line full text type. json*log: JSON type.
21875
+ */
21876
+ logType: string;
21877
+ /**
21878
+ * Region.
21879
+ */
21880
+ region: string;
21881
+ }
21882
+ interface GetImportTaskTargetInfoExtractRule {
21883
+ /**
21884
+ * Basic content of log extraction rules.
21885
+ */
21886
+ extractRule: outputs.tls.GetImportTaskTargetInfoExtractRuleExtractRule;
21887
+ /**
21888
+ * Number of skipped rows. Only valid when the log type is delimiterLog and the import type is tos.
21889
+ */
21890
+ skipLineCount: number;
21891
+ /**
21892
+ * Time extraction regular expression, used to extract the time value from the TimeKey field and parse it as the collection time
21893
+ */
21894
+ timeExtractRegex: string;
21895
+ /**
21896
+ * 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.
21897
+ */
21898
+ timeZone: string;
21899
+ }
21900
+ interface GetImportTaskTargetInfoExtractRuleExtractRule {
21901
+ /**
21902
+ * Regular expression for identifying the first line of each log. The matched part is treated as the start of the log. When LogType is set to multiline_log, you must configure a log sample
21903
+ */
21904
+ beginRegex: string;
21905
+ /**
21906
+ * Delimiter. Only valid when LogType is delimiter_log.
21907
+ */
21908
+ delimiter: string;
21909
+ /**
21910
+ * Enable nanoseconds.
21911
+ */
21912
+ enableNanosecond: boolean;
21913
+ /**
21914
+ * Filter key regular expression.
21915
+ */
21916
+ filterKeyRegexes: outputs.tls.GetImportTaskTargetInfoExtractRuleExtractRuleFilterKeyRegex[];
21917
+ /**
21918
+ * List of log field names (Key). Valid only when LogType is delimiter_log. Supports up to 100 field names. Duplicate field names are not allowed, and all field names cannot be left blank
21919
+ */
21920
+ keys: string[];
21921
+ /**
21922
+ * Log regular expression
21923
+ */
21924
+ logRegex: string;
21925
+ /**
21926
+ * Log template.
21927
+ */
21928
+ logTemplate: outputs.tls.GetImportTaskTargetInfoExtractRuleExtractRuleLogTemplate;
21929
+ /**
21930
+ * Quotation mark. Content enclosed by the quotation mark will not be separated and will be parsed as a complete field. Only valid when LogType is delimiter_log.
21931
+ */
21932
+ quote: string;
21933
+ /**
21934
+ * Parsing format for the time field. If you use a specified time field in the log as the log timestamp, you must fill in TimeKey and TimeFormat. TimeKey and TimeFormat must be paired. For configuration details, see time format.
21935
+ */
21936
+ timeFormat: string;
21937
+ /**
21938
+ * Name of the log 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 appear in pairs
21939
+ */
21940
+ timeKey: string;
21941
+ /**
21942
+ * Time sample. Used to verify whether the entered time parsing format is correct
21943
+ */
21944
+ timeSample: string;
21945
+ /**
21946
+ * When uploading logs that failed to parse, specify the key name for the failed logs. UnMatchUpLoadSwitch=true and UnMatchLogKey must be used together.
21947
+ */
21948
+ unMatchLogKey: string;
21949
+ /**
21950
+ * Whether to upload logs that failed to parse. UnMatchUpLoadSwitch=true and UnMatchLogKey must be paired. true: Upload logs that failed to parse. false: Do not upload logs that failed to parse.
21951
+ */
21952
+ unMatchUpLoadSwitch: boolean;
21953
+ }
21954
+ interface GetImportTaskTargetInfoExtractRuleExtractRuleFilterKeyRegex {
21955
+ /**
21956
+ * Key.
21957
+ */
21958
+ key: string;
21959
+ /**
21960
+ * Regular expression.
21961
+ */
21962
+ regex: string;
21963
+ }
21964
+ interface GetImportTaskTargetInfoExtractRuleExtractRuleLogTemplate {
21965
+ /**
21966
+ * Format.
21967
+ */
21968
+ format: string;
21969
+ /**
21970
+ * Type
21971
+ */
21972
+ type: string;
21973
+ }
21974
+ interface GetImportTaskTaskStatistics {
21975
+ /**
21976
+ * Total resource bytes enumerated
21977
+ */
21978
+ bytesTotal: number;
21979
+ /**
21980
+ * Bytes transferred.
21981
+ */
21982
+ bytesTransferred: number;
21983
+ /**
21984
+ * Number of resources failed to import.
21985
+ */
21986
+ failed: number;
21987
+ /**
21988
+ * Number of resources not found.
21989
+ */
21990
+ notExist: number;
21991
+ /**
21992
+ * Number of resources skipped during import
21993
+ */
21994
+ skipped: number;
21995
+ /**
21996
+ * Task status. Status of the import task. Preparing: Preparing for import. Importing: Importing data. Success: Import completed successfully. Failed: Import failed. Stopped: Import paused.
21997
+ */
21998
+ taskStatus: string;
21999
+ /**
22000
+ * Total number of resources enumerated.
22001
+ */
22002
+ total: number;
22003
+ /**
22004
+ * Number of records transferred.
22005
+ */
22006
+ transferred: number;
22007
+ }
22008
+ interface GetIndexFullText {
22009
+ /**
22010
+ * Case sensitivity. true: Case sensitive. false: Not case sensitive.
22011
+ */
22012
+ caseSensitive: boolean;
22013
+ /**
22014
+ * Token separators for the full-text index. Each character in the string represents a token separator. Length: 1–256 bytes. Only one or more of the following characters are supported: letters, numbers, and !@#%^&*()-_=\\"', <>/?|;:\ \r[]{}. . Supports configuring both Chinese characters and token separators simultaneously.
22015
+ */
22016
+ delimiter: string;
22017
+ /**
22018
+ * When searching, specify whether to segment Chinese content in logs according to Chinese grammar. The default is false. true: For Chinese characters in logs, segment the log according to common Chinese grammar rules. Custom segmentation symbols for Chinese content are not supported. For non-Chinese characters in logs, segment the log using the segmentation symbols specified in the parameter. false: Segment the log using the segmentation symbols specified in the parameter.
22019
+ */
22020
+ includeChinese: boolean;
22021
+ }
22022
+ interface GetIndexKeyValue {
22023
+ /**
22024
+ * Specify the field names for key-value indexing. Up to 100 fields can be added. Only letters, numbers, spaces, underscores (_), hyphens (-), and slashes (/) are supported, and field names cannot start or end with a space. Each key name must be unique within the same index. Length: 1–128 characters. For subfields in JSON-type key-value indexes, use a dot (.) to indicate the hierarchy between JSON fields. For example, if the JSON field 'namelist' contains a text-type subfield 'totalcount' and a JSON-type subfield 'info', and 'info' contains the field 'name', the field names should be configured as 'totalcount' and 'info.name' respectively.
22025
+ */
22026
+ key: string;
22027
+ /**
22028
+ * Field description information required for configuring key-value indexes.
22029
+ */
22030
+ value: outputs.tls.GetIndexKeyValueValue;
22031
+ }
22032
+ interface GetIndexKeyValueValue {
22033
+ /**
22034
+ * Indicates whether the index was added automatically. true: The index was added automatically. false: The index was not added automatically.
22035
+ */
22036
+ autoIndexFlag: boolean;
22037
+ /**
22038
+ * Whether to distinguish case. Default is false.
22039
+ */
22040
+ caseSensitive: boolean;
22041
+ /**
22042
+ * Token separators for the field. Default is empty (""). Each character in the string represents a token separator. Length: 0–256 bytes. If the length is 0, segmentation is disabled. Only one or more of the following characters are supported: letters, numbers, and !@#%^&*()-_=\\"', <>/?|;:\ \r[]{}. . Supports configuring both Chinese characters and token separators simultaneously.
22043
+ */
22044
+ delimiter: string;
22045
+ /**
22046
+ * When searching, determines whether to segment Chinese log content according to Chinese syntax. Enabled: Chinese characters in logs are segmented based on common Chinese syntax; custom segmentation for Chinese content is not supported. Non-Chinese characters in logs are segmented using the token separators specified in the parameter. Disabled: Logs are segmented using the token separators specified in the parameter.
22047
+ */
22048
+ includeChinese: boolean;
22049
+ /**
22050
+ * Create indexes for all fields with text values in the JSON field.
22051
+ */
22052
+ indexAll: boolean;
22053
+ /**
22054
+ * Enable automatic indexing and statistics for JSON fields. true: Enable automatic indexing and statistics. false: Disable automatic indexing and statistics.
22055
+ */
22056
+ indexSqlAll: boolean;
22057
+ /**
22058
+ * When ValueType is json, you can configure key-value indexes for JSON subfields using the JsonKeys field, which is an array of KeyValueInfo. Each element in the JsonKeys list is a KeyValueInfo, and you can further nest text, long, and double type subfields. For subfields in JSON key-value indexes, use . to indicate the hierarchy between JSON fields. For example, the JSON field namelist contains a text-type subfield totalcount and a JSON-type info, which itself contains the field name. Each field name should be configured as totalcount and info.name, respectively. The SqlFlag setting for subfield key-value indexes defined in JsonKeys must match their parent field, meaning they must be enabled or disabled together. The default is disabled. Subfields do not support separate settings for Delimiter, CaseSensitive, or IncludeChinese. For text-type fields, CaseSensitive, Delimiter, and IncludeChinese always inherit the parent field settings. This is only set when ValueType is json.
22059
+ */
22060
+ jsonKeys: outputs.tls.GetIndexKeyValueValueJsonKey[];
22061
+ /**
22062
+ * Whether analysis is enabled for the field. Default is false. After enabling statistical analysis, you can configure token delimiters and whether to include Chinese content.
22063
+ */
22064
+ sqlFlag: boolean;
22065
+ /**
22066
+ * Field type. Currently supports long, double, text, and json. The long and double types do not support configuring delimiters, including Chinese, or case sensitivity. Only the json type supports further configuration of JsonKeys subfields.
22067
+ */
22068
+ valueType: string;
22069
+ }
22070
+ interface GetIndexKeyValueValueJsonKey {
22071
+ /**
22072
+ * Specify the field names for key-value indexing. Up to 100 fields can be added. Only letters, numbers, spaces, underscores (_), hyphens (-), and slashes (/) are supported, and field names cannot start or end with a space. Each key name must be unique within the same index. Length: 1–128 characters. For subfields in JSON-type key-value indexes, use a dot (.) to indicate the hierarchy between JSON fields. For example, if the JSON field 'namelist' contains a text-type subfield 'totalcount' and a JSON-type subfield 'info', and 'info' contains the field 'name', the field names should be configured as 'totalcount' and 'info.name' respectively.
22073
+ */
22074
+ key: string;
22075
+ /**
22076
+ * Field description information required for configuring key-value indexes.
22077
+ */
22078
+ value: outputs.tls.GetIndexKeyValueValueJsonKeyValue;
22079
+ }
22080
+ interface GetIndexKeyValueValueJsonKeyValue {
22081
+ /**
22082
+ * Indicates whether the index was added automatically. true: The index was added automatically. false: The index was not added automatically.
22083
+ */
22084
+ autoIndexFlag: boolean;
22085
+ /**
22086
+ * Whether to distinguish case. Default is false.
22087
+ */
22088
+ caseSensitive: boolean;
22089
+ /**
22090
+ * Token separators for the field. Default is empty (""). Each character in the string represents a token separator. Length: 0–256 bytes. If the length is 0, segmentation is disabled. Only one or more of the following characters are supported: letters, numbers, and !@#%^&*()-_=\\"', <>/?|;:\ \r[]{}. . Supports configuring both Chinese characters and token separators simultaneously.
22091
+ */
22092
+ delimiter: string;
22093
+ /**
22094
+ * When searching, determines whether to segment Chinese log content according to Chinese syntax. Enabled: Chinese characters in logs are segmented based on common Chinese syntax; custom segmentation for Chinese content is not supported. Non-Chinese characters in logs are segmented using the token separators specified in the parameter. Disabled: Logs are segmented using the token separators specified in the parameter.
22095
+ */
22096
+ includeChinese: boolean;
22097
+ /**
22098
+ * Create indexes for all fields with text values in the JSON field.
22099
+ */
22100
+ indexAll: boolean;
22101
+ /**
22102
+ * Enable automatic indexing and statistics for JSON fields. true: Enable automatic indexing and statistics. false: Disable automatic indexing and statistics.
22103
+ */
22104
+ indexSqlAll: boolean;
22105
+ /**
22106
+ * Whether analysis is enabled for the field. Default is false. After enabling statistical analysis, you can configure token delimiters and whether to include Chinese content.
22107
+ */
22108
+ sqlFlag: boolean;
22109
+ /**
22110
+ * Field type. Currently supports long, double, text, and json. The long and double types do not support configuring delimiters, including Chinese, or case sensitivity. Only the json type supports further configuration of JsonKeys subfields.
22111
+ */
22112
+ valueType: string;
22113
+ }
22114
+ interface GetIndexUserInnerKeyValue {
22115
+ /**
22116
+ * Specify the field names for key-value indexing. Up to 100 fields can be added. Only letters, numbers, spaces, underscores (_), hyphens (-), and slashes (/) are supported, and field names cannot start or end with a space. Each key name must be unique within the same index. Length: 1–128 characters. For subfields in JSON-type key-value indexes, use a dot (.) to indicate the hierarchy between JSON fields. For example, if the JSON field 'namelist' contains a text-type subfield 'totalcount' and a JSON-type subfield 'info', and 'info' contains the field 'name', the field names should be configured as 'totalcount' and 'info.name' respectively.
22117
+ */
22118
+ key: string;
22119
+ /**
22120
+ * Field description information required for configuring key-value indexes.
22121
+ */
22122
+ value: outputs.tls.GetIndexUserInnerKeyValueValue;
22123
+ }
22124
+ interface GetIndexUserInnerKeyValueValue {
22125
+ /**
22126
+ * Indicates whether the index was added automatically. true: The index was added automatically. false: The index was not added automatically.
22127
+ */
22128
+ autoIndexFlag: boolean;
22129
+ /**
22130
+ * Whether to distinguish case. Default is false.
22131
+ */
22132
+ caseSensitive: boolean;
22133
+ /**
22134
+ * Token separators for the field. Default is empty (""). Each character in the string represents a token separator. Length: 0–256 bytes. If the length is 0, segmentation is disabled. Only one or more of the following characters are supported: letters, numbers, and !@#%^&*()-_=\\"', <>/?|;:\ \r[]{}. . Supports configuring both Chinese characters and token separators simultaneously.
22135
+ */
22136
+ delimiter: string;
22137
+ /**
22138
+ * When searching, determines whether to segment Chinese log content according to Chinese syntax. Enabled: Chinese characters in logs are segmented based on common Chinese syntax; custom segmentation for Chinese content is not supported. Non-Chinese characters in logs are segmented using the token separators specified in the parameter. Disabled: Logs are segmented using the token separators specified in the parameter.
22139
+ */
22140
+ includeChinese: boolean;
22141
+ /**
22142
+ * Create indexes for all fields with text values in the JSON field.
22143
+ */
22144
+ indexAll: boolean;
22145
+ /**
22146
+ * Enable automatic indexing and statistics for JSON fields. true: Enable automatic indexing and statistics. false: Disable automatic indexing and statistics.
22147
+ */
22148
+ indexSqlAll: boolean;
22149
+ /**
22150
+ * When ValueType is json, you can configure key-value indexes for JSON subfields using the JsonKeys field, which is an array of KeyValueInfo. Each element in the JsonKeys list is a KeyValueInfo, and you can further nest text, long, and double type subfields. For subfields in JSON key-value indexes, use . to indicate the hierarchy between JSON fields. For example, the JSON field namelist contains a text-type subfield totalcount and a JSON-type info, which itself contains the field name. Each field name should be configured as totalcount and info.name, respectively. The SqlFlag setting for subfield key-value indexes defined in JsonKeys must match their parent field, meaning they must be enabled or disabled together. The default is disabled. Subfields do not support separate settings for Delimiter, CaseSensitive, or IncludeChinese. For text-type fields, CaseSensitive, Delimiter, and IncludeChinese always inherit the parent field settings. This is only set when ValueType is json.
22151
+ */
22152
+ jsonKeys: outputs.tls.GetIndexUserInnerKeyValueValueJsonKey[];
22153
+ /**
22154
+ * Whether analysis is enabled for the field. Default is false. After enabling statistical analysis, you can configure token delimiters and whether to include Chinese content.
22155
+ */
22156
+ sqlFlag: boolean;
22157
+ /**
22158
+ * Field type. Currently supports long, double, text, and json. The long and double types do not support configuring delimiters, including Chinese, or case sensitivity. Only the json type supports further configuration of JsonKeys subfields.
22159
+ */
22160
+ valueType: string;
22161
+ }
22162
+ interface GetIndexUserInnerKeyValueValueJsonKey {
22163
+ /**
22164
+ * Specify the field names for key-value indexing. Up to 100 fields can be added. Only letters, numbers, spaces, underscores (_), hyphens (-), and slashes (/) are supported, and field names cannot start or end with a space. Each key name must be unique within the same index. Length: 1–128 characters. For subfields in JSON-type key-value indexes, use a dot (.) to indicate the hierarchy between JSON fields. For example, if the JSON field 'namelist' contains a text-type subfield 'totalcount' and a JSON-type subfield 'info', and 'info' contains the field 'name', the field names should be configured as 'totalcount' and 'info.name' respectively.
22165
+ */
22166
+ key: string;
22167
+ /**
22168
+ * Field description information required for configuring key-value indexes.
22169
+ */
22170
+ value: outputs.tls.GetIndexUserInnerKeyValueValueJsonKeyValue;
22171
+ }
22172
+ interface GetIndexUserInnerKeyValueValueJsonKeyValue {
22173
+ /**
22174
+ * Indicates whether the index was added automatically. true: The index was added automatically. false: The index was not added automatically.
22175
+ */
22176
+ autoIndexFlag: boolean;
22177
+ /**
22178
+ * Whether to distinguish case. Default is false.
22179
+ */
22180
+ caseSensitive: boolean;
22181
+ /**
22182
+ * Token separators for the field. Default is empty (""). Each character in the string represents a token separator. Length: 0–256 bytes. If the length is 0, segmentation is disabled. Only one or more of the following characters are supported: letters, numbers, and !@#%^&*()-_=\\"', <>/?|;:\ \r[]{}. . Supports configuring both Chinese characters and token separators simultaneously.
22183
+ */
22184
+ delimiter: string;
22185
+ /**
22186
+ * When searching, determines whether to segment Chinese log content according to Chinese syntax. Enabled: Chinese characters in logs are segmented based on common Chinese syntax; custom segmentation for Chinese content is not supported. Non-Chinese characters in logs are segmented using the token separators specified in the parameter. Disabled: Logs are segmented using the token separators specified in the parameter.
22187
+ */
22188
+ includeChinese: boolean;
22189
+ /**
22190
+ * Create indexes for all fields with text values in the JSON field.
22191
+ */
22192
+ indexAll: boolean;
22193
+ /**
22194
+ * Enable automatic indexing and statistics for JSON fields. true: Enable automatic indexing and statistics. false: Disable automatic indexing and statistics.
22195
+ */
22196
+ indexSqlAll: boolean;
22197
+ /**
22198
+ * Whether analysis is enabled for the field. Default is false. After enabling statistical analysis, you can configure token delimiters and whether to include Chinese content.
22199
+ */
22200
+ sqlFlag: boolean;
22201
+ /**
22202
+ * Field type. Currently supports long, double, text, and json. The long and double types do not support configuring delimiters, including Chinese, or case sensitivity. Only the json type supports further configuration of JsonKeys subfields.
22203
+ */
22204
+ valueType: string;
22205
+ }
22206
+ interface GetProjectTag {
22207
+ /**
22208
+ * Tag key
22209
+ */
22210
+ key: string;
22211
+ /**
22212
+ * Tag value
22213
+ */
22214
+ value: string;
22215
+ }
22216
+ interface GetRuleContainerRule {
22217
+ /**
22218
+ * 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.
22219
+ */
22220
+ containerNameRegex: string;
22221
+ /**
22222
+ * 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 **tag**data_source_*: DC
22223
+ */
22224
+ envTags: outputs.tls.GetRuleContainerRuleEnvTag[];
22225
+ /**
22226
+ * 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.
22227
+ */
22228
+ excludeContainerEnvRegexes: outputs.tls.GetRuleContainerRuleExcludeContainerEnvRegex[];
22229
+ /**
22230
+ * 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.
22231
+ */
22232
+ excludeContainerLabelRegexes: outputs.tls.GetRuleContainerRuleExcludeContainerLabelRegex[];
22233
+ /**
22234
+ * 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.
22235
+ */
22236
+ includeContainerEnvRegexes: outputs.tls.GetRuleContainerRuleIncludeContainerEnvRegex[];
22237
+ /**
22238
+ * 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.
22239
+ */
22240
+ includeContainerLabelRegexes: outputs.tls.GetRuleContainerRuleIncludeContainerLabelRegex[];
22241
+ /**
22242
+ * Kubernetes container collection rules.
22243
+ */
22244
+ kubernetesRule: outputs.tls.GetRuleContainerRuleKubernetesRule;
22245
+ /**
22246
+ * 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).
22247
+ */
22248
+ stream: string;
22249
+ }
22250
+ interface GetRuleContainerRuleEnvTag {
22251
+ /**
22252
+ * Key.
22253
+ */
22254
+ key: string;
22255
+ /**
22256
+ * Value.
22257
+ */
22258
+ val: string;
22259
+ }
22260
+ interface GetRuleContainerRuleExcludeContainerEnvRegex {
22261
+ /**
22262
+ * Key.
22263
+ */
22264
+ key: string;
22265
+ /**
22266
+ * Value.
22267
+ */
22268
+ val: string;
22269
+ }
22270
+ interface GetRuleContainerRuleExcludeContainerLabelRegex {
22271
+ /**
22272
+ * Key.
22273
+ */
22274
+ key: string;
22275
+ /**
22276
+ * Value.
22277
+ */
22278
+ val: string;
22279
+ }
22280
+ interface GetRuleContainerRuleIncludeContainerEnvRegex {
22281
+ /**
22282
+ * Key.
22283
+ */
22284
+ key: string;
22285
+ /**
22286
+ * Value.
22287
+ */
22288
+ val: string;
22289
+ }
22290
+ interface GetRuleContainerRuleIncludeContainerLabelRegex {
22291
+ /**
22292
+ * Key.
22293
+ */
22294
+ key: string;
22295
+ /**
22296
+ * Value.
22297
+ */
22298
+ val: string;
22299
+ }
22300
+ interface GetRuleContainerRuleKubernetesRule {
22301
+ /**
22302
+ * 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 **tag**data_sink_*: ck will be added to the log.
22303
+ */
22304
+ annotationTags: outputs.tls.GetRuleContainerRuleKubernetesRuleAnnotationTag[];
22305
+ /**
22306
+ * 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 **tag**source__: DC and **tag**destination__: CS.
22307
+ */
22308
+ enableAllLabelTag: boolean;
22309
+ /**
22310
+ * 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
22311
+ */
22312
+ excludePodAnnotationRegexes: outputs.tls.GetRuleContainerRuleKubernetesRuleExcludePodAnnotationRegex[];
22313
+ /**
22314
+ * 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
22315
+ */
22316
+ excludePodLabelRegexes: outputs.tls.GetRuleContainerRuleKubernetesRuleExcludePodLabelRegex[];
22317
+ /**
22318
+ * 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.
22319
+ */
22320
+ includePodAnnotationRegexes: outputs.tls.GetRuleContainerRuleKubernetesRuleIncludePodAnnotationRegex[];
22321
+ /**
22322
+ * 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.
22323
+ */
22324
+ includePodLabelRegexes: outputs.tls.GetRuleContainerRuleKubernetesRuleIncludePodLabelRegex[];
22325
+ /**
22326
+ * 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 **tag**data_source_*: DC.
22327
+ */
22328
+ labelTags: outputs.tls.GetRuleContainerRuleKubernetesRuleLabelTag[];
22329
+ /**
22330
+ * 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.
22331
+ */
22332
+ namespaceNameRegex: string;
22333
+ /**
22334
+ * 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.
22335
+ */
22336
+ podNameRegex: string;
22337
+ /**
22338
+ * 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.
22339
+ */
22340
+ workloadNameRegex: string;
22341
+ /**
22342
+ * 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
22343
+ */
22344
+ workloadType: string;
22345
+ }
22346
+ interface GetRuleContainerRuleKubernetesRuleAnnotationTag {
22347
+ /**
22348
+ * Key.
22349
+ */
22350
+ key: string;
22351
+ /**
22352
+ * Value.
22353
+ */
22354
+ val: string;
22355
+ }
22356
+ interface GetRuleContainerRuleKubernetesRuleExcludePodAnnotationRegex {
22357
+ /**
22358
+ * Key.
22359
+ */
22360
+ key: string;
22361
+ /**
22362
+ * Value.
22363
+ */
22364
+ val: string;
22365
+ }
22366
+ interface GetRuleContainerRuleKubernetesRuleExcludePodLabelRegex {
22367
+ /**
22368
+ * Key.
22369
+ */
22370
+ key: string;
22371
+ /**
22372
+ * Value.
22373
+ */
22374
+ val: string;
22375
+ }
22376
+ interface GetRuleContainerRuleKubernetesRuleIncludePodAnnotationRegex {
22377
+ /**
22378
+ * Key.
22379
+ */
22380
+ key: string;
22381
+ /**
22382
+ * Value.
22383
+ */
22384
+ val: string;
22385
+ }
22386
+ interface GetRuleContainerRuleKubernetesRuleIncludePodLabelRegex {
22387
+ /**
22388
+ * Key.
22389
+ */
22390
+ key: string;
21407
22391
  /**
21408
- * Total number of resources enumerated.
22392
+ * Value.
21409
22393
  */
21410
- total: number;
22394
+ val: string;
22395
+ }
22396
+ interface GetRuleContainerRuleKubernetesRuleLabelTag {
21411
22397
  /**
21412
- * Number of records transferred.
22398
+ * Key.
21413
22399
  */
21414
- transferred: number;
22400
+ key: string;
22401
+ /**
22402
+ * Value.
22403
+ */
22404
+ val: string;
21415
22405
  }
21416
- interface GetIndexFullText {
22406
+ interface GetRuleExcludePath {
21417
22407
  /**
21418
- * Case sensitivity. true: Case sensitive. false: Not case sensitive.
22408
+ * Collection path type. File: File name. Path: Directory.
21419
22409
  */
21420
- caseSensitive: boolean;
22410
+ type: string;
21421
22411
  /**
21422
- * Token separators for the full-text index. Each character in the string represents a token separator. Length: 1–256 bytes. Only one or more of the following characters are supported: letters, numbers, and !@#%^&*()-_=\\"', <>/?|;:\ \r[]{}. . Supports configuring both Chinese characters and token separators simultaneously.
22412
+ * Collection path. Must be specified as an absolute path. When Type is Path, Value indicates a directory. When Type is File, Value indicates a file name.
22413
+ */
22414
+ value: string;
22415
+ }
22416
+ interface GetRuleExtractRule {
22417
+ /**
22418
+ * Regular expression that the first line of the log must match. Valid only when LogType is multiline*log or fullregex*log. Must be a valid regular expression.
22419
+ */
22420
+ beginRegex: string;
22421
+ /**
22422
+ * Log delimiter. Valid only when LogType is delimiter_log.
22423
+ */
22424
+ delimiter: string;
22425
+ /**
22426
+ * 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.
22427
+ */
22428
+ enableNanosecond: boolean;
22429
+ /**
22430
+ * Filter rule list. When LogType is minimalist*log or multiline*log, you can configure up to 1 filter rule, and the filter field name key must be content. When LogType is delimiter*log, json*log, 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.
22431
+ */
22432
+ filterKeyRegexes: outputs.tls.GetRuleExtractRuleFilterKeyRegex[];
22433
+ /**
22434
+ * List of log field names (Key). This is only valid when LogType is delimiter*log or fullregex*log. You can configure up to 100 field names. When LogType is delimiter*log, field names must be unique and cannot all be empty. When LogType is fullregex*log, field names must be unique and cannot be empty.
22435
+ */
22436
+ keys: string[];
22437
+ /**
22438
+ * 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.
22439
+ */
22440
+ logRegex: string;
22441
+ /**
22442
+ * Automatically extract log fields based on the specified log template
22443
+ */
22444
+ logTemplate: outputs.tls.GetRuleExtractRuleLogTemplate;
22445
+ /**
22446
+ * 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.
22447
+ */
22448
+ quote: string;
22449
+ /**
22450
+ * Regular expression for extracting time, used to extract the time value from the TimeKey field and parse it as the collection time
22451
+ */
22452
+ timeExtractRegex: string;
22453
+ /**
22454
+ * 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.
22455
+ */
22456
+ timeFormat: string;
22457
+ /**
22458
+ * 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.
22459
+ */
22460
+ timeKey: string;
22461
+ /**
22462
+ * Time sample. Used to check whether the entered time parsing format is correct.
22463
+ */
22464
+ timeSample: string;
22465
+ /**
22466
+ * 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.
22467
+ */
22468
+ timeZone: string;
22469
+ /**
22470
+ * Key name for unmatched logs.
22471
+ */
22472
+ unMatchLogKey: string;
22473
+ /**
22474
+ * Switch for uploading unmatched logs.
22475
+ */
22476
+ unMatchUpLoadSwitch: boolean;
22477
+ }
22478
+ interface GetRuleExtractRuleFilterKeyRegex {
22479
+ /**
22480
+ * Name of the filter field.
22481
+ */
22482
+ key: string;
22483
+ /**
22484
+ * The log content of the filter field must match the specified regular expression.
22485
+ */
22486
+ regex: string;
22487
+ }
22488
+ interface GetRuleExtractRuleLogTemplate {
22489
+ /**
22490
+ * Log template format.
22491
+ */
22492
+ format: string;
22493
+ /**
22494
+ * Log template types. Supported types: Nginx: Nginx log template.
22495
+ */
22496
+ type: string;
22497
+ }
22498
+ interface GetRuleHostGroupInfo {
22499
+ /**
22500
+ * Number of hosts with heartbeat exceptions.
22501
+ */
22502
+ abnormalHeartbeatStatusCount: number;
22503
+ /**
22504
+ * Latest agent version.
22505
+ */
22506
+ agentLatestVersion: string;
22507
+ /**
22508
+ * Whether LogCollector installed on the machine group server has automatic upgrade enabled. true: The log service will check for upgrades during a specified time period each day. If upgrade conditions are met, LogCollector will be upgraded automatically without manual intervention. false (default): LogCollector does not upgrade automatically. To use a newer version of LogCollector, refer to the LogCollector upgrade procedure.
22509
+ */
22510
+ autoUpdate: boolean;
22511
+ /**
22512
+ * Machine group creation time.
22513
+ */
22514
+ createTime: string;
22515
+ /**
22516
+ * Number of hosts.
22517
+ */
22518
+ hostCount: number;
22519
+ /**
22520
+ * Machine group ID
22521
+ */
22522
+ hostGroupId: string;
22523
+ /**
22524
+ * Name of the machine group.
22525
+ */
22526
+ hostGroupName: string;
22527
+ /**
22528
+ * Machine group type. IP: Machine IP. Label: Machine label.
22529
+ */
22530
+ hostGroupType: string;
22531
+ /**
22532
+ * Machine identifier.
22533
+ */
22534
+ hostIdentifier: string;
22535
+ /**
22536
+ * The IAM project to which the host group belongs.
22537
+ */
22538
+ iamProjectName: string;
22539
+ /**
22540
+ * Time when the machine group was modified.
22541
+ */
22542
+ modifyTime: string;
22543
+ /**
22544
+ * Number of hosts with normal heartbeat.
22545
+ */
22546
+ normalHeartbeatStatusCount: number;
22547
+ /**
22548
+ * The number of bound collection configurations.
22549
+ */
22550
+ ruleCount: number;
22551
+ /**
22552
+ * Whether to enable the Logcollector service log feature. true: enabled. false (default): disabled.
22553
+ */
22554
+ serviceLogging: boolean;
22555
+ /**
22556
+ * End time for LogCollector automatic upgrade.
22557
+ */
22558
+ updateEndTime: string;
22559
+ /**
22560
+ * LogCollector auto-update start time. Note: Only required when AutoUpdate is set to true. It is recommended to schedule auto-updates during off-peak hours. LogCollector may restart during the update process, but logs will not be lost.
22561
+ */
22562
+ updateStartTime: string;
22563
+ }
22564
+ interface GetRuleUserDefineRule {
22565
+ /**
22566
+ * 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.
22567
+ */
22568
+ advanced: outputs.tls.GetRuleUserDefineRuleAdvanced;
22569
+ /**
22570
+ * 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.
22571
+ */
22572
+ enableHostGroupLabel: boolean;
22573
+ /**
22574
+ * 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.
22575
+ */
22576
+ enableHostname: boolean;
22577
+ /**
22578
+ * Upload raw logs. true: Upload raw logs. false (default): Do not upload raw logs.
22579
+ */
22580
+ enableRawLog: boolean;
22581
+ /**
22582
+ * 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.
22583
+ */
22584
+ fields: outputs.tls.GetRuleUserDefineRuleField[];
22585
+ /**
22586
+ * Field name used to store machine group label information
22587
+ */
22588
+ hostGroupLabelKey: string;
22589
+ /**
22590
+ * Hostname field name. Required only when EnableHostname is true.
22591
+ */
22592
+ hostnameKey: string;
22593
+ /**
22594
+ * Ignore log files that have not been updated for a specified period (in hours).
22595
+ */
22596
+ ignoreOlder: number;
22597
+ /**
22598
+ * 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.
22599
+ */
22600
+ multiCollectsType: string;
22601
+ /**
22602
+ * 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.
22603
+ */
22604
+ parsePathRule: outputs.tls.GetRuleUserDefineRuleParsePathRule;
22605
+ /**
22606
+ * LogCollector plugin configuration. After enabling plugin configuration, you can add one or more LogCollector processor plugins to parse logs with complex or variable structures.
22607
+ */
22608
+ plugin: outputs.tls.GetRuleUserDefineRulePlugin;
22609
+ /**
22610
+ * 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.
22611
+ */
22612
+ rawLogKey: string;
22613
+ /**
22614
+ * 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
22615
+ */
22616
+ shardHashKey: outputs.tls.GetRuleUserDefineRuleShardHashKey;
22617
+ /**
22618
+ * 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.
22619
+ */
22620
+ tailFiles: boolean;
22621
+ /**
22622
+ * 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.
22623
+ */
22624
+ tailSizeKb: number;
22625
+ }
22626
+ interface GetRuleUserDefineRuleAdvanced {
22627
+ /**
22628
+ * After reading to the end of the log file, choose whether to release the file handle. Default is false.
22629
+ */
22630
+ closeEof: boolean;
22631
+ /**
22632
+ * 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.
22633
+ */
22634
+ closeInactive: number;
22635
+ /**
22636
+ * Release the file handle after the log file is removed. Default is false.
22637
+ */
22638
+ closeRemoved: boolean;
22639
+ /**
22640
+ * Release the file handle after the log file is renamed. Default is false.
22641
+ */
22642
+ closeRenamed: boolean;
22643
+ /**
22644
+ * 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.
21423
22645
  */
21424
- delimiter: string;
22646
+ closeTimeout: number;
21425
22647
  /**
21426
- * When searching, specify whether to segment Chinese content in logs according to Chinese grammar. The default is false. true: For Chinese characters in logs, segment the log according to common Chinese grammar rules. Custom segmentation symbols for Chinese content are not supported. For non-Chinese characters in logs, segment the log using the segmentation symbols specified in the parameter. false: Segment the log using the segmentation symbols specified in the parameter.
22648
+ * 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.
21427
22649
  */
21428
- includeChinese: boolean;
22650
+ noLineTerminatorEofMaxTime: number;
21429
22651
  }
21430
- interface GetIndexKeyValue {
22652
+ interface GetRuleUserDefineRuleField {
21431
22653
  /**
21432
- * Specify the field names for key-value indexing. Up to 100 fields can be added. Only letters, numbers, spaces, underscores (_), hyphens (-), and slashes (/) are supported, and field names cannot start or end with a space. Each key name must be unique within the same index. Length: 1–128 characters. For subfields in JSON-type key-value indexes, use a dot (.) to indicate the hierarchy between JSON fields. For example, if the JSON field 'namelist' contains a text-type subfield 'totalcount' and a JSON-type subfield 'info', and 'info' contains the field 'name', the field names should be configured as 'totalcount' and 'info.name' respectively.
22654
+ * Key.
21433
22655
  */
21434
22656
  key: string;
21435
22657
  /**
21436
- * Field description information required for configuring key-value indexes.
22658
+ * Value.
21437
22659
  */
21438
- value: outputs.tls.GetIndexKeyValueValue;
22660
+ val: string;
21439
22661
  }
21440
- interface GetIndexKeyValueValue {
22662
+ interface GetRuleUserDefineRuleParsePathRule {
21441
22663
  /**
21442
- * Indicates whether the index was added automatically. true: The index was added automatically. false: The index was not added automatically.
22664
+ * 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.
21443
22665
  */
21444
- autoIndexFlag: boolean;
22666
+ keys: string[];
21445
22667
  /**
21446
- * Whether to distinguish case. Default is false.
22668
+ * Sample collection path for actual scenarios. The sample collection path must be an absolute path. Wildcards *, ?, ** are not allowed in the path sample.
21447
22669
  */
21448
- caseSensitive: boolean;
22670
+ pathSample: string;
21449
22671
  /**
21450
- * Token separators for the field. Default is empty (""). Each character in the string represents a token separator. Length: 0–256 bytes. If the length is 0, segmentation is disabled. Only one or more of the following characters are supported: letters, numbers, and !@#%^&*()-_=\\"', <>/?|;:\ \r[]{}. . Supports configuring both Chinese characters and token separators simultaneously.
22672
+ * Regular expression used to extract the path field. Must match the sample collection path, otherwise extraction will fail
21451
22673
  */
21452
- delimiter: string;
22674
+ regex: string;
22675
+ }
22676
+ interface GetRuleUserDefineRulePlugin {
21453
22677
  /**
21454
- * When searching, determines whether to segment Chinese log content according to Chinese syntax. Enabled: Chinese characters in logs are segmented based on common Chinese syntax; custom segmentation for Chinese content is not supported. Non-Chinese characters in logs are segmented using the token separators specified in the parameter. Disabled: Logs are segmented using the token separators specified in the parameter.
22678
+ * LogCollector plugin. For the list of supported plugins and parameter descriptions, see LogCollector plugin overview.
21455
22679
  */
21456
- includeChinese: boolean;
22680
+ processors: string;
22681
+ }
22682
+ interface GetRuleUserDefineRuleShardHashKey {
21457
22683
  /**
21458
- * Create indexes for all fields with text values in the JSON field.
22684
+ * 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).
21459
22685
  */
21460
- indexAll: boolean;
22686
+ hashKey: string;
22687
+ }
22688
+ interface GetScheduleSqlTaskRequestCycle {
21461
22689
  /**
21462
- * Enable automatic indexing and statistics for JSON fields. true: Enable automatic indexing and statistics. false: Disable automatic indexing and statistics.
22690
+ * Cron expression, with a minimum granularity of minutes, using 24-hour format. For example, 0 18 * * * means execution at 18:00 every day.
21463
22691
  */
21464
- indexSqlAll: boolean;
22692
+ cronTab: string;
21465
22693
  /**
21466
- * When ValueType is json, you can configure key-value indexes for JSON subfields using the JsonKeys field, which is an array of KeyValueInfo. Each element in the JsonKeys list is a KeyValueInfo, and you can further nest text, long, and double type subfields. For subfields in JSON key-value indexes, use . to indicate the hierarchy between JSON fields. For example, the JSON field namelist contains a text-type subfield totalcount and a JSON-type info, which itself contains the field name. Each field name should be configured as totalcount and info.name, respectively. The SqlFlag setting for subfield key-value indexes defined in JsonKeys must match their parent field, meaning they must be enabled or disabled together. The default is disabled. Subfields do not support separate settings for Delimiter, CaseSensitive, or IncludeChinese. For text-type fields, CaseSensitive, Delimiter, and IncludeChinese always inherit the parent field settings. This is only set when ValueType is json.
22694
+ * If Type is set to Cron, you must also set the time zone.
21467
22695
  */
21468
- jsonKeys: outputs.tls.GetIndexKeyValueValueJsonKey[];
22696
+ cronTimeZone: string;
21469
22697
  /**
21470
- * Whether analysis is enabled for the field. Default is false. After enabling statistical analysis, you can configure token delimiters and whether to include Chinese content.
22698
+ * Scheduling period or the time point for periodic execution (minutes from 00:00). Range: 1–1440 minutes.
21471
22699
  */
21472
- sqlFlag: boolean;
22700
+ time: number;
21473
22701
  /**
21474
- * Field type. Currently supports long, double, text, and json. The long and double types do not support configuring delimiters, including Chinese, or case sensitivity. Only the json type supports further configuration of JsonKeys subfields.
22702
+ * Scheduling period type. Options: Period, Fixed, Cron.
21475
22703
  */
21476
- valueType: string;
22704
+ type: string;
21477
22705
  }
21478
- interface GetIndexKeyValueValueJsonKey {
22706
+ interface GetShipperContentInfo {
21479
22707
  /**
21480
- * Specify the field names for key-value indexing. Up to 100 fields can be added. Only letters, numbers, spaces, underscores (_), hyphens (-), and slashes (/) are supported, and field names cannot start or end with a space. Each key name must be unique within the same index. Length: 1–128 characters. For subfields in JSON-type key-value indexes, use a dot (.) to indicate the hierarchy between JSON fields. For example, if the JSON field 'namelist' contains a text-type subfield 'totalcount' and a JSON-type subfield 'info', and 'info' contains the field 'name', the field names should be configured as 'totalcount' and 'info.name' respectively.
22708
+ * CSV format log content configuration.
21481
22709
  */
21482
- key: string;
22710
+ csvInfo: outputs.tls.GetShipperContentInfoCsvInfo;
21483
22711
  /**
21484
- * Field description information required for configuring key-value indexes.
22712
+ * Log content parsing format. Delivery to TOS supports json, jsonl, csv; delivery to Kafka supports original, json.
21485
22713
  */
21486
- value: outputs.tls.GetIndexKeyValueValueJsonKeyValue;
22714
+ format: string;
22715
+ /**
22716
+ * JSON/JSONL format log content configuration.
22717
+ */
22718
+ jsonInfo: outputs.tls.GetShipperContentInfoJsonInfo;
21487
22719
  }
21488
- interface GetIndexKeyValueValueJsonKeyValue {
22720
+ interface GetShipperContentInfoCsvInfo {
21489
22721
  /**
21490
- * Indicates whether the index was added automatically. true: The index was added automatically. false: The index was not added automatically.
22722
+ * Delimiter. Supports comma, tab, pipe, semicolon, space.
21491
22723
  */
21492
- autoIndexFlag: boolean;
22724
+ delimiter: string;
21493
22725
  /**
21494
- * Whether to distinguish case. Default is false.
22726
+ * Escape character. When field content contains a delimiter, use an escape character to enclose it. Supports single quote, double quote, or empty character.
21495
22727
  */
21496
- caseSensitive: boolean;
22728
+ escapeChar: string;
21497
22729
  /**
21498
- * Token separators for the field. Default is empty (""). Each character in the string represents a token separator. Length: 0–256 bytes. If the length is 0, segmentation is disabled. Only one or more of the following characters are supported: letters, numbers, and !@#%^&*()-_=\\"', <>/?|;:\ \r[]{}. . Supports configuring both Chinese characters and token separators simultaneously.
22730
+ * Fields to be delivered. Supports letters, numbers, and _-./. Cannot start with an underscore. Length: 1–128.
21499
22731
  */
21500
- delimiter: string;
22732
+ keys: string[];
21501
22733
  /**
21502
- * When searching, determines whether to segment Chinese log content according to Chinese syntax. Enabled: Chinese characters in logs are segmented based on common Chinese syntax; custom segmentation for Chinese content is not supported. Non-Chinese characters in logs are segmented using the token separators specified in the parameter. Disabled: Logs are segmented using the token separators specified in the parameter.
22734
+ * Content for invalid field padding. Length: 0–128.
21503
22735
  */
21504
- includeChinese: boolean;
22736
+ nonFieldContent: string;
21505
22737
  /**
21506
- * Create indexes for all fields with text values in the JSON field.
22738
+ * Whether to print the key in the first row.
21507
22739
  */
21508
- indexAll: boolean;
22740
+ printHeader: boolean;
22741
+ }
22742
+ interface GetShipperContentInfoJsonInfo {
21509
22743
  /**
21510
- * Enable automatic indexing and statistics for JSON fields. true: Enable automatic indexing and statistics. false: Disable automatic indexing and statistics.
22744
+ * Enable flag.
21511
22745
  */
21512
- indexSqlAll: boolean;
22746
+ enable: boolean;
21513
22747
  /**
21514
- * Whether analysis is enabled for the field. Default is false. After enabling statistical analysis, you can configure token delimiters and whether to include Chinese content.
22748
+ * Whether to enable escaping. Must be set to true.
21515
22749
  */
21516
- sqlFlag: boolean;
22750
+ escape: boolean;
21517
22751
  /**
21518
- * Field type. Currently supports long, double, text, and json. The long and double types do not support configuring delimiters, including Chinese, or case sensitivity. Only the json type supports further configuration of JsonKeys subfields.
22752
+ * Delivery field list; if not configured, all fields will be delivered. When delivering in JSON/JSONL format, if this parameter is not set, all fields will be delivered, including **content** (required), **source**, **path**, **time**, **image_name**, **container_name**, **pod_name**, **pod_uid**, namespace, **tag****client_ip**, and **tag****receive_time**.
21519
22753
  */
21520
- valueType: string;
22754
+ keys: string[];
21521
22755
  }
21522
- interface GetIndexUserInnerKeyValue {
22756
+ interface GetShipperKafkaShipperInfo {
21523
22757
  /**
21524
- * Specify the field names for key-value indexing. Up to 100 fields can be added. Only letters, numbers, spaces, underscores (_), hyphens (-), and slashes (/) are supported, and field names cannot start or end with a space. Each key name must be unique within the same index. Length: 1–128 characters. For subfields in JSON-type key-value indexes, use a dot (.) to indicate the hierarchy between JSON fields. For example, if the JSON field 'namelist' contains a text-type subfield 'totalcount' and a JSON-type subfield 'info', and 'info' contains the field 'name', the field names should be configured as 'totalcount' and 'info.name' respectively.
22758
+ * Compression format; supports snappy, gzip, lz4, none.
21525
22759
  */
21526
- key: string;
22760
+ compress: string;
21527
22761
  /**
21528
- * Field description information required for configuring key-value indexes.
22762
+ * Delivery end time, in milliseconds. If not set, delivery continues indefinitely. Note: Milliseconds will be truncated. For example, if 1776761323455 is entered, it will become 1776761323000; if 1776761323 is entered, it will become 1776761323000.
21529
22763
  */
21530
- value: outputs.tls.GetIndexUserInnerKeyValueValue;
21531
- }
21532
- interface GetIndexUserInnerKeyValueValue {
22764
+ endTime: number;
21533
22765
  /**
21534
- * Indicates whether the index was added automatically. true: The index was added automatically. false: The index was not added automatically.
22766
+ * Kafka instance.
21535
22767
  */
21536
- autoIndexFlag: boolean;
22768
+ instance: string;
21537
22769
  /**
21538
- * Whether to distinguish case. Default is false.
22770
+ * Kafka topic name. All log data delivered through this configuration will be sent to this topic.
21539
22771
  */
21540
- caseSensitive: boolean;
22772
+ kafkaTopic: string;
21541
22773
  /**
21542
- * Token separators for the field. Default is empty (""). Each character in the string represents a token separator. Length: 0–256 bytes. If the length is 0, segmentation is disabled. Only one or more of the following characters are supported: letters, numbers, and !@#%^&*()-_=\\"', <>/?|;:\ \r[]{}. . Supports configuring both Chinese characters and token separators simultaneously.
22774
+ * Start time. If not configured, defaults to the current time. Note: Millisecond data will be ignored. For example, if 1776761323455 is entered, the result will be 1776761323000; if 1776761323 is entered, the result will be 1776761323000.
21543
22775
  */
21544
- delimiter: string;
22776
+ startTime: number;
22777
+ }
22778
+ interface GetShipperTosShipperInfo {
21545
22779
  /**
21546
- * When searching, determines whether to segment Chinese log content according to Chinese syntax. Enabled: Chinese characters in logs are segmented based on common Chinese syntax; custom segmentation for Chinese content is not supported. Non-Chinese characters in logs are segmented using the token separators specified in the parameter. Disabled: Logs are segmented using the token separators specified in the parameter.
22780
+ * Select a TOS bucket. Must be in the same region as the source log topic. Can only contain numbers, hyphens (-), and letters a–z. Must start and end with a number or letter. Length: 3–63 characters.
21547
22781
  */
21548
- includeChinese: boolean;
22782
+ bucket: string;
21549
22783
  /**
21550
- * Create indexes for all fields with text values in the JSON field.
22784
+ * Compression format; supports snappy, gzip, lz4, none.
21551
22785
  */
21552
- indexAll: boolean;
22786
+ compress: string;
21553
22787
  /**
21554
- * Enable automatic indexing and statistics for JSON fields. true: Enable automatic indexing and statistics. false: Disable automatic indexing and statistics.
22788
+ * Delivery interval in seconds, range: 300–900.
21555
22789
  */
21556
- indexSqlAll: boolean;
22790
+ interval: number;
21557
22791
  /**
21558
- * When ValueType is json, you can configure key-value indexes for JSON subfields using the JsonKeys field, which is an array of KeyValueInfo. Each element in the JsonKeys list is a KeyValueInfo, and you can further nest text, long, and double type subfields. For subfields in JSON key-value indexes, use . to indicate the hierarchy between JSON fields. For example, the JSON field namelist contains a text-type subfield totalcount and a JSON-type info, which itself contains the field name. Each field name should be configured as totalcount and info.name, respectively. The SqlFlag setting for subfield key-value indexes defined in JsonKeys must match their parent field, meaning they must be enabled or disabled together. The default is disabled. Subfields do not support separate settings for Delimiter, CaseSensitive, or IncludeChinese. For text-type fields, CaseSensitive, Delimiter, and IncludeChinese always inherit the parent field settings. This is only set when ValueType is json.
22792
+ * Maximum raw file size per partition for delivery, in MiB. Range: 5–256.
21559
22793
  */
21560
- jsonKeys: outputs.tls.GetIndexUserInnerKeyValueValueJsonKey[];
22794
+ maxSize: number;
21561
22795
  /**
21562
- * Whether analysis is enabled for the field. Default is false. After enabling statistical analysis, you can configure token delimiters and whether to include Chinese content.
22796
+ * Partition rule for log delivery. Subdirectory naming format supports strftime syntax. Default: %Y/%m/%d/%H/%M.
21563
22797
  */
21564
- sqlFlag: boolean;
22798
+ partitionFormat: string;
21565
22799
  /**
21566
- * Field type. Currently supports long, double, text, and json. The long and double types do not support configuring delimiters, including Chinese, or case sensitivity. Only the json type supports further configuration of JsonKeys subfields.
22800
+ * Top-level directory name for the bucket. Cannot start with / or \, and cannot use consecutive /. Cannot use .. as a folder name. Duplicate names are not allowed within the same bucket.
21567
22801
  */
21568
- valueType: string;
22802
+ prefix: string;
21569
22803
  }
21570
- interface GetIndexUserInnerKeyValueValueJsonKey {
22804
+ interface GetTopicTag {
21571
22805
  /**
21572
- * Specify the field names for key-value indexing. Up to 100 fields can be added. Only letters, numbers, spaces, underscores (_), hyphens (-), and slashes (/) are supported, and field names cannot start or end with a space. Each key name must be unique within the same index. Length: 1–128 characters. For subfields in JSON-type key-value indexes, use a dot (.) to indicate the hierarchy between JSON fields. For example, if the JSON field 'namelist' contains a text-type subfield 'totalcount' and a JSON-type subfield 'info', and 'info' contains the field 'name', the field names should be configured as 'totalcount' and 'info.name' respectively.
22806
+ * User tag key.
21573
22807
  */
21574
22808
  key: string;
21575
22809
  /**
21576
- * Field description information required for configuring key-value indexes.
22810
+ * User tag value.
21577
22811
  */
21578
- value: outputs.tls.GetIndexUserInnerKeyValueValueJsonKeyValue;
22812
+ value: string;
21579
22813
  }
21580
- interface GetIndexUserInnerKeyValueValueJsonKeyValue {
22814
+ interface HostGroupRule {
21581
22815
  /**
21582
- * Indicates whether the index was added automatically. true: The index was added automatically. false: The index was not added automatically.
21583
- */
21584
- autoIndexFlag: boolean;
21585
- /**
21586
- * Whether to distinguish case. Default is false.
22816
+ * Container collection rules
21587
22817
  */
21588
- caseSensitive: boolean;
22818
+ containerRule: outputs.tls.HostGroupRuleContainerRule;
21589
22819
  /**
21590
- * Token separators for the field. Default is empty (""). Each character in the string represents a token separator. Length: 0–256 bytes. If the length is 0, segmentation is disabled. Only one or more of the following characters are supported: letters, numbers, and !@#%^&*()-_=\\"', <>/?|;:\ \r[]{}. . Supports configuring both Chinese characters and token separators simultaneously.
22820
+ * Time when the collection configuration was created.
21591
22821
  */
21592
- delimiter: string;
22822
+ createTime: string;
22823
+ excludePaths: outputs.tls.HostGroupRuleExcludePath[];
21593
22824
  /**
21594
- * When searching, determines whether to segment Chinese log content according to Chinese syntax. Enabled: Chinese characters in logs are segmented based on common Chinese syntax; custom segmentation for Chinese content is not supported. Non-Chinese characters in logs are segmented using the token separators specified in the parameter. Disabled: Logs are segmented using the token separators specified in the parameter.
22825
+ * Extraction rules
21595
22826
  */
21596
- includeChinese: boolean;
22827
+ extractRule: outputs.tls.HostGroupRuleExtractRule;
21597
22828
  /**
21598
- * Create indexes for all fields with text values in the JSON field.
22829
+ * Collection type. 0: Host log file. 1: K8s container standard output. 2: Log file inside K8s container.
21599
22830
  */
21600
- indexAll: boolean;
22831
+ inputType: number;
21601
22832
  /**
21602
- * Enable automatic indexing and statistics for JSON fields. true: Enable automatic indexing and statistics. false: Disable automatic indexing and statistics.
22833
+ * Log sample.
21603
22834
  */
21604
- indexSqlAll: boolean;
22835
+ logSample: string;
21605
22836
  /**
21606
- * Whether analysis is enabled for the field. Default is false. After enabling statistical analysis, you can configure token delimiters and whether to include Chinese content.
22837
+ * Collection modes. minimalist*log: single-line full mode. json*log: JSON mode. delimiter*log: delimiter mode. multiline*log: multi-line full mode. fullregex_log: full regex mode.
21607
22838
  */
21608
- sqlFlag: boolean;
22839
+ logType: string;
21609
22840
  /**
21610
- * Field type. Currently supports long, double, text, and json. The long and double types do not support configuring delimiters, including Chinese, or case sensitivity. Only the json type supports further configuration of JsonKeys subfields.
22841
+ * Time when the collection configuration was modified.
21611
22842
  */
21612
- valueType: string;
21613
- }
21614
- interface GetProjectTag {
22843
+ modifyTime: string;
21615
22844
  /**
21616
- * Tag key
22845
+ * Data collection path list
21617
22846
  */
21618
- key: string;
22847
+ paths: string[];
21619
22848
  /**
21620
- * Tag value
22849
+ * Running status of the collection configuration. 0: Running. 1: Paused.
21621
22850
  */
21622
- value: string;
21623
- }
21624
- interface GetRuleContainerRule {
22851
+ pause: number;
21625
22852
  /**
21626
- * 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.
22853
+ * Collection configuration ID.
21627
22854
  */
21628
- containerNameRegex: string;
22855
+ ruleId: string;
21629
22856
  /**
21630
- * 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 **tag**data_source_*: DC
22857
+ * Name of the collection configuration.
21631
22858
  */
21632
- envTags: outputs.tls.GetRuleContainerRuleEnvTag[];
22859
+ ruleName: string;
21633
22860
  /**
21634
- * 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.
22861
+ * ID of the log topic to which the collection configuration belongs.
21635
22862
  */
21636
- excludeContainerEnvRegexes: outputs.tls.GetRuleContainerRuleExcludeContainerEnvRegex[];
22863
+ topicId: string;
21637
22864
  /**
21638
- * 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.
22865
+ * Name of the log topic associated with the collection configuration
21639
22866
  */
21640
- excludeContainerLabelRegexes: outputs.tls.GetRuleContainerRuleExcludeContainerLabelRegex[];
22867
+ topicName: string;
21641
22868
  /**
21642
- * 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.
22869
+ * User-defined collection rules.
21643
22870
  */
21644
- includeContainerEnvRegexes: outputs.tls.GetRuleContainerRuleIncludeContainerEnvRegex[];
22871
+ userDefineRule: outputs.tls.HostGroupRuleUserDefineRule;
22872
+ }
22873
+ interface HostGroupRuleContainerRule {
21645
22874
  /**
21646
- * 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.
22875
+ * Container name to collect. If no container name is specified, all containers in the machine group are collected. Supports regular expressions. For example, setting the container name to ^(container-test)$ collects all containers named container-test.
21647
22876
  */
21648
- includeContainerLabelRegexes: outputs.tls.GetRuleContainerRuleIncludeContainerLabelRegex[];
22877
+ containerNameRegex: string;
22878
+ envTags: outputs.tls.HostGroupRuleContainerRuleEnvTag[];
22879
+ excludeContainerEnvRegexes: outputs.tls.HostGroupRuleContainerRuleExcludeContainerEnvRegex[];
22880
+ excludeContainerLabelRegexes: outputs.tls.HostGroupRuleContainerRuleExcludeContainerLabelRegex[];
22881
+ includeContainerEnvRegexes: outputs.tls.HostGroupRuleContainerRuleIncludeContainerEnvRegex[];
22882
+ includeContainerLabelRegexes: outputs.tls.HostGroupRuleContainerRuleIncludeContainerLabelRegex[];
21649
22883
  /**
21650
22884
  * Kubernetes container collection rules.
21651
22885
  */
21652
- kubernetesRule: outputs.tls.GetRuleContainerRuleKubernetesRule;
22886
+ kubernetesRule: outputs.tls.HostGroupRuleContainerRuleKubernetesRule;
21653
22887
  /**
21654
- * 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).
22888
+ * Collection information. stdout: Container standard output (stdout). stderr: Container standard error (stderr). all: Both container standard output (stdout) and standard error (stderr).
21655
22889
  */
21656
22890
  stream: string;
21657
22891
  }
21658
- interface GetRuleContainerRuleEnvTag {
22892
+ interface HostGroupRuleContainerRuleEnvTag {
21659
22893
  /**
21660
22894
  * Key.
21661
22895
  */
@@ -21665,7 +22899,7 @@ export declare namespace tls {
21665
22899
  */
21666
22900
  val: string;
21667
22901
  }
21668
- interface GetRuleContainerRuleExcludeContainerEnvRegex {
22902
+ interface HostGroupRuleContainerRuleExcludeContainerEnvRegex {
21669
22903
  /**
21670
22904
  * Key.
21671
22905
  */
@@ -21675,7 +22909,7 @@ export declare namespace tls {
21675
22909
  */
21676
22910
  val: string;
21677
22911
  }
21678
- interface GetRuleContainerRuleExcludeContainerLabelRegex {
22912
+ interface HostGroupRuleContainerRuleExcludeContainerLabelRegex {
21679
22913
  /**
21680
22914
  * Key.
21681
22915
  */
@@ -21685,7 +22919,7 @@ export declare namespace tls {
21685
22919
  */
21686
22920
  val: string;
21687
22921
  }
21688
- interface GetRuleContainerRuleIncludeContainerEnvRegex {
22922
+ interface HostGroupRuleContainerRuleIncludeContainerEnvRegex {
21689
22923
  /**
21690
22924
  * Key.
21691
22925
  */
@@ -21695,7 +22929,7 @@ export declare namespace tls {
21695
22929
  */
21696
22930
  val: string;
21697
22931
  }
21698
- interface GetRuleContainerRuleIncludeContainerLabelRegex {
22932
+ interface HostGroupRuleContainerRuleIncludeContainerLabelRegex {
21699
22933
  /**
21700
22934
  * Key.
21701
22935
  */
@@ -21705,41 +22939,23 @@ export declare namespace tls {
21705
22939
  */
21706
22940
  val: string;
21707
22941
  }
21708
- interface GetRuleContainerRuleKubernetesRule {
21709
- /**
21710
- * 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 **tag**data_sink_*: ck will be added to the log.
21711
- */
21712
- annotationTags: outputs.tls.GetRuleContainerRuleKubernetesRuleAnnotationTag[];
22942
+ interface HostGroupRuleContainerRuleKubernetesRule {
22943
+ annotationTags: outputs.tls.HostGroupRuleContainerRuleKubernetesRuleAnnotationTag[];
21713
22944
  /**
21714
- * 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 **tag**source__: DC and **tag**destination__: CS.
22945
+ * Whether to add all Kubernetes Labels as log tags to the raw log data. When enabled, the log service adds fields for all Labels in the Kubernetes Pod to the log. For example, if the Pod has Label source=DC and destination=CS, the log will include fields **tag**source__: DC and **tag**destination__: CS.
21715
22946
  */
21716
22947
  enableAllLabelTag: boolean;
22948
+ excludePodAnnotationRegexes: outputs.tls.HostGroupRuleContainerRuleKubernetesRuleExcludePodAnnotationRegex[];
22949
+ excludePodLabelRegexes: outputs.tls.HostGroupRuleContainerRuleKubernetesRuleExcludePodLabelRegex[];
22950
+ includePodAnnotationRegexes: outputs.tls.HostGroupRuleContainerRuleKubernetesRuleIncludePodAnnotationRegex[];
22951
+ includePodLabelRegexes: outputs.tls.HostGroupRuleContainerRuleKubernetesRuleIncludePodLabelRegex[];
22952
+ labelTags: outputs.tls.HostGroupRuleContainerRuleKubernetesRuleLabelTag[];
21717
22953
  /**
21718
- * 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
21719
- */
21720
- excludePodAnnotationRegexes: outputs.tls.GetRuleContainerRuleKubernetesRuleExcludePodAnnotationRegex[];
21721
- /**
21722
- * 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
21723
- */
21724
- excludePodLabelRegexes: outputs.tls.GetRuleContainerRuleKubernetesRuleExcludePodLabelRegex[];
21725
- /**
21726
- * 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.
21727
- */
21728
- includePodAnnotationRegexes: outputs.tls.GetRuleContainerRuleKubernetesRuleIncludePodAnnotationRegex[];
21729
- /**
21730
- * 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.
21731
- */
21732
- includePodLabelRegexes: outputs.tls.GetRuleContainerRuleKubernetesRuleIncludePodLabelRegex[];
21733
- /**
21734
- * 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 **tag**data_source_*: DC.
21735
- */
21736
- labelTags: outputs.tls.GetRuleContainerRuleKubernetesRuleLabelTag[];
21737
- /**
21738
- * 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.
22954
+ * Name of the Kubernetes Namespace to be collected. If not specified, all containers are collected. Namespace names support regular expression matching. For example, setting the Namespace name to ^(tcp|udp)$ collects all containers under the tcp and udp namespaces.
21739
22955
  */
21740
22956
  namespaceNameRegex: string;
21741
22957
  /**
21742
- * 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.
22958
+ * Pod name is used to specify the Pod(s) to be collected. If the Pod name is not specified, all containers are collected. Pod name supports regex matching. For example, setting the Pod name to ^(http.*)$ collects all containers under Pods whose names start with http.
21743
22959
  */
21744
22960
  podNameRegex: string;
21745
22961
  /**
@@ -21747,11 +22963,11 @@ export declare namespace tls {
21747
22963
  */
21748
22964
  workloadNameRegex: string;
21749
22965
  /**
21750
- * 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
22966
+ * Specify containers 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 are: Deployment: stateless workload StatefulSet: stateful workload DaemonSet: daemon process Job: job CronJob: scheduled job
21751
22967
  */
21752
22968
  workloadType: string;
21753
22969
  }
21754
- interface GetRuleContainerRuleKubernetesRuleAnnotationTag {
22970
+ interface HostGroupRuleContainerRuleKubernetesRuleAnnotationTag {
21755
22971
  /**
21756
22972
  * Key.
21757
22973
  */
@@ -21761,7 +22977,7 @@ export declare namespace tls {
21761
22977
  */
21762
22978
  val: string;
21763
22979
  }
21764
- interface GetRuleContainerRuleKubernetesRuleExcludePodAnnotationRegex {
22980
+ interface HostGroupRuleContainerRuleKubernetesRuleExcludePodAnnotationRegex {
21765
22981
  /**
21766
22982
  * Key.
21767
22983
  */
@@ -21771,7 +22987,7 @@ export declare namespace tls {
21771
22987
  */
21772
22988
  val: string;
21773
22989
  }
21774
- interface GetRuleContainerRuleKubernetesRuleExcludePodLabelRegex {
22990
+ interface HostGroupRuleContainerRuleKubernetesRuleExcludePodLabelRegex {
21775
22991
  /**
21776
22992
  * Key.
21777
22993
  */
@@ -21781,7 +22997,7 @@ export declare namespace tls {
21781
22997
  */
21782
22998
  val: string;
21783
22999
  }
21784
- interface GetRuleContainerRuleKubernetesRuleIncludePodAnnotationRegex {
23000
+ interface HostGroupRuleContainerRuleKubernetesRuleIncludePodAnnotationRegex {
21785
23001
  /**
21786
23002
  * Key.
21787
23003
  */
@@ -21791,7 +23007,7 @@ export declare namespace tls {
21791
23007
  */
21792
23008
  val: string;
21793
23009
  }
21794
- interface GetRuleContainerRuleKubernetesRuleIncludePodLabelRegex {
23010
+ interface HostGroupRuleContainerRuleKubernetesRuleIncludePodLabelRegex {
21795
23011
  /**
21796
23012
  * Key.
21797
23013
  */
@@ -21801,7 +23017,7 @@ export declare namespace tls {
21801
23017
  */
21802
23018
  val: string;
21803
23019
  }
21804
- interface GetRuleContainerRuleKubernetesRuleLabelTag {
23020
+ interface HostGroupRuleContainerRuleKubernetesRuleLabelTag {
21805
23021
  /**
21806
23022
  * Key.
21807
23023
  */
@@ -21811,9 +23027,9 @@ export declare namespace tls {
21811
23027
  */
21812
23028
  val: string;
21813
23029
  }
21814
- interface GetRuleExcludePath {
23030
+ interface HostGroupRuleExcludePath {
21815
23031
  /**
21816
- * Collection path type. File: File name. Path: Directory.
23032
+ * Collection path type. File: file name. Path: directory.
21817
23033
  */
21818
23034
  type: string;
21819
23035
  /**
@@ -21821,9 +23037,9 @@ export declare namespace tls {
21821
23037
  */
21822
23038
  value: string;
21823
23039
  }
21824
- interface GetRuleExtractRule {
23040
+ interface HostGroupRuleExtractRule {
21825
23041
  /**
21826
- * Regular expression that the first line of the log must match. Valid only when LogType is multiline*log or fullregex*log. Must be a valid regular expression.
23042
+ * The regex pattern required to match the first line of the log. This is valid only when LogType is multiline*log or fullregex*log. The pattern must be a valid regular expression.
21827
23043
  */
21828
23044
  beginRegex: string;
21829
23045
  /**
@@ -21831,59 +23047,56 @@ export declare namespace tls {
21831
23047
  */
21832
23048
  delimiter: string;
21833
23049
  /**
21834
- * 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.
23050
+ * Enable nanosecond precision time. When enabled, log time parsing will report time with nanosecond precision. true: Enable nanosecond precision time. false: Disable nanosecond precision time.
21835
23051
  */
21836
23052
  enableNanosecond: boolean;
23053
+ filterKeyRegexes: outputs.tls.HostGroupRuleExtractRuleFilterKeyRegex[];
21837
23054
  /**
21838
- * Filter rule list. When LogType is minimalist*log or multiline*log, you can configure up to 1 filter rule, and the filter field name key must be content. When LogType is delimiter*log, json*log, 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.
21839
- */
21840
- filterKeyRegexes: outputs.tls.GetRuleExtractRuleFilterKeyRegex[];
21841
- /**
21842
- * List of log field names (Key). This is only valid when LogType is delimiter*log or fullregex*log. You can configure up to 100 field names. When LogType is delimiter*log, field names must be unique and cannot all be empty. When LogType is fullregex*log, field names must be unique and cannot be empty.
23055
+ * List of log field names (Keys).
21843
23056
  */
21844
23057
  keys: string[];
21845
23058
  /**
21846
- * 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.
23059
+ * The entire log entry must match the regular expression. This is only valid when the log type is fullregex_log. The regular expression must be valid.
21847
23060
  */
21848
23061
  logRegex: string;
21849
23062
  /**
21850
- * Automatically extract log fields based on the specified log template
23063
+ * Automatically extract log fields based on the specified log template.
21851
23064
  */
21852
- logTemplate: outputs.tls.GetRuleExtractRuleLogTemplate;
23065
+ logTemplate: outputs.tls.HostGroupRuleExtractRuleLogTemplate;
21853
23066
  /**
21854
- * 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.
23067
+ * Quotation mark. Content enclosed by quotation marks is parsed as a complete field and not separated. Only valid when LogType is delimiter_log.
21855
23068
  */
21856
23069
  quote: string;
21857
23070
  /**
21858
- * Regular expression for extracting time, used to extract the time value from the TimeKey field and parse it as the collection time
23071
+ * Regular expression for extracting time, used to extract the time value from the TimeKey field and parse it as the collection time.
21859
23072
  */
21860
23073
  timeExtractRegex: string;
21861
23074
  /**
21862
- * 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.
23075
+ * Parsing format for the time field. If a specified time field in the log is used as the log timestamp, you must provide TimeKey and TimeFormat.
21863
23076
  */
21864
23077
  timeFormat: string;
21865
23078
  /**
21866
- * 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.
23079
+ * Field name for the log time field. If a specified time field in the log is used as the log timestamp, you must provide TimeKey and TimeFormat.
21867
23080
  */
21868
23081
  timeKey: string;
21869
23082
  /**
21870
- * Time sample. Used to check whether the entered time parsing format is correct.
23083
+ * Sample time. Used to verify whether the specified time parsing format is correct.
21871
23084
  */
21872
23085
  timeSample: string;
21873
23086
  /**
21874
- * 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.
23087
+ * Time zone. Supports machine time zone (default) and custom time zone. Custom time zone supports GMT and UTC.
21875
23088
  */
21876
23089
  timeZone: string;
21877
23090
  /**
21878
- * Key name for unmatched logs.
23091
+ * Key name for logs that failed to parse when uploading
21879
23092
  */
21880
23093
  unMatchLogKey: string;
21881
23094
  /**
21882
- * Switch for uploading unmatched logs.
23095
+ * Upload logs that failed to parse. UnMatchUpLoadSwitch=true and UnMatchLogKey must be used together. true: Upload logs that failed to parse. false: Do not upload logs that failed to parse.
21883
23096
  */
21884
23097
  unMatchUpLoadSwitch: boolean;
21885
23098
  }
21886
- interface GetRuleExtractRuleFilterKeyRegex {
23099
+ interface HostGroupRuleExtractRuleFilterKeyRegex {
21887
23100
  /**
21888
23101
  * Name of the filter field.
21889
23102
  */
@@ -21893,171 +23106,102 @@ export declare namespace tls {
21893
23106
  */
21894
23107
  regex: string;
21895
23108
  }
21896
- interface GetRuleExtractRuleLogTemplate {
23109
+ interface HostGroupRuleExtractRuleLogTemplate {
21897
23110
  /**
21898
- * Log template format.
23111
+ * Log template format
21899
23112
  */
21900
23113
  format: string;
21901
23114
  /**
21902
- * Log template types. Supported types: Nginx: Nginx log template.
23115
+ * Log template type. Supported types: Nginx (Nginx log template type).
21903
23116
  */
21904
23117
  type: string;
21905
23118
  }
21906
- interface GetRuleHostGroupInfo {
21907
- /**
21908
- * Number of hosts with heartbeat exceptions.
21909
- */
21910
- abnormalHeartbeatStatusCount: number;
21911
- /**
21912
- * Latest agent version.
21913
- */
21914
- agentLatestVersion: string;
21915
- /**
21916
- * Whether LogCollector installed on the machine group server has automatic upgrade enabled. true: The log service will check for upgrades during a specified time period each day. If upgrade conditions are met, LogCollector will be upgraded automatically without manual intervention. false (default): LogCollector does not upgrade automatically. To use a newer version of LogCollector, refer to the LogCollector upgrade procedure.
21917
- */
21918
- autoUpdate: boolean;
21919
- /**
21920
- * Machine group creation time.
21921
- */
21922
- createTime: string;
21923
- /**
21924
- * Number of hosts.
21925
- */
21926
- hostCount: number;
21927
- /**
21928
- * Machine group ID
21929
- */
21930
- hostGroupId: string;
21931
- /**
21932
- * Name of the machine group.
21933
- */
21934
- hostGroupName: string;
21935
- /**
21936
- * Machine group type. IP: Machine IP. Label: Machine label.
21937
- */
21938
- hostGroupType: string;
21939
- /**
21940
- * Machine identifier.
21941
- */
21942
- hostIdentifier: string;
21943
- /**
21944
- * The IAM project to which the host group belongs.
21945
- */
21946
- iamProjectName: string;
21947
- /**
21948
- * Time when the machine group was modified.
21949
- */
21950
- modifyTime: string;
21951
- /**
21952
- * Number of hosts with normal heartbeat.
21953
- */
21954
- normalHeartbeatStatusCount: number;
21955
- /**
21956
- * The number of bound collection configurations.
21957
- */
21958
- ruleCount: number;
21959
- /**
21960
- * Whether to enable the Logcollector service log feature. true: enabled. false (default): disabled.
21961
- */
21962
- serviceLogging: boolean;
21963
- /**
21964
- * End time for LogCollector automatic upgrade.
21965
- */
21966
- updateEndTime: string;
21967
- /**
21968
- * LogCollector auto-update start time. Note: Only required when AutoUpdate is set to true. It is recommended to schedule auto-updates during off-peak hours. LogCollector may restart during the update process, but logs will not be lost.
21969
- */
21970
- updateStartTime: string;
21971
- }
21972
- interface GetRuleUserDefineRule {
23119
+ interface HostGroupRuleUserDefineRule {
21973
23120
  /**
21974
- * 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.
23121
+ * Advanced parameters are 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 conditions for releasing handles are specified, the handle will be released and log file monitoring will end as soon as any condition is met.
21975
23122
  */
21976
- advanced: outputs.tls.GetRuleUserDefineRuleAdvanced;
23123
+ advanced: outputs.tls.HostGroupRuleUserDefineRuleAdvanced;
21977
23124
  /**
21978
- * 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.
23125
+ * Whether to upload the Label information of the host group to the log service. Disabled by default. 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): LogCollector does not upload the Label information of the host group.
21979
23126
  */
21980
23127
  enableHostGroupLabel: boolean;
21981
23128
  /**
21982
- * 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.
23129
+ * Whether to upload the hostname field. Default is disabled. true: Adds a field to the original log to record the log source's hostname. Specify the hostname field name using HostnameKey. false (default): Does not add the hostname field.
21983
23130
  */
21984
23131
  enableHostname: boolean;
21985
23132
  /**
21986
- * Upload raw logs. true: Upload raw logs. false (default): Do not upload raw logs.
23133
+ * Whether to upload raw logs. true: Upload raw logs. false (default): Do not upload raw logs.
21987
23134
  */
21988
23135
  enableRawLog: boolean;
23136
+ fields: outputs.tls.HostGroupRuleUserDefineRuleField[];
21989
23137
  /**
21990
- * 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.
21991
- */
21992
- fields: outputs.tls.GetRuleUserDefineRuleField[];
21993
- /**
21994
- * Field name used to store machine group label information
23138
+ * Field name used to store machine group label information.
21995
23139
  */
21996
23140
  hostGroupLabelKey: string;
21997
23141
  /**
21998
- * Hostname field name. Required only when EnableHostname is true.
23142
+ * hostname field name. Only required when EnableHostname is set to true.
21999
23143
  */
22000
23144
  hostnameKey: string;
22001
23145
  /**
22002
- * Ignore log files that have not been updated for a specified period (in hours).
23146
+ * Ignore log files that have not been updated for a specified duration, in hours.
22003
23147
  */
22004
23148
  ignoreOlder: number;
22005
23149
  /**
22006
- * 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.
23150
+ * Allows multiple log file collections. Empty: Uses the log file ID (including file inode, device, and checksum of the first N bytes) to uniquely identify the log file. RuleID: Uses the collection rule ID and log file ID to uniquely identify the log file. TopicIDRuleName: Uses the log topic ID, collection rule Name, and log file ID to uniquely identify the log file.
22007
23151
  */
22008
23152
  multiCollectsType: string;
22009
23153
  /**
22010
- * 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.
23154
+ * Rules for parsing the collection path. After setting the rule, fields in the collection path are extracted using the specified regex and added as metadata to the log data. Note: This parameter is not supported when collecting container standard output.
22011
23155
  */
22012
- parsePathRule: outputs.tls.GetRuleUserDefineRuleParsePathRule;
23156
+ parsePathRule: outputs.tls.HostGroupRuleUserDefineRuleParsePathRule;
22013
23157
  /**
22014
23158
  * LogCollector plugin configuration. After enabling plugin configuration, you can add one or more LogCollector processor plugins to parse logs with complex or variable structures.
22015
23159
  */
22016
- plugin: outputs.tls.GetRuleUserDefineRulePlugin;
23160
+ plugin: outputs.tls.HostGroupRuleUserDefineRulePlugin;
22017
23161
  /**
22018
- * 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.
23162
+ * Original log field name. 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 together with the parsed log data
22019
23163
  */
22020
23164
  rawLogKey: string;
22021
23165
  /**
22022
- * 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
23166
+ * 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 set, logs are collected using the HashKey routing Shard mode, and the log service writes data to the Shard containing the specified Key value.
22023
23167
  */
22024
- shardHashKey: outputs.tls.GetRuleUserDefineRuleShardHashKey;
23168
+ shardHashKey: outputs.tls.HostGroupRuleUserDefineRuleShardHashKey;
22025
23169
  /**
22026
- * 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.
23170
+ * LogCollector collection strategy, specifying whether LogCollector collects incremental logs or full logs. The default is false, which means full log collection. true: incremental collection. When LogCollector collects logs, it only collects newly added content in the file. When a monitored log file receives new log entries, LogCollector is triggered to collect logs. For log files being collected for the first time, 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 new 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, meaning only incremental logs are collected. For log files that are not being collected for the first time, LogCollector determines the collection position based on the Checkpoint and continues collecting. false: (default) full collection. LogCollector collects logs from the beginning of each file, including historical log data.
22027
23171
  */
22028
23172
  tailFiles: boolean;
22029
23173
  /**
22030
- * 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.
23174
+ * Incremental collection backtracking threshold, 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 TailSizeKb from the end of the file.
22031
23175
  */
22032
23176
  tailSizeKb: number;
22033
23177
  }
22034
- interface GetRuleUserDefineRuleAdvanced {
23178
+ interface HostGroupRuleUserDefineRuleAdvanced {
22035
23179
  /**
22036
- * After reading to the end of the log file, choose whether to release the file handle. Default is false.
23180
+ * After reading to the end of the log file, whether to release the file handle. Default is false.
22037
23181
  */
22038
23182
  closeEof: boolean;
22039
23183
  /**
22040
- * 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.
23184
+ * Wait time before releasing log file handles. If no new logs are written to a log file for the specified duration, the handle for that log file is released. Unit: seconds. Range: 1–300 seconds. Default: 60 seconds.
22041
23185
  */
22042
23186
  closeInactive: number;
22043
23187
  /**
22044
- * Release the file handle after the log file is removed. Default is false.
23188
+ * Whether to release the handle of the log file after it is removed. Default is false.
22045
23189
  */
22046
23190
  closeRemoved: boolean;
22047
23191
  /**
22048
- * Release the file handle after the log file is renamed. Default is false.
23192
+ * Whether to release the handle of the log file after it is renamed. Default is false.
22049
23193
  */
22050
23194
  closeRenamed: boolean;
22051
23195
  /**
22052
- * 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.
23196
+ * Maximum duration for LogCollector to monitor log files, in seconds. The default is 0 seconds, meaning LogCollector does not limit the monitoring duration. Timing starts when LogCollector begins monitoring the log file. After the specified duration is exceeded, regardless of whether the log file has been fully read, LogCollector immediately releases the file handle and stops monitoring.
22053
23197
  */
22054
23198
  closeTimeout: number;
22055
23199
  /**
22056
- * 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.
23200
+ * Maximum wait time when LogCollector does not read a line break. Unit: seconds. Default: 5s. LogCollector starts timing when it begins reading log file content. If no line break is read within the specified time, it will send the buffered logs. If the file write interval is large, a complete log entry may be split into two parts and written separately. Adjust this parameter based on your log write interval.
22057
23201
  */
22058
23202
  noLineTerminatorEofMaxTime: number;
22059
23203
  }
22060
- interface GetRuleUserDefineRuleField {
23204
+ interface HostGroupRuleUserDefineRuleField {
22061
23205
  /**
22062
23206
  * Key.
22063
23207
  */
@@ -22067,158 +23211,32 @@ export declare namespace tls {
22067
23211
  */
22068
23212
  val: string;
22069
23213
  }
22070
- interface GetRuleUserDefineRuleParsePathRule {
23214
+ interface HostGroupRuleUserDefineRuleParsePathRule {
22071
23215
  /**
22072
- * 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.
23216
+ * List of field names. Log Service parses PathSample into multiple fields using regular expressions (Regex). Keys specify the name of each field. You can configure up to 100 field names. Field names cannot be empty or duplicated.
22073
23217
  */
22074
23218
  keys: string[];
22075
23219
  /**
22076
- * Sample collection path for actual scenarios. The sample collection path must be an absolute path. Wildcards *, ?, ** are not allowed in the path sample.
23220
+ * Sample collection path for actual scenarios. The sample path must be an absolute path. Wildcards *, ?, ** are not allowed in the sample path.
22077
23221
  */
22078
23222
  pathSample: string;
22079
23223
  /**
22080
- * Regular expression used to extract the path field. Must match the sample collection path, otherwise extraction will fail
23224
+ * Regular expression used to extract the path field. It must match the example collection path; otherwise, extraction will fail.
22081
23225
  */
22082
23226
  regex: string;
22083
23227
  }
22084
- interface GetRuleUserDefineRulePlugin {
23228
+ interface HostGroupRuleUserDefineRulePlugin {
22085
23229
  /**
22086
- * LogCollector plugin. For the list of supported plugins and parameter descriptions, see LogCollector plugin overview.
23230
+ * LogCollector plugins. For supported plugin lists and parameter descriptions, see LogCollector plugin overview.
22087
23231
  */
22088
23232
  processors: string;
22089
23233
  }
22090
- interface GetRuleUserDefineRuleShardHashKey {
23234
+ interface HostGroupRuleUserDefineRuleShardHashKey {
22091
23235
  /**
22092
- * 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).
23236
+ * The HashKey of the log group specifies the shard where the current log group will be written. The valid range for this parameter is [00000000000000000000000000000000-ffffffffffffffffffffffffffffffff).
22093
23237
  */
22094
23238
  hashKey: string;
22095
23239
  }
22096
- interface GetScheduleSqlTaskRequestCycle {
22097
- /**
22098
- * Cron expression, with a minimum granularity of minutes, using 24-hour format. For example, 0 18 * * * means execution at 18:00 every day.
22099
- */
22100
- cronTab: string;
22101
- /**
22102
- * If Type is set to Cron, you must also set the time zone.
22103
- */
22104
- cronTimeZone: string;
22105
- /**
22106
- * Scheduling period or the time point for periodic execution (minutes from 00:00). Range: 1–1440 minutes.
22107
- */
22108
- time: number;
22109
- /**
22110
- * Scheduling period type. Options: Period, Fixed, Cron.
22111
- */
22112
- type: string;
22113
- }
22114
- interface GetShipperContentInfo {
22115
- /**
22116
- * CSV format log content configuration.
22117
- */
22118
- csvInfo: outputs.tls.GetShipperContentInfoCsvInfo;
22119
- /**
22120
- * Log content parsing format. Delivery to TOS supports json, jsonl, csv; delivery to Kafka supports original, json.
22121
- */
22122
- format: string;
22123
- /**
22124
- * JSON/JSONL format log content configuration.
22125
- */
22126
- jsonInfo: outputs.tls.GetShipperContentInfoJsonInfo;
22127
- }
22128
- interface GetShipperContentInfoCsvInfo {
22129
- /**
22130
- * Delimiter. Supports comma, tab, pipe, semicolon, space.
22131
- */
22132
- delimiter: string;
22133
- /**
22134
- * Escape character. When field content contains a delimiter, use an escape character to enclose it. Supports single quote, double quote, or empty character.
22135
- */
22136
- escapeChar: string;
22137
- /**
22138
- * Fields to be delivered. Supports letters, numbers, and _-./. Cannot start with an underscore. Length: 1–128.
22139
- */
22140
- keys: string[];
22141
- /**
22142
- * Content for invalid field padding. Length: 0–128.
22143
- */
22144
- nonFieldContent: string;
22145
- /**
22146
- * Whether to print the key in the first row.
22147
- */
22148
- printHeader: boolean;
22149
- }
22150
- interface GetShipperContentInfoJsonInfo {
22151
- /**
22152
- * Enable flag.
22153
- */
22154
- enable: boolean;
22155
- /**
22156
- * Whether to enable escaping. Must be set to true.
22157
- */
22158
- escape: boolean;
22159
- /**
22160
- * Delivery field list; if not configured, all fields will be delivered. When delivering in JSON/JSONL format, if this parameter is not set, all fields will be delivered, including **content** (required), **source**, **path**, **time**, **image_name**, **container_name**, **pod_name**, **pod_uid**, namespace, **tag****client_ip**, and **tag****receive_time**.
22161
- */
22162
- keys: string[];
22163
- }
22164
- interface GetShipperKafkaShipperInfo {
22165
- /**
22166
- * Compression format; supports snappy, gzip, lz4, none.
22167
- */
22168
- compress: string;
22169
- /**
22170
- * Delivery end time, in milliseconds. If not set, delivery continues indefinitely. Note: Milliseconds will be truncated. For example, if 1776761323455 is entered, it will become 1776761323000; if 1776761323 is entered, it will become 1776761323000.
22171
- */
22172
- endTime: number;
22173
- /**
22174
- * Kafka instance.
22175
- */
22176
- instance: string;
22177
- /**
22178
- * Kafka topic name. All log data delivered through this configuration will be sent to this topic.
22179
- */
22180
- kafkaTopic: string;
22181
- /**
22182
- * Start time. If not configured, defaults to the current time. Note: Millisecond data will be ignored. For example, if 1776761323455 is entered, the result will be 1776761323000; if 1776761323 is entered, the result will be 1776761323000.
22183
- */
22184
- startTime: number;
22185
- }
22186
- interface GetShipperTosShipperInfo {
22187
- /**
22188
- * Select a TOS bucket. Must be in the same region as the source log topic. Can only contain numbers, hyphens (-), and letters a–z. Must start and end with a number or letter. Length: 3–63 characters.
22189
- */
22190
- bucket: string;
22191
- /**
22192
- * Compression format; supports snappy, gzip, lz4, none.
22193
- */
22194
- compress: string;
22195
- /**
22196
- * Delivery interval in seconds, range: 300–900.
22197
- */
22198
- interval: number;
22199
- /**
22200
- * Maximum raw file size per partition for delivery, in MiB. Range: 5–256.
22201
- */
22202
- maxSize: number;
22203
- /**
22204
- * Partition rule for log delivery. Subdirectory naming format supports strftime syntax. Default: %Y/%m/%d/%H/%M.
22205
- */
22206
- partitionFormat: string;
22207
- /**
22208
- * Top-level directory name for the bucket. Cannot start with / or \, and cannot use consecutive /. Cannot use .. as a folder name. Duplicate names are not allowed within the same bucket.
22209
- */
22210
- prefix: string;
22211
- }
22212
- interface GetTopicTag {
22213
- /**
22214
- * User tag key.
22215
- */
22216
- key: string;
22217
- /**
22218
- * User tag value.
22219
- */
22220
- value: string;
22221
- }
22222
23240
  interface ImportTaskImportSourceInfo {
22223
23241
  /**
22224
23242
  * Kafka data source information. When sourceType is kafka, the KafkaSourceInfo field is required