@volcengine/pulumi-volcenginecc 0.0.42 → 0.0.44

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 (253) 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/backup.d.ts +90 -0
  26. package/dns/backup.js +76 -0
  27. package/dns/backup.js.map +1 -0
  28. package/dns/backupSchedule.d.ts +89 -0
  29. package/dns/backupSchedule.js +80 -0
  30. package/dns/backupSchedule.js.map +1 -0
  31. package/dns/getBackup.d.ts +52 -0
  32. package/dns/getBackup.js +28 -0
  33. package/dns/getBackup.js.map +1 -0
  34. package/dns/getBackupSchedule.d.ts +48 -0
  35. package/dns/getBackupSchedule.js +28 -0
  36. package/dns/getBackupSchedule.js.map +1 -0
  37. package/dns/getBackupSchedules.d.ts +22 -0
  38. package/dns/getBackupSchedules.js +24 -0
  39. package/dns/getBackupSchedules.js.map +1 -0
  40. package/dns/getBackups.d.ts +22 -0
  41. package/dns/getBackups.js +24 -0
  42. package/dns/getBackups.js.map +1 -0
  43. package/dns/index.d.ts +18 -0
  44. package/dns/index.js +23 -1
  45. package/dns/index.js.map +1 -1
  46. package/gtm/getPolicies.d.ts +22 -0
  47. package/gtm/getPolicies.js +24 -0
  48. package/gtm/getPolicies.js.map +1 -0
  49. package/gtm/getPolicy.d.ts +65 -0
  50. package/gtm/getPolicy.js +28 -0
  51. package/gtm/getPolicy.js.map +1 -0
  52. package/gtm/index.d.ts +9 -0
  53. package/gtm/index.js +12 -1
  54. package/gtm/index.js.map +1 -1
  55. package/gtm/policy.d.ts +114 -0
  56. package/gtm/policy.js +76 -0
  57. package/gtm/policy.js.map +1 -0
  58. package/iam/allowedIpAddress.d.ts +107 -0
  59. package/iam/allowedIpAddress.js +95 -0
  60. package/iam/allowedIpAddress.js.map +1 -0
  61. package/iam/getAllowedIpAddress.d.ts +53 -0
  62. package/iam/getAllowedIpAddress.js +28 -0
  63. package/iam/getAllowedIpAddress.js.map +1 -0
  64. package/iam/getAllowedIpAddresses.d.ts +22 -0
  65. package/iam/getAllowedIpAddresses.js +24 -0
  66. package/iam/getAllowedIpAddresses.js.map +1 -0
  67. package/iam/index.d.ts +9 -0
  68. package/iam/index.js +12 -1
  69. package/iam/index.js.map +1 -1
  70. package/kafka/getGroup.d.ts +65 -0
  71. package/kafka/getGroup.js +28 -0
  72. package/kafka/getGroup.js.map +1 -0
  73. package/kafka/getGroups.d.ts +22 -0
  74. package/kafka/getGroups.js +24 -0
  75. package/kafka/getGroups.js.map +1 -0
  76. package/kafka/group.d.ts +127 -0
  77. package/kafka/group.js +93 -0
  78. package/kafka/group.js.map +1 -0
  79. package/kafka/index.d.ts +9 -0
  80. package/kafka/index.js +12 -1
  81. package/kafka/index.js.map +1 -1
  82. package/mongodb/endpoint.d.ts +175 -0
  83. package/mongodb/endpoint.js +97 -0
  84. package/mongodb/endpoint.js.map +1 -0
  85. package/mongodb/getEndpoint.d.ts +39 -0
  86. package/mongodb/getEndpoint.js +28 -0
  87. package/mongodb/getEndpoint.js.map +1 -0
  88. package/mongodb/getEndpoints.d.ts +22 -0
  89. package/mongodb/getEndpoints.js +24 -0
  90. package/mongodb/getEndpoints.js.map +1 -0
  91. package/mongodb/index.d.ts +9 -0
  92. package/mongodb/index.js +12 -1
  93. package/mongodb/index.js.map +1 -1
  94. package/package.json +1 -1
  95. package/privatelink/gatewayEndpoint.d.ts +182 -0
  96. package/privatelink/gatewayEndpoint.js +106 -0
  97. package/privatelink/gatewayEndpoint.js.map +1 -0
  98. package/privatelink/getGatewayEndpoint.d.ts +85 -0
  99. package/privatelink/getGatewayEndpoint.js +28 -0
  100. package/privatelink/getGatewayEndpoint.js.map +1 -0
  101. package/privatelink/getGatewayEndpoints.d.ts +22 -0
  102. package/privatelink/getGatewayEndpoints.js +24 -0
  103. package/privatelink/getGatewayEndpoints.js.map +1 -0
  104. package/privatelink/index.d.ts +9 -0
  105. package/privatelink/index.js +12 -1
  106. package/privatelink/index.js.map +1 -1
  107. package/rdsmssql/backup.d.ts +148 -0
  108. package/rdsmssql/backup.js +85 -0
  109. package/rdsmssql/backup.js.map +1 -0
  110. package/rdsmssql/getBackup.d.ts +89 -0
  111. package/rdsmssql/getBackup.js +28 -0
  112. package/rdsmssql/getBackup.js.map +1 -0
  113. package/rdsmssql/getBackups.d.ts +22 -0
  114. package/rdsmssql/getBackups.js +24 -0
  115. package/rdsmssql/getBackups.js.map +1 -0
  116. package/rdsmssql/index.d.ts +9 -0
  117. package/rdsmssql/index.js +12 -1
  118. package/rdsmssql/index.js.map +1 -1
  119. package/rdsmysql/allowList.d.ts +1 -0
  120. package/rdsmysql/allowList.js +1 -1
  121. package/rdsmysql/allowList.js.map +1 -1
  122. package/rdspostgresql/allowList.d.ts +24 -0
  123. package/rdspostgresql/allowList.js +4 -0
  124. package/rdspostgresql/allowList.js.map +1 -1
  125. package/rdspostgresql/getAllowList.d.ts +8 -0
  126. package/rdspostgresql/getAllowList.js.map +1 -1
  127. package/rdspostgresql/getInstanceSsl.d.ts +68 -0
  128. package/rdspostgresql/getInstanceSsl.js +28 -0
  129. package/rdspostgresql/getInstanceSsl.js.map +1 -0
  130. package/rdspostgresql/getInstanceSsls.d.ts +22 -0
  131. package/rdspostgresql/getInstanceSsls.js +24 -0
  132. package/rdspostgresql/getInstanceSsls.js.map +1 -0
  133. package/rdspostgresql/index.d.ts +9 -0
  134. package/rdspostgresql/index.js +12 -1
  135. package/rdspostgresql/index.js.map +1 -1
  136. package/rdspostgresql/instanceSsl.d.ts +134 -0
  137. package/rdspostgresql/instanceSsl.js +88 -0
  138. package/rdspostgresql/instanceSsl.js.map +1 -0
  139. package/redis/allowList.d.ts +2 -2
  140. package/redis/allowList.js +3 -0
  141. package/redis/allowList.js.map +1 -1
  142. package/rocketmq/accessKey.d.ts +126 -0
  143. package/rocketmq/accessKey.js +80 -0
  144. package/rocketmq/accessKey.js.map +1 -0
  145. package/rocketmq/getAccessKey.d.ts +73 -0
  146. package/rocketmq/getAccessKey.js +28 -0
  147. package/rocketmq/getAccessKey.js.map +1 -0
  148. package/rocketmq/getAccessKeys.d.ts +22 -0
  149. package/rocketmq/getAccessKeys.js +24 -0
  150. package/rocketmq/getAccessKeys.js.map +1 -0
  151. package/rocketmq/index.d.ts +9 -0
  152. package/rocketmq/index.js +12 -1
  153. package/rocketmq/index.js.map +1 -1
  154. package/storageebs/getSnapshotPolicies.d.ts +22 -0
  155. package/storageebs/getSnapshotPolicies.js +24 -0
  156. package/storageebs/getSnapshotPolicies.js.map +1 -0
  157. package/storageebs/getSnapshotPolicy.d.ts +93 -0
  158. package/storageebs/getSnapshotPolicy.js +28 -0
  159. package/storageebs/getSnapshotPolicy.js.map +1 -0
  160. package/storageebs/index.d.ts +9 -0
  161. package/storageebs/index.js +12 -1
  162. package/storageebs/index.js.map +1 -1
  163. package/storageebs/snapshotPolicy.d.ts +215 -0
  164. package/storageebs/snapshotPolicy.js +122 -0
  165. package/storageebs/snapshotPolicy.js.map +1 -0
  166. package/tls/etl.d.ts +222 -0
  167. package/tls/etl.js +113 -0
  168. package/tls/etl.js.map +1 -0
  169. package/tls/getEtl.d.ts +109 -0
  170. package/tls/getEtl.js +28 -0
  171. package/tls/getEtl.js.map +1 -0
  172. package/tls/getEtls.d.ts +22 -0
  173. package/tls/getEtls.js +24 -0
  174. package/tls/getEtls.js.map +1 -0
  175. package/tls/getHost.d.ts +52 -0
  176. package/tls/getHost.js +28 -0
  177. package/tls/getHost.js.map +1 -0
  178. package/tls/getHostGroup.d.ts +113 -0
  179. package/tls/getHostGroup.js +28 -0
  180. package/tls/getHostGroup.js.map +1 -0
  181. package/tls/getHostGroups.d.ts +22 -0
  182. package/tls/getHostGroups.js +24 -0
  183. package/tls/getHostGroups.js.map +1 -0
  184. package/tls/getHosts.d.ts +22 -0
  185. package/tls/getHosts.js +24 -0
  186. package/tls/getHosts.js.map +1 -0
  187. package/tls/host.d.ts +97 -0
  188. package/tls/host.js +82 -0
  189. package/tls/host.js.map +1 -0
  190. package/tls/hostGroup.d.ts +254 -0
  191. package/tls/hostGroup.js +121 -0
  192. package/tls/hostGroup.js.map +1 -0
  193. package/tls/index.d.ts +27 -0
  194. package/tls/index.js +35 -1
  195. package/tls/index.js.map +1 -1
  196. package/tos/bucket.d.ts +12 -0
  197. package/tos/bucket.js +2 -0
  198. package/tos/bucket.js.map +1 -1
  199. package/tos/bucketMirrorBack.d.ts +62 -0
  200. package/tos/bucketMirrorBack.js +63 -0
  201. package/tos/bucketMirrorBack.js.map +1 -0
  202. package/tos/bucketRename.d.ts +74 -0
  203. package/tos/bucketRename.js +72 -0
  204. package/tos/bucketRename.js.map +1 -0
  205. package/tos/getBucket.d.ts +4 -0
  206. package/tos/getBucket.js.map +1 -1
  207. package/tos/getBucketMirrorBack.d.ts +45 -0
  208. package/tos/getBucketMirrorBack.js +28 -0
  209. package/tos/getBucketMirrorBack.js.map +1 -0
  210. package/tos/getBucketMirrorBacks.d.ts +22 -0
  211. package/tos/getBucketMirrorBacks.js +24 -0
  212. package/tos/getBucketMirrorBacks.js.map +1 -0
  213. package/tos/getBucketRename.d.ts +44 -0
  214. package/tos/getBucketRename.js +28 -0
  215. package/tos/getBucketRename.js.map +1 -0
  216. package/tos/getBucketRenames.d.ts +22 -0
  217. package/tos/getBucketRenames.js +24 -0
  218. package/tos/getBucketRenames.js.map +1 -0
  219. package/tos/index.d.ts +18 -0
  220. package/tos/index.js +23 -1
  221. package/tos/index.js.map +1 -1
  222. package/transitrouter/directConnectGatewayAttachment.d.ts +180 -0
  223. package/transitrouter/directConnectGatewayAttachment.js +106 -0
  224. package/transitrouter/directConnectGatewayAttachment.js.map +1 -0
  225. package/transitrouter/getDirectConnectGatewayAttachment.d.ts +89 -0
  226. package/transitrouter/getDirectConnectGatewayAttachment.js +28 -0
  227. package/transitrouter/getDirectConnectGatewayAttachment.js.map +1 -0
  228. package/transitrouter/getDirectConnectGatewayAttachments.d.ts +22 -0
  229. package/transitrouter/getDirectConnectGatewayAttachments.js +24 -0
  230. package/transitrouter/getDirectConnectGatewayAttachments.js.map +1 -0
  231. package/transitrouter/getTransitRouterBandwidthPackage.d.ts +141 -0
  232. package/transitrouter/getTransitRouterBandwidthPackage.js +28 -0
  233. package/transitrouter/getTransitRouterBandwidthPackage.js.map +1 -0
  234. package/transitrouter/getTransitRouterBandwidthPackages.d.ts +22 -0
  235. package/transitrouter/getTransitRouterBandwidthPackages.js +24 -0
  236. package/transitrouter/getTransitRouterBandwidthPackages.js.map +1 -0
  237. package/transitrouter/getTransitRouterRouteTableAssociation.d.ts +48 -0
  238. package/transitrouter/getTransitRouterRouteTableAssociation.js +28 -0
  239. package/transitrouter/getTransitRouterRouteTableAssociation.js.map +1 -0
  240. package/transitrouter/getTransitRouterRouteTableAssociations.d.ts +22 -0
  241. package/transitrouter/getTransitRouterRouteTableAssociations.js +24 -0
  242. package/transitrouter/getTransitRouterRouteTableAssociations.js.map +1 -0
  243. package/transitrouter/index.d.ts +27 -0
  244. package/transitrouter/index.js +34 -1
  245. package/transitrouter/index.js.map +1 -1
  246. package/transitrouter/transitRouterBandwidthPackage.d.ts +320 -0
  247. package/transitrouter/transitRouterBandwidthPackage.js +138 -0
  248. package/transitrouter/transitRouterBandwidthPackage.js.map +1 -0
  249. package/transitrouter/transitRouterRouteTableAssociation.d.ts +89 -0
  250. package/transitrouter/transitRouterRouteTableAssociation.js +80 -0
  251. package/transitrouter/transitRouterRouteTableAssociation.js.map +1 -0
  252. package/types/input.d.ts +1050 -102
  253. package/types/output.d.ts +2599 -597
package/types/output.d.ts CHANGED
@@ -9802,6 +9802,36 @@ export declare namespace cr {
9802
9802
  */
9803
9803
  value: string;
9804
9804
  }
9805
+ interface GetVpcEndpointVpc {
9806
+ /**
9807
+ * Primary account ID for the VPC
9808
+ */
9809
+ accountId: number;
9810
+ /**
9811
+ * Creation time
9812
+ */
9813
+ createTime: string;
9814
+ /**
9815
+ * IP address of the image repository within the VPC
9816
+ */
9817
+ ip: string;
9818
+ /**
9819
+ * VPC region
9820
+ */
9821
+ region: string;
9822
+ /**
9823
+ * Access endpoint status: Enabling: in progress. Enabled: enabled. Disabling: in progress. Failed: failed.
9824
+ */
9825
+ status: string;
9826
+ /**
9827
+ * Subnet ID
9828
+ */
9829
+ subnetId: string;
9830
+ /**
9831
+ * VPC ID。
9832
+ */
9833
+ vpcId: string;
9834
+ }
9805
9835
  interface RegistryEndpoint {
9806
9836
  aclPolicies: outputs.cr.RegistryEndpointAclPolicy[];
9807
9837
  /**
@@ -9849,6 +9879,20 @@ export declare namespace cr {
9849
9879
  */
9850
9880
  value: string;
9851
9881
  }
9882
+ interface VpcEndpointVpc {
9883
+ /**
9884
+ * Primary account ID for the VPC
9885
+ */
9886
+ accountId: number;
9887
+ /**
9888
+ * Subnet ID
9889
+ */
9890
+ subnetId: string;
9891
+ /**
9892
+ * VPC ID。
9893
+ */
9894
+ vpcId: string;
9895
+ }
9852
9896
  }
9853
9897
  export declare namespace directconnect {
9854
9898
  interface DirectConnectGatewayAssociateCen {
@@ -14094,6 +14138,22 @@ export declare namespace fwcenter {
14094
14138
  }
14095
14139
  }
14096
14140
  export declare namespace gtm {
14141
+ interface GetPolicyStatistics {
14142
+ /**
14143
+ * Number of available addresses
14144
+ */
14145
+ activeAddr: number;
14146
+ /**
14147
+ * Number of unavailable addresses
14148
+ */
14149
+ inactiveAddr: number;
14150
+ }
14151
+ interface GetPolicyTarget {
14152
+ /**
14153
+ * Address pool ID.
14154
+ */
14155
+ poolId: string;
14156
+ }
14097
14157
  interface GetPoolAddress {
14098
14158
  /**
14099
14159
  * Address capacity
@@ -14270,6 +14330,22 @@ export declare namespace gtm {
14270
14330
  */
14271
14331
  operator: string;
14272
14332
  }
14333
+ interface PolicyStatistics {
14334
+ /**
14335
+ * Number of available addresses
14336
+ */
14337
+ activeAddr: number;
14338
+ /**
14339
+ * Number of unavailable addresses
14340
+ */
14341
+ inactiveAddr: number;
14342
+ }
14343
+ interface PolicyTarget {
14344
+ /**
14345
+ * Address pool ID.
14346
+ */
14347
+ poolId: string;
14348
+ }
14273
14349
  interface PoolAddress {
14274
14350
  /**
14275
14351
  * Address capacity
@@ -14501,6 +14577,26 @@ export declare namespace hbase {
14501
14577
  }
14502
14578
  }
14503
14579
  export declare namespace iam {
14580
+ interface AllowedIpAddressIpList {
14581
+ /**
14582
+ * Description
14583
+ */
14584
+ description: string;
14585
+ /**
14586
+ * IP address
14587
+ */
14588
+ ip: string;
14589
+ }
14590
+ interface GetAllowedIpAddressIpList {
14591
+ /**
14592
+ * Description
14593
+ */
14594
+ description: string;
14595
+ /**
14596
+ * IP address
14597
+ */
14598
+ ip: string;
14599
+ }
14504
14600
  interface GetGroupAttachedPolicy {
14505
14601
  /**
14506
14602
  * Policy binding time.
@@ -15518,6 +15614,16 @@ export declare namespace kafka {
15518
15614
  */
15519
15615
  instanceName: string;
15520
15616
  }
15617
+ interface GetGroupTag {
15618
+ /**
15619
+ * Tag key
15620
+ */
15621
+ key: string;
15622
+ /**
15623
+ * Tag value
15624
+ */
15625
+ value: string;
15626
+ }
15521
15627
  interface GetInstanceChargeInfo {
15522
15628
  /**
15523
15629
  * Whether to automatically renew the subscription instance after expiration. true - auto renewal; false (default) - no auto renewal, instance will be stopped upon expiration.
@@ -15604,6 +15710,16 @@ export declare namespace kafka {
15604
15710
  */
15605
15711
  value: string;
15606
15712
  }
15713
+ interface GroupTag {
15714
+ /**
15715
+ * Tag key
15716
+ */
15717
+ key: string;
15718
+ /**
15719
+ * Tag value
15720
+ */
15721
+ value: string;
15722
+ }
15607
15723
  interface InstanceChargeInfo {
15608
15724
  /**
15609
15725
  * Whether to automatically renew the subscription instance after expiration. true - auto renewal; false (default) - no auto renewal, instance will be stopped upon expiration.
@@ -16012,6 +16128,49 @@ export declare namespace mongodb {
16012
16128
  */
16013
16129
  vpc: string;
16014
16130
  }
16131
+ interface EndpointDbAddress {
16132
+ /**
16133
+ * Domain name of the connection address
16134
+ */
16135
+ addressDomain: string;
16136
+ /**
16137
+ * IP corresponding to the connection address
16138
+ */
16139
+ addressIp: string;
16140
+ /**
16141
+ * Port number of the connection address
16142
+ */
16143
+ addressPort: string;
16144
+ /**
16145
+ * Connection address type of the node. Possible values:
16146
+ *
16147
+ * Primary: Primary node connection address
16148
+ * Secondary: Secondary node connection address
16149
+ * Hidden: Hidden node connection address
16150
+ * ReadOnly: Read-only node connection address
16151
+ *
16152
+ *
16153
+ * **Note:**
16154
+ * Hidden node connection address information is returned only when the connection address type is a private connection address (that is, when `NetworkType` is set to `Private`).
16155
+ */
16156
+ addressType: string;
16157
+ /**
16158
+ * EIP ID bound to the instance's public address
16159
+ *
16160
+ *
16161
+ * **Note:**
16162
+ * This parameter is returned only when the connection address type is a public connection address (that is, when `NetworkType` is set to `Public`).
16163
+ */
16164
+ eipId: string;
16165
+ /**
16166
+ * Node ID associated with the connection address
16167
+ */
16168
+ nodeId: string;
16169
+ /**
16170
+ * AZ of the node; all nodes are consistent for single-AZ instances, while nodes differ for multi-AZ instances
16171
+ */
16172
+ zoneId: string;
16173
+ }
16015
16174
  interface GetAccountAccountPrivilege {
16016
16175
  /**
16017
16176
  * Databases for which the account has permissions.
@@ -16040,6 +16199,53 @@ export declare namespace mongodb {
16040
16199
  */
16041
16200
  vpc: string;
16042
16201
  }
16202
+ interface GetEndpointDbAddress {
16203
+ /**
16204
+ * Domain name of the connection address
16205
+ */
16206
+ addressDomain: string;
16207
+ /**
16208
+ * IP corresponding to the connection address
16209
+ *
16210
+ *
16211
+ * **Note:**
16212
+ * It is not recommended to connect to the instance using the `IP:port` format, as the IP address may change after switching subnets. If the client code is not updated in time, instance connection failures may occur. We recommend accessing the MongoDB instance using the `domain:port` format to avoid connection issues caused by IP address changes. For detailed steps to connect to a MongoDB instance, see Connect to an Instance Using the Mongo Shell Tool.
16213
+ */
16214
+ addressIp: string;
16215
+ /**
16216
+ * Port number of the connection address
16217
+ */
16218
+ addressPort: string;
16219
+ /**
16220
+ * Connection address type of the node. Possible values:
16221
+ *
16222
+ * Primary: Primary node connection address
16223
+ * Secondary: Secondary node connection address
16224
+ * Hidden: Hidden node connection address
16225
+ * ReadOnly: Read-only node connection address
16226
+ *
16227
+ *
16228
+ * **Note:**
16229
+ * Hidden node connection address information is returned only when the connection address type is a private connection address (that is, when `NetworkType` is set to `Private`).
16230
+ */
16231
+ addressType: string;
16232
+ /**
16233
+ * EIP ID bound to the instance's public address
16234
+ *
16235
+ *
16236
+ * **Note:**
16237
+ * This parameter is returned only when the connection address type is a public connection address (that is, when `NetworkType` is set to `Public`).
16238
+ */
16239
+ eipId: string;
16240
+ /**
16241
+ * Node ID associated with the connection address
16242
+ */
16243
+ nodeId: string;
16244
+ /**
16245
+ * AZ of the node; all nodes are consistent for single-AZ instances, while nodes differ for multi-AZ instances
16246
+ */
16247
+ zoneId: string;
16248
+ }
16043
16249
  interface GetInstanceConfigServer {
16044
16250
  /**
16045
16251
  * ConfigServer node ID
@@ -16785,6 +16991,16 @@ export declare namespace privatelink {
16785
16991
  */
16786
16992
  value: string;
16787
16993
  }
16994
+ interface GatewayEndpointTag {
16995
+ /**
16996
+ * Tag key of the endpoint tag
16997
+ */
16998
+ key: string;
16999
+ /**
17000
+ * Tag value of the endpoint tag
17001
+ */
17002
+ value: string;
17003
+ }
16788
17004
  interface GetEndpointServicePrivateDnsNameConfiguration {
16789
17005
  /**
16790
17006
  * Domain verification name.
@@ -16827,6 +17043,16 @@ export declare namespace privatelink {
16827
17043
  */
16828
17044
  value: string;
16829
17045
  }
17046
+ interface GetGatewayEndpointTag {
17047
+ /**
17048
+ * Tag key of the endpoint tag
17049
+ */
17050
+ key: string;
17051
+ /**
17052
+ * Tag value of the endpoint tag
17053
+ */
17054
+ value: string;
17055
+ }
16830
17056
  interface GetVpcEndpointConnectionResourcesAllocate {
16831
17057
  /**
16832
17058
  * Specify the service resource for the endpoint connection
@@ -17555,6 +17781,58 @@ export declare namespace rdsmssql {
17555
17781
  */
17556
17782
  vpc: string;
17557
17783
  }
17784
+ interface BackupBackupDatabaseDetail {
17785
+ /**
17786
+ * External network backup download link.
17787
+ */
17788
+ backupDownloadLinkEip: string;
17789
+ /**
17790
+ * Internal network backup download link.
17791
+ */
17792
+ backupDownloadLinkInner: string;
17793
+ /**
17794
+ * Backup end time. Format: yyyy-MM-ddTHH:mm:ss.sZ (UTC time).
17795
+ */
17796
+ backupEndTime: string;
17797
+ /**
17798
+ * Backup file name.
17799
+ */
17800
+ backupFileName: string;
17801
+ /**
17802
+ * Backup file size (Bytes).
17803
+ */
17804
+ backupFileSize: number;
17805
+ /**
17806
+ * Backup start time. Format: yyyy-MM-ddTHH:mm:ss.sZ (UTC time).
17807
+ */
17808
+ backupStartTime: string;
17809
+ /**
17810
+ * Backup type. Values: Full (full backup), Diff (differential backup).
17811
+ */
17812
+ backupType: string;
17813
+ /**
17814
+ * Database name.
17815
+ */
17816
+ databaseName: string;
17817
+ /**
17818
+ * Backup file preparation progress (%).
17819
+ */
17820
+ downloadProgress: number;
17821
+ /**
17822
+ * Backup file preparation status. Values: Success (preparation completed), Failed (preparation failed), Running (preparing), NotDownload (not downloaded).
17823
+ */
17824
+ downloadStatus: string;
17825
+ /**
17826
+ * Download link expiration time. Format: yyyy-MM-ddTHH:mm:sssZ (UTC time).
17827
+ */
17828
+ linkExpiredTime: string;
17829
+ }
17830
+ interface BackupBackupMeta {
17831
+ /**
17832
+ * Backup database name.
17833
+ */
17834
+ dbName: string;
17835
+ }
17558
17836
  interface GetAllowListAssociatedInstance {
17559
17837
  /**
17560
17838
  * Instance ID
@@ -17581,6 +17859,58 @@ export declare namespace rdsmssql {
17581
17859
  */
17582
17860
  vpc: string;
17583
17861
  }
17862
+ interface GetBackupBackupDatabaseDetail {
17863
+ /**
17864
+ * External network backup download link.
17865
+ */
17866
+ backupDownloadLinkEip: string;
17867
+ /**
17868
+ * Internal network backup download link.
17869
+ */
17870
+ backupDownloadLinkInner: string;
17871
+ /**
17872
+ * Backup end time. Format: yyyy-MM-ddTHH:mm:ss.sZ (UTC time).
17873
+ */
17874
+ backupEndTime: string;
17875
+ /**
17876
+ * Backup file name.
17877
+ */
17878
+ backupFileName: string;
17879
+ /**
17880
+ * Backup file size (Bytes).
17881
+ */
17882
+ backupFileSize: number;
17883
+ /**
17884
+ * Backup start time. Format: yyyy-MM-ddTHH:mm:ss.sZ (UTC time).
17885
+ */
17886
+ backupStartTime: string;
17887
+ /**
17888
+ * Backup type. Values: Full (full backup), Diff (differential backup).
17889
+ */
17890
+ backupType: string;
17891
+ /**
17892
+ * Database name.
17893
+ */
17894
+ databaseName: string;
17895
+ /**
17896
+ * Backup file preparation progress (%).
17897
+ */
17898
+ downloadProgress: number;
17899
+ /**
17900
+ * Backup file preparation status. Values: Success (preparation completed), Failed (preparation failed), Running (preparing), NotDownload (not downloaded).
17901
+ */
17902
+ downloadStatus: string;
17903
+ /**
17904
+ * Download link expiration time. Format: yyyy-MM-ddTHH:mm:sssZ (UTC time).
17905
+ */
17906
+ linkExpiredTime: string;
17907
+ }
17908
+ interface GetBackupBackupMeta {
17909
+ /**
17910
+ * Backup database name.
17911
+ */
17912
+ dbName: string;
17913
+ }
17584
17914
  interface GetInstanceChargeInfo {
17585
17915
  /**
17586
17916
  * Auto-renewal for prepaid scenarios. true: auto-renew (default). false: do not auto-renew.
@@ -17893,32 +18223,12 @@ export declare namespace rdsmysql {
17893
18223
  * Instance ID bound to the current allowlist.
17894
18224
  */
17895
18225
  instanceId: string;
17896
- /**
17897
- * Instance name bound to the current allowlist.
17898
- */
17899
- instanceName: string;
17900
- /**
17901
- * Instance status.
17902
- */
17903
- instanceStatus: string;
17904
- /**
17905
- * 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.
17906
- */
17907
- isLatest: boolean;
17908
- /**
17909
- * Private network ID of the instance.
17910
- */
17911
- vpc: string;
17912
18226
  }
17913
18227
  interface AllowListSecurityGroupBindInfo {
17914
18228
  /**
17915
18229
  * 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.
17916
18230
  */
17917
18231
  bindMode: string;
17918
- /**
17919
- * Security group IP address list.
17920
- */
17921
- ipLists: string[];
17922
18232
  /**
17923
18233
  * Security group ID.
17924
18234
  */
@@ -20273,6 +20583,16 @@ export declare namespace redis {
20273
20583
  }
20274
20584
  }
20275
20585
  export declare namespace rocketmq {
20586
+ interface AccessKeyTopicPermission {
20587
+ /**
20588
+ * Permission type. AccessKey has permissions for this Topic. ALL: Publish and subscribe permissions. PUB: Publish permission. SUB: Subscribe permission. DENY: No publish or subscribe permissions
20589
+ */
20590
+ permission: string;
20591
+ /**
20592
+ * Topic name
20593
+ */
20594
+ topicName: string;
20595
+ }
20276
20596
  interface AllowListAssociatedInstance {
20277
20597
  /**
20278
20598
  * Instance ID
@@ -20287,6 +20607,16 @@ export declare namespace rocketmq {
20287
20607
  */
20288
20608
  vpc: string;
20289
20609
  }
20610
+ interface GetAccessKeyTopicPermission {
20611
+ /**
20612
+ * Permission type. AccessKey has permissions for this Topic. ALL: Publish and subscribe permissions. PUB: Publish permission. SUB: Subscribe permission. DENY: No publish or subscribe permissions
20613
+ */
20614
+ permission: string;
20615
+ /**
20616
+ * Topic name
20617
+ */
20618
+ topicName: string;
20619
+ }
20290
20620
  interface GetAllowListAssociatedInstance {
20291
20621
  /**
20292
20622
  * Instance ID
@@ -20745,7 +21075,17 @@ export declare namespace storageebs {
20745
21075
  */
20746
21076
  value: string;
20747
21077
  }
20748
- interface GetSnapshotTag {
21078
+ interface GetSnapshotPolicyTag {
21079
+ /**
21080
+ * Tag key
21081
+ */
21082
+ key: string;
21083
+ /**
21084
+ * Tag value
21085
+ */
21086
+ value: string;
21087
+ }
21088
+ interface GetSnapshotTag {
20749
21089
  /**
20750
21090
  * User tag key added to the resource. Naming rules: Cannot start with volc: or sys: in any case. Keys starting with volc: or sys: are reserved system tag keys and cannot be created. Only language characters, numbers, spaces, and the following English symbols are allowed: '_', '.', ':', '/', '=', '+', '-', '@'. Length must be between 1 and 128 characters.
20751
21091
  */
@@ -20902,6 +21242,16 @@ export declare namespace storageebs {
20902
21242
  */
20903
21243
  value: string;
20904
21244
  }
21245
+ interface SnapshotPolicyTag {
21246
+ /**
21247
+ * Tag key
21248
+ */
21249
+ key: string;
21250
+ /**
21251
+ * Tag value
21252
+ */
21253
+ value: string;
21254
+ }
20905
21255
  interface SnapshotTag {
20906
21256
  /**
20907
21257
  * User tag key added to the resource. Naming rules: Cannot start with volc: or sys: in any case. Keys starting with volc: or sys: are reserved system tag keys and cannot be created. Only language characters, numbers, spaces, and the following English symbols are allowed: '_', '.', ':', '/', '=', '+', '-', '@'. Length must be between 1 and 128 characters.
@@ -21219,6 +21569,24 @@ export declare namespace tls {
21219
21569
  */
21220
21570
  severity: string;
21221
21571
  }
21572
+ interface EtlTargetResource {
21573
+ /**
21574
+ * Name of the custom output target. You must use this name to refer to the output target in the data processing rules
21575
+ */
21576
+ alias: string;
21577
+ /**
21578
+ * Region of the log topic for storing processed logs
21579
+ */
21580
+ region: string;
21581
+ /**
21582
+ * Cross-account authorization role name
21583
+ */
21584
+ roleTrn: string;
21585
+ /**
21586
+ * Log topic ID for storing processed logs
21587
+ */
21588
+ topicId: string;
21589
+ }
21222
21590
  interface GetAlarmAlarmNotifyGroup {
21223
21591
  /**
21224
21592
  * Alert notification group ID.
@@ -21683,471 +22051,1611 @@ export declare namespace tls {
21683
22051
  */
21684
22052
  severity: string;
21685
22053
  }
21686
- interface GetImportTaskImportSourceInfo {
22054
+ interface GetEtlTargetResource {
21687
22055
  /**
21688
- * Kafka data source information. When sourceType is kafka, the KafkaSourceInfo field is required
22056
+ * Name of the custom output target. You must use this name to refer to the output target in the data processing rules
21689
22057
  */
21690
- kafkaSourceInfo: outputs.tls.GetImportTaskImportSourceInfoKafkaSourceInfo;
22058
+ alias: string;
21691
22059
  /**
21692
- * TOS data source information. When sourceType is tos, the TosSourceInfo field is required.
22060
+ * Log project ID for storing processed logs
21693
22061
  */
21694
- tosSourceInfo: outputs.tls.GetImportTaskImportSourceInfoTosSourceInfo;
21695
- }
21696
- interface GetImportTaskImportSourceInfoKafkaSourceInfo {
22062
+ projectId: string;
21697
22063
  /**
21698
- * Data encoding format. Available options: UTF-8, GBK.
22064
+ * Log project name for storing processed logs
21699
22065
  */
21700
- encode: string;
22066
+ projectName: string;
21701
22067
  /**
21702
- * Kafka consumer group. If not specified, the system will automatically create a Kafka consumer group.
22068
+ * Region of the log topic for storing processed logs
21703
22069
  */
21704
- group: string;
22070
+ region: string;
21705
22071
  /**
21706
- * 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 (,).
22072
+ * Cross-account authorization role name
21707
22073
  */
21708
- host: string;
22074
+ roleTrn: string;
21709
22075
  /**
21710
- * 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.
22076
+ * Log topic ID for storing processed logs
21711
22077
  */
21712
- initialOffset: number;
22078
+ topicId: string;
21713
22079
  /**
21714
- * If you are using Message Queue Kafka Edition, set this to the Kafka instance ID.
22080
+ * Log topic name for storing processed logs
21715
22081
  */
21716
- instanceId: string;
22082
+ topicName: string;
22083
+ }
22084
+ interface GetHostGroupRule {
21717
22085
  /**
21718
- * Whether to enable authentication. If you use a public service address, it is recommended to enable authentication.
22086
+ * Container collection rules
21719
22087
  */
21720
- isNeedAuth: boolean;
22088
+ containerRule: outputs.tls.GetHostGroupRuleContainerRule;
21721
22089
  /**
21722
- * Password authentication mechanism. Available options: PLAIN, SCRAM-SHA-256, and SCRAM-SHA-512.
22090
+ * Time when the collection configuration was created.
21723
22091
  */
21724
- mechanism: string;
22092
+ createTime: string;
21725
22093
  /**
21726
- * Kafka SASL user password for authentication.
22094
+ * Extraction rule list.
21727
22095
  */
21728
- password: string;
22096
+ excludePaths: outputs.tls.GetHostGroupRuleExcludePath[];
21729
22097
  /**
21730
- * Secure transmission protocol. Options include plaintext, sasl*ssl, ssl, and sasl*plaintext
22098
+ * Extraction rules
21731
22099
  */
21732
- protocol: string;
22100
+ extractRule: outputs.tls.GetHostGroupRuleExtractRule;
21733
22101
  /**
21734
- * Specify log time. Options: 0: Use Kafka message timestamp. 1: Use current system time.
22102
+ * Collection type. 0: Host log file. 1: K8s container standard output. 2: Log file inside K8s container.
21735
22103
  */
21736
- timeSourceDefault: number;
22104
+ inputType: number;
21737
22105
  /**
21738
- * Kafka Topic name. Separate multiple Kafka Topics with commas (,).
22106
+ * Log sample.
21739
22107
  */
21740
- topic: string;
22108
+ logSample: string;
21741
22109
  /**
21742
- * Kafka SASL username for authentication.
22110
+ * 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.
21743
22111
  */
21744
- username: string;
21745
- }
21746
- interface GetImportTaskImportSourceInfoTosSourceInfo {
22112
+ logType: string;
21747
22113
  /**
21748
- * TOS bucket name
22114
+ * Time when the collection configuration was modified.
21749
22115
  */
21750
- bucket: string;
22116
+ modifyTime: string;
21751
22117
  /**
21752
- * Compression mode for data in the TOS bucket. none: No compression. snappy: Compress using snappy. gzip: Compress using gzip. lz4: Compress using lz4.
22118
+ * Data collection path list
21753
22119
  */
21754
- compressType: string;
22120
+ paths: string[];
21755
22121
  /**
21756
- * Path of the file to be imported in the TOS bucket.
22122
+ * Running status of the collection configuration. 0: Running. 1: Paused.
21757
22123
  */
21758
- prefix: string;
22124
+ pause: number;
21759
22125
  /**
21760
- * Region where the TOS bucket is located. Cross-region data import is supported
22126
+ * Collection configuration ID.
21761
22127
  */
21762
- region: string;
21763
- }
21764
- interface GetImportTaskTargetInfo {
22128
+ ruleId: string;
21765
22129
  /**
21766
- * Log extraction rule.
22130
+ * Name of the collection configuration.
21767
22131
  */
21768
- extractRule: outputs.tls.GetImportTaskTargetInfoExtractRule;
22132
+ ruleName: string;
21769
22133
  /**
21770
- * 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.
22134
+ * ID of the log topic to which the collection configuration belongs.
21771
22135
  */
21772
- logSample: string;
22136
+ topicId: string;
21773
22137
  /**
21774
- * 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.
22138
+ * Name of the log topic associated with the collection configuration
21775
22139
  */
21776
- logType: string;
22140
+ topicName: string;
21777
22141
  /**
21778
- * Region.
22142
+ * User-defined collection rules.
21779
22143
  */
21780
- region: string;
22144
+ userDefineRule: outputs.tls.GetHostGroupRuleUserDefineRule;
21781
22145
  }
21782
- interface GetImportTaskTargetInfoExtractRule {
22146
+ interface GetHostGroupRuleContainerRule {
21783
22147
  /**
21784
- * Basic content of log extraction rules.
21785
- */
21786
- extractRule: outputs.tls.GetImportTaskTargetInfoExtractRuleExtractRule;
21787
- /**
21788
- * Number of skipped rows. Only valid when the log type is delimiterLog and the import type is tos.
21789
- */
21790
- skipLineCount: number;
21791
- /**
21792
- * Time extraction regular expression, used to extract the time value from the TimeKey field and parse it as the collection time
21793
- */
21794
- timeExtractRegex: string;
21795
- /**
21796
- * 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.
22148
+ * 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.
21797
22149
  */
21798
- timeZone: string;
21799
- }
21800
- interface GetImportTaskTargetInfoExtractRuleExtractRule {
22150
+ containerNameRegex: string;
21801
22151
  /**
21802
- * 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
22152
+ * 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.
21803
22153
  */
21804
- beginRegex: string;
22154
+ envTags: outputs.tls.GetHostGroupRuleContainerRuleEnvTag[];
21805
22155
  /**
21806
- * Delimiter. Only valid when LogType is delimiter_log.
22156
+ * 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.
21807
22157
  */
21808
- delimiter: string;
22158
+ excludeContainerEnvRegexes: outputs.tls.GetHostGroupRuleContainerRuleExcludeContainerEnvRegex[];
21809
22159
  /**
21810
- * Enable nanoseconds.
22160
+ * 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.
21811
22161
  */
21812
- enableNanosecond: boolean;
22162
+ excludeContainerLabelRegexes: outputs.tls.GetHostGroupRuleContainerRuleExcludeContainerLabelRegex[];
21813
22163
  /**
21814
- * Filter key regular expression.
22164
+ * 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.
21815
22165
  */
21816
- filterKeyRegexes: outputs.tls.GetImportTaskTargetInfoExtractRuleExtractRuleFilterKeyRegex[];
22166
+ includeContainerEnvRegexes: outputs.tls.GetHostGroupRuleContainerRuleIncludeContainerEnvRegex[];
21817
22167
  /**
21818
- * 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
22168
+ * 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.
21819
22169
  */
21820
- keys: string[];
22170
+ includeContainerLabelRegexes: outputs.tls.GetHostGroupRuleContainerRuleIncludeContainerLabelRegex[];
21821
22171
  /**
21822
- * Log regular expression
22172
+ * Kubernetes container collection rules.
21823
22173
  */
21824
- logRegex: string;
22174
+ kubernetesRule: outputs.tls.GetHostGroupRuleContainerRuleKubernetesRule;
21825
22175
  /**
21826
- * Log template.
22176
+ * Collection information. stdout: Container standard output (stdout). stderr: Container standard error (stderr). all: Both container standard output (stdout) and standard error (stderr).
21827
22177
  */
21828
- logTemplate: outputs.tls.GetImportTaskTargetInfoExtractRuleExtractRuleLogTemplate;
22178
+ stream: string;
22179
+ }
22180
+ interface GetHostGroupRuleContainerRuleEnvTag {
21829
22181
  /**
21830
- * 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.
22182
+ * Key.
21831
22183
  */
21832
- quote: string;
22184
+ key: string;
21833
22185
  /**
21834
- * 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.
22186
+ * Value.
21835
22187
  */
21836
- timeFormat: string;
22188
+ val: string;
22189
+ }
22190
+ interface GetHostGroupRuleContainerRuleExcludeContainerEnvRegex {
21837
22191
  /**
21838
- * 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
22192
+ * Key.
21839
22193
  */
21840
- timeKey: string;
22194
+ key: string;
21841
22195
  /**
21842
- * Time sample. Used to verify whether the entered time parsing format is correct
22196
+ * Value.
21843
22197
  */
21844
- timeSample: string;
22198
+ val: string;
22199
+ }
22200
+ interface GetHostGroupRuleContainerRuleExcludeContainerLabelRegex {
21845
22201
  /**
21846
- * When uploading logs that failed to parse, specify the key name for the failed logs. UnMatchUpLoadSwitch=true and UnMatchLogKey must be used together.
22202
+ * Key.
21847
22203
  */
21848
- unMatchLogKey: string;
22204
+ key: string;
21849
22205
  /**
21850
- * 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.
22206
+ * Value.
21851
22207
  */
21852
- unMatchUpLoadSwitch: boolean;
22208
+ val: string;
21853
22209
  }
21854
- interface GetImportTaskTargetInfoExtractRuleExtractRuleFilterKeyRegex {
22210
+ interface GetHostGroupRuleContainerRuleIncludeContainerEnvRegex {
21855
22211
  /**
21856
22212
  * Key.
21857
22213
  */
21858
22214
  key: string;
21859
22215
  /**
21860
- * Regular expression.
22216
+ * Value.
21861
22217
  */
21862
- regex: string;
22218
+ val: string;
21863
22219
  }
21864
- interface GetImportTaskTargetInfoExtractRuleExtractRuleLogTemplate {
22220
+ interface GetHostGroupRuleContainerRuleIncludeContainerLabelRegex {
21865
22221
  /**
21866
- * Format.
22222
+ * Key.
21867
22223
  */
21868
- format: string;
22224
+ key: string;
21869
22225
  /**
21870
- * Type
22226
+ * Value.
21871
22227
  */
21872
- type: string;
22228
+ val: string;
21873
22229
  }
21874
- interface GetImportTaskTaskStatistics {
22230
+ interface GetHostGroupRuleContainerRuleKubernetesRule {
21875
22231
  /**
21876
- * Total resource bytes enumerated
22232
+ * 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.
21877
22233
  */
21878
- bytesTotal: number;
22234
+ annotationTags: outputs.tls.GetHostGroupRuleContainerRuleKubernetesRuleAnnotationTag[];
21879
22235
  /**
21880
- * Bytes transferred.
22236
+ * 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.
21881
22237
  */
21882
- bytesTransferred: number;
22238
+ enableAllLabelTag: boolean;
21883
22239
  /**
21884
- * Number of resources failed to import.
22240
+ * 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
21885
22241
  */
21886
- failed: number;
22242
+ excludePodAnnotationRegexes: outputs.tls.GetHostGroupRuleContainerRuleKubernetesRuleExcludePodAnnotationRegex[];
21887
22243
  /**
21888
- * Number of resources not found.
22244
+ * 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.
21889
22245
  */
21890
- notExist: number;
22246
+ excludePodLabelRegexes: outputs.tls.GetHostGroupRuleContainerRuleKubernetesRuleExcludePodLabelRegex[];
21891
22247
  /**
21892
- * Number of resources skipped during import
22248
+ * 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
21893
22249
  */
21894
- skipped: number;
22250
+ includePodAnnotationRegexes: outputs.tls.GetHostGroupRuleContainerRuleKubernetesRuleIncludePodAnnotationRegex[];
21895
22251
  /**
21896
- * Task status. Status of the import task. Preparing: Preparing for import. Importing: Importing data. Success: Import completed successfully. Failed: Import failed. Stopped: Import paused.
22252
+ * 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.
21897
22253
  */
21898
- taskStatus: string;
22254
+ includePodLabelRegexes: outputs.tls.GetHostGroupRuleContainerRuleKubernetesRuleIncludePodLabelRegex[];
21899
22255
  /**
21900
- * Total number of resources enumerated.
22256
+ * 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.
21901
22257
  */
21902
- total: number;
22258
+ labelTags: outputs.tls.GetHostGroupRuleContainerRuleKubernetesRuleLabelTag[];
21903
22259
  /**
21904
- * Number of records transferred.
22260
+ * 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.
21905
22261
  */
21906
- transferred: number;
21907
- }
21908
- interface GetIndexFullText {
22262
+ namespaceNameRegex: string;
21909
22263
  /**
21910
- * Case sensitivity. true: Case sensitive. false: Not case sensitive.
22264
+ * 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.
21911
22265
  */
21912
- caseSensitive: boolean;
22266
+ podNameRegex: string;
21913
22267
  /**
21914
- * 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.
22268
+ * 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.
21915
22269
  */
21916
- delimiter: string;
22270
+ workloadNameRegex: string;
21917
22271
  /**
21918
- * 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.
22272
+ * 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
21919
22273
  */
21920
- includeChinese: boolean;
22274
+ workloadType: string;
21921
22275
  }
21922
- interface GetIndexKeyValue {
22276
+ interface GetHostGroupRuleContainerRuleKubernetesRuleAnnotationTag {
21923
22277
  /**
21924
- * 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.
22278
+ * Key.
21925
22279
  */
21926
22280
  key: string;
21927
22281
  /**
21928
- * Field description information required for configuring key-value indexes.
22282
+ * Value.
21929
22283
  */
21930
- value: outputs.tls.GetIndexKeyValueValue;
22284
+ val: string;
21931
22285
  }
21932
- interface GetIndexKeyValueValue {
21933
- /**
21934
- * Indicates whether the index was added automatically. true: The index was added automatically. false: The index was not added automatically.
21935
- */
21936
- autoIndexFlag: boolean;
22286
+ interface GetHostGroupRuleContainerRuleKubernetesRuleExcludePodAnnotationRegex {
21937
22287
  /**
21938
- * Whether to distinguish case. Default is false.
22288
+ * Key.
21939
22289
  */
21940
- caseSensitive: boolean;
22290
+ key: string;
21941
22291
  /**
21942
- * 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.
22292
+ * Value.
21943
22293
  */
21944
- delimiter: string;
22294
+ val: string;
22295
+ }
22296
+ interface GetHostGroupRuleContainerRuleKubernetesRuleExcludePodLabelRegex {
21945
22297
  /**
21946
- * 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.
22298
+ * Key.
21947
22299
  */
21948
- includeChinese: boolean;
22300
+ key: string;
21949
22301
  /**
21950
- * Create indexes for all fields with text values in the JSON field.
22302
+ * Value.
21951
22303
  */
21952
- indexAll: boolean;
22304
+ val: string;
22305
+ }
22306
+ interface GetHostGroupRuleContainerRuleKubernetesRuleIncludePodAnnotationRegex {
21953
22307
  /**
21954
- * Enable automatic indexing and statistics for JSON fields. true: Enable automatic indexing and statistics. false: Disable automatic indexing and statistics.
22308
+ * Key.
21955
22309
  */
21956
- indexSqlAll: boolean;
22310
+ key: string;
21957
22311
  /**
21958
- * 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.
22312
+ * Value.
21959
22313
  */
21960
- jsonKeys: outputs.tls.GetIndexKeyValueValueJsonKey[];
22314
+ val: string;
22315
+ }
22316
+ interface GetHostGroupRuleContainerRuleKubernetesRuleIncludePodLabelRegex {
21961
22317
  /**
21962
- * 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.
22318
+ * Key.
21963
22319
  */
21964
- sqlFlag: boolean;
22320
+ key: string;
21965
22321
  /**
21966
- * 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.
22322
+ * Value.
21967
22323
  */
21968
- valueType: string;
22324
+ val: string;
21969
22325
  }
21970
- interface GetIndexKeyValueValueJsonKey {
22326
+ interface GetHostGroupRuleContainerRuleKubernetesRuleLabelTag {
21971
22327
  /**
21972
- * 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.
22328
+ * Key.
21973
22329
  */
21974
22330
  key: string;
21975
22331
  /**
21976
- * Field description information required for configuring key-value indexes.
22332
+ * Value.
21977
22333
  */
21978
- value: outputs.tls.GetIndexKeyValueValueJsonKeyValue;
22334
+ val: string;
21979
22335
  }
21980
- interface GetIndexKeyValueValueJsonKeyValue {
22336
+ interface GetHostGroupRuleExcludePath {
22337
+ /**
22338
+ * Collection path type. File: file name. Path: directory.
22339
+ */
22340
+ type: string;
22341
+ /**
22342
+ * 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.
22343
+ */
22344
+ value: string;
22345
+ }
22346
+ interface GetHostGroupRuleExtractRule {
22347
+ /**
22348
+ * 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.
22349
+ */
22350
+ beginRegex: string;
22351
+ /**
22352
+ * Log delimiter. Valid only when LogType is delimiter_log.
22353
+ */
22354
+ delimiter: string;
22355
+ /**
22356
+ * 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.
22357
+ */
22358
+ enableNanosecond: boolean;
22359
+ /**
22360
+ * Filter rule list.
22361
+ */
22362
+ filterKeyRegexes: outputs.tls.GetHostGroupRuleExtractRuleFilterKeyRegex[];
22363
+ /**
22364
+ * List of log field names (Keys).
22365
+ */
22366
+ keys: string[];
22367
+ /**
22368
+ * 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.
22369
+ */
22370
+ logRegex: string;
22371
+ /**
22372
+ * Automatically extract log fields based on the specified log template.
22373
+ */
22374
+ logTemplate: outputs.tls.GetHostGroupRuleExtractRuleLogTemplate;
22375
+ /**
22376
+ * Quotation mark. Content enclosed by quotation marks is parsed as a complete field and not separated. Only valid when LogType is delimiter_log.
22377
+ */
22378
+ quote: string;
22379
+ /**
22380
+ * Regular expression for extracting time, used to extract the time value from the TimeKey field and parse it as the collection time.
22381
+ */
22382
+ timeExtractRegex: string;
22383
+ /**
22384
+ * 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.
22385
+ */
22386
+ timeFormat: string;
22387
+ /**
22388
+ * 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.
22389
+ */
22390
+ timeKey: string;
22391
+ /**
22392
+ * Sample time. Used to verify whether the specified time parsing format is correct.
22393
+ */
22394
+ timeSample: string;
22395
+ /**
22396
+ * Time zone. Supports machine time zone (default) and custom time zone. Custom time zone supports GMT and UTC.
22397
+ */
22398
+ timeZone: string;
22399
+ /**
22400
+ * Key name for logs that failed to parse when uploading
22401
+ */
22402
+ unMatchLogKey: string;
22403
+ /**
22404
+ * 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.
22405
+ */
22406
+ unMatchUpLoadSwitch: boolean;
22407
+ }
22408
+ interface GetHostGroupRuleExtractRuleFilterKeyRegex {
22409
+ /**
22410
+ * Name of the filter field.
22411
+ */
22412
+ key: string;
22413
+ /**
22414
+ * The log content of the filter field must match the specified regular expression.
22415
+ */
22416
+ regex: string;
22417
+ }
22418
+ interface GetHostGroupRuleExtractRuleLogTemplate {
22419
+ /**
22420
+ * Log template format
22421
+ */
22422
+ format: string;
22423
+ /**
22424
+ * Log template type. Supported types: Nginx (Nginx log template type).
22425
+ */
22426
+ type: string;
22427
+ }
22428
+ interface GetHostGroupRuleUserDefineRule {
22429
+ /**
22430
+ * 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.
22431
+ */
22432
+ advanced: outputs.tls.GetHostGroupRuleUserDefineRuleAdvanced;
22433
+ /**
22434
+ * 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.
22435
+ */
22436
+ enableHostGroupLabel: boolean;
22437
+ /**
22438
+ * 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.
22439
+ */
22440
+ enableHostname: boolean;
22441
+ /**
22442
+ * Whether to upload raw logs. true: Upload raw logs. false (default): Do not upload raw logs.
22443
+ */
22444
+ enableRawLog: boolean;
22445
+ /**
22446
+ * 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.
22447
+ */
22448
+ fields: outputs.tls.GetHostGroupRuleUserDefineRuleField[];
22449
+ /**
22450
+ * Field name used to store machine group label information.
22451
+ */
22452
+ hostGroupLabelKey: string;
22453
+ /**
22454
+ * hostname field name. Only required when EnableHostname is set to true.
22455
+ */
22456
+ hostnameKey: string;
22457
+ /**
22458
+ * Ignore log files that have not been updated for a specified duration, in hours.
22459
+ */
22460
+ ignoreOlder: number;
22461
+ /**
22462
+ * 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.
22463
+ */
22464
+ multiCollectsType: string;
22465
+ /**
22466
+ * 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.
22467
+ */
22468
+ parsePathRule: outputs.tls.GetHostGroupRuleUserDefineRuleParsePathRule;
22469
+ /**
22470
+ * LogCollector plugin configuration. After enabling plugin configuration, you can add one or more LogCollector processor plugins to parse logs with complex or variable structures.
22471
+ */
22472
+ plugin: outputs.tls.GetHostGroupRuleUserDefineRulePlugin;
22473
+ /**
22474
+ * 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
22475
+ */
22476
+ rawLogKey: string;
22477
+ /**
22478
+ * 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.
22479
+ */
22480
+ shardHashKey: outputs.tls.GetHostGroupRuleUserDefineRuleShardHashKey;
22481
+ /**
22482
+ * 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.
22483
+ */
22484
+ tailFiles: boolean;
22485
+ /**
22486
+ * 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.
22487
+ */
22488
+ tailSizeKb: number;
22489
+ }
22490
+ interface GetHostGroupRuleUserDefineRuleAdvanced {
22491
+ /**
22492
+ * After reading to the end of the log file, whether to release the file handle. Default is false.
22493
+ */
22494
+ closeEof: boolean;
22495
+ /**
22496
+ * 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.
22497
+ */
22498
+ closeInactive: number;
22499
+ /**
22500
+ * Whether to release the handle of the log file after it is removed. Default is false.
22501
+ */
22502
+ closeRemoved: boolean;
22503
+ /**
22504
+ * Whether to release the handle of the log file after it is renamed. Default is false.
22505
+ */
22506
+ closeRenamed: boolean;
22507
+ /**
22508
+ * 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.
22509
+ */
22510
+ closeTimeout: number;
22511
+ /**
22512
+ * 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.
22513
+ */
22514
+ noLineTerminatorEofMaxTime: number;
22515
+ }
22516
+ interface GetHostGroupRuleUserDefineRuleField {
22517
+ /**
22518
+ * Key.
22519
+ */
22520
+ key: string;
22521
+ /**
22522
+ * Value.
22523
+ */
22524
+ val: string;
22525
+ }
22526
+ interface GetHostGroupRuleUserDefineRuleParsePathRule {
22527
+ /**
22528
+ * 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.
22529
+ */
22530
+ keys: string[];
22531
+ /**
22532
+ * Sample collection path for actual scenarios. The sample path must be an absolute path. Wildcards *, ?, ** are not allowed in the sample path.
22533
+ */
22534
+ pathSample: string;
22535
+ /**
22536
+ * Regular expression used to extract the path field. It must match the example collection path; otherwise, extraction will fail.
22537
+ */
22538
+ regex: string;
22539
+ }
22540
+ interface GetHostGroupRuleUserDefineRulePlugin {
22541
+ /**
22542
+ * LogCollector plugins. For supported plugin lists and parameter descriptions, see LogCollector plugin overview.
22543
+ */
22544
+ processors: string;
22545
+ }
22546
+ interface GetHostGroupRuleUserDefineRuleShardHashKey {
22547
+ /**
22548
+ * 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).
22549
+ */
22550
+ hashKey: string;
22551
+ }
22552
+ interface GetImportTaskImportSourceInfo {
22553
+ /**
22554
+ * Kafka data source information. When sourceType is kafka, the KafkaSourceInfo field is required
22555
+ */
22556
+ kafkaSourceInfo: outputs.tls.GetImportTaskImportSourceInfoKafkaSourceInfo;
22557
+ /**
22558
+ * TOS data source information. When sourceType is tos, the TosSourceInfo field is required.
22559
+ */
22560
+ tosSourceInfo: outputs.tls.GetImportTaskImportSourceInfoTosSourceInfo;
22561
+ }
22562
+ interface GetImportTaskImportSourceInfoKafkaSourceInfo {
22563
+ /**
22564
+ * Data encoding format. Available options: UTF-8, GBK.
22565
+ */
22566
+ encode: string;
22567
+ /**
22568
+ * Kafka consumer group. If not specified, the system will automatically create a Kafka consumer group.
22569
+ */
22570
+ group: string;
22571
+ /**
22572
+ * 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 (,).
22573
+ */
22574
+ host: string;
22575
+ /**
22576
+ * 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.
22577
+ */
22578
+ initialOffset: number;
22579
+ /**
22580
+ * If you are using Message Queue Kafka Edition, set this to the Kafka instance ID.
22581
+ */
22582
+ instanceId: string;
22583
+ /**
22584
+ * Whether to enable authentication. If you use a public service address, it is recommended to enable authentication.
22585
+ */
22586
+ isNeedAuth: boolean;
22587
+ /**
22588
+ * Password authentication mechanism. Available options: PLAIN, SCRAM-SHA-256, and SCRAM-SHA-512.
22589
+ */
22590
+ mechanism: string;
22591
+ /**
22592
+ * Kafka SASL user password for authentication.
22593
+ */
22594
+ password: string;
22595
+ /**
22596
+ * Secure transmission protocol. Options include plaintext, sasl*ssl, ssl, and sasl*plaintext
22597
+ */
22598
+ protocol: string;
22599
+ /**
22600
+ * Specify log time. Options: 0: Use Kafka message timestamp. 1: Use current system time.
22601
+ */
22602
+ timeSourceDefault: number;
22603
+ /**
22604
+ * Kafka Topic name. Separate multiple Kafka Topics with commas (,).
22605
+ */
22606
+ topic: string;
22607
+ /**
22608
+ * Kafka SASL username for authentication.
22609
+ */
22610
+ username: string;
22611
+ }
22612
+ interface GetImportTaskImportSourceInfoTosSourceInfo {
22613
+ /**
22614
+ * TOS bucket name
22615
+ */
22616
+ bucket: string;
22617
+ /**
22618
+ * Compression mode for data in the TOS bucket. none: No compression. snappy: Compress using snappy. gzip: Compress using gzip. lz4: Compress using lz4.
22619
+ */
22620
+ compressType: string;
22621
+ /**
22622
+ * Path of the file to be imported in the TOS bucket.
22623
+ */
22624
+ prefix: string;
22625
+ /**
22626
+ * Region where the TOS bucket is located. Cross-region data import is supported
22627
+ */
22628
+ region: string;
22629
+ }
22630
+ interface GetImportTaskTargetInfo {
22631
+ /**
22632
+ * Log extraction rule.
22633
+ */
22634
+ extractRule: outputs.tls.GetImportTaskTargetInfoExtractRule;
22635
+ /**
22636
+ * 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.
22637
+ */
22638
+ logSample: string;
22639
+ /**
22640
+ * 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.
22641
+ */
22642
+ logType: string;
22643
+ /**
22644
+ * Region.
22645
+ */
22646
+ region: string;
22647
+ }
22648
+ interface GetImportTaskTargetInfoExtractRule {
22649
+ /**
22650
+ * Basic content of log extraction rules.
22651
+ */
22652
+ extractRule: outputs.tls.GetImportTaskTargetInfoExtractRuleExtractRule;
22653
+ /**
22654
+ * Number of skipped rows. Only valid when the log type is delimiterLog and the import type is tos.
22655
+ */
22656
+ skipLineCount: number;
22657
+ /**
22658
+ * Time extraction regular expression, used to extract the time value from the TimeKey field and parse it as the collection time
22659
+ */
22660
+ timeExtractRegex: string;
22661
+ /**
22662
+ * 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.
22663
+ */
22664
+ timeZone: string;
22665
+ }
22666
+ interface GetImportTaskTargetInfoExtractRuleExtractRule {
22667
+ /**
22668
+ * 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
22669
+ */
22670
+ beginRegex: string;
22671
+ /**
22672
+ * Delimiter. Only valid when LogType is delimiter_log.
22673
+ */
22674
+ delimiter: string;
22675
+ /**
22676
+ * Enable nanoseconds.
22677
+ */
22678
+ enableNanosecond: boolean;
22679
+ /**
22680
+ * Filter key regular expression.
22681
+ */
22682
+ filterKeyRegexes: outputs.tls.GetImportTaskTargetInfoExtractRuleExtractRuleFilterKeyRegex[];
22683
+ /**
22684
+ * 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
22685
+ */
22686
+ keys: string[];
22687
+ /**
22688
+ * Log regular expression
22689
+ */
22690
+ logRegex: string;
22691
+ /**
22692
+ * Log template.
22693
+ */
22694
+ logTemplate: outputs.tls.GetImportTaskTargetInfoExtractRuleExtractRuleLogTemplate;
22695
+ /**
22696
+ * 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.
22697
+ */
22698
+ quote: string;
22699
+ /**
22700
+ * 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.
22701
+ */
22702
+ timeFormat: string;
22703
+ /**
22704
+ * 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
22705
+ */
22706
+ timeKey: string;
22707
+ /**
22708
+ * Time sample. Used to verify whether the entered time parsing format is correct
22709
+ */
22710
+ timeSample: string;
22711
+ /**
22712
+ * When uploading logs that failed to parse, specify the key name for the failed logs. UnMatchUpLoadSwitch=true and UnMatchLogKey must be used together.
22713
+ */
22714
+ unMatchLogKey: string;
22715
+ /**
22716
+ * 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.
22717
+ */
22718
+ unMatchUpLoadSwitch: boolean;
22719
+ }
22720
+ interface GetImportTaskTargetInfoExtractRuleExtractRuleFilterKeyRegex {
22721
+ /**
22722
+ * Key.
22723
+ */
22724
+ key: string;
22725
+ /**
22726
+ * Regular expression.
22727
+ */
22728
+ regex: string;
22729
+ }
22730
+ interface GetImportTaskTargetInfoExtractRuleExtractRuleLogTemplate {
22731
+ /**
22732
+ * Format.
22733
+ */
22734
+ format: string;
22735
+ /**
22736
+ * Type
22737
+ */
22738
+ type: string;
22739
+ }
22740
+ interface GetImportTaskTaskStatistics {
22741
+ /**
22742
+ * Total resource bytes enumerated
22743
+ */
22744
+ bytesTotal: number;
22745
+ /**
22746
+ * Bytes transferred.
22747
+ */
22748
+ bytesTransferred: number;
22749
+ /**
22750
+ * Number of resources failed to import.
22751
+ */
22752
+ failed: number;
22753
+ /**
22754
+ * Number of resources not found.
22755
+ */
22756
+ notExist: number;
22757
+ /**
22758
+ * Number of resources skipped during import
22759
+ */
22760
+ skipped: number;
22761
+ /**
22762
+ * Task status. Status of the import task. Preparing: Preparing for import. Importing: Importing data. Success: Import completed successfully. Failed: Import failed. Stopped: Import paused.
22763
+ */
22764
+ taskStatus: string;
22765
+ /**
22766
+ * Total number of resources enumerated.
22767
+ */
22768
+ total: number;
22769
+ /**
22770
+ * Number of records transferred.
22771
+ */
22772
+ transferred: number;
22773
+ }
22774
+ interface GetIndexFullText {
22775
+ /**
22776
+ * Case sensitivity. true: Case sensitive. false: Not case sensitive.
22777
+ */
22778
+ caseSensitive: boolean;
22779
+ /**
22780
+ * 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.
22781
+ */
22782
+ delimiter: string;
22783
+ /**
22784
+ * 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.
22785
+ */
22786
+ includeChinese: boolean;
22787
+ }
22788
+ interface GetIndexKeyValue {
22789
+ /**
22790
+ * 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.
22791
+ */
22792
+ key: string;
22793
+ /**
22794
+ * Field description information required for configuring key-value indexes.
22795
+ */
22796
+ value: outputs.tls.GetIndexKeyValueValue;
22797
+ }
22798
+ interface GetIndexKeyValueValue {
22799
+ /**
22800
+ * Indicates whether the index was added automatically. true: The index was added automatically. false: The index was not added automatically.
22801
+ */
22802
+ autoIndexFlag: boolean;
22803
+ /**
22804
+ * Whether to distinguish case. Default is false.
22805
+ */
22806
+ caseSensitive: boolean;
22807
+ /**
22808
+ * 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.
22809
+ */
22810
+ delimiter: string;
22811
+ /**
22812
+ * 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.
22813
+ */
22814
+ includeChinese: boolean;
22815
+ /**
22816
+ * Create indexes for all fields with text values in the JSON field.
22817
+ */
22818
+ indexAll: boolean;
22819
+ /**
22820
+ * Enable automatic indexing and statistics for JSON fields. true: Enable automatic indexing and statistics. false: Disable automatic indexing and statistics.
22821
+ */
22822
+ indexSqlAll: boolean;
22823
+ /**
22824
+ * 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.
22825
+ */
22826
+ jsonKeys: outputs.tls.GetIndexKeyValueValueJsonKey[];
22827
+ /**
22828
+ * 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.
22829
+ */
22830
+ sqlFlag: boolean;
22831
+ /**
22832
+ * 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.
22833
+ */
22834
+ valueType: string;
22835
+ }
22836
+ interface GetIndexKeyValueValueJsonKey {
22837
+ /**
22838
+ * 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.
22839
+ */
22840
+ key: string;
22841
+ /**
22842
+ * Field description information required for configuring key-value indexes.
22843
+ */
22844
+ value: outputs.tls.GetIndexKeyValueValueJsonKeyValue;
22845
+ }
22846
+ interface GetIndexKeyValueValueJsonKeyValue {
21981
22847
  /**
21982
22848
  * Indicates whether the index was added automatically. true: The index was added automatically. false: The index was not added automatically.
21983
22849
  */
21984
- autoIndexFlag: boolean;
22850
+ autoIndexFlag: boolean;
22851
+ /**
22852
+ * Whether to distinguish case. Default is false.
22853
+ */
22854
+ caseSensitive: boolean;
22855
+ /**
22856
+ * 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.
22857
+ */
22858
+ delimiter: string;
22859
+ /**
22860
+ * 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.
22861
+ */
22862
+ includeChinese: boolean;
22863
+ /**
22864
+ * Create indexes for all fields with text values in the JSON field.
22865
+ */
22866
+ indexAll: boolean;
22867
+ /**
22868
+ * Enable automatic indexing and statistics for JSON fields. true: Enable automatic indexing and statistics. false: Disable automatic indexing and statistics.
22869
+ */
22870
+ indexSqlAll: boolean;
22871
+ /**
22872
+ * 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.
22873
+ */
22874
+ sqlFlag: boolean;
22875
+ /**
22876
+ * 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.
22877
+ */
22878
+ valueType: string;
22879
+ }
22880
+ interface GetIndexUserInnerKeyValue {
22881
+ /**
22882
+ * 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.
22883
+ */
22884
+ key: string;
22885
+ /**
22886
+ * Field description information required for configuring key-value indexes.
22887
+ */
22888
+ value: outputs.tls.GetIndexUserInnerKeyValueValue;
22889
+ }
22890
+ interface GetIndexUserInnerKeyValueValue {
22891
+ /**
22892
+ * Indicates whether the index was added automatically. true: The index was added automatically. false: The index was not added automatically.
22893
+ */
22894
+ autoIndexFlag: boolean;
22895
+ /**
22896
+ * Whether to distinguish case. Default is false.
22897
+ */
22898
+ caseSensitive: boolean;
22899
+ /**
22900
+ * 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.
22901
+ */
22902
+ delimiter: string;
22903
+ /**
22904
+ * 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.
22905
+ */
22906
+ includeChinese: boolean;
22907
+ /**
22908
+ * Create indexes for all fields with text values in the JSON field.
22909
+ */
22910
+ indexAll: boolean;
22911
+ /**
22912
+ * Enable automatic indexing and statistics for JSON fields. true: Enable automatic indexing and statistics. false: Disable automatic indexing and statistics.
22913
+ */
22914
+ indexSqlAll: boolean;
22915
+ /**
22916
+ * 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.
22917
+ */
22918
+ jsonKeys: outputs.tls.GetIndexUserInnerKeyValueValueJsonKey[];
22919
+ /**
22920
+ * 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.
22921
+ */
22922
+ sqlFlag: boolean;
22923
+ /**
22924
+ * 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.
22925
+ */
22926
+ valueType: string;
22927
+ }
22928
+ interface GetIndexUserInnerKeyValueValueJsonKey {
22929
+ /**
22930
+ * 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.
22931
+ */
22932
+ key: string;
22933
+ /**
22934
+ * Field description information required for configuring key-value indexes.
22935
+ */
22936
+ value: outputs.tls.GetIndexUserInnerKeyValueValueJsonKeyValue;
22937
+ }
22938
+ interface GetIndexUserInnerKeyValueValueJsonKeyValue {
22939
+ /**
22940
+ * Indicates whether the index was added automatically. true: The index was added automatically. false: The index was not added automatically.
22941
+ */
22942
+ autoIndexFlag: boolean;
22943
+ /**
22944
+ * Whether to distinguish case. Default is false.
22945
+ */
22946
+ caseSensitive: boolean;
22947
+ /**
22948
+ * 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.
22949
+ */
22950
+ delimiter: string;
22951
+ /**
22952
+ * 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.
22953
+ */
22954
+ includeChinese: boolean;
22955
+ /**
22956
+ * Create indexes for all fields with text values in the JSON field.
22957
+ */
22958
+ indexAll: boolean;
22959
+ /**
22960
+ * Enable automatic indexing and statistics for JSON fields. true: Enable automatic indexing and statistics. false: Disable automatic indexing and statistics.
22961
+ */
22962
+ indexSqlAll: boolean;
22963
+ /**
22964
+ * 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.
22965
+ */
22966
+ sqlFlag: boolean;
22967
+ /**
22968
+ * 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.
22969
+ */
22970
+ valueType: string;
22971
+ }
22972
+ interface GetProjectTag {
22973
+ /**
22974
+ * Tag key
22975
+ */
22976
+ key: string;
22977
+ /**
22978
+ * Tag value
22979
+ */
22980
+ value: string;
22981
+ }
22982
+ interface GetRuleContainerRule {
22983
+ /**
22984
+ * 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.
22985
+ */
22986
+ containerNameRegex: string;
22987
+ /**
22988
+ * 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
22989
+ */
22990
+ envTags: outputs.tls.GetRuleContainerRuleEnvTag[];
22991
+ /**
22992
+ * 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.
22993
+ */
22994
+ excludeContainerEnvRegexes: outputs.tls.GetRuleContainerRuleExcludeContainerEnvRegex[];
22995
+ /**
22996
+ * 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.
22997
+ */
22998
+ excludeContainerLabelRegexes: outputs.tls.GetRuleContainerRuleExcludeContainerLabelRegex[];
22999
+ /**
23000
+ * 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.
23001
+ */
23002
+ includeContainerEnvRegexes: outputs.tls.GetRuleContainerRuleIncludeContainerEnvRegex[];
23003
+ /**
23004
+ * 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.
23005
+ */
23006
+ includeContainerLabelRegexes: outputs.tls.GetRuleContainerRuleIncludeContainerLabelRegex[];
23007
+ /**
23008
+ * Kubernetes container collection rules.
23009
+ */
23010
+ kubernetesRule: outputs.tls.GetRuleContainerRuleKubernetesRule;
23011
+ /**
23012
+ * 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).
23013
+ */
23014
+ stream: string;
23015
+ }
23016
+ interface GetRuleContainerRuleEnvTag {
23017
+ /**
23018
+ * Key.
23019
+ */
23020
+ key: string;
23021
+ /**
23022
+ * Value.
23023
+ */
23024
+ val: string;
23025
+ }
23026
+ interface GetRuleContainerRuleExcludeContainerEnvRegex {
23027
+ /**
23028
+ * Key.
23029
+ */
23030
+ key: string;
23031
+ /**
23032
+ * Value.
23033
+ */
23034
+ val: string;
23035
+ }
23036
+ interface GetRuleContainerRuleExcludeContainerLabelRegex {
23037
+ /**
23038
+ * Key.
23039
+ */
23040
+ key: string;
23041
+ /**
23042
+ * Value.
23043
+ */
23044
+ val: string;
23045
+ }
23046
+ interface GetRuleContainerRuleIncludeContainerEnvRegex {
23047
+ /**
23048
+ * Key.
23049
+ */
23050
+ key: string;
23051
+ /**
23052
+ * Value.
23053
+ */
23054
+ val: string;
23055
+ }
23056
+ interface GetRuleContainerRuleIncludeContainerLabelRegex {
23057
+ /**
23058
+ * Key.
23059
+ */
23060
+ key: string;
23061
+ /**
23062
+ * Value.
23063
+ */
23064
+ val: string;
23065
+ }
23066
+ interface GetRuleContainerRuleKubernetesRule {
23067
+ /**
23068
+ * 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.
23069
+ */
23070
+ annotationTags: outputs.tls.GetRuleContainerRuleKubernetesRuleAnnotationTag[];
23071
+ /**
23072
+ * 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.
23073
+ */
23074
+ enableAllLabelTag: boolean;
23075
+ /**
23076
+ * 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
23077
+ */
23078
+ excludePodAnnotationRegexes: outputs.tls.GetRuleContainerRuleKubernetesRuleExcludePodAnnotationRegex[];
23079
+ /**
23080
+ * 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
23081
+ */
23082
+ excludePodLabelRegexes: outputs.tls.GetRuleContainerRuleKubernetesRuleExcludePodLabelRegex[];
23083
+ /**
23084
+ * 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.
23085
+ */
23086
+ includePodAnnotationRegexes: outputs.tls.GetRuleContainerRuleKubernetesRuleIncludePodAnnotationRegex[];
23087
+ /**
23088
+ * 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.
23089
+ */
23090
+ includePodLabelRegexes: outputs.tls.GetRuleContainerRuleKubernetesRuleIncludePodLabelRegex[];
23091
+ /**
23092
+ * 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.
23093
+ */
23094
+ labelTags: outputs.tls.GetRuleContainerRuleKubernetesRuleLabelTag[];
23095
+ /**
23096
+ * 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.
23097
+ */
23098
+ namespaceNameRegex: string;
23099
+ /**
23100
+ * 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.
23101
+ */
23102
+ podNameRegex: string;
23103
+ /**
23104
+ * 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.
23105
+ */
23106
+ workloadNameRegex: string;
23107
+ /**
23108
+ * 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
23109
+ */
23110
+ workloadType: string;
23111
+ }
23112
+ interface GetRuleContainerRuleKubernetesRuleAnnotationTag {
23113
+ /**
23114
+ * Key.
23115
+ */
23116
+ key: string;
23117
+ /**
23118
+ * Value.
23119
+ */
23120
+ val: string;
23121
+ }
23122
+ interface GetRuleContainerRuleKubernetesRuleExcludePodAnnotationRegex {
23123
+ /**
23124
+ * Key.
23125
+ */
23126
+ key: string;
23127
+ /**
23128
+ * Value.
23129
+ */
23130
+ val: string;
23131
+ }
23132
+ interface GetRuleContainerRuleKubernetesRuleExcludePodLabelRegex {
23133
+ /**
23134
+ * Key.
23135
+ */
23136
+ key: string;
23137
+ /**
23138
+ * Value.
23139
+ */
23140
+ val: string;
23141
+ }
23142
+ interface GetRuleContainerRuleKubernetesRuleIncludePodAnnotationRegex {
23143
+ /**
23144
+ * Key.
23145
+ */
23146
+ key: string;
23147
+ /**
23148
+ * Value.
23149
+ */
23150
+ val: string;
23151
+ }
23152
+ interface GetRuleContainerRuleKubernetesRuleIncludePodLabelRegex {
23153
+ /**
23154
+ * Key.
23155
+ */
23156
+ key: string;
23157
+ /**
23158
+ * Value.
23159
+ */
23160
+ val: string;
23161
+ }
23162
+ interface GetRuleContainerRuleKubernetesRuleLabelTag {
23163
+ /**
23164
+ * Key.
23165
+ */
23166
+ key: string;
23167
+ /**
23168
+ * Value.
23169
+ */
23170
+ val: string;
23171
+ }
23172
+ interface GetRuleExcludePath {
23173
+ /**
23174
+ * Collection path type. File: File name. Path: Directory.
23175
+ */
23176
+ type: string;
23177
+ /**
23178
+ * 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.
23179
+ */
23180
+ value: string;
23181
+ }
23182
+ interface GetRuleExtractRule {
23183
+ /**
23184
+ * 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.
23185
+ */
23186
+ beginRegex: string;
23187
+ /**
23188
+ * Log delimiter. Valid only when LogType is delimiter_log.
23189
+ */
23190
+ delimiter: string;
23191
+ /**
23192
+ * 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.
23193
+ */
23194
+ enableNanosecond: boolean;
23195
+ /**
23196
+ * 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.
23197
+ */
23198
+ filterKeyRegexes: outputs.tls.GetRuleExtractRuleFilterKeyRegex[];
23199
+ /**
23200
+ * 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.
23201
+ */
23202
+ keys: string[];
23203
+ /**
23204
+ * 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.
23205
+ */
23206
+ logRegex: string;
23207
+ /**
23208
+ * Automatically extract log fields based on the specified log template
23209
+ */
23210
+ logTemplate: outputs.tls.GetRuleExtractRuleLogTemplate;
23211
+ /**
23212
+ * 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.
23213
+ */
23214
+ quote: string;
23215
+ /**
23216
+ * Regular expression for extracting time, used to extract the time value from the TimeKey field and parse it as the collection time
23217
+ */
23218
+ timeExtractRegex: string;
23219
+ /**
23220
+ * 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.
23221
+ */
23222
+ timeFormat: string;
23223
+ /**
23224
+ * 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.
23225
+ */
23226
+ timeKey: string;
23227
+ /**
23228
+ * Time sample. Used to check whether the entered time parsing format is correct.
23229
+ */
23230
+ timeSample: string;
23231
+ /**
23232
+ * 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.
23233
+ */
23234
+ timeZone: string;
23235
+ /**
23236
+ * Key name for unmatched logs.
23237
+ */
23238
+ unMatchLogKey: string;
23239
+ /**
23240
+ * Switch for uploading unmatched logs.
23241
+ */
23242
+ unMatchUpLoadSwitch: boolean;
23243
+ }
23244
+ interface GetRuleExtractRuleFilterKeyRegex {
23245
+ /**
23246
+ * Name of the filter field.
23247
+ */
23248
+ key: string;
23249
+ /**
23250
+ * The log content of the filter field must match the specified regular expression.
23251
+ */
23252
+ regex: string;
23253
+ }
23254
+ interface GetRuleExtractRuleLogTemplate {
23255
+ /**
23256
+ * Log template format.
23257
+ */
23258
+ format: string;
23259
+ /**
23260
+ * Log template types. Supported types: Nginx: Nginx log template.
23261
+ */
23262
+ type: string;
23263
+ }
23264
+ interface GetRuleHostGroupInfo {
23265
+ /**
23266
+ * Number of hosts with heartbeat exceptions.
23267
+ */
23268
+ abnormalHeartbeatStatusCount: number;
23269
+ /**
23270
+ * Latest agent version.
23271
+ */
23272
+ agentLatestVersion: string;
23273
+ /**
23274
+ * 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.
23275
+ */
23276
+ autoUpdate: boolean;
23277
+ /**
23278
+ * Machine group creation time.
23279
+ */
23280
+ createTime: string;
23281
+ /**
23282
+ * Number of hosts.
23283
+ */
23284
+ hostCount: number;
23285
+ /**
23286
+ * Machine group ID
23287
+ */
23288
+ hostGroupId: string;
23289
+ /**
23290
+ * Name of the machine group.
23291
+ */
23292
+ hostGroupName: string;
23293
+ /**
23294
+ * Machine group type. IP: Machine IP. Label: Machine label.
23295
+ */
23296
+ hostGroupType: string;
23297
+ /**
23298
+ * Machine identifier.
23299
+ */
23300
+ hostIdentifier: string;
23301
+ /**
23302
+ * The IAM project to which the host group belongs.
23303
+ */
23304
+ iamProjectName: string;
23305
+ /**
23306
+ * Time when the machine group was modified.
23307
+ */
23308
+ modifyTime: string;
23309
+ /**
23310
+ * Number of hosts with normal heartbeat.
23311
+ */
23312
+ normalHeartbeatStatusCount: number;
23313
+ /**
23314
+ * The number of bound collection configurations.
23315
+ */
23316
+ ruleCount: number;
23317
+ /**
23318
+ * Whether to enable the Logcollector service log feature. true: enabled. false (default): disabled.
23319
+ */
23320
+ serviceLogging: boolean;
23321
+ /**
23322
+ * End time for LogCollector automatic upgrade.
23323
+ */
23324
+ updateEndTime: string;
23325
+ /**
23326
+ * 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.
23327
+ */
23328
+ updateStartTime: string;
23329
+ }
23330
+ interface GetRuleUserDefineRule {
23331
+ /**
23332
+ * 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.
23333
+ */
23334
+ advanced: outputs.tls.GetRuleUserDefineRuleAdvanced;
23335
+ /**
23336
+ * 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.
23337
+ */
23338
+ enableHostGroupLabel: boolean;
23339
+ /**
23340
+ * 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.
23341
+ */
23342
+ enableHostname: boolean;
23343
+ /**
23344
+ * Upload raw logs. true: Upload raw logs. false (default): Do not upload raw logs.
23345
+ */
23346
+ enableRawLog: boolean;
23347
+ /**
23348
+ * 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.
23349
+ */
23350
+ fields: outputs.tls.GetRuleUserDefineRuleField[];
23351
+ /**
23352
+ * Field name used to store machine group label information
23353
+ */
23354
+ hostGroupLabelKey: string;
23355
+ /**
23356
+ * Hostname field name. Required only when EnableHostname is true.
23357
+ */
23358
+ hostnameKey: string;
23359
+ /**
23360
+ * Ignore log files that have not been updated for a specified period (in hours).
23361
+ */
23362
+ ignoreOlder: number;
21985
23363
  /**
21986
- * Whether to distinguish case. Default is false.
23364
+ * 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.
21987
23365
  */
21988
- caseSensitive: boolean;
23366
+ multiCollectsType: string;
21989
23367
  /**
21990
- * 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.
23368
+ * 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.
21991
23369
  */
21992
- delimiter: string;
23370
+ parsePathRule: outputs.tls.GetRuleUserDefineRuleParsePathRule;
21993
23371
  /**
21994
- * 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.
23372
+ * LogCollector plugin configuration. After enabling plugin configuration, you can add one or more LogCollector processor plugins to parse logs with complex or variable structures.
21995
23373
  */
21996
- includeChinese: boolean;
23374
+ plugin: outputs.tls.GetRuleUserDefineRulePlugin;
21997
23375
  /**
21998
- * Create indexes for all fields with text values in the JSON field.
23376
+ * 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.
21999
23377
  */
22000
- indexAll: boolean;
23378
+ rawLogKey: string;
22001
23379
  /**
22002
- * Enable automatic indexing and statistics for JSON fields. true: Enable automatic indexing and statistics. false: Disable automatic indexing and statistics.
23380
+ * 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
22003
23381
  */
22004
- indexSqlAll: boolean;
23382
+ shardHashKey: outputs.tls.GetRuleUserDefineRuleShardHashKey;
22005
23383
  /**
22006
- * 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.
23384
+ * 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.
22007
23385
  */
22008
- sqlFlag: boolean;
23386
+ tailFiles: boolean;
22009
23387
  /**
22010
- * 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.
23388
+ * 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.
22011
23389
  */
22012
- valueType: string;
23390
+ tailSizeKb: number;
22013
23391
  }
22014
- interface GetIndexUserInnerKeyValue {
23392
+ interface GetRuleUserDefineRuleAdvanced {
22015
23393
  /**
22016
- * 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.
23394
+ * After reading to the end of the log file, choose whether to release the file handle. Default is false.
23395
+ */
23396
+ closeEof: boolean;
23397
+ /**
23398
+ * 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.
23399
+ */
23400
+ closeInactive: number;
23401
+ /**
23402
+ * Release the file handle after the log file is removed. Default is false.
23403
+ */
23404
+ closeRemoved: boolean;
23405
+ /**
23406
+ * Release the file handle after the log file is renamed. Default is false.
23407
+ */
23408
+ closeRenamed: boolean;
23409
+ /**
23410
+ * 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.
23411
+ */
23412
+ closeTimeout: number;
23413
+ /**
23414
+ * 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.
23415
+ */
23416
+ noLineTerminatorEofMaxTime: number;
23417
+ }
23418
+ interface GetRuleUserDefineRuleField {
23419
+ /**
23420
+ * Key.
22017
23421
  */
22018
23422
  key: string;
22019
23423
  /**
22020
- * Field description information required for configuring key-value indexes.
23424
+ * Value.
22021
23425
  */
22022
- value: outputs.tls.GetIndexUserInnerKeyValueValue;
23426
+ val: string;
22023
23427
  }
22024
- interface GetIndexUserInnerKeyValueValue {
23428
+ interface GetRuleUserDefineRuleParsePathRule {
22025
23429
  /**
22026
- * Indicates whether the index was added automatically. true: The index was added automatically. false: The index was not added automatically.
23430
+ * 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.
22027
23431
  */
22028
- autoIndexFlag: boolean;
23432
+ keys: string[];
22029
23433
  /**
22030
- * Whether to distinguish case. Default is false.
23434
+ * Sample collection path for actual scenarios. The sample collection path must be an absolute path. Wildcards *, ?, ** are not allowed in the path sample.
22031
23435
  */
22032
- caseSensitive: boolean;
23436
+ pathSample: string;
22033
23437
  /**
22034
- * 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.
23438
+ * Regular expression used to extract the path field. Must match the sample collection path, otherwise extraction will fail
22035
23439
  */
22036
- delimiter: string;
23440
+ regex: string;
23441
+ }
23442
+ interface GetRuleUserDefineRulePlugin {
22037
23443
  /**
22038
- * 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.
23444
+ * LogCollector plugin. For the list of supported plugins and parameter descriptions, see LogCollector plugin overview.
22039
23445
  */
22040
- includeChinese: boolean;
23446
+ processors: string;
23447
+ }
23448
+ interface GetRuleUserDefineRuleShardHashKey {
22041
23449
  /**
22042
- * Create indexes for all fields with text values in the JSON field.
23450
+ * 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).
22043
23451
  */
22044
- indexAll: boolean;
23452
+ hashKey: string;
23453
+ }
23454
+ interface GetScheduleSqlTaskRequestCycle {
22045
23455
  /**
22046
- * Enable automatic indexing and statistics for JSON fields. true: Enable automatic indexing and statistics. false: Disable automatic indexing and statistics.
23456
+ * Cron expression, with a minimum granularity of minutes, using 24-hour format. For example, 0 18 * * * means execution at 18:00 every day.
22047
23457
  */
22048
- indexSqlAll: boolean;
23458
+ cronTab: string;
22049
23459
  /**
22050
- * 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.
23460
+ * If Type is set to Cron, you must also set the time zone.
22051
23461
  */
22052
- jsonKeys: outputs.tls.GetIndexUserInnerKeyValueValueJsonKey[];
23462
+ cronTimeZone: string;
22053
23463
  /**
22054
- * 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.
23464
+ * Scheduling period or the time point for periodic execution (minutes from 00:00). Range: 1–1440 minutes.
22055
23465
  */
22056
- sqlFlag: boolean;
23466
+ time: number;
22057
23467
  /**
22058
- * 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.
23468
+ * Scheduling period type. Options: Period, Fixed, Cron.
22059
23469
  */
22060
- valueType: string;
23470
+ type: string;
22061
23471
  }
22062
- interface GetIndexUserInnerKeyValueValueJsonKey {
23472
+ interface GetShipperContentInfo {
22063
23473
  /**
22064
- * 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.
23474
+ * CSV format log content configuration.
22065
23475
  */
22066
- key: string;
23476
+ csvInfo: outputs.tls.GetShipperContentInfoCsvInfo;
22067
23477
  /**
22068
- * Field description information required for configuring key-value indexes.
23478
+ * Log content parsing format. Delivery to TOS supports json, jsonl, csv; delivery to Kafka supports original, json.
22069
23479
  */
22070
- value: outputs.tls.GetIndexUserInnerKeyValueValueJsonKeyValue;
23480
+ format: string;
23481
+ /**
23482
+ * JSON/JSONL format log content configuration.
23483
+ */
23484
+ jsonInfo: outputs.tls.GetShipperContentInfoJsonInfo;
22071
23485
  }
22072
- interface GetIndexUserInnerKeyValueValueJsonKeyValue {
23486
+ interface GetShipperContentInfoCsvInfo {
22073
23487
  /**
22074
- * Indicates whether the index was added automatically. true: The index was added automatically. false: The index was not added automatically.
23488
+ * Delimiter. Supports comma, tab, pipe, semicolon, space.
22075
23489
  */
22076
- autoIndexFlag: boolean;
23490
+ delimiter: string;
22077
23491
  /**
22078
- * Whether to distinguish case. Default is false.
23492
+ * Escape character. When field content contains a delimiter, use an escape character to enclose it. Supports single quote, double quote, or empty character.
22079
23493
  */
22080
- caseSensitive: boolean;
23494
+ escapeChar: string;
22081
23495
  /**
22082
- * 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.
23496
+ * Fields to be delivered. Supports letters, numbers, and _-./. Cannot start with an underscore. Length: 1–128.
22083
23497
  */
22084
- delimiter: string;
23498
+ keys: string[];
22085
23499
  /**
22086
- * 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.
23500
+ * Content for invalid field padding. Length: 0–128.
22087
23501
  */
22088
- includeChinese: boolean;
23502
+ nonFieldContent: string;
22089
23503
  /**
22090
- * Create indexes for all fields with text values in the JSON field.
23504
+ * Whether to print the key in the first row.
22091
23505
  */
22092
- indexAll: boolean;
23506
+ printHeader: boolean;
23507
+ }
23508
+ interface GetShipperContentInfoJsonInfo {
22093
23509
  /**
22094
- * Enable automatic indexing and statistics for JSON fields. true: Enable automatic indexing and statistics. false: Disable automatic indexing and statistics.
23510
+ * Enable flag.
22095
23511
  */
22096
- indexSqlAll: boolean;
23512
+ enable: boolean;
22097
23513
  /**
22098
- * 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.
23514
+ * Whether to enable escaping. Must be set to true.
22099
23515
  */
22100
- sqlFlag: boolean;
23516
+ escape: boolean;
22101
23517
  /**
22102
- * 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.
23518
+ * 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**.
22103
23519
  */
22104
- valueType: string;
23520
+ keys: string[];
22105
23521
  }
22106
- interface GetProjectTag {
23522
+ interface GetShipperKafkaShipperInfo {
22107
23523
  /**
22108
- * Tag key
23524
+ * Compression format; supports snappy, gzip, lz4, none.
23525
+ */
23526
+ compress: string;
23527
+ /**
23528
+ * 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.
23529
+ */
23530
+ endTime: number;
23531
+ /**
23532
+ * Kafka instance.
23533
+ */
23534
+ instance: string;
23535
+ /**
23536
+ * Kafka topic name. All log data delivered through this configuration will be sent to this topic.
23537
+ */
23538
+ kafkaTopic: string;
23539
+ /**
23540
+ * 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.
23541
+ */
23542
+ startTime: number;
23543
+ }
23544
+ interface GetShipperTosShipperInfo {
23545
+ /**
23546
+ * 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.
23547
+ */
23548
+ bucket: string;
23549
+ /**
23550
+ * Compression format; supports snappy, gzip, lz4, none.
23551
+ */
23552
+ compress: string;
23553
+ /**
23554
+ * Delivery interval in seconds, range: 300–900.
23555
+ */
23556
+ interval: number;
23557
+ /**
23558
+ * Maximum raw file size per partition for delivery, in MiB. Range: 5–256.
23559
+ */
23560
+ maxSize: number;
23561
+ /**
23562
+ * Partition rule for log delivery. Subdirectory naming format supports strftime syntax. Default: %Y/%m/%d/%H/%M.
23563
+ */
23564
+ partitionFormat: string;
23565
+ /**
23566
+ * 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.
23567
+ */
23568
+ prefix: string;
23569
+ }
23570
+ interface GetTopicTag {
23571
+ /**
23572
+ * User tag key.
22109
23573
  */
22110
23574
  key: string;
22111
23575
  /**
22112
- * Tag value
23576
+ * User tag value.
22113
23577
  */
22114
23578
  value: string;
22115
23579
  }
22116
- interface GetRuleContainerRule {
23580
+ interface HostGroupRule {
22117
23581
  /**
22118
- * 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.
23582
+ * Container collection rules
22119
23583
  */
22120
- containerNameRegex: string;
23584
+ containerRule: outputs.tls.HostGroupRuleContainerRule;
22121
23585
  /**
22122
- * 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
23586
+ * Time when the collection configuration was created.
22123
23587
  */
22124
- envTags: outputs.tls.GetRuleContainerRuleEnvTag[];
23588
+ createTime: string;
23589
+ excludePaths: outputs.tls.HostGroupRuleExcludePath[];
22125
23590
  /**
22126
- * 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.
23591
+ * Extraction rules
22127
23592
  */
22128
- excludeContainerEnvRegexes: outputs.tls.GetRuleContainerRuleExcludeContainerEnvRegex[];
23593
+ extractRule: outputs.tls.HostGroupRuleExtractRule;
22129
23594
  /**
22130
- * 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.
23595
+ * Collection type. 0: Host log file. 1: K8s container standard output. 2: Log file inside K8s container.
22131
23596
  */
22132
- excludeContainerLabelRegexes: outputs.tls.GetRuleContainerRuleExcludeContainerLabelRegex[];
23597
+ inputType: number;
22133
23598
  /**
22134
- * 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.
23599
+ * Log sample.
22135
23600
  */
22136
- includeContainerEnvRegexes: outputs.tls.GetRuleContainerRuleIncludeContainerEnvRegex[];
23601
+ logSample: string;
22137
23602
  /**
22138
- * 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.
23603
+ * 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.
22139
23604
  */
22140
- includeContainerLabelRegexes: outputs.tls.GetRuleContainerRuleIncludeContainerLabelRegex[];
23605
+ logType: string;
23606
+ /**
23607
+ * Time when the collection configuration was modified.
23608
+ */
23609
+ modifyTime: string;
23610
+ /**
23611
+ * Data collection path list
23612
+ */
23613
+ paths: string[];
23614
+ /**
23615
+ * Running status of the collection configuration. 0: Running. 1: Paused.
23616
+ */
23617
+ pause: number;
23618
+ /**
23619
+ * Collection configuration ID.
23620
+ */
23621
+ ruleId: string;
23622
+ /**
23623
+ * Name of the collection configuration.
23624
+ */
23625
+ ruleName: string;
23626
+ /**
23627
+ * ID of the log topic to which the collection configuration belongs.
23628
+ */
23629
+ topicId: string;
23630
+ /**
23631
+ * Name of the log topic associated with the collection configuration
23632
+ */
23633
+ topicName: string;
23634
+ /**
23635
+ * User-defined collection rules.
23636
+ */
23637
+ userDefineRule: outputs.tls.HostGroupRuleUserDefineRule;
23638
+ }
23639
+ interface HostGroupRuleContainerRule {
23640
+ /**
23641
+ * 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.
23642
+ */
23643
+ containerNameRegex: string;
23644
+ envTags: outputs.tls.HostGroupRuleContainerRuleEnvTag[];
23645
+ excludeContainerEnvRegexes: outputs.tls.HostGroupRuleContainerRuleExcludeContainerEnvRegex[];
23646
+ excludeContainerLabelRegexes: outputs.tls.HostGroupRuleContainerRuleExcludeContainerLabelRegex[];
23647
+ includeContainerEnvRegexes: outputs.tls.HostGroupRuleContainerRuleIncludeContainerEnvRegex[];
23648
+ includeContainerLabelRegexes: outputs.tls.HostGroupRuleContainerRuleIncludeContainerLabelRegex[];
22141
23649
  /**
22142
23650
  * Kubernetes container collection rules.
22143
23651
  */
22144
- kubernetesRule: outputs.tls.GetRuleContainerRuleKubernetesRule;
23652
+ kubernetesRule: outputs.tls.HostGroupRuleContainerRuleKubernetesRule;
22145
23653
  /**
22146
- * 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).
23654
+ * Collection information. stdout: Container standard output (stdout). stderr: Container standard error (stderr). all: Both container standard output (stdout) and standard error (stderr).
22147
23655
  */
22148
23656
  stream: string;
22149
23657
  }
22150
- interface GetRuleContainerRuleEnvTag {
23658
+ interface HostGroupRuleContainerRuleEnvTag {
22151
23659
  /**
22152
23660
  * Key.
22153
23661
  */
@@ -22157,7 +23665,7 @@ export declare namespace tls {
22157
23665
  */
22158
23666
  val: string;
22159
23667
  }
22160
- interface GetRuleContainerRuleExcludeContainerEnvRegex {
23668
+ interface HostGroupRuleContainerRuleExcludeContainerEnvRegex {
22161
23669
  /**
22162
23670
  * Key.
22163
23671
  */
@@ -22167,7 +23675,7 @@ export declare namespace tls {
22167
23675
  */
22168
23676
  val: string;
22169
23677
  }
22170
- interface GetRuleContainerRuleExcludeContainerLabelRegex {
23678
+ interface HostGroupRuleContainerRuleExcludeContainerLabelRegex {
22171
23679
  /**
22172
23680
  * Key.
22173
23681
  */
@@ -22177,7 +23685,7 @@ export declare namespace tls {
22177
23685
  */
22178
23686
  val: string;
22179
23687
  }
22180
- interface GetRuleContainerRuleIncludeContainerEnvRegex {
23688
+ interface HostGroupRuleContainerRuleIncludeContainerEnvRegex {
22181
23689
  /**
22182
23690
  * Key.
22183
23691
  */
@@ -22187,7 +23695,7 @@ export declare namespace tls {
22187
23695
  */
22188
23696
  val: string;
22189
23697
  }
22190
- interface GetRuleContainerRuleIncludeContainerLabelRegex {
23698
+ interface HostGroupRuleContainerRuleIncludeContainerLabelRegex {
22191
23699
  /**
22192
23700
  * Key.
22193
23701
  */
@@ -22197,41 +23705,23 @@ export declare namespace tls {
22197
23705
  */
22198
23706
  val: string;
22199
23707
  }
22200
- interface GetRuleContainerRuleKubernetesRule {
22201
- /**
22202
- * 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.
22203
- */
22204
- annotationTags: outputs.tls.GetRuleContainerRuleKubernetesRuleAnnotationTag[];
23708
+ interface HostGroupRuleContainerRuleKubernetesRule {
23709
+ annotationTags: outputs.tls.HostGroupRuleContainerRuleKubernetesRuleAnnotationTag[];
22205
23710
  /**
22206
- * 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.
23711
+ * 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.
22207
23712
  */
22208
23713
  enableAllLabelTag: boolean;
23714
+ excludePodAnnotationRegexes: outputs.tls.HostGroupRuleContainerRuleKubernetesRuleExcludePodAnnotationRegex[];
23715
+ excludePodLabelRegexes: outputs.tls.HostGroupRuleContainerRuleKubernetesRuleExcludePodLabelRegex[];
23716
+ includePodAnnotationRegexes: outputs.tls.HostGroupRuleContainerRuleKubernetesRuleIncludePodAnnotationRegex[];
23717
+ includePodLabelRegexes: outputs.tls.HostGroupRuleContainerRuleKubernetesRuleIncludePodLabelRegex[];
23718
+ labelTags: outputs.tls.HostGroupRuleContainerRuleKubernetesRuleLabelTag[];
22209
23719
  /**
22210
- * 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
22211
- */
22212
- excludePodAnnotationRegexes: outputs.tls.GetRuleContainerRuleKubernetesRuleExcludePodAnnotationRegex[];
22213
- /**
22214
- * 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
22215
- */
22216
- excludePodLabelRegexes: outputs.tls.GetRuleContainerRuleKubernetesRuleExcludePodLabelRegex[];
22217
- /**
22218
- * 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.
22219
- */
22220
- includePodAnnotationRegexes: outputs.tls.GetRuleContainerRuleKubernetesRuleIncludePodAnnotationRegex[];
22221
- /**
22222
- * 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.
22223
- */
22224
- includePodLabelRegexes: outputs.tls.GetRuleContainerRuleKubernetesRuleIncludePodLabelRegex[];
22225
- /**
22226
- * 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.
22227
- */
22228
- labelTags: outputs.tls.GetRuleContainerRuleKubernetesRuleLabelTag[];
22229
- /**
22230
- * 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.
23720
+ * 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.
22231
23721
  */
22232
23722
  namespaceNameRegex: string;
22233
23723
  /**
22234
- * 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.
23724
+ * 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.
22235
23725
  */
22236
23726
  podNameRegex: string;
22237
23727
  /**
@@ -22239,11 +23729,11 @@ export declare namespace tls {
22239
23729
  */
22240
23730
  workloadNameRegex: string;
22241
23731
  /**
22242
- * 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
23732
+ * 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
22243
23733
  */
22244
23734
  workloadType: string;
22245
23735
  }
22246
- interface GetRuleContainerRuleKubernetesRuleAnnotationTag {
23736
+ interface HostGroupRuleContainerRuleKubernetesRuleAnnotationTag {
22247
23737
  /**
22248
23738
  * Key.
22249
23739
  */
@@ -22253,7 +23743,7 @@ export declare namespace tls {
22253
23743
  */
22254
23744
  val: string;
22255
23745
  }
22256
- interface GetRuleContainerRuleKubernetesRuleExcludePodAnnotationRegex {
23746
+ interface HostGroupRuleContainerRuleKubernetesRuleExcludePodAnnotationRegex {
22257
23747
  /**
22258
23748
  * Key.
22259
23749
  */
@@ -22263,7 +23753,7 @@ export declare namespace tls {
22263
23753
  */
22264
23754
  val: string;
22265
23755
  }
22266
- interface GetRuleContainerRuleKubernetesRuleExcludePodLabelRegex {
23756
+ interface HostGroupRuleContainerRuleKubernetesRuleExcludePodLabelRegex {
22267
23757
  /**
22268
23758
  * Key.
22269
23759
  */
@@ -22273,7 +23763,7 @@ export declare namespace tls {
22273
23763
  */
22274
23764
  val: string;
22275
23765
  }
22276
- interface GetRuleContainerRuleKubernetesRuleIncludePodAnnotationRegex {
23766
+ interface HostGroupRuleContainerRuleKubernetesRuleIncludePodAnnotationRegex {
22277
23767
  /**
22278
23768
  * Key.
22279
23769
  */
@@ -22283,7 +23773,7 @@ export declare namespace tls {
22283
23773
  */
22284
23774
  val: string;
22285
23775
  }
22286
- interface GetRuleContainerRuleKubernetesRuleIncludePodLabelRegex {
23776
+ interface HostGroupRuleContainerRuleKubernetesRuleIncludePodLabelRegex {
22287
23777
  /**
22288
23778
  * Key.
22289
23779
  */
@@ -22293,7 +23783,7 @@ export declare namespace tls {
22293
23783
  */
22294
23784
  val: string;
22295
23785
  }
22296
- interface GetRuleContainerRuleKubernetesRuleLabelTag {
23786
+ interface HostGroupRuleContainerRuleKubernetesRuleLabelTag {
22297
23787
  /**
22298
23788
  * Key.
22299
23789
  */
@@ -22303,9 +23793,9 @@ export declare namespace tls {
22303
23793
  */
22304
23794
  val: string;
22305
23795
  }
22306
- interface GetRuleExcludePath {
23796
+ interface HostGroupRuleExcludePath {
22307
23797
  /**
22308
- * Collection path type. File: File name. Path: Directory.
23798
+ * Collection path type. File: file name. Path: directory.
22309
23799
  */
22310
23800
  type: string;
22311
23801
  /**
@@ -22313,9 +23803,9 @@ export declare namespace tls {
22313
23803
  */
22314
23804
  value: string;
22315
23805
  }
22316
- interface GetRuleExtractRule {
23806
+ interface HostGroupRuleExtractRule {
22317
23807
  /**
22318
- * 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.
23808
+ * 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.
22319
23809
  */
22320
23810
  beginRegex: string;
22321
23811
  /**
@@ -22323,59 +23813,56 @@ export declare namespace tls {
22323
23813
  */
22324
23814
  delimiter: string;
22325
23815
  /**
22326
- * 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.
23816
+ * 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.
22327
23817
  */
22328
23818
  enableNanosecond: boolean;
23819
+ filterKeyRegexes: outputs.tls.HostGroupRuleExtractRuleFilterKeyRegex[];
22329
23820
  /**
22330
- * 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.
22331
- */
22332
- filterKeyRegexes: outputs.tls.GetRuleExtractRuleFilterKeyRegex[];
22333
- /**
22334
- * 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.
23821
+ * List of log field names (Keys).
22335
23822
  */
22336
23823
  keys: string[];
22337
23824
  /**
22338
- * 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.
23825
+ * 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.
22339
23826
  */
22340
23827
  logRegex: string;
22341
23828
  /**
22342
- * Automatically extract log fields based on the specified log template
23829
+ * Automatically extract log fields based on the specified log template.
22343
23830
  */
22344
- logTemplate: outputs.tls.GetRuleExtractRuleLogTemplate;
23831
+ logTemplate: outputs.tls.HostGroupRuleExtractRuleLogTemplate;
22345
23832
  /**
22346
- * 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.
23833
+ * Quotation mark. Content enclosed by quotation marks is parsed as a complete field and not separated. Only valid when LogType is delimiter_log.
22347
23834
  */
22348
23835
  quote: string;
22349
23836
  /**
22350
- * Regular expression for extracting time, used to extract the time value from the TimeKey field and parse it as the collection time
23837
+ * Regular expression for extracting time, used to extract the time value from the TimeKey field and parse it as the collection time.
22351
23838
  */
22352
23839
  timeExtractRegex: string;
22353
23840
  /**
22354
- * 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.
23841
+ * 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.
22355
23842
  */
22356
23843
  timeFormat: string;
22357
23844
  /**
22358
- * 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.
23845
+ * 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.
22359
23846
  */
22360
23847
  timeKey: string;
22361
23848
  /**
22362
- * Time sample. Used to check whether the entered time parsing format is correct.
23849
+ * Sample time. Used to verify whether the specified time parsing format is correct.
22363
23850
  */
22364
23851
  timeSample: string;
22365
23852
  /**
22366
- * 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.
23853
+ * Time zone. Supports machine time zone (default) and custom time zone. Custom time zone supports GMT and UTC.
22367
23854
  */
22368
23855
  timeZone: string;
22369
23856
  /**
22370
- * Key name for unmatched logs.
23857
+ * Key name for logs that failed to parse when uploading
22371
23858
  */
22372
23859
  unMatchLogKey: string;
22373
23860
  /**
22374
- * Switch for uploading unmatched logs.
23861
+ * 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.
22375
23862
  */
22376
23863
  unMatchUpLoadSwitch: boolean;
22377
23864
  }
22378
- interface GetRuleExtractRuleFilterKeyRegex {
23865
+ interface HostGroupRuleExtractRuleFilterKeyRegex {
22379
23866
  /**
22380
23867
  * Name of the filter field.
22381
23868
  */
@@ -22385,331 +23872,136 @@ export declare namespace tls {
22385
23872
  */
22386
23873
  regex: string;
22387
23874
  }
22388
- interface GetRuleExtractRuleLogTemplate {
22389
- /**
22390
- * Log template format.
22391
- */
22392
- format: string;
22393
- /**
22394
- * Log template types. Supported types: Nginx: Nginx log template.
22395
- */
22396
- type: string;
22397
- }
22398
- interface GetRuleHostGroupInfo {
22399
- /**
22400
- * Number of hosts with heartbeat exceptions.
22401
- */
22402
- abnormalHeartbeatStatusCount: number;
22403
- /**
22404
- * Latest agent version.
22405
- */
22406
- agentLatestVersion: string;
22407
- /**
22408
- * 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.
22409
- */
22410
- autoUpdate: boolean;
22411
- /**
22412
- * Machine group creation time.
22413
- */
22414
- createTime: string;
22415
- /**
22416
- * Number of hosts.
22417
- */
22418
- hostCount: number;
22419
- /**
22420
- * Machine group ID
22421
- */
22422
- hostGroupId: string;
22423
- /**
22424
- * Name of the machine group.
22425
- */
22426
- hostGroupName: string;
22427
- /**
22428
- * Machine group type. IP: Machine IP. Label: Machine label.
22429
- */
22430
- hostGroupType: string;
22431
- /**
22432
- * Machine identifier.
22433
- */
22434
- hostIdentifier: string;
22435
- /**
22436
- * The IAM project to which the host group belongs.
22437
- */
22438
- iamProjectName: string;
22439
- /**
22440
- * Time when the machine group was modified.
22441
- */
22442
- modifyTime: string;
22443
- /**
22444
- * Number of hosts with normal heartbeat.
22445
- */
22446
- normalHeartbeatStatusCount: number;
22447
- /**
22448
- * The number of bound collection configurations.
22449
- */
22450
- ruleCount: number;
22451
- /**
22452
- * Whether to enable the Logcollector service log feature. true: enabled. false (default): disabled.
22453
- */
22454
- serviceLogging: boolean;
22455
- /**
22456
- * End time for LogCollector automatic upgrade.
22457
- */
22458
- updateEndTime: string;
22459
- /**
22460
- * 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.
22461
- */
22462
- updateStartTime: string;
22463
- }
22464
- interface GetRuleUserDefineRule {
22465
- /**
22466
- * 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.
22467
- */
22468
- advanced: outputs.tls.GetRuleUserDefineRuleAdvanced;
22469
- /**
22470
- * 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.
22471
- */
22472
- enableHostGroupLabel: boolean;
22473
- /**
22474
- * 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.
22475
- */
22476
- enableHostname: boolean;
22477
- /**
22478
- * Upload raw logs. true: Upload raw logs. false (default): Do not upload raw logs.
22479
- */
22480
- enableRawLog: boolean;
22481
- /**
22482
- * 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.
22483
- */
22484
- fields: outputs.tls.GetRuleUserDefineRuleField[];
22485
- /**
22486
- * Field name used to store machine group label information
22487
- */
22488
- hostGroupLabelKey: string;
22489
- /**
22490
- * Hostname field name. Required only when EnableHostname is true.
22491
- */
22492
- hostnameKey: string;
22493
- /**
22494
- * Ignore log files that have not been updated for a specified period (in hours).
22495
- */
22496
- ignoreOlder: number;
22497
- /**
22498
- * 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.
22499
- */
22500
- multiCollectsType: string;
22501
- /**
22502
- * 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.
22503
- */
22504
- parsePathRule: outputs.tls.GetRuleUserDefineRuleParsePathRule;
22505
- /**
22506
- * LogCollector plugin configuration. After enabling plugin configuration, you can add one or more LogCollector processor plugins to parse logs with complex or variable structures.
22507
- */
22508
- plugin: outputs.tls.GetRuleUserDefineRulePlugin;
22509
- /**
22510
- * 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.
22511
- */
22512
- rawLogKey: string;
22513
- /**
22514
- * 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
22515
- */
22516
- shardHashKey: outputs.tls.GetRuleUserDefineRuleShardHashKey;
22517
- /**
22518
- * 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.
22519
- */
22520
- tailFiles: boolean;
22521
- /**
22522
- * 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.
22523
- */
22524
- tailSizeKb: number;
22525
- }
22526
- interface GetRuleUserDefineRuleAdvanced {
22527
- /**
22528
- * After reading to the end of the log file, choose whether to release the file handle. Default is false.
22529
- */
22530
- closeEof: boolean;
22531
- /**
22532
- * 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.
22533
- */
22534
- closeInactive: number;
22535
- /**
22536
- * Release the file handle after the log file is removed. Default is false.
22537
- */
22538
- closeRemoved: boolean;
22539
- /**
22540
- * Release the file handle after the log file is renamed. Default is false.
22541
- */
22542
- closeRenamed: boolean;
22543
- /**
22544
- * 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.
22545
- */
22546
- closeTimeout: number;
22547
- /**
22548
- * 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.
22549
- */
22550
- noLineTerminatorEofMaxTime: number;
22551
- }
22552
- interface GetRuleUserDefineRuleField {
22553
- /**
22554
- * Key.
22555
- */
22556
- key: string;
22557
- /**
22558
- * Value.
22559
- */
22560
- val: string;
22561
- }
22562
- interface GetRuleUserDefineRuleParsePathRule {
22563
- /**
22564
- * 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.
22565
- */
22566
- keys: string[];
22567
- /**
22568
- * Sample collection path for actual scenarios. The sample collection path must be an absolute path. Wildcards *, ?, ** are not allowed in the path sample.
22569
- */
22570
- pathSample: string;
22571
- /**
22572
- * Regular expression used to extract the path field. Must match the sample collection path, otherwise extraction will fail
22573
- */
22574
- regex: string;
22575
- }
22576
- interface GetRuleUserDefineRulePlugin {
22577
- /**
22578
- * LogCollector plugin. For the list of supported plugins and parameter descriptions, see LogCollector plugin overview.
22579
- */
22580
- processors: string;
22581
- }
22582
- interface GetRuleUserDefineRuleShardHashKey {
23875
+ interface HostGroupRuleExtractRuleLogTemplate {
22583
23876
  /**
22584
- * 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).
23877
+ * Log template format
22585
23878
  */
22586
- hashKey: string;
22587
- }
22588
- interface GetScheduleSqlTaskRequestCycle {
23879
+ format: string;
22589
23880
  /**
22590
- * Cron expression, with a minimum granularity of minutes, using 24-hour format. For example, 0 18 * * * means execution at 18:00 every day.
23881
+ * Log template type. Supported types: Nginx (Nginx log template type).
22591
23882
  */
22592
- cronTab: string;
23883
+ type: string;
23884
+ }
23885
+ interface HostGroupRuleUserDefineRule {
22593
23886
  /**
22594
- * If Type is set to Cron, you must also set the time zone.
23887
+ * 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.
22595
23888
  */
22596
- cronTimeZone: string;
23889
+ advanced: outputs.tls.HostGroupRuleUserDefineRuleAdvanced;
22597
23890
  /**
22598
- * Scheduling period or the time point for periodic execution (minutes from 00:00). Range: 1–1440 minutes.
23891
+ * 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.
22599
23892
  */
22600
- time: number;
23893
+ enableHostGroupLabel: boolean;
22601
23894
  /**
22602
- * Scheduling period type. Options: Period, Fixed, Cron.
23895
+ * 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.
22603
23896
  */
22604
- type: string;
22605
- }
22606
- interface GetShipperContentInfo {
23897
+ enableHostname: boolean;
22607
23898
  /**
22608
- * CSV format log content configuration.
23899
+ * Whether to upload raw logs. true: Upload raw logs. false (default): Do not upload raw logs.
22609
23900
  */
22610
- csvInfo: outputs.tls.GetShipperContentInfoCsvInfo;
23901
+ enableRawLog: boolean;
23902
+ fields: outputs.tls.HostGroupRuleUserDefineRuleField[];
22611
23903
  /**
22612
- * Log content parsing format. Delivery to TOS supports json, jsonl, csv; delivery to Kafka supports original, json.
23904
+ * Field name used to store machine group label information.
22613
23905
  */
22614
- format: string;
23906
+ hostGroupLabelKey: string;
22615
23907
  /**
22616
- * JSON/JSONL format log content configuration.
23908
+ * hostname field name. Only required when EnableHostname is set to true.
22617
23909
  */
22618
- jsonInfo: outputs.tls.GetShipperContentInfoJsonInfo;
22619
- }
22620
- interface GetShipperContentInfoCsvInfo {
23910
+ hostnameKey: string;
22621
23911
  /**
22622
- * Delimiter. Supports comma, tab, pipe, semicolon, space.
23912
+ * Ignore log files that have not been updated for a specified duration, in hours.
22623
23913
  */
22624
- delimiter: string;
23914
+ ignoreOlder: number;
22625
23915
  /**
22626
- * Escape character. When field content contains a delimiter, use an escape character to enclose it. Supports single quote, double quote, or empty character.
23916
+ * 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.
22627
23917
  */
22628
- escapeChar: string;
23918
+ multiCollectsType: string;
22629
23919
  /**
22630
- * Fields to be delivered. Supports letters, numbers, and _-./. Cannot start with an underscore. Length: 1–128.
23920
+ * 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.
22631
23921
  */
22632
- keys: string[];
23922
+ parsePathRule: outputs.tls.HostGroupRuleUserDefineRuleParsePathRule;
22633
23923
  /**
22634
- * Content for invalid field padding. Length: 0–128.
23924
+ * LogCollector plugin configuration. After enabling plugin configuration, you can add one or more LogCollector processor plugins to parse logs with complex or variable structures.
22635
23925
  */
22636
- nonFieldContent: string;
23926
+ plugin: outputs.tls.HostGroupRuleUserDefineRulePlugin;
22637
23927
  /**
22638
- * Whether to print the key in the first row.
23928
+ * 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
22639
23929
  */
22640
- printHeader: boolean;
22641
- }
22642
- interface GetShipperContentInfoJsonInfo {
23930
+ rawLogKey: string;
22643
23931
  /**
22644
- * Enable flag.
23932
+ * 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.
22645
23933
  */
22646
- enable: boolean;
23934
+ shardHashKey: outputs.tls.HostGroupRuleUserDefineRuleShardHashKey;
22647
23935
  /**
22648
- * Whether to enable escaping. Must be set to true.
23936
+ * 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.
22649
23937
  */
22650
- escape: boolean;
23938
+ tailFiles: boolean;
22651
23939
  /**
22652
- * 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**.
23940
+ * 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.
22653
23941
  */
22654
- keys: string[];
23942
+ tailSizeKb: number;
22655
23943
  }
22656
- interface GetShipperKafkaShipperInfo {
23944
+ interface HostGroupRuleUserDefineRuleAdvanced {
22657
23945
  /**
22658
- * Compression format; supports snappy, gzip, lz4, none.
23946
+ * After reading to the end of the log file, whether to release the file handle. Default is false.
22659
23947
  */
22660
- compress: string;
23948
+ closeEof: boolean;
22661
23949
  /**
22662
- * 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.
23950
+ * 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.
22663
23951
  */
22664
- endTime: number;
23952
+ closeInactive: number;
22665
23953
  /**
22666
- * Kafka instance.
23954
+ * Whether to release the handle of the log file after it is removed. Default is false.
22667
23955
  */
22668
- instance: string;
23956
+ closeRemoved: boolean;
22669
23957
  /**
22670
- * Kafka topic name. All log data delivered through this configuration will be sent to this topic.
23958
+ * Whether to release the handle of the log file after it is renamed. Default is false.
22671
23959
  */
22672
- kafkaTopic: string;
23960
+ closeRenamed: boolean;
22673
23961
  /**
22674
- * 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.
23962
+ * 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.
22675
23963
  */
22676
- startTime: number;
22677
- }
22678
- interface GetShipperTosShipperInfo {
23964
+ closeTimeout: number;
22679
23965
  /**
22680
- * 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.
23966
+ * 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.
22681
23967
  */
22682
- bucket: string;
23968
+ noLineTerminatorEofMaxTime: number;
23969
+ }
23970
+ interface HostGroupRuleUserDefineRuleField {
22683
23971
  /**
22684
- * Compression format; supports snappy, gzip, lz4, none.
23972
+ * Key.
22685
23973
  */
22686
- compress: string;
23974
+ key: string;
22687
23975
  /**
22688
- * Delivery interval in seconds, range: 300–900.
23976
+ * Value.
22689
23977
  */
22690
- interval: number;
23978
+ val: string;
23979
+ }
23980
+ interface HostGroupRuleUserDefineRuleParsePathRule {
22691
23981
  /**
22692
- * Maximum raw file size per partition for delivery, in MiB. Range: 5–256.
23982
+ * 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.
22693
23983
  */
22694
- maxSize: number;
23984
+ keys: string[];
22695
23985
  /**
22696
- * Partition rule for log delivery. Subdirectory naming format supports strftime syntax. Default: %Y/%m/%d/%H/%M.
23986
+ * Sample collection path for actual scenarios. The sample path must be an absolute path. Wildcards *, ?, ** are not allowed in the sample path.
22697
23987
  */
22698
- partitionFormat: string;
23988
+ pathSample: string;
22699
23989
  /**
22700
- * 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.
23990
+ * Regular expression used to extract the path field. It must match the example collection path; otherwise, extraction will fail.
22701
23991
  */
22702
- prefix: string;
23992
+ regex: string;
22703
23993
  }
22704
- interface GetTopicTag {
23994
+ interface HostGroupRuleUserDefineRulePlugin {
22705
23995
  /**
22706
- * User tag key.
23996
+ * LogCollector plugins. For supported plugin lists and parameter descriptions, see LogCollector plugin overview.
22707
23997
  */
22708
- key: string;
23998
+ processors: string;
23999
+ }
24000
+ interface HostGroupRuleUserDefineRuleShardHashKey {
22709
24001
  /**
22710
- * User tag value.
24002
+ * 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).
22711
24003
  */
22712
- value: string;
24004
+ hashKey: string;
22713
24005
  }
22714
24006
  interface ImportTaskImportSourceInfo {
22715
24007
  /**
@@ -23838,31 +25130,308 @@ export declare namespace tos {
23838
25130
  /**
23839
25131
  * Storage class. Includes STANDARD, IA, ARCHIVE*FR, INTELLIGENT*TIERING, COLD*ARCHIVE, ARCHIVE, DEEP*COLD_ARCHIVE
23840
25132
  */
23841
- storageClass: string;
25133
+ storageClass: string;
25134
+ }
25135
+ interface BucketLifecycleConfigTag {
25136
+ /**
25137
+ * Tag key
25138
+ */
25139
+ key: string;
25140
+ /**
25141
+ * Tag value
25142
+ */
25143
+ value: string;
25144
+ }
25145
+ interface BucketLifecycleConfigTransition {
25146
+ /**
25147
+ * Specific date for latest version object transition in lifecycle rules based on last modified time
25148
+ */
25149
+ date: string;
25150
+ /**
25151
+ * Number of days to transition the latest version object in the lifecycle rule based on last modified time
25152
+ */
25153
+ days: number;
25154
+ /**
25155
+ * Storage class for historical version object transition in lifecycle rules based on last modified time. Includes STANDARD, IA, ARCHIVE*FR, INTELLIGENT*TIERING, COLD*ARCHIVE, ARCHIVE, DEEP*COLD_ARCHIVE
25156
+ */
25157
+ storageClass: string;
25158
+ }
25159
+ interface BucketMirrorBackRule {
25160
+ /**
25161
+ * Conditions that trigger the back-to-origin function.
25162
+ */
25163
+ condition: outputs.tos.BucketMirrorBackRuleCondition;
25164
+ /**
25165
+ * Rule ID. The unique identifier for the back-to-origin rule configured on the current bucket. You can set this yourself to distinguish between multiple rules. Restrictions:
25166
+ * Characters supported: letters, numbers, - and _.
25167
+ * Maximum length: 32 characters.
25168
+ */
25169
+ id: string;
25170
+ /**
25171
+ * Back-to-origin redirect configuration.
25172
+ */
25173
+ redirect: outputs.tos.BucketMirrorBackRuleRedirect;
25174
+ }
25175
+ interface BucketMirrorBackRuleCondition {
25176
+ /**
25177
+ * Supports triggering origin fetch only for specified domains. The domain must be able to access the bucket; it is recommended to use a custom domain bound to the bucket. Limit: supports up to 30 domains.
25178
+ */
25179
+ allowHosts: string[];
25180
+ /**
25181
+ * Error code that triggers origin fetch. When a download request returns this error code, origin fetch is triggered. Limit: currently only supports 404.
25182
+ */
25183
+ httpCode: number;
25184
+ /**
25185
+ * Request types that trigger back-to-origin. Value description:
25186
+ * ["GET","HEAD"]: Both GetObject and HeadObject requests can trigger back-to-origin.
25187
+ * ["GET"]: Only GetObject requests can trigger back-to-origin.
25188
+ * Default is ["GET"].
25189
+ */
25190
+ httpMethods: string[];
25191
+ /**
25192
+ * Object name prefix for matching origin fetch objects. Limit: supports up to 512 characters.
25193
+ */
25194
+ keyPrefix: string;
25195
+ /**
25196
+ * Object name suffix for matching origin fetch objects. Limit: supports up to 512 characters.
25197
+ */
25198
+ keySuffix: string;
25199
+ }
25200
+ interface BucketMirrorBackRuleRedirect {
25201
+ fetchHeaderToMetaDataRules: outputs.tos.BucketMirrorBackRuleRedirectFetchHeaderToMetaDataRule[];
25202
+ /**
25203
+ * Whether to fetch data from the configured origin after redirection. Value description: true: Fetch data from the configured origin after redirection. false: Do not fetch data from the configured origin after redirection.
25204
+ */
25205
+ fetchSourceOnRedirect: boolean;
25206
+ /**
25207
+ * Whether to include request parameters when fetching data after redirection. If not configured, inherits PassQuery settings: true: includes request parameters. false: does not include request parameters.
25208
+ */
25209
+ fetchSourceOnRedirectWithQuery: boolean;
25210
+ /**
25211
+ * If the result of mirror origin fetch is 3xx, whether to continue redirecting to the specified Location to fetch data. Value description: true: TOS will continue to request the address corresponding to Location. false: TOS will return 302.
25212
+ */
25213
+ followRedirect: boolean;
25214
+ /**
25215
+ * Specify the headers to include when mirroring back to origin.
25216
+ */
25217
+ mirrorHeader: outputs.tos.BucketMirrorBackRuleRedirectMirrorHeader;
25218
+ /**
25219
+ * List of origin response headers allowed to be passed through directly.
25220
+ */
25221
+ passHeaderFromSources: string[];
25222
+ /**
25223
+ * Whether to include request parameters when performing redirect or mirror back-to-origin rules. Value description:
25224
+ * true: Include request parameters.
25225
+ * false: Do not include request parameters.
25226
+ */
25227
+ passQuery: boolean;
25228
+ /**
25229
+ * List of origin response status codes allowed to be passed through directly.
25230
+ */
25231
+ passStatusCodeFromSources: number[];
25232
+ /**
25233
+ * Back-to-origin address configuration when the origin server is a private bucket.
25234
+ */
25235
+ privateSource: outputs.tos.BucketMirrorBackRuleRedirectPrivateSource;
25236
+ /**
25237
+ * Back-to-origin address configuration when the origin server is a public bucket.
25238
+ */
25239
+ publicSource: outputs.tos.BucketMirrorBackRuleRedirectPublicSource;
25240
+ /**
25241
+ * Specify redirect type. Value range: Mirror: Mirror origin fetch. Async: Redirect origin fetch.
25242
+ */
25243
+ redirectType: string;
25244
+ /**
25245
+ * Define transformations for the object name when requesting the origin server.
25246
+ */
25247
+ transform: outputs.tos.BucketMirrorBackRuleRedirectTransform;
25248
+ }
25249
+ interface BucketMirrorBackRuleRedirectFetchHeaderToMetaDataRule {
25250
+ /**
25251
+ * Suffix appended when writing object metadata.
25252
+ */
25253
+ metaDataSuffix: string;
25254
+ /**
25255
+ * Origin response header name.
25256
+ */
25257
+ sourceHeader: string;
25258
+ }
25259
+ interface BucketMirrorBackRuleRedirectMirrorHeader {
25260
+ /**
25261
+ * Whether to forward all HTTP headers to the origin. Values: true: forwards all HTTP headers to the origin. false: does not forward all HTTP headers to the origin. The following HTTP header types are not supported for forwarding: Host, Content-Length, Date, Authorization.
25262
+ */
25263
+ passAll: boolean;
25264
+ /**
25265
+ * Pass the specified headers to the origin server. Limit: up to 64.
25266
+ */
25267
+ passes: string[];
25268
+ /**
25269
+ * Prohibit forwarding specified headers to the origin. Limit: maximum 64.
25270
+ */
25271
+ removes: string[];
25272
+ sets: outputs.tos.BucketMirrorBackRuleRedirectMirrorHeaderSet[];
25273
+ }
25274
+ interface BucketMirrorBackRuleRedirectMirrorHeaderSet {
25275
+ /**
25276
+ * Request header name.
25277
+ */
25278
+ key: string;
25279
+ /**
25280
+ * Request header value.
25281
+ */
25282
+ value: string;
25283
+ }
25284
+ interface BucketMirrorBackRuleRedirectPrivateSource {
25285
+ /**
25286
+ * Back-to-origin address configuration when the origin server is a private bucket.
25287
+ */
25288
+ sourceEndpoint: outputs.tos.BucketMirrorBackRuleRedirectPrivateSourceSourceEndpoint;
25289
+ }
25290
+ interface BucketMirrorBackRuleRedirectPrivateSourceSourceEndpoint {
25291
+ followers: outputs.tos.BucketMirrorBackRuleRedirectPrivateSourceSourceEndpointFollower[];
25292
+ primaries: outputs.tos.BucketMirrorBackRuleRedirectPrivateSourceSourceEndpointPrimary[];
25293
+ }
25294
+ interface BucketMirrorBackRuleRedirectPrivateSourceSourceEndpointFollower {
25295
+ /**
25296
+ * Name of the origin fetch bucket. Required when the origin is a private bucket.
25297
+ */
25298
+ bucketName: string;
25299
+ /**
25300
+ * Private back-to-origin authentication method. Required when the origin server is a private bucket.
25301
+ */
25302
+ credentialProvider: outputs.tos.BucketMirrorBackRuleRedirectPrivateSourceSourceEndpointFollowerCredentialProvider;
25303
+ /**
25304
+ * Access domain name of the origin service provider, excluding bucket name, maximum length 255. Required for private buckets.
25305
+ */
25306
+ endpoint: string;
25307
+ }
25308
+ interface BucketMirrorBackRuleRedirectPrivateSourceSourceEndpointFollowerCredentialProvider {
25309
+ /**
25310
+ * Region where the origin fetch bucket is located. Required when using AK/SK authentication.
25311
+ */
25312
+ region: string;
25313
+ /**
25314
+ * Name of AssumeRole. Only when fetching from a private TOS bucket can AssumeRole be used for authentication. Role authentication and AK/SK authentication are mutually exclusive and cannot be set simultaneously.
25315
+ */
25316
+ role: string;
25317
+ /**
25318
+ * Authenticate using AK/SK.
25319
+ */
25320
+ staticCredential: outputs.tos.BucketMirrorBackRuleRedirectPrivateSourceSourceEndpointFollowerCredentialProviderStaticCredential;
25321
+ }
25322
+ interface BucketMirrorBackRuleRedirectPrivateSourceSourceEndpointFollowerCredentialProviderStaticCredential {
25323
+ /**
25324
+ * AccessKey ID of the origin bucket. Required when using AK/SK authentication.
25325
+ */
25326
+ ak: string;
25327
+ /**
25328
+ * SecretKey for the back-to-origin bucket. Required when using AK/SK authentication.
25329
+ */
25330
+ sk: string;
25331
+ /**
25332
+ * Encryption method used for SecretKey. Values:
25333
+ * Empty: SecretKey is in plaintext. After receiving the SecretKey, the server will encrypt and store it.
25334
+ * AES256: SecretKey has been encrypted using the AES256 algorithm on the server side. After receiving the SecretKey, the server will parse and encrypt it for storage.
25335
+ * Note: When a back-to-origin rule is created for the first time, the SecretKey is encrypted with AES256. If you modify the back-to-origin rule without changing the SecretKey parameter, you must first decrypt the SecretKey and then re-encrypt it for storage. Therefore, when calling the PutBucketMirrorBack API to modify the back-to-origin rule and only changing other parameters (not the SecretKey), you can set SKEncryptType to AES256.
25336
+ */
25337
+ skEncryptType: string;
25338
+ /**
25339
+ * Origin service provider. Values: BOS: Baidu Cloud. S3: Other cloud providers using the S3 storage protocol.
25340
+ */
25341
+ storageVendor: string;
25342
+ }
25343
+ interface BucketMirrorBackRuleRedirectPrivateSourceSourceEndpointPrimary {
25344
+ /**
25345
+ * Name of the origin fetch bucket. Required when the origin is a private bucket.
25346
+ */
25347
+ bucketName: string;
25348
+ /**
25349
+ * Private back-to-origin authentication method. Required when the origin server is a private bucket.
25350
+ */
25351
+ credentialProvider: outputs.tos.BucketMirrorBackRuleRedirectPrivateSourceSourceEndpointPrimaryCredentialProvider;
25352
+ /**
25353
+ * Access domain name of the origin service provider, excluding bucket name, maximum length 255. Required for private buckets.
25354
+ */
25355
+ endpoint: string;
25356
+ }
25357
+ interface BucketMirrorBackRuleRedirectPrivateSourceSourceEndpointPrimaryCredentialProvider {
25358
+ /**
25359
+ * Region where the origin fetch bucket is located. Required when using AK/SK authentication.
25360
+ */
25361
+ region: string;
25362
+ /**
25363
+ * Name of AssumeRole. Only when fetching from a private TOS bucket can AssumeRole be used for authentication. Role authentication and AK/SK authentication are mutually exclusive and cannot be set simultaneously.
25364
+ */
25365
+ role: string;
25366
+ /**
25367
+ * Authenticate using AK/SK.
25368
+ */
25369
+ staticCredential: outputs.tos.BucketMirrorBackRuleRedirectPrivateSourceSourceEndpointPrimaryCredentialProviderStaticCredential;
25370
+ }
25371
+ interface BucketMirrorBackRuleRedirectPrivateSourceSourceEndpointPrimaryCredentialProviderStaticCredential {
25372
+ /**
25373
+ * AccessKey ID of the origin bucket. Required when using AK/SK authentication.
25374
+ */
25375
+ ak: string;
25376
+ /**
25377
+ * SecretKey for the back-to-origin bucket. Required when using AK/SK authentication.
25378
+ */
25379
+ sk: string;
25380
+ /**
25381
+ * Encryption method used for SecretKey. Values:
25382
+ * Empty: SecretKey is in plaintext. After receiving the SecretKey, the server will encrypt and store it.
25383
+ * AES256: SecretKey has been encrypted using the AES256 algorithm on the server side. After receiving the SecretKey, the server will parse and encrypt it for storage.
25384
+ * Note: When a back-to-origin rule is created for the first time, the SecretKey is encrypted with AES256. If you modify the back-to-origin rule without changing the SecretKey parameter, you must first decrypt the SecretKey and then re-encrypt it for storage. Therefore, when calling the PutBucketMirrorBack API to modify the back-to-origin rule and only changing other parameters (not the SecretKey), you can set SKEncryptType to AES256.
25385
+ */
25386
+ skEncryptType: string;
25387
+ /**
25388
+ * Origin service provider. Values: BOS: Baidu Cloud. S3: Other cloud providers using the S3 storage protocol.
25389
+ */
25390
+ storageVendor: string;
25391
+ }
25392
+ interface BucketMirrorBackRuleRedirectPublicSource {
25393
+ /**
25394
+ * Whether to always use the configured origin address.
25395
+ */
25396
+ fixedEndpoint: boolean;
25397
+ /**
25398
+ * Publicly accessible origin address.
25399
+ */
25400
+ sourceEndpoint: outputs.tos.BucketMirrorBackRuleRedirectPublicSourceSourceEndpoint;
25401
+ }
25402
+ interface BucketMirrorBackRuleRedirectPublicSourceSourceEndpoint {
25403
+ /**
25404
+ * Origin address. Limit: Maximum length 255, supports up to 5 origin fetch addresses. When all origin fetches fail in Primary, an origin is selected from this configuration.
25405
+ */
25406
+ followers: string[];
25407
+ /**
25408
+ * Origin address. Limit: Maximum length 255, supports up to 5 origin fetch addresses.
25409
+ */
25410
+ primaries: string[];
23842
25411
  }
23843
- interface BucketLifecycleConfigTag {
25412
+ interface BucketMirrorBackRuleRedirectTransform {
23844
25413
  /**
23845
- * Tag key
25414
+ * Object name prefix to be replaced when requesting the origin.
23846
25415
  */
23847
- key: string;
25416
+ replaceKeyPrefix: outputs.tos.BucketMirrorBackRuleRedirectTransformReplaceKeyPrefix;
23848
25417
  /**
23849
- * Tag value
25418
+ * Prefix added before the object name when requesting the origin server. Limit: up to 512 characters.
23850
25419
  */
23851
- value: string;
23852
- }
23853
- interface BucketLifecycleConfigTransition {
25420
+ withKeyPrefix: string;
23854
25421
  /**
23855
- * Specific date for latest version object transition in lifecycle rules based on last modified time
25422
+ * Prefix added before the object name when requesting the origin server. Limit: up to 512 characters.
23856
25423
  */
23857
- date: string;
25424
+ withKeySuffix: string;
25425
+ }
25426
+ interface BucketMirrorBackRuleRedirectTransformReplaceKeyPrefix {
23858
25427
  /**
23859
- * Number of days to transition the latest version object in the lifecycle rule based on last modified time
25428
+ * Object name prefix to be replaced when requesting the origin. Limit: Supports up to 512 characters.
23860
25429
  */
23861
- days: number;
25430
+ keyPrefix: string;
23862
25431
  /**
23863
- * Storage class for historical version object transition in lifecycle rules based on last modified time. Includes STANDARD, IA, ARCHIVE*FR, INTELLIGENT*TIERING, COLD*ARCHIVE, ARCHIVE, DEEP*COLD_ARCHIVE
25432
+ * Value of the object name prefix after replacement when requesting the origin. Limit: Supports up to 512 characters.
23864
25433
  */
23865
- storageClass: string;
25434
+ replaceWith: string;
23866
25435
  }
23867
25436
  interface BucketNotificationNotificationRule {
23868
25437
  /**
@@ -23952,6 +25521,36 @@ export declare namespace tos {
23952
25521
  */
23953
25522
  value: string;
23954
25523
  }
25524
+ interface BucketObjectLockConfiguration {
25525
+ /**
25526
+ * Enable retention policy Only Enabled is supported, which means the retention policy is enabled
25527
+ */
25528
+ objectLockEnabled: string;
25529
+ /**
25530
+ * Bucket retention policy rules
25531
+ */
25532
+ rule: outputs.tos.BucketObjectLockConfigurationRule;
25533
+ }
25534
+ interface BucketObjectLockConfigurationRule {
25535
+ /**
25536
+ * Default bucket retention policy
25537
+ */
25538
+ defaultRetention: outputs.tos.BucketObjectLockConfigurationRuleDefaultRetention;
25539
+ }
25540
+ interface BucketObjectLockConfigurationRuleDefaultRetention {
25541
+ /**
25542
+ * Object lock days Objects cannot be deleted or overwritten during the specified number of days. Measured in days
25543
+ */
25544
+ days: number;
25545
+ /**
25546
+ * Retention policy mode Only COMPLIANCE is supported, which means compliance mode. In this mode, no user can delete or overwrite locked objects during the retention period
25547
+ */
25548
+ mode: string;
25549
+ /**
25550
+ * Object lock years Objects cannot be deleted or overwritten during the specified number of years. Measured in years, with one year equal to 365 days
25551
+ */
25552
+ years: number;
25553
+ }
23955
25554
  interface BucketRealtimeLogRealTimeLog {
23956
25555
  /**
23957
25556
  * Role name. Used to grant TOS Object Storage permission to create resources such as projects and topics in Log Service TLS and to write logs
@@ -24223,6 +25822,295 @@ export declare namespace tos {
24223
25822
  */
24224
25823
  storageClass: string;
24225
25824
  }
25825
+ interface GetBucketMirrorBackRule {
25826
+ /**
25827
+ * Conditions that trigger the back-to-origin function.
25828
+ */
25829
+ condition: outputs.tos.GetBucketMirrorBackRuleCondition;
25830
+ /**
25831
+ * Rule ID. The unique identifier for the back-to-origin rule configured on the current bucket. You can set this yourself to distinguish between multiple rules. Restrictions:
25832
+ * Characters supported: letters, numbers, - and _.
25833
+ * Maximum length: 32 characters.
25834
+ */
25835
+ id: string;
25836
+ /**
25837
+ * Back-to-origin redirect configuration.
25838
+ */
25839
+ redirect: outputs.tos.GetBucketMirrorBackRuleRedirect;
25840
+ }
25841
+ interface GetBucketMirrorBackRuleCondition {
25842
+ /**
25843
+ * Supports triggering origin fetch only for specified domains. The domain must be able to access the bucket; it is recommended to use a custom domain bound to the bucket. Limit: supports up to 30 domains.
25844
+ */
25845
+ allowHosts: string[];
25846
+ /**
25847
+ * Error code that triggers origin fetch. When a download request returns this error code, origin fetch is triggered. Limit: currently only supports 404.
25848
+ */
25849
+ httpCode: number;
25850
+ /**
25851
+ * Request types that trigger back-to-origin. Value description:
25852
+ * ["GET","HEAD"]: Both GetObject and HeadObject requests can trigger back-to-origin.
25853
+ * ["GET"]: Only GetObject requests can trigger back-to-origin.
25854
+ * Default is ["GET"].
25855
+ */
25856
+ httpMethods: string[];
25857
+ /**
25858
+ * Object name prefix for matching origin fetch objects. Limit: supports up to 512 characters.
25859
+ */
25860
+ keyPrefix: string;
25861
+ /**
25862
+ * Object name suffix for matching origin fetch objects. Limit: supports up to 512 characters.
25863
+ */
25864
+ keySuffix: string;
25865
+ }
25866
+ interface GetBucketMirrorBackRuleRedirect {
25867
+ /**
25868
+ * List of rules for writing origin response headers to object metadata.
25869
+ */
25870
+ fetchHeaderToMetaDataRules: outputs.tos.GetBucketMirrorBackRuleRedirectFetchHeaderToMetaDataRule[];
25871
+ /**
25872
+ * Whether to fetch data from the configured origin after redirection. Value description: true: Fetch data from the configured origin after redirection. false: Do not fetch data from the configured origin after redirection.
25873
+ */
25874
+ fetchSourceOnRedirect: boolean;
25875
+ /**
25876
+ * Whether to include request parameters when fetching data after redirection. If not configured, inherits PassQuery settings: true: includes request parameters. false: does not include request parameters.
25877
+ */
25878
+ fetchSourceOnRedirectWithQuery: boolean;
25879
+ /**
25880
+ * If the result of mirror origin fetch is 3xx, whether to continue redirecting to the specified Location to fetch data. Value description: true: TOS will continue to request the address corresponding to Location. false: TOS will return 302.
25881
+ */
25882
+ followRedirect: boolean;
25883
+ /**
25884
+ * Specify the headers to include when mirroring back to origin.
25885
+ */
25886
+ mirrorHeader: outputs.tos.GetBucketMirrorBackRuleRedirectMirrorHeader;
25887
+ /**
25888
+ * List of origin response headers allowed to be passed through directly.
25889
+ */
25890
+ passHeaderFromSources: string[];
25891
+ /**
25892
+ * Whether to include request parameters when performing redirect or mirror back-to-origin rules. Value description:
25893
+ * true: Include request parameters.
25894
+ * false: Do not include request parameters.
25895
+ */
25896
+ passQuery: boolean;
25897
+ /**
25898
+ * List of origin response status codes allowed to be passed through directly.
25899
+ */
25900
+ passStatusCodeFromSources: number[];
25901
+ /**
25902
+ * Back-to-origin address configuration when the origin server is a private bucket.
25903
+ */
25904
+ privateSource: outputs.tos.GetBucketMirrorBackRuleRedirectPrivateSource;
25905
+ /**
25906
+ * Back-to-origin address configuration when the origin server is a public bucket.
25907
+ */
25908
+ publicSource: outputs.tos.GetBucketMirrorBackRuleRedirectPublicSource;
25909
+ /**
25910
+ * Specify redirect type. Value range: Mirror: Mirror origin fetch. Async: Redirect origin fetch.
25911
+ */
25912
+ redirectType: string;
25913
+ /**
25914
+ * Define transformations for the object name when requesting the origin server.
25915
+ */
25916
+ transform: outputs.tos.GetBucketMirrorBackRuleRedirectTransform;
25917
+ }
25918
+ interface GetBucketMirrorBackRuleRedirectFetchHeaderToMetaDataRule {
25919
+ /**
25920
+ * Suffix appended when writing object metadata.
25921
+ */
25922
+ metaDataSuffix: string;
25923
+ /**
25924
+ * Origin response header name.
25925
+ */
25926
+ sourceHeader: string;
25927
+ }
25928
+ interface GetBucketMirrorBackRuleRedirectMirrorHeader {
25929
+ /**
25930
+ * Whether to forward all HTTP headers to the origin. Values: true: forwards all HTTP headers to the origin. false: does not forward all HTTP headers to the origin. The following HTTP header types are not supported for forwarding: Host, Content-Length, Date, Authorization.
25931
+ */
25932
+ passAll: boolean;
25933
+ /**
25934
+ * Pass the specified headers to the origin server. Limit: up to 64.
25935
+ */
25936
+ passes: string[];
25937
+ /**
25938
+ * Prohibit forwarding specified headers to the origin. Limit: maximum 64.
25939
+ */
25940
+ removes: string[];
25941
+ /**
25942
+ * List of request headers to add or overwrite during origin fetch.
25943
+ */
25944
+ sets: outputs.tos.GetBucketMirrorBackRuleRedirectMirrorHeaderSet[];
25945
+ }
25946
+ interface GetBucketMirrorBackRuleRedirectMirrorHeaderSet {
25947
+ /**
25948
+ * Request header name.
25949
+ */
25950
+ key: string;
25951
+ /**
25952
+ * Request header value.
25953
+ */
25954
+ value: string;
25955
+ }
25956
+ interface GetBucketMirrorBackRuleRedirectPrivateSource {
25957
+ /**
25958
+ * Back-to-origin address configuration when the origin server is a private bucket.
25959
+ */
25960
+ sourceEndpoint: outputs.tos.GetBucketMirrorBackRuleRedirectPrivateSourceSourceEndpoint;
25961
+ }
25962
+ interface GetBucketMirrorBackRuleRedirectPrivateSourceSourceEndpoint {
25963
+ /**
25964
+ * Backup private origin node list.
25965
+ */
25966
+ followers: outputs.tos.GetBucketMirrorBackRuleRedirectPrivateSourceSourceEndpointFollower[];
25967
+ /**
25968
+ * Origin address for requests. Supports up to 5 origin fetch addresses. Required when the origin is a private bucket.
25969
+ */
25970
+ primaries: outputs.tos.GetBucketMirrorBackRuleRedirectPrivateSourceSourceEndpointPrimary[];
25971
+ }
25972
+ interface GetBucketMirrorBackRuleRedirectPrivateSourceSourceEndpointFollower {
25973
+ /**
25974
+ * Name of the origin fetch bucket. Required when the origin is a private bucket.
25975
+ */
25976
+ bucketName: string;
25977
+ /**
25978
+ * Private back-to-origin authentication method. Required when the origin server is a private bucket.
25979
+ */
25980
+ credentialProvider: outputs.tos.GetBucketMirrorBackRuleRedirectPrivateSourceSourceEndpointFollowerCredentialProvider;
25981
+ /**
25982
+ * Access domain name of the origin service provider, excluding bucket name, maximum length 255. Required for private buckets.
25983
+ */
25984
+ endpoint: string;
25985
+ }
25986
+ interface GetBucketMirrorBackRuleRedirectPrivateSourceSourceEndpointFollowerCredentialProvider {
25987
+ /**
25988
+ * Region where the origin fetch bucket is located. Required when using AK/SK authentication.
25989
+ */
25990
+ region: string;
25991
+ /**
25992
+ * Name of AssumeRole. Only when fetching from a private TOS bucket can AssumeRole be used for authentication. Role authentication and AK/SK authentication are mutually exclusive and cannot be set simultaneously.
25993
+ */
25994
+ role: string;
25995
+ /**
25996
+ * Authenticate using AK/SK.
25997
+ */
25998
+ staticCredential: outputs.tos.GetBucketMirrorBackRuleRedirectPrivateSourceSourceEndpointFollowerCredentialProviderStaticCredential;
25999
+ }
26000
+ interface GetBucketMirrorBackRuleRedirectPrivateSourceSourceEndpointFollowerCredentialProviderStaticCredential {
26001
+ /**
26002
+ * AccessKey ID of the origin bucket. Required when using AK/SK authentication.
26003
+ */
26004
+ ak: string;
26005
+ /**
26006
+ * SecretKey for the back-to-origin bucket. Required when using AK/SK authentication.
26007
+ */
26008
+ sk: string;
26009
+ /**
26010
+ * Encryption method used for SecretKey. Values:
26011
+ * Empty: SecretKey is in plaintext. After receiving the SecretKey, the server will encrypt and store it.
26012
+ * AES256: SecretKey has been encrypted using the AES256 algorithm on the server side. After receiving the SecretKey, the server will parse and encrypt it for storage.
26013
+ * Note: When a back-to-origin rule is created for the first time, the SecretKey is encrypted with AES256. If you modify the back-to-origin rule without changing the SecretKey parameter, you must first decrypt the SecretKey and then re-encrypt it for storage. Therefore, when calling the PutBucketMirrorBack API to modify the back-to-origin rule and only changing other parameters (not the SecretKey), you can set SKEncryptType to AES256.
26014
+ */
26015
+ skEncryptType: string;
26016
+ /**
26017
+ * Origin service provider. Values: BOS: Baidu Cloud. S3: Other cloud providers using the S3 storage protocol.
26018
+ */
26019
+ storageVendor: string;
26020
+ }
26021
+ interface GetBucketMirrorBackRuleRedirectPrivateSourceSourceEndpointPrimary {
26022
+ /**
26023
+ * Name of the origin fetch bucket. Required when the origin is a private bucket.
26024
+ */
26025
+ bucketName: string;
26026
+ /**
26027
+ * Private back-to-origin authentication method. Required when the origin server is a private bucket.
26028
+ */
26029
+ credentialProvider: outputs.tos.GetBucketMirrorBackRuleRedirectPrivateSourceSourceEndpointPrimaryCredentialProvider;
26030
+ /**
26031
+ * Access domain name of the origin service provider, excluding bucket name, maximum length 255. Required for private buckets.
26032
+ */
26033
+ endpoint: string;
26034
+ }
26035
+ interface GetBucketMirrorBackRuleRedirectPrivateSourceSourceEndpointPrimaryCredentialProvider {
26036
+ /**
26037
+ * Region where the origin fetch bucket is located. Required when using AK/SK authentication.
26038
+ */
26039
+ region: string;
26040
+ /**
26041
+ * Name of AssumeRole. Only when fetching from a private TOS bucket can AssumeRole be used for authentication. Role authentication and AK/SK authentication are mutually exclusive and cannot be set simultaneously.
26042
+ */
26043
+ role: string;
26044
+ /**
26045
+ * Authenticate using AK/SK.
26046
+ */
26047
+ staticCredential: outputs.tos.GetBucketMirrorBackRuleRedirectPrivateSourceSourceEndpointPrimaryCredentialProviderStaticCredential;
26048
+ }
26049
+ interface GetBucketMirrorBackRuleRedirectPrivateSourceSourceEndpointPrimaryCredentialProviderStaticCredential {
26050
+ /**
26051
+ * AccessKey ID of the origin bucket. Required when using AK/SK authentication.
26052
+ */
26053
+ ak: string;
26054
+ /**
26055
+ * SecretKey for the back-to-origin bucket. Required when using AK/SK authentication.
26056
+ */
26057
+ sk: string;
26058
+ /**
26059
+ * Encryption method used for SecretKey. Values:
26060
+ * Empty: SecretKey is in plaintext. After receiving the SecretKey, the server will encrypt and store it.
26061
+ * AES256: SecretKey has been encrypted using the AES256 algorithm on the server side. After receiving the SecretKey, the server will parse and encrypt it for storage.
26062
+ * Note: When a back-to-origin rule is created for the first time, the SecretKey is encrypted with AES256. If you modify the back-to-origin rule without changing the SecretKey parameter, you must first decrypt the SecretKey and then re-encrypt it for storage. Therefore, when calling the PutBucketMirrorBack API to modify the back-to-origin rule and only changing other parameters (not the SecretKey), you can set SKEncryptType to AES256.
26063
+ */
26064
+ skEncryptType: string;
26065
+ /**
26066
+ * Origin service provider. Values: BOS: Baidu Cloud. S3: Other cloud providers using the S3 storage protocol.
26067
+ */
26068
+ storageVendor: string;
26069
+ }
26070
+ interface GetBucketMirrorBackRuleRedirectPublicSource {
26071
+ /**
26072
+ * Whether to always use the configured origin address.
26073
+ */
26074
+ fixedEndpoint: boolean;
26075
+ /**
26076
+ * Publicly accessible origin address.
26077
+ */
26078
+ sourceEndpoint: outputs.tos.GetBucketMirrorBackRuleRedirectPublicSourceSourceEndpoint;
26079
+ }
26080
+ interface GetBucketMirrorBackRuleRedirectPublicSourceSourceEndpoint {
26081
+ /**
26082
+ * Origin address. Limit: Maximum length 255, supports up to 5 origin fetch addresses. When all origin fetches fail in Primary, an origin is selected from this configuration.
26083
+ */
26084
+ followers: string[];
26085
+ /**
26086
+ * Origin address. Limit: Maximum length 255, supports up to 5 origin fetch addresses.
26087
+ */
26088
+ primaries: string[];
26089
+ }
26090
+ interface GetBucketMirrorBackRuleRedirectTransform {
26091
+ /**
26092
+ * Object name prefix to be replaced when requesting the origin.
26093
+ */
26094
+ replaceKeyPrefix: outputs.tos.GetBucketMirrorBackRuleRedirectTransformReplaceKeyPrefix;
26095
+ /**
26096
+ * Prefix added before the object name when requesting the origin server. Limit: up to 512 characters.
26097
+ */
26098
+ withKeyPrefix: string;
26099
+ /**
26100
+ * Prefix added before the object name when requesting the origin server. Limit: up to 512 characters.
26101
+ */
26102
+ withKeySuffix: string;
26103
+ }
26104
+ interface GetBucketMirrorBackRuleRedirectTransformReplaceKeyPrefix {
26105
+ /**
26106
+ * Object name prefix to be replaced when requesting the origin. Limit: Supports up to 512 characters.
26107
+ */
26108
+ keyPrefix: string;
26109
+ /**
26110
+ * Value of the object name prefix after replacement when requesting the origin. Limit: Supports up to 512 characters.
26111
+ */
26112
+ replaceWith: string;
26113
+ }
24226
26114
  interface GetBucketNotificationNotificationRule {
24227
26115
  /**
24228
26116
  * Event notification delivery targets. Must include at least one target and supports up to five different targets.
@@ -24323,6 +26211,36 @@ export declare namespace tos {
24323
26211
  */
24324
26212
  value: string;
24325
26213
  }
26214
+ interface GetBucketObjectLockConfiguration {
26215
+ /**
26216
+ * Enable retention policy Only Enabled is supported, which means the retention policy is enabled
26217
+ */
26218
+ objectLockEnabled: string;
26219
+ /**
26220
+ * Bucket retention policy rules
26221
+ */
26222
+ rule: outputs.tos.GetBucketObjectLockConfigurationRule;
26223
+ }
26224
+ interface GetBucketObjectLockConfigurationRule {
26225
+ /**
26226
+ * Default bucket retention policy
26227
+ */
26228
+ defaultRetention: outputs.tos.GetBucketObjectLockConfigurationRuleDefaultRetention;
26229
+ }
26230
+ interface GetBucketObjectLockConfigurationRuleDefaultRetention {
26231
+ /**
26232
+ * Object lock days Objects cannot be deleted or overwritten during the specified number of days. Measured in days
26233
+ */
26234
+ days: number;
26235
+ /**
26236
+ * Retention policy mode Only COMPLIANCE is supported, which means compliance mode. In this mode, no user can delete or overwrite locked objects during the retention period
26237
+ */
26238
+ mode: string;
26239
+ /**
26240
+ * Object lock years Objects cannot be deleted or overwritten during the specified number of years. Measured in years, with one year equal to 365 days
26241
+ */
26242
+ years: number;
26243
+ }
24326
26244
  interface GetBucketRealtimeLogRealTimeLog {
24327
26245
  /**
24328
26246
  * Role name. Used to grant TOS Object Storage permission to create resources such as projects and topics in Log Service TLS and to write logs
@@ -24353,6 +26271,26 @@ export declare namespace tos {
24353
26271
  }
24354
26272
  }
24355
26273
  export declare namespace transitrouter {
26274
+ interface DirectConnectGatewayAttachmentTag {
26275
+ /**
26276
+ * Tag key
26277
+ */
26278
+ key: string;
26279
+ /**
26280
+ * Tag value
26281
+ */
26282
+ value: string;
26283
+ }
26284
+ interface GetDirectConnectGatewayAttachmentTag {
26285
+ /**
26286
+ * Tag key
26287
+ */
26288
+ key: string;
26289
+ /**
26290
+ * Tag value
26291
+ */
26292
+ value: string;
26293
+ }
24356
26294
  interface GetPeerAttachmentTag {
24357
26295
  /**
24358
26296
  * Tag key for cross-region connection user tags. Length must be between 1 and 128 characters. Case-sensitive; cannot start with any case combination of sys:. Cannot start or end with a space character. Allowed characters include letters, numbers, space character, underscore (_), period (.), colon (:), slash (/), equals sign (=), plus sign (+), minus sign (-), and @. Note: Tag keys for the same resource must be unique. If this parameter is not provided or no value is specified, the default is empty.
@@ -24451,6 +26389,38 @@ export declare namespace transitrouter {
24451
26389
  */
24452
26390
  value: string;
24453
26391
  }
26392
+ interface GetTransitRouterBandwidthPackageAllocation {
26393
+ /**
26394
+ * Time when the bandwidth package was associated with the cross-region connection.
26395
+ */
26396
+ allocateTime: string;
26397
+ /**
26398
+ * Bandwidth peak of the cross-region connection, in Mbps.
26399
+ */
26400
+ bandwidth: number;
26401
+ /**
26402
+ * Region ID of the local transit router instance in the cross-region connection.
26403
+ */
26404
+ localRegionId: string;
26405
+ /**
26406
+ * Region ID of the peer transit router instance in the cross-region connection.
26407
+ */
26408
+ peerRegionId: string;
26409
+ /**
26410
+ * ID of the cross-region connection.
26411
+ */
26412
+ transitRouterPeerAttachmentId: string;
26413
+ }
26414
+ interface GetTransitRouterBandwidthPackageTag {
26415
+ /**
26416
+ * Tag key of the tag.
26417
+ */
26418
+ key: string;
26419
+ /**
26420
+ * Tag value
26421
+ */
26422
+ value: string;
26423
+ }
24454
26424
  interface GetTransitRouterRouteTableTag {
24455
26425
  /**
24456
26426
  * Tag key
@@ -24600,6 +26570,38 @@ export declare namespace transitrouter {
24600
26570
  */
24601
26571
  value: string;
24602
26572
  }
26573
+ interface TransitRouterBandwidthPackageAllocation {
26574
+ /**
26575
+ * Time when the bandwidth package was associated with the cross-region connection.
26576
+ */
26577
+ allocateTime: string;
26578
+ /**
26579
+ * Bandwidth peak of the cross-region connection, in Mbps.
26580
+ */
26581
+ bandwidth: number;
26582
+ /**
26583
+ * Region ID of the local transit router instance in the cross-region connection.
26584
+ */
26585
+ localRegionId: string;
26586
+ /**
26587
+ * Region ID of the peer transit router instance in the cross-region connection.
26588
+ */
26589
+ peerRegionId: string;
26590
+ /**
26591
+ * ID of the cross-region connection.
26592
+ */
26593
+ transitRouterPeerAttachmentId: string;
26594
+ }
26595
+ interface TransitRouterBandwidthPackageTag {
26596
+ /**
26597
+ * Tag key of the tag.
26598
+ */
26599
+ key: string;
26600
+ /**
26601
+ * Tag value
26602
+ */
26603
+ value: string;
26604
+ }
24603
26605
  interface TransitRouterRouteTableTag {
24604
26606
  /**
24605
26607
  * Tag key