@oneuptime/common 10.0.65 → 10.0.66

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 (210) hide show
  1. package/Models/DatabaseModels/DockerHostOwnerTeam.ts +464 -0
  2. package/Models/DatabaseModels/DockerHostOwnerUser.ts +463 -0
  3. package/Models/DatabaseModels/Index.ts +24 -0
  4. package/Models/DatabaseModels/KubernetesClusterOwnerTeam.ts +464 -0
  5. package/Models/DatabaseModels/KubernetesClusterOwnerUser.ts +463 -0
  6. package/Models/DatabaseModels/KubernetesResource.ts +548 -0
  7. package/Models/DatabaseModels/MetricPipelineRule.ts +804 -0
  8. package/Models/DatabaseModels/MetricRecordingRule.ts +470 -0
  9. package/Models/DatabaseModels/Monitor.ts +2 -0
  10. package/Models/DatabaseModels/Project.ts +53 -0
  11. package/Models/DatabaseModels/Service.ts +79 -0
  12. package/Models/DatabaseModels/TraceDropFilter.ts +508 -0
  13. package/Models/DatabaseModels/TracePipeline.ts +436 -0
  14. package/Models/DatabaseModels/TracePipelineProcessor.ts +454 -0
  15. package/Models/DatabaseModels/TraceRecordingRule.ts +470 -0
  16. package/Models/DatabaseModels/TraceScrubRule.ts +546 -0
  17. package/Server/API/KubernetesResourceAPI.ts +129 -0
  18. package/Server/Infrastructure/Postgres/SchemaMigrations/1776504277320-MigrationName.ts +399 -0
  19. package/Server/Infrastructure/Postgres/SchemaMigrations/1776505976155-AddTracePipelineTables.ts +205 -0
  20. package/Server/Infrastructure/Postgres/SchemaMigrations/1776509413763-MigrationName.ts +335 -0
  21. package/Server/Infrastructure/Postgres/SchemaMigrations/1776541018853-MigrationName.ts +29 -0
  22. package/Server/Infrastructure/Postgres/SchemaMigrations/1776544084793-MigrationName.ts +53 -0
  23. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +10 -1
  24. package/Server/Services/DockerHostOwnerTeamService.ts +10 -0
  25. package/Server/Services/DockerHostOwnerUserService.ts +10 -0
  26. package/Server/Services/KubernetesClusterOwnerTeamService.ts +10 -0
  27. package/Server/Services/KubernetesClusterOwnerUserService.ts +10 -0
  28. package/Server/Services/KubernetesResourceService.ts +351 -0
  29. package/Server/Services/MetricPipelineRuleService.ts +10 -0
  30. package/Server/Services/MetricRecordingRuleService.ts +10 -0
  31. package/Server/Services/TraceDropFilterService.ts +10 -0
  32. package/Server/Services/TracePipelineProcessorService.ts +10 -0
  33. package/Server/Services/TracePipelineService.ts +10 -0
  34. package/Server/Services/TraceRecordingRuleService.ts +10 -0
  35. package/Server/Services/TraceScrubRuleService.ts +10 -0
  36. package/Server/Utils/Monitor/Criteria/CompareCriteria.ts +71 -9
  37. package/Server/Utils/Monitor/Criteria/MetricMonitorCriteria.ts +483 -75
  38. package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +379 -6
  39. package/Tests/Server/Utils/Monitor/Criteria/MetricMonitorCriteria.test.ts +502 -0
  40. package/Tests/Utils/MetricUnitUtil.test.ts +216 -0
  41. package/Tests/Utils/Metrics/MetricFormulaEvaluator.test.ts +269 -0
  42. package/Tests/Utils/Metrics/MetricResultUnitConverter.test.ts +231 -0
  43. package/Tests/Utils/RecordingRuleExpression.test.ts +177 -0
  44. package/Types/Kubernetes/KubernetesInventoryExtractor.ts +327 -0
  45. package/Types/Kubernetes/KubernetesObjectParser.ts +1949 -0
  46. package/Types/Metrics/MetricDownsamplingRetentionDays.ts +49 -0
  47. package/Types/Metrics/MetricFormulaConfigData.ts +4 -0
  48. package/Types/Metrics/MetricPipelineRuleFilterCondition.ts +136 -0
  49. package/Types/Metrics/MetricPipelineRuleType.ts +27 -0
  50. package/Types/Metrics/RecordingRuleDefinition.ts +180 -0
  51. package/Types/Monitor/CriteriaFilter.ts +43 -0
  52. package/Types/Monitor/MetricMonitor/MetricCriteriaContext.ts +70 -0
  53. package/Types/Permission.ts +520 -0
  54. package/Types/Trace/TraceAggregationType.ts +17 -0
  55. package/Types/Trace/TraceDropFilterAction.ts +6 -0
  56. package/Types/Trace/TracePipelineProcessorType.ts +56 -0
  57. package/Types/Trace/TraceRecordingRuleDefinition.ts +218 -0
  58. package/Types/Trace/TraceScrubAction.ts +7 -0
  59. package/Types/Trace/TraceScrubField.ts +8 -0
  60. package/Types/Trace/TraceScrubPatternType.ts +10 -0
  61. package/UI/Components/CardSelect/CardSelect.tsx +9 -1
  62. package/UI/Components/Charts/ChartGroup/ChartGroup.tsx +6 -10
  63. package/UI/Components/Forms/Fields/FormField.tsx +1 -0
  64. package/UI/Components/Forms/Types/Field.ts +1 -0
  65. package/UI/Components/Markdown.tsx/MarkdownViewer.tsx +57 -0
  66. package/UI/Components/Page/Page.tsx +6 -0
  67. package/Utils/MetricUnitUtil.ts +289 -0
  68. package/Utils/Metrics/MetricFormulaEvaluator.ts +610 -0
  69. package/Utils/Metrics/MetricResultUnitConverter.ts +91 -0
  70. package/Utils/Metrics/RecordingRuleExpression.ts +359 -0
  71. package/Utils/ValueFormatter.ts +137 -13
  72. package/build/dist/Models/DatabaseModels/DockerHostOwnerTeam.js +480 -0
  73. package/build/dist/Models/DatabaseModels/DockerHostOwnerTeam.js.map +1 -0
  74. package/build/dist/Models/DatabaseModels/DockerHostOwnerUser.js +479 -0
  75. package/build/dist/Models/DatabaseModels/DockerHostOwnerUser.js.map +1 -0
  76. package/build/dist/Models/DatabaseModels/Index.js +24 -0
  77. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  78. package/build/dist/Models/DatabaseModels/KubernetesClusterOwnerTeam.js +480 -0
  79. package/build/dist/Models/DatabaseModels/KubernetesClusterOwnerTeam.js.map +1 -0
  80. package/build/dist/Models/DatabaseModels/KubernetesClusterOwnerUser.js +479 -0
  81. package/build/dist/Models/DatabaseModels/KubernetesClusterOwnerUser.js.map +1 -0
  82. package/build/dist/Models/DatabaseModels/KubernetesResource.js +590 -0
  83. package/build/dist/Models/DatabaseModels/KubernetesResource.js.map +1 -0
  84. package/build/dist/Models/DatabaseModels/MetricPipelineRule.js +836 -0
  85. package/build/dist/Models/DatabaseModels/MetricPipelineRule.js.map +1 -0
  86. package/build/dist/Models/DatabaseModels/MetricRecordingRule.js +497 -0
  87. package/build/dist/Models/DatabaseModels/MetricRecordingRule.js.map +1 -0
  88. package/build/dist/Models/DatabaseModels/Monitor.js +2 -0
  89. package/build/dist/Models/DatabaseModels/Monitor.js.map +1 -1
  90. package/build/dist/Models/DatabaseModels/Project.js +53 -0
  91. package/build/dist/Models/DatabaseModels/Project.js.map +1 -1
  92. package/build/dist/Models/DatabaseModels/Service.js +79 -0
  93. package/build/dist/Models/DatabaseModels/Service.js.map +1 -1
  94. package/build/dist/Models/DatabaseModels/TraceDropFilter.js +536 -0
  95. package/build/dist/Models/DatabaseModels/TraceDropFilter.js.map +1 -0
  96. package/build/dist/Models/DatabaseModels/TracePipeline.js +462 -0
  97. package/build/dist/Models/DatabaseModels/TracePipeline.js.map +1 -0
  98. package/build/dist/Models/DatabaseModels/TracePipelineProcessor.js +476 -0
  99. package/build/dist/Models/DatabaseModels/TracePipelineProcessor.js.map +1 -0
  100. package/build/dist/Models/DatabaseModels/TraceRecordingRule.js +497 -0
  101. package/build/dist/Models/DatabaseModels/TraceRecordingRule.js.map +1 -0
  102. package/build/dist/Models/DatabaseModels/TraceScrubRule.js +575 -0
  103. package/build/dist/Models/DatabaseModels/TraceScrubRule.js.map +1 -0
  104. package/build/dist/Server/API/KubernetesResourceAPI.js +98 -0
  105. package/build/dist/Server/API/KubernetesResourceAPI.js.map +1 -0
  106. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1776504277320-MigrationName.js +144 -0
  107. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1776504277320-MigrationName.js.map +1 -0
  108. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1776505976155-AddTracePipelineTables.js +82 -0
  109. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1776505976155-AddTracePipelineTables.js.map +1 -0
  110. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1776509413763-MigrationName.js +118 -0
  111. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1776509413763-MigrationName.js.map +1 -0
  112. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1776541018853-MigrationName.js +16 -0
  113. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1776541018853-MigrationName.js.map +1 -0
  114. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1776544084793-MigrationName.js +24 -0
  115. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1776544084793-MigrationName.js.map +1 -0
  116. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +10 -0
  117. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  118. package/build/dist/Server/Services/DockerHostOwnerTeamService.js +9 -0
  119. package/build/dist/Server/Services/DockerHostOwnerTeamService.js.map +1 -0
  120. package/build/dist/Server/Services/DockerHostOwnerUserService.js +9 -0
  121. package/build/dist/Server/Services/DockerHostOwnerUserService.js.map +1 -0
  122. package/build/dist/Server/Services/KubernetesClusterOwnerTeamService.js +9 -0
  123. package/build/dist/Server/Services/KubernetesClusterOwnerTeamService.js.map +1 -0
  124. package/build/dist/Server/Services/KubernetesClusterOwnerUserService.js +9 -0
  125. package/build/dist/Server/Services/KubernetesClusterOwnerUserService.js.map +1 -0
  126. package/build/dist/Server/Services/KubernetesResourceService.js +237 -0
  127. package/build/dist/Server/Services/KubernetesResourceService.js.map +1 -0
  128. package/build/dist/Server/Services/MetricPipelineRuleService.js +9 -0
  129. package/build/dist/Server/Services/MetricPipelineRuleService.js.map +1 -0
  130. package/build/dist/Server/Services/MetricRecordingRuleService.js +9 -0
  131. package/build/dist/Server/Services/MetricRecordingRuleService.js.map +1 -0
  132. package/build/dist/Server/Services/TraceDropFilterService.js +9 -0
  133. package/build/dist/Server/Services/TraceDropFilterService.js.map +1 -0
  134. package/build/dist/Server/Services/TracePipelineProcessorService.js +9 -0
  135. package/build/dist/Server/Services/TracePipelineProcessorService.js.map +1 -0
  136. package/build/dist/Server/Services/TracePipelineService.js +9 -0
  137. package/build/dist/Server/Services/TracePipelineService.js.map +1 -0
  138. package/build/dist/Server/Services/TraceRecordingRuleService.js +9 -0
  139. package/build/dist/Server/Services/TraceRecordingRuleService.js.map +1 -0
  140. package/build/dist/Server/Services/TraceScrubRuleService.js +9 -0
  141. package/build/dist/Server/Services/TraceScrubRuleService.js.map +1 -0
  142. package/build/dist/Server/Utils/Monitor/Criteria/CompareCriteria.js +56 -9
  143. package/build/dist/Server/Utils/Monitor/Criteria/CompareCriteria.js.map +1 -1
  144. package/build/dist/Server/Utils/Monitor/Criteria/MetricMonitorCriteria.js +335 -53
  145. package/build/dist/Server/Utils/Monitor/Criteria/MetricMonitorCriteria.js.map +1 -1
  146. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +277 -5
  147. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
  148. package/build/dist/Tests/Server/Utils/Monitor/Criteria/MetricMonitorCriteria.test.js +407 -0
  149. package/build/dist/Tests/Server/Utils/Monitor/Criteria/MetricMonitorCriteria.test.js.map +1 -0
  150. package/build/dist/Tests/Utils/MetricUnitUtil.test.js +159 -0
  151. package/build/dist/Tests/Utils/MetricUnitUtil.test.js.map +1 -0
  152. package/build/dist/Tests/Utils/Metrics/MetricFormulaEvaluator.test.js +224 -0
  153. package/build/dist/Tests/Utils/Metrics/MetricFormulaEvaluator.test.js.map +1 -0
  154. package/build/dist/Tests/Utils/Metrics/MetricResultUnitConverter.test.js +180 -0
  155. package/build/dist/Tests/Utils/Metrics/MetricResultUnitConverter.test.js.map +1 -0
  156. package/build/dist/Tests/Utils/RecordingRuleExpression.test.js +142 -0
  157. package/build/dist/Tests/Utils/RecordingRuleExpression.test.js.map +1 -0
  158. package/build/dist/Types/Kubernetes/KubernetesInventoryExtractor.js +200 -0
  159. package/build/dist/Types/Kubernetes/KubernetesInventoryExtractor.js.map +1 -0
  160. package/build/dist/Types/Kubernetes/KubernetesObjectParser.js +1205 -0
  161. package/build/dist/Types/Kubernetes/KubernetesObjectParser.js.map +1 -0
  162. package/build/dist/Types/Metrics/MetricDownsamplingRetentionDays.js +32 -0
  163. package/build/dist/Types/Metrics/MetricDownsamplingRetentionDays.js.map +1 -0
  164. package/build/dist/Types/Metrics/MetricPipelineRuleFilterCondition.js +103 -0
  165. package/build/dist/Types/Metrics/MetricPipelineRuleFilterCondition.js.map +1 -0
  166. package/build/dist/Types/Metrics/MetricPipelineRuleType.js +27 -0
  167. package/build/dist/Types/Metrics/MetricPipelineRuleType.js.map +1 -0
  168. package/build/dist/Types/Metrics/RecordingRuleDefinition.js +110 -0
  169. package/build/dist/Types/Metrics/RecordingRuleDefinition.js.map +1 -0
  170. package/build/dist/Types/Monitor/CriteriaFilter.js +22 -0
  171. package/build/dist/Types/Monitor/CriteriaFilter.js.map +1 -1
  172. package/build/dist/Types/Monitor/MetricMonitor/MetricCriteriaContext.js +2 -0
  173. package/build/dist/Types/Monitor/MetricMonitor/MetricCriteriaContext.js.map +1 -0
  174. package/build/dist/Types/Permission.js +454 -0
  175. package/build/dist/Types/Permission.js.map +1 -1
  176. package/build/dist/Types/Trace/TraceAggregationType.js +18 -0
  177. package/build/dist/Types/Trace/TraceAggregationType.js.map +1 -0
  178. package/build/dist/Types/Trace/TraceDropFilterAction.js +7 -0
  179. package/build/dist/Types/Trace/TraceDropFilterAction.js.map +1 -0
  180. package/build/dist/Types/Trace/TracePipelineProcessorType.js +10 -0
  181. package/build/dist/Types/Trace/TracePipelineProcessorType.js.map +1 -0
  182. package/build/dist/Types/Trace/TraceRecordingRuleDefinition.js +145 -0
  183. package/build/dist/Types/Trace/TraceRecordingRuleDefinition.js.map +1 -0
  184. package/build/dist/Types/Trace/TraceScrubAction.js +8 -0
  185. package/build/dist/Types/Trace/TraceScrubAction.js.map +1 -0
  186. package/build/dist/Types/Trace/TraceScrubField.js +9 -0
  187. package/build/dist/Types/Trace/TraceScrubField.js.map +1 -0
  188. package/build/dist/Types/Trace/TraceScrubPatternType.js +11 -0
  189. package/build/dist/Types/Trace/TraceScrubPatternType.js.map +1 -0
  190. package/build/dist/UI/Components/CardSelect/CardSelect.js +3 -1
  191. package/build/dist/UI/Components/CardSelect/CardSelect.js.map +1 -1
  192. package/build/dist/UI/Components/Charts/ChartGroup/ChartGroup.js +6 -9
  193. package/build/dist/UI/Components/Charts/ChartGroup/ChartGroup.js.map +1 -1
  194. package/build/dist/UI/Components/Forms/Fields/FormField.js +1 -1
  195. package/build/dist/UI/Components/Forms/Fields/FormField.js.map +1 -1
  196. package/build/dist/UI/Components/Markdown.tsx/MarkdownViewer.js +30 -0
  197. package/build/dist/UI/Components/Markdown.tsx/MarkdownViewer.js.map +1 -1
  198. package/build/dist/UI/Components/Page/Page.js +1 -0
  199. package/build/dist/UI/Components/Page/Page.js.map +1 -1
  200. package/build/dist/Utils/MetricUnitUtil.js +232 -0
  201. package/build/dist/Utils/MetricUnitUtil.js.map +1 -0
  202. package/build/dist/Utils/Metrics/MetricFormulaEvaluator.js +453 -0
  203. package/build/dist/Utils/Metrics/MetricFormulaEvaluator.js.map +1 -0
  204. package/build/dist/Utils/Metrics/MetricResultUnitConverter.js +61 -0
  205. package/build/dist/Utils/Metrics/MetricResultUnitConverter.js.map +1 -0
  206. package/build/dist/Utils/Metrics/RecordingRuleExpression.js +298 -0
  207. package/build/dist/Utils/Metrics/RecordingRuleExpression.js.map +1 -0
  208. package/build/dist/Utils/ValueFormatter.js +123 -13
  209. package/build/dist/Utils/ValueFormatter.js.map +1 -1
  210. package/package.json +1 -1
@@ -0,0 +1,836 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import Project from "./Project";
11
+ import Service from "./Service";
12
+ import User from "./User";
13
+ import BaseModel from "./DatabaseBaseModel/DatabaseBaseModel";
14
+ import Route from "../../Types/API/Route";
15
+ import ColumnAccessControl from "../../Types/Database/AccessControl/ColumnAccessControl";
16
+ import TableAccessControl from "../../Types/Database/AccessControl/TableAccessControl";
17
+ import TableBillingAccessControl from "../../Types/Database/AccessControl/TableBillingAccessControl";
18
+ import ColumnLength from "../../Types/Database/ColumnLength";
19
+ import ColumnType from "../../Types/Database/ColumnType";
20
+ import CrudApiEndpoint from "../../Types/Database/CrudApiEndpoint";
21
+ import EnableDocumentation from "../../Types/Database/EnableDocumentation";
22
+ import TableColumn from "../../Types/Database/TableColumn";
23
+ import TableColumnType from "../../Types/Database/TableColumnType";
24
+ import TableMetadata from "../../Types/Database/TableMetadata";
25
+ import TenantColumn from "../../Types/Database/TenantColumn";
26
+ import IconProp from "../../Types/Icon/IconProp";
27
+ import ObjectID from "../../Types/ObjectID";
28
+ import Permission from "../../Types/Permission";
29
+ import MetricPipelineRuleType from "../../Types/Metrics/MetricPipelineRuleType";
30
+ import FilterCondition from "../../Types/Filter/FilterCondition";
31
+ import { PlanType } from "../../Types/Billing/SubscriptionPlan";
32
+ import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm";
33
+ let MetricPipelineRule = class MetricPipelineRule extends BaseModel {
34
+ constructor() {
35
+ super(...arguments);
36
+ this.project = undefined;
37
+ this.projectId = undefined;
38
+ this.service = undefined;
39
+ this.serviceId = undefined;
40
+ this.name = undefined;
41
+ this.description = undefined;
42
+ this.ruleType = undefined;
43
+ this.filterCondition = undefined;
44
+ this.filters = undefined;
45
+ this.renameFromKey = undefined;
46
+ this.renameToKey = undefined;
47
+ this.addAttributeKey = undefined;
48
+ this.addAttributeValue = undefined;
49
+ this.redactReplacement = undefined;
50
+ this.samplePercentage = undefined;
51
+ this.isEnabled = undefined;
52
+ this.sortOrder = undefined;
53
+ this.createdByUser = undefined;
54
+ this.createdByUserId = undefined;
55
+ this.deletedByUser = undefined;
56
+ this.deletedByUserId = undefined;
57
+ }
58
+ };
59
+ __decorate([
60
+ ColumnAccessControl({
61
+ create: [
62
+ Permission.ProjectOwner,
63
+ Permission.ProjectAdmin,
64
+ Permission.CreateProjectMetricPipelineRule,
65
+ ],
66
+ read: [
67
+ Permission.ProjectOwner,
68
+ Permission.ProjectAdmin,
69
+ Permission.ProjectMember,
70
+ Permission.Viewer,
71
+ Permission.TelemetryManager,
72
+ Permission.ReadProjectMetricPipelineRule,
73
+ Permission.ReadAllProjectResources,
74
+ ],
75
+ update: [],
76
+ }),
77
+ TableColumn({
78
+ manyToOneRelationColumn: "projectId",
79
+ type: TableColumnType.Entity,
80
+ modelType: Project,
81
+ title: "Project",
82
+ description: "Relation to the project this metric pipeline rule belongs to.",
83
+ }),
84
+ ManyToOne(() => {
85
+ return Project;
86
+ }, {
87
+ eager: false,
88
+ nullable: true,
89
+ onDelete: "CASCADE",
90
+ orphanedRowAction: "nullify",
91
+ }),
92
+ JoinColumn({ name: "projectId" }),
93
+ __metadata("design:type", Project)
94
+ ], MetricPipelineRule.prototype, "project", void 0);
95
+ __decorate([
96
+ ColumnAccessControl({
97
+ create: [
98
+ Permission.ProjectOwner,
99
+ Permission.ProjectAdmin,
100
+ Permission.CreateProjectMetricPipelineRule,
101
+ ],
102
+ read: [
103
+ Permission.ProjectOwner,
104
+ Permission.ProjectAdmin,
105
+ Permission.ProjectMember,
106
+ Permission.Viewer,
107
+ Permission.TelemetryManager,
108
+ Permission.ReadProjectMetricPipelineRule,
109
+ Permission.ReadAllProjectResources,
110
+ ],
111
+ update: [],
112
+ }),
113
+ Index(),
114
+ TableColumn({
115
+ type: TableColumnType.ObjectID,
116
+ required: true,
117
+ canReadOnRelationQuery: true,
118
+ title: "Project ID",
119
+ description: "ID of the project this metric pipeline rule belongs to.",
120
+ }),
121
+ Column({
122
+ type: ColumnType.ObjectID,
123
+ nullable: false,
124
+ transformer: ObjectID.getDatabaseTransformer(),
125
+ }),
126
+ __metadata("design:type", ObjectID)
127
+ ], MetricPipelineRule.prototype, "projectId", void 0);
128
+ __decorate([
129
+ ColumnAccessControl({
130
+ create: [
131
+ Permission.ProjectOwner,
132
+ Permission.ProjectAdmin,
133
+ Permission.CreateProjectMetricPipelineRule,
134
+ ],
135
+ read: [
136
+ Permission.ProjectOwner,
137
+ Permission.ProjectAdmin,
138
+ Permission.ProjectMember,
139
+ Permission.Viewer,
140
+ Permission.TelemetryManager,
141
+ Permission.ReadProjectMetricPipelineRule,
142
+ Permission.ReadAllProjectResources,
143
+ ],
144
+ update: [
145
+ Permission.ProjectOwner,
146
+ Permission.ProjectAdmin,
147
+ Permission.EditProjectMetricPipelineRule,
148
+ ],
149
+ }),
150
+ TableColumn({
151
+ manyToOneRelationColumn: "serviceId",
152
+ type: TableColumnType.Entity,
153
+ modelType: Service,
154
+ required: false,
155
+ title: "Service",
156
+ description: "Optional service scope. When set, the rule only applies to metrics for this service. Leave empty for project-wide rules.",
157
+ }),
158
+ ManyToOne(() => {
159
+ return Service;
160
+ }, {
161
+ eager: false,
162
+ nullable: true,
163
+ onDelete: "CASCADE",
164
+ orphanedRowAction: "nullify",
165
+ }),
166
+ JoinColumn({ name: "serviceId" }),
167
+ __metadata("design:type", Service)
168
+ ], MetricPipelineRule.prototype, "service", void 0);
169
+ __decorate([
170
+ ColumnAccessControl({
171
+ create: [
172
+ Permission.ProjectOwner,
173
+ Permission.ProjectAdmin,
174
+ Permission.CreateProjectMetricPipelineRule,
175
+ ],
176
+ read: [
177
+ Permission.ProjectOwner,
178
+ Permission.ProjectAdmin,
179
+ Permission.ProjectMember,
180
+ Permission.Viewer,
181
+ Permission.TelemetryManager,
182
+ Permission.ReadProjectMetricPipelineRule,
183
+ Permission.ReadAllProjectResources,
184
+ ],
185
+ update: [
186
+ Permission.ProjectOwner,
187
+ Permission.ProjectAdmin,
188
+ Permission.EditProjectMetricPipelineRule,
189
+ ],
190
+ }),
191
+ Index(),
192
+ TableColumn({
193
+ type: TableColumnType.ObjectID,
194
+ required: false,
195
+ canReadOnRelationQuery: true,
196
+ title: "Service ID",
197
+ description: "Optional service ID scoping this rule. Null means the rule is project-wide.",
198
+ }),
199
+ Column({
200
+ type: ColumnType.ObjectID,
201
+ nullable: true,
202
+ transformer: ObjectID.getDatabaseTransformer(),
203
+ }),
204
+ __metadata("design:type", ObjectID)
205
+ ], MetricPipelineRule.prototype, "serviceId", void 0);
206
+ __decorate([
207
+ ColumnAccessControl({
208
+ create: [
209
+ Permission.ProjectOwner,
210
+ Permission.ProjectAdmin,
211
+ Permission.CreateProjectMetricPipelineRule,
212
+ ],
213
+ read: [
214
+ Permission.ProjectOwner,
215
+ Permission.ProjectAdmin,
216
+ Permission.ProjectMember,
217
+ Permission.Viewer,
218
+ Permission.TelemetryManager,
219
+ Permission.ReadProjectMetricPipelineRule,
220
+ Permission.ReadAllProjectResources,
221
+ ],
222
+ update: [
223
+ Permission.ProjectOwner,
224
+ Permission.ProjectAdmin,
225
+ Permission.EditProjectMetricPipelineRule,
226
+ ],
227
+ }),
228
+ TableColumn({
229
+ required: true,
230
+ type: TableColumnType.Name,
231
+ canReadOnRelationQuery: true,
232
+ title: "Name",
233
+ description: "Friendly name for this rule.",
234
+ }),
235
+ Column({
236
+ nullable: false,
237
+ type: ColumnType.Name,
238
+ length: ColumnLength.Name,
239
+ }),
240
+ __metadata("design:type", String)
241
+ ], MetricPipelineRule.prototype, "name", void 0);
242
+ __decorate([
243
+ ColumnAccessControl({
244
+ create: [
245
+ Permission.ProjectOwner,
246
+ Permission.ProjectAdmin,
247
+ Permission.CreateProjectMetricPipelineRule,
248
+ ],
249
+ read: [
250
+ Permission.ProjectOwner,
251
+ Permission.ProjectAdmin,
252
+ Permission.ProjectMember,
253
+ Permission.Viewer,
254
+ Permission.TelemetryManager,
255
+ Permission.ReadProjectMetricPipelineRule,
256
+ Permission.ReadAllProjectResources,
257
+ ],
258
+ update: [
259
+ Permission.ProjectOwner,
260
+ Permission.ProjectAdmin,
261
+ Permission.EditProjectMetricPipelineRule,
262
+ ],
263
+ }),
264
+ TableColumn({
265
+ required: false,
266
+ type: TableColumnType.LongText,
267
+ canReadOnRelationQuery: true,
268
+ title: "Description",
269
+ description: "Description of what this rule does.",
270
+ }),
271
+ Column({
272
+ nullable: true,
273
+ type: ColumnType.LongText,
274
+ length: ColumnLength.LongText,
275
+ }),
276
+ __metadata("design:type", String)
277
+ ], MetricPipelineRule.prototype, "description", void 0);
278
+ __decorate([
279
+ ColumnAccessControl({
280
+ create: [
281
+ Permission.ProjectOwner,
282
+ Permission.ProjectAdmin,
283
+ Permission.CreateProjectMetricPipelineRule,
284
+ ],
285
+ read: [
286
+ Permission.ProjectOwner,
287
+ Permission.ProjectAdmin,
288
+ Permission.ProjectMember,
289
+ Permission.Viewer,
290
+ Permission.TelemetryManager,
291
+ Permission.ReadProjectMetricPipelineRule,
292
+ Permission.ReadAllProjectResources,
293
+ ],
294
+ update: [
295
+ Permission.ProjectOwner,
296
+ Permission.ProjectAdmin,
297
+ Permission.EditProjectMetricPipelineRule,
298
+ ],
299
+ }),
300
+ TableColumn({
301
+ required: true,
302
+ type: TableColumnType.ShortText,
303
+ canReadOnRelationQuery: true,
304
+ title: "Rule Type",
305
+ description: "One of: Filter, Drop, RenameMetric, RenameAttribute, AddAttribute, RemoveAttribute, RedactAttribute, Sample.",
306
+ }),
307
+ Column({
308
+ nullable: false,
309
+ type: ColumnType.ShortText,
310
+ length: ColumnLength.ShortText,
311
+ }),
312
+ __metadata("design:type", String)
313
+ ], MetricPipelineRule.prototype, "ruleType", void 0);
314
+ __decorate([
315
+ ColumnAccessControl({
316
+ create: [
317
+ Permission.ProjectOwner,
318
+ Permission.ProjectAdmin,
319
+ Permission.CreateProjectMetricPipelineRule,
320
+ ],
321
+ read: [
322
+ Permission.ProjectOwner,
323
+ Permission.ProjectAdmin,
324
+ Permission.ProjectMember,
325
+ Permission.Viewer,
326
+ Permission.TelemetryManager,
327
+ Permission.ReadProjectMetricPipelineRule,
328
+ Permission.ReadAllProjectResources,
329
+ ],
330
+ update: [
331
+ Permission.ProjectOwner,
332
+ Permission.ProjectAdmin,
333
+ Permission.EditProjectMetricPipelineRule,
334
+ ],
335
+ }),
336
+ TableColumn({
337
+ required: true,
338
+ type: TableColumnType.ShortText,
339
+ title: "Filter Condition",
340
+ description: "How to combine filters: 'All' requires every filter to match (AND), 'Any' requires at least one to match (OR).",
341
+ defaultValue: FilterCondition.All,
342
+ }),
343
+ Column({
344
+ nullable: false,
345
+ type: ColumnType.ShortText,
346
+ length: ColumnLength.ShortText,
347
+ default: FilterCondition.All,
348
+ }),
349
+ __metadata("design:type", String)
350
+ ], MetricPipelineRule.prototype, "filterCondition", void 0);
351
+ __decorate([
352
+ ColumnAccessControl({
353
+ create: [
354
+ Permission.ProjectOwner,
355
+ Permission.ProjectAdmin,
356
+ Permission.CreateProjectMetricPipelineRule,
357
+ ],
358
+ read: [
359
+ Permission.ProjectOwner,
360
+ Permission.ProjectAdmin,
361
+ Permission.ProjectMember,
362
+ Permission.Viewer,
363
+ Permission.TelemetryManager,
364
+ Permission.ReadProjectMetricPipelineRule,
365
+ Permission.ReadAllProjectResources,
366
+ ],
367
+ update: [
368
+ Permission.ProjectOwner,
369
+ Permission.ProjectAdmin,
370
+ Permission.EditProjectMetricPipelineRule,
371
+ ],
372
+ }),
373
+ TableColumn({
374
+ required: false,
375
+ type: TableColumnType.JSON,
376
+ title: "Filters",
377
+ description: "List of filters evaluated against each metric data point. An empty list matches every data point.",
378
+ }),
379
+ Column({
380
+ nullable: true,
381
+ type: ColumnType.JSON,
382
+ }),
383
+ __metadata("design:type", Array)
384
+ ], MetricPipelineRule.prototype, "filters", void 0);
385
+ __decorate([
386
+ ColumnAccessControl({
387
+ create: [
388
+ Permission.ProjectOwner,
389
+ Permission.ProjectAdmin,
390
+ Permission.CreateProjectMetricPipelineRule,
391
+ ],
392
+ read: [
393
+ Permission.ProjectOwner,
394
+ Permission.ProjectAdmin,
395
+ Permission.ProjectMember,
396
+ Permission.Viewer,
397
+ Permission.TelemetryManager,
398
+ Permission.ReadProjectMetricPipelineRule,
399
+ Permission.ReadAllProjectResources,
400
+ ],
401
+ update: [
402
+ Permission.ProjectOwner,
403
+ Permission.ProjectAdmin,
404
+ Permission.EditProjectMetricPipelineRule,
405
+ ],
406
+ }),
407
+ TableColumn({
408
+ required: false,
409
+ type: TableColumnType.ShortText,
410
+ title: "Rename From Key",
411
+ description: "For RenameMetric: the existing metric name. For RenameAttribute: the existing attribute key.",
412
+ }),
413
+ Column({
414
+ nullable: true,
415
+ type: ColumnType.ShortText,
416
+ length: ColumnLength.ShortText,
417
+ }),
418
+ __metadata("design:type", String)
419
+ ], MetricPipelineRule.prototype, "renameFromKey", void 0);
420
+ __decorate([
421
+ ColumnAccessControl({
422
+ create: [
423
+ Permission.ProjectOwner,
424
+ Permission.ProjectAdmin,
425
+ Permission.CreateProjectMetricPipelineRule,
426
+ ],
427
+ read: [
428
+ Permission.ProjectOwner,
429
+ Permission.ProjectAdmin,
430
+ Permission.ProjectMember,
431
+ Permission.Viewer,
432
+ Permission.TelemetryManager,
433
+ Permission.ReadProjectMetricPipelineRule,
434
+ Permission.ReadAllProjectResources,
435
+ ],
436
+ update: [
437
+ Permission.ProjectOwner,
438
+ Permission.ProjectAdmin,
439
+ Permission.EditProjectMetricPipelineRule,
440
+ ],
441
+ }),
442
+ TableColumn({
443
+ required: false,
444
+ type: TableColumnType.ShortText,
445
+ title: "Rename To Key",
446
+ description: "For RenameMetric: the new metric name. For RenameAttribute: the new attribute key.",
447
+ }),
448
+ Column({
449
+ nullable: true,
450
+ type: ColumnType.ShortText,
451
+ length: ColumnLength.ShortText,
452
+ }),
453
+ __metadata("design:type", String)
454
+ ], MetricPipelineRule.prototype, "renameToKey", void 0);
455
+ __decorate([
456
+ ColumnAccessControl({
457
+ create: [
458
+ Permission.ProjectOwner,
459
+ Permission.ProjectAdmin,
460
+ Permission.CreateProjectMetricPipelineRule,
461
+ ],
462
+ read: [
463
+ Permission.ProjectOwner,
464
+ Permission.ProjectAdmin,
465
+ Permission.ProjectMember,
466
+ Permission.Viewer,
467
+ Permission.TelemetryManager,
468
+ Permission.ReadProjectMetricPipelineRule,
469
+ Permission.ReadAllProjectResources,
470
+ ],
471
+ update: [
472
+ Permission.ProjectOwner,
473
+ Permission.ProjectAdmin,
474
+ Permission.EditProjectMetricPipelineRule,
475
+ ],
476
+ }),
477
+ TableColumn({
478
+ required: false,
479
+ type: TableColumnType.ShortText,
480
+ title: "Add Attribute Key",
481
+ description: "For AddAttribute / RemoveAttribute / RedactAttribute: the attribute key to act on.",
482
+ }),
483
+ Column({
484
+ nullable: true,
485
+ type: ColumnType.ShortText,
486
+ length: ColumnLength.ShortText,
487
+ }),
488
+ __metadata("design:type", String)
489
+ ], MetricPipelineRule.prototype, "addAttributeKey", void 0);
490
+ __decorate([
491
+ ColumnAccessControl({
492
+ create: [
493
+ Permission.ProjectOwner,
494
+ Permission.ProjectAdmin,
495
+ Permission.CreateProjectMetricPipelineRule,
496
+ ],
497
+ read: [
498
+ Permission.ProjectOwner,
499
+ Permission.ProjectAdmin,
500
+ Permission.ProjectMember,
501
+ Permission.Viewer,
502
+ Permission.TelemetryManager,
503
+ Permission.ReadProjectMetricPipelineRule,
504
+ Permission.ReadAllProjectResources,
505
+ ],
506
+ update: [
507
+ Permission.ProjectOwner,
508
+ Permission.ProjectAdmin,
509
+ Permission.EditProjectMetricPipelineRule,
510
+ ],
511
+ }),
512
+ TableColumn({
513
+ required: false,
514
+ type: TableColumnType.LongText,
515
+ title: "Add Attribute Value",
516
+ description: "For AddAttribute: the attribute value to set.",
517
+ }),
518
+ Column({
519
+ nullable: true,
520
+ type: ColumnType.LongText,
521
+ length: ColumnLength.LongText,
522
+ }),
523
+ __metadata("design:type", String)
524
+ ], MetricPipelineRule.prototype, "addAttributeValue", void 0);
525
+ __decorate([
526
+ ColumnAccessControl({
527
+ create: [
528
+ Permission.ProjectOwner,
529
+ Permission.ProjectAdmin,
530
+ Permission.CreateProjectMetricPipelineRule,
531
+ ],
532
+ read: [
533
+ Permission.ProjectOwner,
534
+ Permission.ProjectAdmin,
535
+ Permission.ProjectMember,
536
+ Permission.Viewer,
537
+ Permission.TelemetryManager,
538
+ Permission.ReadProjectMetricPipelineRule,
539
+ Permission.ReadAllProjectResources,
540
+ ],
541
+ update: [
542
+ Permission.ProjectOwner,
543
+ Permission.ProjectAdmin,
544
+ Permission.EditProjectMetricPipelineRule,
545
+ ],
546
+ }),
547
+ TableColumn({
548
+ required: false,
549
+ type: TableColumnType.ShortText,
550
+ title: "Redact Replacement",
551
+ description: "For RedactAttribute: the literal string to replace the value with. Defaults to [REDACTED].",
552
+ }),
553
+ Column({
554
+ nullable: false,
555
+ type: ColumnType.ShortText,
556
+ length: ColumnLength.ShortText,
557
+ default: "[REDACTED]",
558
+ }),
559
+ __metadata("design:type", String)
560
+ ], MetricPipelineRule.prototype, "redactReplacement", void 0);
561
+ __decorate([
562
+ ColumnAccessControl({
563
+ create: [
564
+ Permission.ProjectOwner,
565
+ Permission.ProjectAdmin,
566
+ Permission.CreateProjectMetricPipelineRule,
567
+ ],
568
+ read: [
569
+ Permission.ProjectOwner,
570
+ Permission.ProjectAdmin,
571
+ Permission.ProjectMember,
572
+ Permission.Viewer,
573
+ Permission.TelemetryManager,
574
+ Permission.ReadProjectMetricPipelineRule,
575
+ Permission.ReadAllProjectResources,
576
+ ],
577
+ update: [
578
+ Permission.ProjectOwner,
579
+ Permission.ProjectAdmin,
580
+ Permission.EditProjectMetricPipelineRule,
581
+ ],
582
+ }),
583
+ TableColumn({
584
+ required: false,
585
+ type: TableColumnType.Number,
586
+ title: "Sample Percentage",
587
+ description: "For Sample: percentage of matched rows to keep (0-100). 100 keeps all.",
588
+ defaultValue: 100,
589
+ }),
590
+ Column({
591
+ type: ColumnType.Number,
592
+ nullable: false,
593
+ default: 100,
594
+ }),
595
+ __metadata("design:type", Number)
596
+ ], MetricPipelineRule.prototype, "samplePercentage", void 0);
597
+ __decorate([
598
+ ColumnAccessControl({
599
+ create: [
600
+ Permission.ProjectOwner,
601
+ Permission.ProjectAdmin,
602
+ Permission.CreateProjectMetricPipelineRule,
603
+ ],
604
+ read: [
605
+ Permission.ProjectOwner,
606
+ Permission.ProjectAdmin,
607
+ Permission.ProjectMember,
608
+ Permission.Viewer,
609
+ Permission.TelemetryManager,
610
+ Permission.ReadProjectMetricPipelineRule,
611
+ Permission.ReadAllProjectResources,
612
+ ],
613
+ update: [
614
+ Permission.ProjectOwner,
615
+ Permission.ProjectAdmin,
616
+ Permission.EditProjectMetricPipelineRule,
617
+ ],
618
+ }),
619
+ Index(),
620
+ TableColumn({
621
+ required: true,
622
+ type: TableColumnType.Boolean,
623
+ canReadOnRelationQuery: true,
624
+ title: "Enabled",
625
+ description: "Whether this rule is active.",
626
+ defaultValue: true,
627
+ }),
628
+ Column({
629
+ nullable: false,
630
+ type: ColumnType.Boolean,
631
+ default: true,
632
+ }),
633
+ __metadata("design:type", Boolean)
634
+ ], MetricPipelineRule.prototype, "isEnabled", void 0);
635
+ __decorate([
636
+ ColumnAccessControl({
637
+ create: [
638
+ Permission.ProjectOwner,
639
+ Permission.ProjectAdmin,
640
+ Permission.CreateProjectMetricPipelineRule,
641
+ ],
642
+ read: [
643
+ Permission.ProjectOwner,
644
+ Permission.ProjectAdmin,
645
+ Permission.ProjectMember,
646
+ Permission.Viewer,
647
+ Permission.TelemetryManager,
648
+ Permission.ReadProjectMetricPipelineRule,
649
+ Permission.ReadAllProjectResources,
650
+ ],
651
+ update: [
652
+ Permission.ProjectOwner,
653
+ Permission.ProjectAdmin,
654
+ Permission.EditProjectMetricPipelineRule,
655
+ ],
656
+ }),
657
+ TableColumn({
658
+ title: "Sort Order",
659
+ required: false,
660
+ type: TableColumnType.Number,
661
+ canReadOnRelationQuery: true,
662
+ description: "Evaluation order within its scope (service-level or project-level).",
663
+ defaultValue: 0,
664
+ }),
665
+ Column({
666
+ type: ColumnType.Number,
667
+ nullable: false,
668
+ default: 0,
669
+ }),
670
+ __metadata("design:type", Number)
671
+ ], MetricPipelineRule.prototype, "sortOrder", void 0);
672
+ __decorate([
673
+ ColumnAccessControl({
674
+ create: [],
675
+ read: [
676
+ Permission.ProjectOwner,
677
+ Permission.ProjectAdmin,
678
+ Permission.ProjectMember,
679
+ Permission.Viewer,
680
+ Permission.TelemetryManager,
681
+ Permission.ReadProjectMetricPipelineRule,
682
+ Permission.ReadAllProjectResources,
683
+ ],
684
+ update: [],
685
+ }),
686
+ TableColumn({
687
+ manyToOneRelationColumn: "createdByUserId",
688
+ type: TableColumnType.Entity,
689
+ modelType: User,
690
+ title: "Created By User",
691
+ description: "Relation to the user who created this rule.",
692
+ }),
693
+ ManyToOne(() => {
694
+ return User;
695
+ }, {
696
+ eager: false,
697
+ nullable: true,
698
+ onDelete: "SET NULL",
699
+ orphanedRowAction: "nullify",
700
+ }),
701
+ JoinColumn({ name: "createdByUserId" }),
702
+ __metadata("design:type", User)
703
+ ], MetricPipelineRule.prototype, "createdByUser", void 0);
704
+ __decorate([
705
+ ColumnAccessControl({
706
+ create: [],
707
+ read: [
708
+ Permission.ProjectOwner,
709
+ Permission.ProjectAdmin,
710
+ Permission.ProjectMember,
711
+ Permission.Viewer,
712
+ Permission.TelemetryManager,
713
+ Permission.ReadProjectMetricPipelineRule,
714
+ Permission.ReadAllProjectResources,
715
+ ],
716
+ update: [],
717
+ }),
718
+ TableColumn({
719
+ type: TableColumnType.ObjectID,
720
+ title: "Created By User ID",
721
+ description: "ID of the user who created this rule.",
722
+ }),
723
+ Column({
724
+ type: ColumnType.ObjectID,
725
+ nullable: true,
726
+ transformer: ObjectID.getDatabaseTransformer(),
727
+ }),
728
+ __metadata("design:type", ObjectID)
729
+ ], MetricPipelineRule.prototype, "createdByUserId", void 0);
730
+ __decorate([
731
+ ColumnAccessControl({
732
+ create: [],
733
+ read: [
734
+ Permission.ProjectOwner,
735
+ Permission.ProjectAdmin,
736
+ Permission.ProjectMember,
737
+ Permission.Viewer,
738
+ Permission.TelemetryManager,
739
+ Permission.ReadProjectMetricPipelineRule,
740
+ Permission.ReadAllProjectResources,
741
+ ],
742
+ update: [],
743
+ }),
744
+ TableColumn({
745
+ manyToOneRelationColumn: "deletedByUserId",
746
+ type: TableColumnType.Entity,
747
+ modelType: User,
748
+ title: "Deleted By User",
749
+ description: "Relation to the user who deleted this rule.",
750
+ }),
751
+ ManyToOne(() => {
752
+ return User;
753
+ }, {
754
+ eager: false,
755
+ nullable: true,
756
+ onDelete: "SET NULL",
757
+ orphanedRowAction: "nullify",
758
+ }),
759
+ JoinColumn({ name: "deletedByUserId" }),
760
+ __metadata("design:type", User)
761
+ ], MetricPipelineRule.prototype, "deletedByUser", void 0);
762
+ __decorate([
763
+ ColumnAccessControl({
764
+ create: [],
765
+ read: [
766
+ Permission.ProjectOwner,
767
+ Permission.ProjectAdmin,
768
+ Permission.ProjectMember,
769
+ Permission.Viewer,
770
+ Permission.TelemetryManager,
771
+ Permission.ReadProjectMetricPipelineRule,
772
+ Permission.ReadAllProjectResources,
773
+ ],
774
+ update: [],
775
+ }),
776
+ TableColumn({
777
+ type: TableColumnType.ObjectID,
778
+ title: "Deleted By User ID",
779
+ description: "ID of the user who deleted this rule.",
780
+ }),
781
+ Column({
782
+ type: ColumnType.ObjectID,
783
+ nullable: true,
784
+ transformer: ObjectID.getDatabaseTransformer(),
785
+ }),
786
+ __metadata("design:type", ObjectID)
787
+ ], MetricPipelineRule.prototype, "deletedByUserId", void 0);
788
+ MetricPipelineRule = __decorate([
789
+ EnableDocumentation(),
790
+ TableBillingAccessControl({
791
+ create: PlanType.Free,
792
+ read: PlanType.Free,
793
+ update: PlanType.Free,
794
+ delete: PlanType.Free,
795
+ }),
796
+ TenantColumn("projectId"),
797
+ CrudApiEndpoint(new Route("/metric-pipeline-rule")),
798
+ Entity({
799
+ name: "MetricPipelineRule",
800
+ }),
801
+ TableMetadata({
802
+ tableName: "MetricPipelineRule",
803
+ singularName: "Metric Pipeline Rule",
804
+ pluralName: "Metric Pipeline Rules",
805
+ icon: IconProp.Filter,
806
+ tableDescription: "Rules applied at metric ingest time to filter, drop, rename, enrich, redact, or sample metric data points.",
807
+ }),
808
+ TableAccessControl({
809
+ create: [
810
+ Permission.ProjectOwner,
811
+ Permission.ProjectAdmin,
812
+ Permission.CreateProjectMetricPipelineRule,
813
+ ],
814
+ read: [
815
+ Permission.ProjectOwner,
816
+ Permission.ProjectAdmin,
817
+ Permission.ProjectMember,
818
+ Permission.Viewer,
819
+ Permission.TelemetryManager,
820
+ Permission.ReadProjectMetricPipelineRule,
821
+ Permission.ReadAllProjectResources,
822
+ ],
823
+ delete: [
824
+ Permission.ProjectOwner,
825
+ Permission.ProjectAdmin,
826
+ Permission.DeleteProjectMetricPipelineRule,
827
+ ],
828
+ update: [
829
+ Permission.ProjectOwner,
830
+ Permission.ProjectAdmin,
831
+ Permission.EditProjectMetricPipelineRule,
832
+ ],
833
+ })
834
+ ], MetricPipelineRule);
835
+ export default MetricPipelineRule;
836
+ //# sourceMappingURL=MetricPipelineRule.js.map