@cdktf-providers/newrelic 3.75.4

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 (147) hide show
  1. package/LICENSE +355 -0
  2. package/README.md +19 -0
  3. package/dist/account-management/index.d.ts +64 -0
  4. package/dist/account-management/index.js +131 -0
  5. package/dist/alert-channel/index.d.ts +347 -0
  6. package/dist/alert-channel/index.js +810 -0
  7. package/dist/alert-condition/index.d.ts +267 -0
  8. package/dist/alert-condition/index.js +587 -0
  9. package/dist/alert-muting-rule/index.d.ts +305 -0
  10. package/dist/alert-muting-rule/index.js +731 -0
  11. package/dist/alert-policy/index.d.ts +87 -0
  12. package/dist/alert-policy/index.js +180 -0
  13. package/dist/alert-policy-channel/index.d.ts +110 -0
  14. package/dist/alert-policy-channel/index.js +260 -0
  15. package/dist/api-access-key/index.d.ts +98 -0
  16. package/dist/api-access-key/index.js +230 -0
  17. package/dist/application-settings/index.d.ts +410 -0
  18. package/dist/application-settings/index.js +966 -0
  19. package/dist/browser-application/index.d.ts +101 -0
  20. package/dist/browser-application/index.js +215 -0
  21. package/dist/cloud-aws-govcloud-integrations/index.d.ts +1519 -0
  22. package/dist/cloud-aws-govcloud-integrations/index.js +3846 -0
  23. package/dist/cloud-aws-govcloud-link-account/index.d.ts +86 -0
  24. package/dist/cloud-aws-govcloud-link-account/index.js +177 -0
  25. package/dist/cloud-aws-integrations/index.d.ts +3294 -0
  26. package/dist/cloud-aws-integrations/index.js +8554 -0
  27. package/dist/cloud-aws-link-account/index.d.ts +86 -0
  28. package/dist/cloud-aws-link-account/index.js +177 -0
  29. package/dist/cloud-azure-integrations/index.d.ts +1662 -0
  30. package/dist/cloud-azure-integrations/index.js +4338 -0
  31. package/dist/cloud-azure-link-account/index.d.ts +105 -0
  32. package/dist/cloud-azure-link-account/index.js +214 -0
  33. package/dist/cloud-gcp-integrations/index.d.ts +1045 -0
  34. package/dist/cloud-gcp-integrations/index.js +2742 -0
  35. package/dist/cloud-gcp-link-account/index.d.ts +75 -0
  36. package/dist/cloud-gcp-link-account/index.js +154 -0
  37. package/dist/cloud-oci-link-account/index.d.ts +191 -0
  38. package/dist/cloud-oci-link-account/index.js +392 -0
  39. package/dist/data-newrelic-account/index.d.ts +77 -0
  40. package/dist/data-newrelic-account/index.js +160 -0
  41. package/dist/data-newrelic-alert-channel/index.d.ts +122 -0
  42. package/dist/data-newrelic-alert-channel/index.js +295 -0
  43. package/dist/data-newrelic-alert-policy/index.d.ts +78 -0
  44. package/dist/data-newrelic-alert-policy/index.js +165 -0
  45. package/dist/data-newrelic-application/index.d.ts +56 -0
  46. package/dist/data-newrelic-application/index.js +119 -0
  47. package/dist/data-newrelic-authentication-domain/index.d.ts +43 -0
  48. package/dist/data-newrelic-authentication-domain/index.js +92 -0
  49. package/dist/data-newrelic-cloud-account/index.d.ts +75 -0
  50. package/dist/data-newrelic-cloud-account/index.js +154 -0
  51. package/dist/data-newrelic-entity/index.d.ts +185 -0
  52. package/dist/data-newrelic-entity/index.js +414 -0
  53. package/dist/data-newrelic-group/index.d.ts +54 -0
  54. package/dist/data-newrelic-group/index.js +116 -0
  55. package/dist/data-newrelic-key-transaction/index.d.ts +78 -0
  56. package/dist/data-newrelic-key-transaction/index.js +165 -0
  57. package/dist/data-newrelic-notification-destination/index.d.ts +161 -0
  58. package/dist/data-newrelic-notification-destination/index.js +368 -0
  59. package/dist/data-newrelic-obfuscation-expression/index.d.ts +65 -0
  60. package/dist/data-newrelic-obfuscation-expression/index.js +134 -0
  61. package/dist/data-newrelic-service-level-alert-helper/index.d.ts +107 -0
  62. package/dist/data-newrelic-service-level-alert-helper/index.js +256 -0
  63. package/dist/data-newrelic-synthetics-private-location/index.d.ts +76 -0
  64. package/dist/data-newrelic-synthetics-private-location/index.js +157 -0
  65. package/dist/data-newrelic-synthetics-secure-credential/index.d.ts +67 -0
  66. package/dist/data-newrelic-synthetics-secure-credential/index.js +142 -0
  67. package/dist/data-newrelic-test-grok-pattern/index.d.ts +145 -0
  68. package/dist/data-newrelic-test-grok-pattern/index.js +312 -0
  69. package/dist/data-newrelic-user/index.d.ts +65 -0
  70. package/dist/data-newrelic-user/index.js +138 -0
  71. package/dist/data-partition-rule/index.d.ts +142 -0
  72. package/dist/data-partition-rule/index.js +327 -0
  73. package/dist/entity-tags/index.d.ts +152 -0
  74. package/dist/entity-tags/index.js +367 -0
  75. package/dist/events-to-metrics-rule/index.d.ts +98 -0
  76. package/dist/events-to-metrics-rule/index.js +204 -0
  77. package/dist/group/index.d.ts +75 -0
  78. package/dist/group/index.js +154 -0
  79. package/dist/index.d.ts +67 -0
  80. package/dist/index.js +68 -0
  81. package/dist/infra-alert-condition/index.d.ts +289 -0
  82. package/dist/infra-alert-condition/index.js +691 -0
  83. package/dist/insights-event/index.d.ts +182 -0
  84. package/dist/insights-event/index.js +427 -0
  85. package/dist/key-transaction/index.d.ts +96 -0
  86. package/dist/key-transaction/index.js +199 -0
  87. package/dist/lazy-index.d.ts +0 -0
  88. package/dist/lazy-index.js +68 -0
  89. package/dist/log-parsing-rule/index.d.ts +128 -0
  90. package/dist/log-parsing-rule/index.js +264 -0
  91. package/dist/monitor-downtime/index.d.ts +255 -0
  92. package/dist/monitor-downtime/index.js +603 -0
  93. package/dist/notification-channel/index.d.ts +236 -0
  94. package/dist/notification-channel/index.js +561 -0
  95. package/dist/notification-destination/index.d.ts +402 -0
  96. package/dist/notification-destination/index.js +1039 -0
  97. package/dist/nrql-alert-condition/index.d.ts +892 -0
  98. package/dist/nrql-alert-condition/index.js +2177 -0
  99. package/dist/nrql-drop-rule/index.d.ts +123 -0
  100. package/dist/nrql-drop-rule/index.js +291 -0
  101. package/dist/obfuscation-expression/index.d.ts +86 -0
  102. package/dist/obfuscation-expression/index.js +177 -0
  103. package/dist/obfuscation-rule/index.d.ts +169 -0
  104. package/dist/obfuscation-rule/index.js +372 -0
  105. package/dist/one-dashboard/index-structs/index.d.ts +2 -0
  106. package/dist/one-dashboard/index-structs/index.js +2 -0
  107. package/dist/one-dashboard/index-structs/structs0.d.ts +6996 -0
  108. package/dist/one-dashboard/index-structs/structs0.js +18191 -0
  109. package/dist/one-dashboard/index-structs/structs400.d.ts +3699 -0
  110. package/dist/one-dashboard/index-structs/structs400.js +9611 -0
  111. package/dist/one-dashboard/index.d.ts +112 -0
  112. package/dist/one-dashboard/index.js +232 -0
  113. package/dist/one-dashboard-json/index.d.ts +112 -0
  114. package/dist/one-dashboard-json/index.js +280 -0
  115. package/dist/one-dashboard-raw/index.d.ts +274 -0
  116. package/dist/one-dashboard-raw/index.js +666 -0
  117. package/dist/pipeline-cloud-rule/index.d.ts +86 -0
  118. package/dist/pipeline-cloud-rule/index.js +177 -0
  119. package/dist/provider/index.d.ts +160 -0
  120. package/dist/provider/index.js +378 -0
  121. package/dist/service-level/index.d.ts +501 -0
  122. package/dist/service-level/index.js +1425 -0
  123. package/dist/synthetics-alert-condition/index.d.ts +97 -0
  124. package/dist/synthetics-alert-condition/index.js +201 -0
  125. package/dist/synthetics-broken-links-monitor/index.d.ts +217 -0
  126. package/dist/synthetics-broken-links-monitor/index.js +474 -0
  127. package/dist/synthetics-cert-check-monitor/index.d.ts +222 -0
  128. package/dist/synthetics-cert-check-monitor/index.js +490 -0
  129. package/dist/synthetics-monitor/index.d.ts +404 -0
  130. package/dist/synthetics-monitor/index.js +885 -0
  131. package/dist/synthetics-multilocation-alert-condition/index.d.ts +177 -0
  132. package/dist/synthetics-multilocation-alert-condition/index.js +407 -0
  133. package/dist/synthetics-private-location/index.d.ts +90 -0
  134. package/dist/synthetics-private-location/index.js +193 -0
  135. package/dist/synthetics-script-monitor/index.d.ts +348 -0
  136. package/dist/synthetics-script-monitor/index.js +768 -0
  137. package/dist/synthetics-secure-credential/index.d.ts +132 -0
  138. package/dist/synthetics-secure-credential/index.js +306 -0
  139. package/dist/synthetics-step-monitor/index.d.ts +368 -0
  140. package/dist/synthetics-step-monitor/index.js +834 -0
  141. package/dist/user/index.d.ts +85 -0
  142. package/dist/user/index.js +174 -0
  143. package/dist/workflow/index.d.ts +441 -0
  144. package/dist/workflow/index.js +1066 -0
  145. package/dist/workload/index.d.ts +514 -0
  146. package/dist/workload/index.js +1283 -0
  147. package/package.json +50 -0
@@ -0,0 +1,2177 @@
1
+ // https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/nrql_alert_condition
2
+ // generated from terraform resource schema
3
+ import * as cdktf from 'cdktf';
4
+ export function nrqlAlertConditionCriticalPredictionToTerraform(struct) {
5
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
6
+ return struct;
7
+ }
8
+ if (cdktf.isComplexElement(struct)) {
9
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
10
+ }
11
+ return {
12
+ predict_by: cdktf.numberToTerraform(struct.predictBy),
13
+ prefer_prediction_violation: cdktf.booleanToTerraform(struct.preferPredictionViolation),
14
+ };
15
+ }
16
+ export function nrqlAlertConditionCriticalPredictionToHclTerraform(struct) {
17
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
18
+ return struct;
19
+ }
20
+ if (cdktf.isComplexElement(struct)) {
21
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
22
+ }
23
+ const attrs = {
24
+ predict_by: {
25
+ value: cdktf.numberToHclTerraform(struct.predictBy),
26
+ isBlock: false,
27
+ type: "simple",
28
+ storageClassType: "number",
29
+ },
30
+ prefer_prediction_violation: {
31
+ value: cdktf.booleanToHclTerraform(struct.preferPredictionViolation),
32
+ isBlock: false,
33
+ type: "simple",
34
+ storageClassType: "boolean",
35
+ },
36
+ };
37
+ // remove undefined attributes
38
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
39
+ }
40
+ export class NrqlAlertConditionCriticalPredictionOutputReference extends cdktf.ComplexObject {
41
+ isEmptyObject = false;
42
+ /**
43
+ * @param terraformResource The parent resource
44
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
45
+ */
46
+ constructor(terraformResource, terraformAttribute) {
47
+ super(terraformResource, terraformAttribute, false, 0);
48
+ }
49
+ get internalValue() {
50
+ let hasAnyValues = this.isEmptyObject;
51
+ const internalValueResult = {};
52
+ if (this._predictBy !== undefined) {
53
+ hasAnyValues = true;
54
+ internalValueResult.predictBy = this._predictBy;
55
+ }
56
+ if (this._preferPredictionViolation !== undefined) {
57
+ hasAnyValues = true;
58
+ internalValueResult.preferPredictionViolation = this._preferPredictionViolation;
59
+ }
60
+ return hasAnyValues ? internalValueResult : undefined;
61
+ }
62
+ set internalValue(value) {
63
+ if (value === undefined) {
64
+ this.isEmptyObject = false;
65
+ this._predictBy = undefined;
66
+ this._preferPredictionViolation = undefined;
67
+ }
68
+ else {
69
+ this.isEmptyObject = Object.keys(value).length === 0;
70
+ this._predictBy = value.predictBy;
71
+ this._preferPredictionViolation = value.preferPredictionViolation;
72
+ }
73
+ }
74
+ // predict_by - computed: false, optional: true, required: false
75
+ _predictBy;
76
+ get predictBy() {
77
+ return this.getNumberAttribute('predict_by');
78
+ }
79
+ set predictBy(value) {
80
+ this._predictBy = value;
81
+ }
82
+ resetPredictBy() {
83
+ this._predictBy = undefined;
84
+ }
85
+ // Temporarily expose input value. Use with caution.
86
+ get predictByInput() {
87
+ return this._predictBy;
88
+ }
89
+ // prefer_prediction_violation - computed: false, optional: true, required: false
90
+ _preferPredictionViolation;
91
+ get preferPredictionViolation() {
92
+ return this.getBooleanAttribute('prefer_prediction_violation');
93
+ }
94
+ set preferPredictionViolation(value) {
95
+ this._preferPredictionViolation = value;
96
+ }
97
+ resetPreferPredictionViolation() {
98
+ this._preferPredictionViolation = undefined;
99
+ }
100
+ // Temporarily expose input value. Use with caution.
101
+ get preferPredictionViolationInput() {
102
+ return this._preferPredictionViolation;
103
+ }
104
+ }
105
+ export function nrqlAlertConditionCriticalToTerraform(struct) {
106
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
107
+ return struct;
108
+ }
109
+ if (cdktf.isComplexElement(struct)) {
110
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
111
+ }
112
+ return {
113
+ disable_health_status_reporting: cdktf.booleanToTerraform(struct.disableHealthStatusReporting),
114
+ duration: cdktf.numberToTerraform(struct.duration),
115
+ operator: cdktf.stringToTerraform(struct.operator),
116
+ threshold: cdktf.numberToTerraform(struct.threshold),
117
+ threshold_duration: cdktf.numberToTerraform(struct.thresholdDuration),
118
+ threshold_occurrences: cdktf.stringToTerraform(struct.thresholdOccurrences),
119
+ time_function: cdktf.stringToTerraform(struct.timeFunction),
120
+ prediction: nrqlAlertConditionCriticalPredictionToTerraform(struct.prediction),
121
+ };
122
+ }
123
+ export function nrqlAlertConditionCriticalToHclTerraform(struct) {
124
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
125
+ return struct;
126
+ }
127
+ if (cdktf.isComplexElement(struct)) {
128
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
129
+ }
130
+ const attrs = {
131
+ disable_health_status_reporting: {
132
+ value: cdktf.booleanToHclTerraform(struct.disableHealthStatusReporting),
133
+ isBlock: false,
134
+ type: "simple",
135
+ storageClassType: "boolean",
136
+ },
137
+ duration: {
138
+ value: cdktf.numberToHclTerraform(struct.duration),
139
+ isBlock: false,
140
+ type: "simple",
141
+ storageClassType: "number",
142
+ },
143
+ operator: {
144
+ value: cdktf.stringToHclTerraform(struct.operator),
145
+ isBlock: false,
146
+ type: "simple",
147
+ storageClassType: "string",
148
+ },
149
+ threshold: {
150
+ value: cdktf.numberToHclTerraform(struct.threshold),
151
+ isBlock: false,
152
+ type: "simple",
153
+ storageClassType: "number",
154
+ },
155
+ threshold_duration: {
156
+ value: cdktf.numberToHclTerraform(struct.thresholdDuration),
157
+ isBlock: false,
158
+ type: "simple",
159
+ storageClassType: "number",
160
+ },
161
+ threshold_occurrences: {
162
+ value: cdktf.stringToHclTerraform(struct.thresholdOccurrences),
163
+ isBlock: false,
164
+ type: "simple",
165
+ storageClassType: "string",
166
+ },
167
+ time_function: {
168
+ value: cdktf.stringToHclTerraform(struct.timeFunction),
169
+ isBlock: false,
170
+ type: "simple",
171
+ storageClassType: "string",
172
+ },
173
+ prediction: {
174
+ value: nrqlAlertConditionCriticalPredictionToHclTerraform(struct.prediction),
175
+ isBlock: true,
176
+ type: "set",
177
+ storageClassType: "NrqlAlertConditionCriticalPredictionList",
178
+ },
179
+ };
180
+ // remove undefined attributes
181
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
182
+ }
183
+ export class NrqlAlertConditionCriticalOutputReference extends cdktf.ComplexObject {
184
+ isEmptyObject = false;
185
+ /**
186
+ * @param terraformResource The parent resource
187
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
188
+ */
189
+ constructor(terraformResource, terraformAttribute) {
190
+ super(terraformResource, terraformAttribute, false, 0);
191
+ }
192
+ get internalValue() {
193
+ let hasAnyValues = this.isEmptyObject;
194
+ const internalValueResult = {};
195
+ if (this._disableHealthStatusReporting !== undefined) {
196
+ hasAnyValues = true;
197
+ internalValueResult.disableHealthStatusReporting = this._disableHealthStatusReporting;
198
+ }
199
+ if (this._duration !== undefined) {
200
+ hasAnyValues = true;
201
+ internalValueResult.duration = this._duration;
202
+ }
203
+ if (this._operator !== undefined) {
204
+ hasAnyValues = true;
205
+ internalValueResult.operator = this._operator;
206
+ }
207
+ if (this._threshold !== undefined) {
208
+ hasAnyValues = true;
209
+ internalValueResult.threshold = this._threshold;
210
+ }
211
+ if (this._thresholdDuration !== undefined) {
212
+ hasAnyValues = true;
213
+ internalValueResult.thresholdDuration = this._thresholdDuration;
214
+ }
215
+ if (this._thresholdOccurrences !== undefined) {
216
+ hasAnyValues = true;
217
+ internalValueResult.thresholdOccurrences = this._thresholdOccurrences;
218
+ }
219
+ if (this._timeFunction !== undefined) {
220
+ hasAnyValues = true;
221
+ internalValueResult.timeFunction = this._timeFunction;
222
+ }
223
+ if (this._prediction?.internalValue !== undefined) {
224
+ hasAnyValues = true;
225
+ internalValueResult.prediction = this._prediction?.internalValue;
226
+ }
227
+ return hasAnyValues ? internalValueResult : undefined;
228
+ }
229
+ set internalValue(value) {
230
+ if (value === undefined) {
231
+ this.isEmptyObject = false;
232
+ this._disableHealthStatusReporting = undefined;
233
+ this._duration = undefined;
234
+ this._operator = undefined;
235
+ this._threshold = undefined;
236
+ this._thresholdDuration = undefined;
237
+ this._thresholdOccurrences = undefined;
238
+ this._timeFunction = undefined;
239
+ this._prediction.internalValue = undefined;
240
+ }
241
+ else {
242
+ this.isEmptyObject = Object.keys(value).length === 0;
243
+ this._disableHealthStatusReporting = value.disableHealthStatusReporting;
244
+ this._duration = value.duration;
245
+ this._operator = value.operator;
246
+ this._threshold = value.threshold;
247
+ this._thresholdDuration = value.thresholdDuration;
248
+ this._thresholdOccurrences = value.thresholdOccurrences;
249
+ this._timeFunction = value.timeFunction;
250
+ this._prediction.internalValue = value.prediction;
251
+ }
252
+ }
253
+ // disable_health_status_reporting - computed: false, optional: true, required: false
254
+ _disableHealthStatusReporting;
255
+ get disableHealthStatusReporting() {
256
+ return this.getBooleanAttribute('disable_health_status_reporting');
257
+ }
258
+ set disableHealthStatusReporting(value) {
259
+ this._disableHealthStatusReporting = value;
260
+ }
261
+ resetDisableHealthStatusReporting() {
262
+ this._disableHealthStatusReporting = undefined;
263
+ }
264
+ // Temporarily expose input value. Use with caution.
265
+ get disableHealthStatusReportingInput() {
266
+ return this._disableHealthStatusReporting;
267
+ }
268
+ // duration - computed: false, optional: true, required: false
269
+ _duration;
270
+ get duration() {
271
+ return this.getNumberAttribute('duration');
272
+ }
273
+ set duration(value) {
274
+ this._duration = value;
275
+ }
276
+ resetDuration() {
277
+ this._duration = undefined;
278
+ }
279
+ // Temporarily expose input value. Use with caution.
280
+ get durationInput() {
281
+ return this._duration;
282
+ }
283
+ // operator - computed: false, optional: true, required: false
284
+ _operator;
285
+ get operator() {
286
+ return this.getStringAttribute('operator');
287
+ }
288
+ set operator(value) {
289
+ this._operator = value;
290
+ }
291
+ resetOperator() {
292
+ this._operator = undefined;
293
+ }
294
+ // Temporarily expose input value. Use with caution.
295
+ get operatorInput() {
296
+ return this._operator;
297
+ }
298
+ // threshold - computed: false, optional: false, required: true
299
+ _threshold;
300
+ get threshold() {
301
+ return this.getNumberAttribute('threshold');
302
+ }
303
+ set threshold(value) {
304
+ this._threshold = value;
305
+ }
306
+ // Temporarily expose input value. Use with caution.
307
+ get thresholdInput() {
308
+ return this._threshold;
309
+ }
310
+ // threshold_duration - computed: false, optional: true, required: false
311
+ _thresholdDuration;
312
+ get thresholdDuration() {
313
+ return this.getNumberAttribute('threshold_duration');
314
+ }
315
+ set thresholdDuration(value) {
316
+ this._thresholdDuration = value;
317
+ }
318
+ resetThresholdDuration() {
319
+ this._thresholdDuration = undefined;
320
+ }
321
+ // Temporarily expose input value. Use with caution.
322
+ get thresholdDurationInput() {
323
+ return this._thresholdDuration;
324
+ }
325
+ // threshold_occurrences - computed: false, optional: true, required: false
326
+ _thresholdOccurrences;
327
+ get thresholdOccurrences() {
328
+ return this.getStringAttribute('threshold_occurrences');
329
+ }
330
+ set thresholdOccurrences(value) {
331
+ this._thresholdOccurrences = value;
332
+ }
333
+ resetThresholdOccurrences() {
334
+ this._thresholdOccurrences = undefined;
335
+ }
336
+ // Temporarily expose input value. Use with caution.
337
+ get thresholdOccurrencesInput() {
338
+ return this._thresholdOccurrences;
339
+ }
340
+ // time_function - computed: false, optional: true, required: false
341
+ _timeFunction;
342
+ get timeFunction() {
343
+ return this.getStringAttribute('time_function');
344
+ }
345
+ set timeFunction(value) {
346
+ this._timeFunction = value;
347
+ }
348
+ resetTimeFunction() {
349
+ this._timeFunction = undefined;
350
+ }
351
+ // Temporarily expose input value. Use with caution.
352
+ get timeFunctionInput() {
353
+ return this._timeFunction;
354
+ }
355
+ // prediction - computed: false, optional: true, required: false
356
+ _prediction = new NrqlAlertConditionCriticalPredictionOutputReference(this, "prediction");
357
+ get prediction() {
358
+ return this._prediction;
359
+ }
360
+ putPrediction(value) {
361
+ this._prediction.internalValue = value;
362
+ }
363
+ resetPrediction() {
364
+ this._prediction.internalValue = undefined;
365
+ }
366
+ // Temporarily expose input value. Use with caution.
367
+ get predictionInput() {
368
+ return this._prediction.internalValue;
369
+ }
370
+ }
371
+ export function nrqlAlertConditionNrqlToTerraform(struct) {
372
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
373
+ return struct;
374
+ }
375
+ if (cdktf.isComplexElement(struct)) {
376
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
377
+ }
378
+ return {
379
+ data_account_id: cdktf.numberToTerraform(struct.dataAccountId),
380
+ evaluation_offset: cdktf.numberToTerraform(struct.evaluationOffset),
381
+ query: cdktf.stringToTerraform(struct.query),
382
+ since_value: cdktf.stringToTerraform(struct.sinceValue),
383
+ };
384
+ }
385
+ export function nrqlAlertConditionNrqlToHclTerraform(struct) {
386
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
387
+ return struct;
388
+ }
389
+ if (cdktf.isComplexElement(struct)) {
390
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
391
+ }
392
+ const attrs = {
393
+ data_account_id: {
394
+ value: cdktf.numberToHclTerraform(struct.dataAccountId),
395
+ isBlock: false,
396
+ type: "simple",
397
+ storageClassType: "number",
398
+ },
399
+ evaluation_offset: {
400
+ value: cdktf.numberToHclTerraform(struct.evaluationOffset),
401
+ isBlock: false,
402
+ type: "simple",
403
+ storageClassType: "number",
404
+ },
405
+ query: {
406
+ value: cdktf.stringToHclTerraform(struct.query),
407
+ isBlock: false,
408
+ type: "simple",
409
+ storageClassType: "string",
410
+ },
411
+ since_value: {
412
+ value: cdktf.stringToHclTerraform(struct.sinceValue),
413
+ isBlock: false,
414
+ type: "simple",
415
+ storageClassType: "string",
416
+ },
417
+ };
418
+ // remove undefined attributes
419
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
420
+ }
421
+ export class NrqlAlertConditionNrqlOutputReference extends cdktf.ComplexObject {
422
+ isEmptyObject = false;
423
+ /**
424
+ * @param terraformResource The parent resource
425
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
426
+ */
427
+ constructor(terraformResource, terraformAttribute) {
428
+ super(terraformResource, terraformAttribute, false, 0);
429
+ }
430
+ get internalValue() {
431
+ let hasAnyValues = this.isEmptyObject;
432
+ const internalValueResult = {};
433
+ if (this._dataAccountId !== undefined) {
434
+ hasAnyValues = true;
435
+ internalValueResult.dataAccountId = this._dataAccountId;
436
+ }
437
+ if (this._evaluationOffset !== undefined) {
438
+ hasAnyValues = true;
439
+ internalValueResult.evaluationOffset = this._evaluationOffset;
440
+ }
441
+ if (this._query !== undefined) {
442
+ hasAnyValues = true;
443
+ internalValueResult.query = this._query;
444
+ }
445
+ if (this._sinceValue !== undefined) {
446
+ hasAnyValues = true;
447
+ internalValueResult.sinceValue = this._sinceValue;
448
+ }
449
+ return hasAnyValues ? internalValueResult : undefined;
450
+ }
451
+ set internalValue(value) {
452
+ if (value === undefined) {
453
+ this.isEmptyObject = false;
454
+ this._dataAccountId = undefined;
455
+ this._evaluationOffset = undefined;
456
+ this._query = undefined;
457
+ this._sinceValue = undefined;
458
+ }
459
+ else {
460
+ this.isEmptyObject = Object.keys(value).length === 0;
461
+ this._dataAccountId = value.dataAccountId;
462
+ this._evaluationOffset = value.evaluationOffset;
463
+ this._query = value.query;
464
+ this._sinceValue = value.sinceValue;
465
+ }
466
+ }
467
+ // data_account_id - computed: true, optional: true, required: false
468
+ _dataAccountId;
469
+ get dataAccountId() {
470
+ return this.getNumberAttribute('data_account_id');
471
+ }
472
+ set dataAccountId(value) {
473
+ this._dataAccountId = value;
474
+ }
475
+ resetDataAccountId() {
476
+ this._dataAccountId = undefined;
477
+ }
478
+ // Temporarily expose input value. Use with caution.
479
+ get dataAccountIdInput() {
480
+ return this._dataAccountId;
481
+ }
482
+ // evaluation_offset - computed: false, optional: true, required: false
483
+ _evaluationOffset;
484
+ get evaluationOffset() {
485
+ return this.getNumberAttribute('evaluation_offset');
486
+ }
487
+ set evaluationOffset(value) {
488
+ this._evaluationOffset = value;
489
+ }
490
+ resetEvaluationOffset() {
491
+ this._evaluationOffset = undefined;
492
+ }
493
+ // Temporarily expose input value. Use with caution.
494
+ get evaluationOffsetInput() {
495
+ return this._evaluationOffset;
496
+ }
497
+ // query - computed: false, optional: false, required: true
498
+ _query;
499
+ get query() {
500
+ return this.getStringAttribute('query');
501
+ }
502
+ set query(value) {
503
+ this._query = value;
504
+ }
505
+ // Temporarily expose input value. Use with caution.
506
+ get queryInput() {
507
+ return this._query;
508
+ }
509
+ // since_value - computed: false, optional: true, required: false
510
+ _sinceValue;
511
+ get sinceValue() {
512
+ return this.getStringAttribute('since_value');
513
+ }
514
+ set sinceValue(value) {
515
+ this._sinceValue = value;
516
+ }
517
+ resetSinceValue() {
518
+ this._sinceValue = undefined;
519
+ }
520
+ // Temporarily expose input value. Use with caution.
521
+ get sinceValueInput() {
522
+ return this._sinceValue;
523
+ }
524
+ }
525
+ export function nrqlAlertConditionTermPredictionToTerraform(struct) {
526
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
527
+ return struct;
528
+ }
529
+ if (cdktf.isComplexElement(struct)) {
530
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
531
+ }
532
+ return {
533
+ predict_by: cdktf.numberToTerraform(struct.predictBy),
534
+ prefer_prediction_violation: cdktf.booleanToTerraform(struct.preferPredictionViolation),
535
+ };
536
+ }
537
+ export function nrqlAlertConditionTermPredictionToHclTerraform(struct) {
538
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
539
+ return struct;
540
+ }
541
+ if (cdktf.isComplexElement(struct)) {
542
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
543
+ }
544
+ const attrs = {
545
+ predict_by: {
546
+ value: cdktf.numberToHclTerraform(struct.predictBy),
547
+ isBlock: false,
548
+ type: "simple",
549
+ storageClassType: "number",
550
+ },
551
+ prefer_prediction_violation: {
552
+ value: cdktf.booleanToHclTerraform(struct.preferPredictionViolation),
553
+ isBlock: false,
554
+ type: "simple",
555
+ storageClassType: "boolean",
556
+ },
557
+ };
558
+ // remove undefined attributes
559
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
560
+ }
561
+ export class NrqlAlertConditionTermPredictionOutputReference extends cdktf.ComplexObject {
562
+ isEmptyObject = false;
563
+ /**
564
+ * @param terraformResource The parent resource
565
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
566
+ */
567
+ constructor(terraformResource, terraformAttribute) {
568
+ super(terraformResource, terraformAttribute, false, 0);
569
+ }
570
+ get internalValue() {
571
+ let hasAnyValues = this.isEmptyObject;
572
+ const internalValueResult = {};
573
+ if (this._predictBy !== undefined) {
574
+ hasAnyValues = true;
575
+ internalValueResult.predictBy = this._predictBy;
576
+ }
577
+ if (this._preferPredictionViolation !== undefined) {
578
+ hasAnyValues = true;
579
+ internalValueResult.preferPredictionViolation = this._preferPredictionViolation;
580
+ }
581
+ return hasAnyValues ? internalValueResult : undefined;
582
+ }
583
+ set internalValue(value) {
584
+ if (value === undefined) {
585
+ this.isEmptyObject = false;
586
+ this._predictBy = undefined;
587
+ this._preferPredictionViolation = undefined;
588
+ }
589
+ else {
590
+ this.isEmptyObject = Object.keys(value).length === 0;
591
+ this._predictBy = value.predictBy;
592
+ this._preferPredictionViolation = value.preferPredictionViolation;
593
+ }
594
+ }
595
+ // predict_by - computed: false, optional: true, required: false
596
+ _predictBy;
597
+ get predictBy() {
598
+ return this.getNumberAttribute('predict_by');
599
+ }
600
+ set predictBy(value) {
601
+ this._predictBy = value;
602
+ }
603
+ resetPredictBy() {
604
+ this._predictBy = undefined;
605
+ }
606
+ // Temporarily expose input value. Use with caution.
607
+ get predictByInput() {
608
+ return this._predictBy;
609
+ }
610
+ // prefer_prediction_violation - computed: false, optional: true, required: false
611
+ _preferPredictionViolation;
612
+ get preferPredictionViolation() {
613
+ return this.getBooleanAttribute('prefer_prediction_violation');
614
+ }
615
+ set preferPredictionViolation(value) {
616
+ this._preferPredictionViolation = value;
617
+ }
618
+ resetPreferPredictionViolation() {
619
+ this._preferPredictionViolation = undefined;
620
+ }
621
+ // Temporarily expose input value. Use with caution.
622
+ get preferPredictionViolationInput() {
623
+ return this._preferPredictionViolation;
624
+ }
625
+ }
626
+ export function nrqlAlertConditionTermToTerraform(struct) {
627
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
628
+ return struct;
629
+ }
630
+ if (cdktf.isComplexElement(struct)) {
631
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
632
+ }
633
+ return {
634
+ disable_health_status_reporting: cdktf.booleanToTerraform(struct.disableHealthStatusReporting),
635
+ duration: cdktf.numberToTerraform(struct.duration),
636
+ operator: cdktf.stringToTerraform(struct.operator),
637
+ priority: cdktf.stringToTerraform(struct.priority),
638
+ threshold: cdktf.numberToTerraform(struct.threshold),
639
+ threshold_duration: cdktf.numberToTerraform(struct.thresholdDuration),
640
+ threshold_occurrences: cdktf.stringToTerraform(struct.thresholdOccurrences),
641
+ time_function: cdktf.stringToTerraform(struct.timeFunction),
642
+ prediction: nrqlAlertConditionTermPredictionToTerraform(struct.prediction),
643
+ };
644
+ }
645
+ export function nrqlAlertConditionTermToHclTerraform(struct) {
646
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
647
+ return struct;
648
+ }
649
+ if (cdktf.isComplexElement(struct)) {
650
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
651
+ }
652
+ const attrs = {
653
+ disable_health_status_reporting: {
654
+ value: cdktf.booleanToHclTerraform(struct.disableHealthStatusReporting),
655
+ isBlock: false,
656
+ type: "simple",
657
+ storageClassType: "boolean",
658
+ },
659
+ duration: {
660
+ value: cdktf.numberToHclTerraform(struct.duration),
661
+ isBlock: false,
662
+ type: "simple",
663
+ storageClassType: "number",
664
+ },
665
+ operator: {
666
+ value: cdktf.stringToHclTerraform(struct.operator),
667
+ isBlock: false,
668
+ type: "simple",
669
+ storageClassType: "string",
670
+ },
671
+ priority: {
672
+ value: cdktf.stringToHclTerraform(struct.priority),
673
+ isBlock: false,
674
+ type: "simple",
675
+ storageClassType: "string",
676
+ },
677
+ threshold: {
678
+ value: cdktf.numberToHclTerraform(struct.threshold),
679
+ isBlock: false,
680
+ type: "simple",
681
+ storageClassType: "number",
682
+ },
683
+ threshold_duration: {
684
+ value: cdktf.numberToHclTerraform(struct.thresholdDuration),
685
+ isBlock: false,
686
+ type: "simple",
687
+ storageClassType: "number",
688
+ },
689
+ threshold_occurrences: {
690
+ value: cdktf.stringToHclTerraform(struct.thresholdOccurrences),
691
+ isBlock: false,
692
+ type: "simple",
693
+ storageClassType: "string",
694
+ },
695
+ time_function: {
696
+ value: cdktf.stringToHclTerraform(struct.timeFunction),
697
+ isBlock: false,
698
+ type: "simple",
699
+ storageClassType: "string",
700
+ },
701
+ prediction: {
702
+ value: nrqlAlertConditionTermPredictionToHclTerraform(struct.prediction),
703
+ isBlock: true,
704
+ type: "set",
705
+ storageClassType: "NrqlAlertConditionTermPredictionList",
706
+ },
707
+ };
708
+ // remove undefined attributes
709
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
710
+ }
711
+ export class NrqlAlertConditionTermOutputReference extends cdktf.ComplexObject {
712
+ isEmptyObject = false;
713
+ resolvableValue;
714
+ /**
715
+ * @param terraformResource The parent resource
716
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
717
+ * @param complexObjectIndex the index of this item in the list
718
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
719
+ */
720
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
721
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
722
+ }
723
+ get internalValue() {
724
+ if (this.resolvableValue) {
725
+ return this.resolvableValue;
726
+ }
727
+ let hasAnyValues = this.isEmptyObject;
728
+ const internalValueResult = {};
729
+ if (this._disableHealthStatusReporting !== undefined) {
730
+ hasAnyValues = true;
731
+ internalValueResult.disableHealthStatusReporting = this._disableHealthStatusReporting;
732
+ }
733
+ if (this._duration !== undefined) {
734
+ hasAnyValues = true;
735
+ internalValueResult.duration = this._duration;
736
+ }
737
+ if (this._operator !== undefined) {
738
+ hasAnyValues = true;
739
+ internalValueResult.operator = this._operator;
740
+ }
741
+ if (this._priority !== undefined) {
742
+ hasAnyValues = true;
743
+ internalValueResult.priority = this._priority;
744
+ }
745
+ if (this._threshold !== undefined) {
746
+ hasAnyValues = true;
747
+ internalValueResult.threshold = this._threshold;
748
+ }
749
+ if (this._thresholdDuration !== undefined) {
750
+ hasAnyValues = true;
751
+ internalValueResult.thresholdDuration = this._thresholdDuration;
752
+ }
753
+ if (this._thresholdOccurrences !== undefined) {
754
+ hasAnyValues = true;
755
+ internalValueResult.thresholdOccurrences = this._thresholdOccurrences;
756
+ }
757
+ if (this._timeFunction !== undefined) {
758
+ hasAnyValues = true;
759
+ internalValueResult.timeFunction = this._timeFunction;
760
+ }
761
+ if (this._prediction?.internalValue !== undefined) {
762
+ hasAnyValues = true;
763
+ internalValueResult.prediction = this._prediction?.internalValue;
764
+ }
765
+ return hasAnyValues ? internalValueResult : undefined;
766
+ }
767
+ set internalValue(value) {
768
+ if (value === undefined) {
769
+ this.isEmptyObject = false;
770
+ this.resolvableValue = undefined;
771
+ this._disableHealthStatusReporting = undefined;
772
+ this._duration = undefined;
773
+ this._operator = undefined;
774
+ this._priority = undefined;
775
+ this._threshold = undefined;
776
+ this._thresholdDuration = undefined;
777
+ this._thresholdOccurrences = undefined;
778
+ this._timeFunction = undefined;
779
+ this._prediction.internalValue = undefined;
780
+ }
781
+ else if (cdktf.Tokenization.isResolvable(value)) {
782
+ this.isEmptyObject = false;
783
+ this.resolvableValue = value;
784
+ }
785
+ else {
786
+ this.isEmptyObject = Object.keys(value).length === 0;
787
+ this.resolvableValue = undefined;
788
+ this._disableHealthStatusReporting = value.disableHealthStatusReporting;
789
+ this._duration = value.duration;
790
+ this._operator = value.operator;
791
+ this._priority = value.priority;
792
+ this._threshold = value.threshold;
793
+ this._thresholdDuration = value.thresholdDuration;
794
+ this._thresholdOccurrences = value.thresholdOccurrences;
795
+ this._timeFunction = value.timeFunction;
796
+ this._prediction.internalValue = value.prediction;
797
+ }
798
+ }
799
+ // disable_health_status_reporting - computed: false, optional: true, required: false
800
+ _disableHealthStatusReporting;
801
+ get disableHealthStatusReporting() {
802
+ return this.getBooleanAttribute('disable_health_status_reporting');
803
+ }
804
+ set disableHealthStatusReporting(value) {
805
+ this._disableHealthStatusReporting = value;
806
+ }
807
+ resetDisableHealthStatusReporting() {
808
+ this._disableHealthStatusReporting = undefined;
809
+ }
810
+ // Temporarily expose input value. Use with caution.
811
+ get disableHealthStatusReportingInput() {
812
+ return this._disableHealthStatusReporting;
813
+ }
814
+ // duration - computed: false, optional: true, required: false
815
+ _duration;
816
+ get duration() {
817
+ return this.getNumberAttribute('duration');
818
+ }
819
+ set duration(value) {
820
+ this._duration = value;
821
+ }
822
+ resetDuration() {
823
+ this._duration = undefined;
824
+ }
825
+ // Temporarily expose input value. Use with caution.
826
+ get durationInput() {
827
+ return this._duration;
828
+ }
829
+ // operator - computed: false, optional: true, required: false
830
+ _operator;
831
+ get operator() {
832
+ return this.getStringAttribute('operator');
833
+ }
834
+ set operator(value) {
835
+ this._operator = value;
836
+ }
837
+ resetOperator() {
838
+ this._operator = undefined;
839
+ }
840
+ // Temporarily expose input value. Use with caution.
841
+ get operatorInput() {
842
+ return this._operator;
843
+ }
844
+ // priority - computed: false, optional: true, required: false
845
+ _priority;
846
+ get priority() {
847
+ return this.getStringAttribute('priority');
848
+ }
849
+ set priority(value) {
850
+ this._priority = value;
851
+ }
852
+ resetPriority() {
853
+ this._priority = undefined;
854
+ }
855
+ // Temporarily expose input value. Use with caution.
856
+ get priorityInput() {
857
+ return this._priority;
858
+ }
859
+ // threshold - computed: false, optional: false, required: true
860
+ _threshold;
861
+ get threshold() {
862
+ return this.getNumberAttribute('threshold');
863
+ }
864
+ set threshold(value) {
865
+ this._threshold = value;
866
+ }
867
+ // Temporarily expose input value. Use with caution.
868
+ get thresholdInput() {
869
+ return this._threshold;
870
+ }
871
+ // threshold_duration - computed: false, optional: true, required: false
872
+ _thresholdDuration;
873
+ get thresholdDuration() {
874
+ return this.getNumberAttribute('threshold_duration');
875
+ }
876
+ set thresholdDuration(value) {
877
+ this._thresholdDuration = value;
878
+ }
879
+ resetThresholdDuration() {
880
+ this._thresholdDuration = undefined;
881
+ }
882
+ // Temporarily expose input value. Use with caution.
883
+ get thresholdDurationInput() {
884
+ return this._thresholdDuration;
885
+ }
886
+ // threshold_occurrences - computed: false, optional: true, required: false
887
+ _thresholdOccurrences;
888
+ get thresholdOccurrences() {
889
+ return this.getStringAttribute('threshold_occurrences');
890
+ }
891
+ set thresholdOccurrences(value) {
892
+ this._thresholdOccurrences = value;
893
+ }
894
+ resetThresholdOccurrences() {
895
+ this._thresholdOccurrences = undefined;
896
+ }
897
+ // Temporarily expose input value. Use with caution.
898
+ get thresholdOccurrencesInput() {
899
+ return this._thresholdOccurrences;
900
+ }
901
+ // time_function - computed: false, optional: true, required: false
902
+ _timeFunction;
903
+ get timeFunction() {
904
+ return this.getStringAttribute('time_function');
905
+ }
906
+ set timeFunction(value) {
907
+ this._timeFunction = value;
908
+ }
909
+ resetTimeFunction() {
910
+ this._timeFunction = undefined;
911
+ }
912
+ // Temporarily expose input value. Use with caution.
913
+ get timeFunctionInput() {
914
+ return this._timeFunction;
915
+ }
916
+ // prediction - computed: false, optional: true, required: false
917
+ _prediction = new NrqlAlertConditionTermPredictionOutputReference(this, "prediction");
918
+ get prediction() {
919
+ return this._prediction;
920
+ }
921
+ putPrediction(value) {
922
+ this._prediction.internalValue = value;
923
+ }
924
+ resetPrediction() {
925
+ this._prediction.internalValue = undefined;
926
+ }
927
+ // Temporarily expose input value. Use with caution.
928
+ get predictionInput() {
929
+ return this._prediction.internalValue;
930
+ }
931
+ }
932
+ export class NrqlAlertConditionTermList extends cdktf.ComplexList {
933
+ terraformResource;
934
+ terraformAttribute;
935
+ wrapsSet;
936
+ internalValue;
937
+ /**
938
+ * @param terraformResource The parent resource
939
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
940
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
941
+ */
942
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
943
+ super(terraformResource, terraformAttribute, wrapsSet);
944
+ this.terraformResource = terraformResource;
945
+ this.terraformAttribute = terraformAttribute;
946
+ this.wrapsSet = wrapsSet;
947
+ }
948
+ /**
949
+ * @param index the index of the item to return
950
+ */
951
+ get(index) {
952
+ return new NrqlAlertConditionTermOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
953
+ }
954
+ }
955
+ export function nrqlAlertConditionTimeoutsToTerraform(struct) {
956
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
957
+ return struct;
958
+ }
959
+ if (cdktf.isComplexElement(struct)) {
960
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
961
+ }
962
+ return {
963
+ create: cdktf.stringToTerraform(struct.create),
964
+ };
965
+ }
966
+ export function nrqlAlertConditionTimeoutsToHclTerraform(struct) {
967
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
968
+ return struct;
969
+ }
970
+ if (cdktf.isComplexElement(struct)) {
971
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
972
+ }
973
+ const attrs = {
974
+ create: {
975
+ value: cdktf.stringToHclTerraform(struct.create),
976
+ isBlock: false,
977
+ type: "simple",
978
+ storageClassType: "string",
979
+ },
980
+ };
981
+ // remove undefined attributes
982
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
983
+ }
984
+ export class NrqlAlertConditionTimeoutsOutputReference extends cdktf.ComplexObject {
985
+ isEmptyObject = false;
986
+ resolvableValue;
987
+ /**
988
+ * @param terraformResource The parent resource
989
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
990
+ */
991
+ constructor(terraformResource, terraformAttribute) {
992
+ super(terraformResource, terraformAttribute, false);
993
+ }
994
+ get internalValue() {
995
+ if (this.resolvableValue) {
996
+ return this.resolvableValue;
997
+ }
998
+ let hasAnyValues = this.isEmptyObject;
999
+ const internalValueResult = {};
1000
+ if (this._create !== undefined) {
1001
+ hasAnyValues = true;
1002
+ internalValueResult.create = this._create;
1003
+ }
1004
+ return hasAnyValues ? internalValueResult : undefined;
1005
+ }
1006
+ set internalValue(value) {
1007
+ if (value === undefined) {
1008
+ this.isEmptyObject = false;
1009
+ this.resolvableValue = undefined;
1010
+ this._create = undefined;
1011
+ }
1012
+ else if (cdktf.Tokenization.isResolvable(value)) {
1013
+ this.isEmptyObject = false;
1014
+ this.resolvableValue = value;
1015
+ }
1016
+ else {
1017
+ this.isEmptyObject = Object.keys(value).length === 0;
1018
+ this.resolvableValue = undefined;
1019
+ this._create = value.create;
1020
+ }
1021
+ }
1022
+ // create - computed: false, optional: true, required: false
1023
+ _create;
1024
+ get create() {
1025
+ return this.getStringAttribute('create');
1026
+ }
1027
+ set create(value) {
1028
+ this._create = value;
1029
+ }
1030
+ resetCreate() {
1031
+ this._create = undefined;
1032
+ }
1033
+ // Temporarily expose input value. Use with caution.
1034
+ get createInput() {
1035
+ return this._create;
1036
+ }
1037
+ }
1038
+ export function nrqlAlertConditionWarningPredictionToTerraform(struct) {
1039
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
1040
+ return struct;
1041
+ }
1042
+ if (cdktf.isComplexElement(struct)) {
1043
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
1044
+ }
1045
+ return {
1046
+ predict_by: cdktf.numberToTerraform(struct.predictBy),
1047
+ prefer_prediction_violation: cdktf.booleanToTerraform(struct.preferPredictionViolation),
1048
+ };
1049
+ }
1050
+ export function nrqlAlertConditionWarningPredictionToHclTerraform(struct) {
1051
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
1052
+ return struct;
1053
+ }
1054
+ if (cdktf.isComplexElement(struct)) {
1055
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
1056
+ }
1057
+ const attrs = {
1058
+ predict_by: {
1059
+ value: cdktf.numberToHclTerraform(struct.predictBy),
1060
+ isBlock: false,
1061
+ type: "simple",
1062
+ storageClassType: "number",
1063
+ },
1064
+ prefer_prediction_violation: {
1065
+ value: cdktf.booleanToHclTerraform(struct.preferPredictionViolation),
1066
+ isBlock: false,
1067
+ type: "simple",
1068
+ storageClassType: "boolean",
1069
+ },
1070
+ };
1071
+ // remove undefined attributes
1072
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
1073
+ }
1074
+ export class NrqlAlertConditionWarningPredictionOutputReference extends cdktf.ComplexObject {
1075
+ isEmptyObject = false;
1076
+ /**
1077
+ * @param terraformResource The parent resource
1078
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
1079
+ */
1080
+ constructor(terraformResource, terraformAttribute) {
1081
+ super(terraformResource, terraformAttribute, false, 0);
1082
+ }
1083
+ get internalValue() {
1084
+ let hasAnyValues = this.isEmptyObject;
1085
+ const internalValueResult = {};
1086
+ if (this._predictBy !== undefined) {
1087
+ hasAnyValues = true;
1088
+ internalValueResult.predictBy = this._predictBy;
1089
+ }
1090
+ if (this._preferPredictionViolation !== undefined) {
1091
+ hasAnyValues = true;
1092
+ internalValueResult.preferPredictionViolation = this._preferPredictionViolation;
1093
+ }
1094
+ return hasAnyValues ? internalValueResult : undefined;
1095
+ }
1096
+ set internalValue(value) {
1097
+ if (value === undefined) {
1098
+ this.isEmptyObject = false;
1099
+ this._predictBy = undefined;
1100
+ this._preferPredictionViolation = undefined;
1101
+ }
1102
+ else {
1103
+ this.isEmptyObject = Object.keys(value).length === 0;
1104
+ this._predictBy = value.predictBy;
1105
+ this._preferPredictionViolation = value.preferPredictionViolation;
1106
+ }
1107
+ }
1108
+ // predict_by - computed: false, optional: true, required: false
1109
+ _predictBy;
1110
+ get predictBy() {
1111
+ return this.getNumberAttribute('predict_by');
1112
+ }
1113
+ set predictBy(value) {
1114
+ this._predictBy = value;
1115
+ }
1116
+ resetPredictBy() {
1117
+ this._predictBy = undefined;
1118
+ }
1119
+ // Temporarily expose input value. Use with caution.
1120
+ get predictByInput() {
1121
+ return this._predictBy;
1122
+ }
1123
+ // prefer_prediction_violation - computed: false, optional: true, required: false
1124
+ _preferPredictionViolation;
1125
+ get preferPredictionViolation() {
1126
+ return this.getBooleanAttribute('prefer_prediction_violation');
1127
+ }
1128
+ set preferPredictionViolation(value) {
1129
+ this._preferPredictionViolation = value;
1130
+ }
1131
+ resetPreferPredictionViolation() {
1132
+ this._preferPredictionViolation = undefined;
1133
+ }
1134
+ // Temporarily expose input value. Use with caution.
1135
+ get preferPredictionViolationInput() {
1136
+ return this._preferPredictionViolation;
1137
+ }
1138
+ }
1139
+ export function nrqlAlertConditionWarningToTerraform(struct) {
1140
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
1141
+ return struct;
1142
+ }
1143
+ if (cdktf.isComplexElement(struct)) {
1144
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
1145
+ }
1146
+ return {
1147
+ disable_health_status_reporting: cdktf.booleanToTerraform(struct.disableHealthStatusReporting),
1148
+ duration: cdktf.numberToTerraform(struct.duration),
1149
+ operator: cdktf.stringToTerraform(struct.operator),
1150
+ threshold: cdktf.numberToTerraform(struct.threshold),
1151
+ threshold_duration: cdktf.numberToTerraform(struct.thresholdDuration),
1152
+ threshold_occurrences: cdktf.stringToTerraform(struct.thresholdOccurrences),
1153
+ time_function: cdktf.stringToTerraform(struct.timeFunction),
1154
+ prediction: nrqlAlertConditionWarningPredictionToTerraform(struct.prediction),
1155
+ };
1156
+ }
1157
+ export function nrqlAlertConditionWarningToHclTerraform(struct) {
1158
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
1159
+ return struct;
1160
+ }
1161
+ if (cdktf.isComplexElement(struct)) {
1162
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
1163
+ }
1164
+ const attrs = {
1165
+ disable_health_status_reporting: {
1166
+ value: cdktf.booleanToHclTerraform(struct.disableHealthStatusReporting),
1167
+ isBlock: false,
1168
+ type: "simple",
1169
+ storageClassType: "boolean",
1170
+ },
1171
+ duration: {
1172
+ value: cdktf.numberToHclTerraform(struct.duration),
1173
+ isBlock: false,
1174
+ type: "simple",
1175
+ storageClassType: "number",
1176
+ },
1177
+ operator: {
1178
+ value: cdktf.stringToHclTerraform(struct.operator),
1179
+ isBlock: false,
1180
+ type: "simple",
1181
+ storageClassType: "string",
1182
+ },
1183
+ threshold: {
1184
+ value: cdktf.numberToHclTerraform(struct.threshold),
1185
+ isBlock: false,
1186
+ type: "simple",
1187
+ storageClassType: "number",
1188
+ },
1189
+ threshold_duration: {
1190
+ value: cdktf.numberToHclTerraform(struct.thresholdDuration),
1191
+ isBlock: false,
1192
+ type: "simple",
1193
+ storageClassType: "number",
1194
+ },
1195
+ threshold_occurrences: {
1196
+ value: cdktf.stringToHclTerraform(struct.thresholdOccurrences),
1197
+ isBlock: false,
1198
+ type: "simple",
1199
+ storageClassType: "string",
1200
+ },
1201
+ time_function: {
1202
+ value: cdktf.stringToHclTerraform(struct.timeFunction),
1203
+ isBlock: false,
1204
+ type: "simple",
1205
+ storageClassType: "string",
1206
+ },
1207
+ prediction: {
1208
+ value: nrqlAlertConditionWarningPredictionToHclTerraform(struct.prediction),
1209
+ isBlock: true,
1210
+ type: "set",
1211
+ storageClassType: "NrqlAlertConditionWarningPredictionList",
1212
+ },
1213
+ };
1214
+ // remove undefined attributes
1215
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
1216
+ }
1217
+ export class NrqlAlertConditionWarningOutputReference extends cdktf.ComplexObject {
1218
+ isEmptyObject = false;
1219
+ /**
1220
+ * @param terraformResource The parent resource
1221
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
1222
+ */
1223
+ constructor(terraformResource, terraformAttribute) {
1224
+ super(terraformResource, terraformAttribute, false, 0);
1225
+ }
1226
+ get internalValue() {
1227
+ let hasAnyValues = this.isEmptyObject;
1228
+ const internalValueResult = {};
1229
+ if (this._disableHealthStatusReporting !== undefined) {
1230
+ hasAnyValues = true;
1231
+ internalValueResult.disableHealthStatusReporting = this._disableHealthStatusReporting;
1232
+ }
1233
+ if (this._duration !== undefined) {
1234
+ hasAnyValues = true;
1235
+ internalValueResult.duration = this._duration;
1236
+ }
1237
+ if (this._operator !== undefined) {
1238
+ hasAnyValues = true;
1239
+ internalValueResult.operator = this._operator;
1240
+ }
1241
+ if (this._threshold !== undefined) {
1242
+ hasAnyValues = true;
1243
+ internalValueResult.threshold = this._threshold;
1244
+ }
1245
+ if (this._thresholdDuration !== undefined) {
1246
+ hasAnyValues = true;
1247
+ internalValueResult.thresholdDuration = this._thresholdDuration;
1248
+ }
1249
+ if (this._thresholdOccurrences !== undefined) {
1250
+ hasAnyValues = true;
1251
+ internalValueResult.thresholdOccurrences = this._thresholdOccurrences;
1252
+ }
1253
+ if (this._timeFunction !== undefined) {
1254
+ hasAnyValues = true;
1255
+ internalValueResult.timeFunction = this._timeFunction;
1256
+ }
1257
+ if (this._prediction?.internalValue !== undefined) {
1258
+ hasAnyValues = true;
1259
+ internalValueResult.prediction = this._prediction?.internalValue;
1260
+ }
1261
+ return hasAnyValues ? internalValueResult : undefined;
1262
+ }
1263
+ set internalValue(value) {
1264
+ if (value === undefined) {
1265
+ this.isEmptyObject = false;
1266
+ this._disableHealthStatusReporting = undefined;
1267
+ this._duration = undefined;
1268
+ this._operator = undefined;
1269
+ this._threshold = undefined;
1270
+ this._thresholdDuration = undefined;
1271
+ this._thresholdOccurrences = undefined;
1272
+ this._timeFunction = undefined;
1273
+ this._prediction.internalValue = undefined;
1274
+ }
1275
+ else {
1276
+ this.isEmptyObject = Object.keys(value).length === 0;
1277
+ this._disableHealthStatusReporting = value.disableHealthStatusReporting;
1278
+ this._duration = value.duration;
1279
+ this._operator = value.operator;
1280
+ this._threshold = value.threshold;
1281
+ this._thresholdDuration = value.thresholdDuration;
1282
+ this._thresholdOccurrences = value.thresholdOccurrences;
1283
+ this._timeFunction = value.timeFunction;
1284
+ this._prediction.internalValue = value.prediction;
1285
+ }
1286
+ }
1287
+ // disable_health_status_reporting - computed: false, optional: true, required: false
1288
+ _disableHealthStatusReporting;
1289
+ get disableHealthStatusReporting() {
1290
+ return this.getBooleanAttribute('disable_health_status_reporting');
1291
+ }
1292
+ set disableHealthStatusReporting(value) {
1293
+ this._disableHealthStatusReporting = value;
1294
+ }
1295
+ resetDisableHealthStatusReporting() {
1296
+ this._disableHealthStatusReporting = undefined;
1297
+ }
1298
+ // Temporarily expose input value. Use with caution.
1299
+ get disableHealthStatusReportingInput() {
1300
+ return this._disableHealthStatusReporting;
1301
+ }
1302
+ // duration - computed: false, optional: true, required: false
1303
+ _duration;
1304
+ get duration() {
1305
+ return this.getNumberAttribute('duration');
1306
+ }
1307
+ set duration(value) {
1308
+ this._duration = value;
1309
+ }
1310
+ resetDuration() {
1311
+ this._duration = undefined;
1312
+ }
1313
+ // Temporarily expose input value. Use with caution.
1314
+ get durationInput() {
1315
+ return this._duration;
1316
+ }
1317
+ // operator - computed: false, optional: true, required: false
1318
+ _operator;
1319
+ get operator() {
1320
+ return this.getStringAttribute('operator');
1321
+ }
1322
+ set operator(value) {
1323
+ this._operator = value;
1324
+ }
1325
+ resetOperator() {
1326
+ this._operator = undefined;
1327
+ }
1328
+ // Temporarily expose input value. Use with caution.
1329
+ get operatorInput() {
1330
+ return this._operator;
1331
+ }
1332
+ // threshold - computed: false, optional: false, required: true
1333
+ _threshold;
1334
+ get threshold() {
1335
+ return this.getNumberAttribute('threshold');
1336
+ }
1337
+ set threshold(value) {
1338
+ this._threshold = value;
1339
+ }
1340
+ // Temporarily expose input value. Use with caution.
1341
+ get thresholdInput() {
1342
+ return this._threshold;
1343
+ }
1344
+ // threshold_duration - computed: false, optional: true, required: false
1345
+ _thresholdDuration;
1346
+ get thresholdDuration() {
1347
+ return this.getNumberAttribute('threshold_duration');
1348
+ }
1349
+ set thresholdDuration(value) {
1350
+ this._thresholdDuration = value;
1351
+ }
1352
+ resetThresholdDuration() {
1353
+ this._thresholdDuration = undefined;
1354
+ }
1355
+ // Temporarily expose input value. Use with caution.
1356
+ get thresholdDurationInput() {
1357
+ return this._thresholdDuration;
1358
+ }
1359
+ // threshold_occurrences - computed: false, optional: true, required: false
1360
+ _thresholdOccurrences;
1361
+ get thresholdOccurrences() {
1362
+ return this.getStringAttribute('threshold_occurrences');
1363
+ }
1364
+ set thresholdOccurrences(value) {
1365
+ this._thresholdOccurrences = value;
1366
+ }
1367
+ resetThresholdOccurrences() {
1368
+ this._thresholdOccurrences = undefined;
1369
+ }
1370
+ // Temporarily expose input value. Use with caution.
1371
+ get thresholdOccurrencesInput() {
1372
+ return this._thresholdOccurrences;
1373
+ }
1374
+ // time_function - computed: false, optional: true, required: false
1375
+ _timeFunction;
1376
+ get timeFunction() {
1377
+ return this.getStringAttribute('time_function');
1378
+ }
1379
+ set timeFunction(value) {
1380
+ this._timeFunction = value;
1381
+ }
1382
+ resetTimeFunction() {
1383
+ this._timeFunction = undefined;
1384
+ }
1385
+ // Temporarily expose input value. Use with caution.
1386
+ get timeFunctionInput() {
1387
+ return this._timeFunction;
1388
+ }
1389
+ // prediction - computed: false, optional: true, required: false
1390
+ _prediction = new NrqlAlertConditionWarningPredictionOutputReference(this, "prediction");
1391
+ get prediction() {
1392
+ return this._prediction;
1393
+ }
1394
+ putPrediction(value) {
1395
+ this._prediction.internalValue = value;
1396
+ }
1397
+ resetPrediction() {
1398
+ this._prediction.internalValue = undefined;
1399
+ }
1400
+ // Temporarily expose input value. Use with caution.
1401
+ get predictionInput() {
1402
+ return this._prediction.internalValue;
1403
+ }
1404
+ }
1405
+ /**
1406
+ * Represents a {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/nrql_alert_condition newrelic_nrql_alert_condition}
1407
+ */
1408
+ export class NrqlAlertCondition extends cdktf.TerraformResource {
1409
+ // =================
1410
+ // STATIC PROPERTIES
1411
+ // =================
1412
+ static tfResourceType = "newrelic_nrql_alert_condition";
1413
+ // ==============
1414
+ // STATIC Methods
1415
+ // ==============
1416
+ /**
1417
+ * Generates CDKTF code for importing a NrqlAlertCondition resource upon running "cdktf plan <stack-name>"
1418
+ * @param scope The scope in which to define this construct
1419
+ * @param importToId The construct id used in the generated config for the NrqlAlertCondition to import
1420
+ * @param importFromId The id of the existing NrqlAlertCondition that should be imported. Refer to the {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/nrql_alert_condition#import import section} in the documentation of this resource for the id to use
1421
+ * @param provider? Optional instance of the provider where the NrqlAlertCondition to import is found
1422
+ */
1423
+ static generateConfigForImport(scope, importToId, importFromId, provider) {
1424
+ return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "newrelic_nrql_alert_condition", importId: importFromId, provider });
1425
+ }
1426
+ // ===========
1427
+ // INITIALIZER
1428
+ // ===========
1429
+ /**
1430
+ * Create a new {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/nrql_alert_condition newrelic_nrql_alert_condition} Resource
1431
+ *
1432
+ * @param scope The scope in which to define this construct
1433
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
1434
+ * @param options NrqlAlertConditionConfig
1435
+ */
1436
+ constructor(scope, id, config) {
1437
+ super(scope, id, {
1438
+ terraformResourceType: 'newrelic_nrql_alert_condition',
1439
+ terraformGeneratorMetadata: {
1440
+ providerName: 'newrelic',
1441
+ providerVersion: '3.75.4',
1442
+ providerVersionConstraint: '3.75.4'
1443
+ },
1444
+ provider: config.provider,
1445
+ dependsOn: config.dependsOn,
1446
+ count: config.count,
1447
+ lifecycle: config.lifecycle,
1448
+ provisioners: config.provisioners,
1449
+ connection: config.connection,
1450
+ forEach: config.forEach
1451
+ });
1452
+ this._accountId = config.accountId;
1453
+ this._aggregationDelay = config.aggregationDelay;
1454
+ this._aggregationMethod = config.aggregationMethod;
1455
+ this._aggregationTimer = config.aggregationTimer;
1456
+ this._aggregationWindow = config.aggregationWindow;
1457
+ this._baselineDirection = config.baselineDirection;
1458
+ this._closeViolationsOnExpiration = config.closeViolationsOnExpiration;
1459
+ this._description = config.description;
1460
+ this._enabled = config.enabled;
1461
+ this._evaluationDelay = config.evaluationDelay;
1462
+ this._expirationDuration = config.expirationDuration;
1463
+ this._fillOption = config.fillOption;
1464
+ this._fillValue = config.fillValue;
1465
+ this._id = config.id;
1466
+ this._ignoreOnExpectedTermination = config.ignoreOnExpectedTermination;
1467
+ this._name = config.name;
1468
+ this._openViolationOnExpiration = config.openViolationOnExpiration;
1469
+ this._policyId = config.policyId;
1470
+ this._runbookUrl = config.runbookUrl;
1471
+ this._signalSeasonality = config.signalSeasonality;
1472
+ this._slideBy = config.slideBy;
1473
+ this._targetEntity = config.targetEntity;
1474
+ this._titleTemplate = config.titleTemplate;
1475
+ this._type = config.type;
1476
+ this._violationTimeLimit = config.violationTimeLimit;
1477
+ this._violationTimeLimitSeconds = config.violationTimeLimitSeconds;
1478
+ this._critical.internalValue = config.critical;
1479
+ this._nrql.internalValue = config.nrql;
1480
+ this._term.internalValue = config.term;
1481
+ this._timeouts.internalValue = config.timeouts;
1482
+ this._warning.internalValue = config.warning;
1483
+ }
1484
+ // ==========
1485
+ // ATTRIBUTES
1486
+ // ==========
1487
+ // account_id - computed: true, optional: true, required: false
1488
+ _accountId;
1489
+ get accountId() {
1490
+ return this.getNumberAttribute('account_id');
1491
+ }
1492
+ set accountId(value) {
1493
+ this._accountId = value;
1494
+ }
1495
+ resetAccountId() {
1496
+ this._accountId = undefined;
1497
+ }
1498
+ // Temporarily expose input value. Use with caution.
1499
+ get accountIdInput() {
1500
+ return this._accountId;
1501
+ }
1502
+ // aggregation_delay - computed: false, optional: true, required: false
1503
+ _aggregationDelay;
1504
+ get aggregationDelay() {
1505
+ return this.getStringAttribute('aggregation_delay');
1506
+ }
1507
+ set aggregationDelay(value) {
1508
+ this._aggregationDelay = value;
1509
+ }
1510
+ resetAggregationDelay() {
1511
+ this._aggregationDelay = undefined;
1512
+ }
1513
+ // Temporarily expose input value. Use with caution.
1514
+ get aggregationDelayInput() {
1515
+ return this._aggregationDelay;
1516
+ }
1517
+ // aggregation_method - computed: false, optional: true, required: false
1518
+ _aggregationMethod;
1519
+ get aggregationMethod() {
1520
+ return this.getStringAttribute('aggregation_method');
1521
+ }
1522
+ set aggregationMethod(value) {
1523
+ this._aggregationMethod = value;
1524
+ }
1525
+ resetAggregationMethod() {
1526
+ this._aggregationMethod = undefined;
1527
+ }
1528
+ // Temporarily expose input value. Use with caution.
1529
+ get aggregationMethodInput() {
1530
+ return this._aggregationMethod;
1531
+ }
1532
+ // aggregation_timer - computed: false, optional: true, required: false
1533
+ _aggregationTimer;
1534
+ get aggregationTimer() {
1535
+ return this.getStringAttribute('aggregation_timer');
1536
+ }
1537
+ set aggregationTimer(value) {
1538
+ this._aggregationTimer = value;
1539
+ }
1540
+ resetAggregationTimer() {
1541
+ this._aggregationTimer = undefined;
1542
+ }
1543
+ // Temporarily expose input value. Use with caution.
1544
+ get aggregationTimerInput() {
1545
+ return this._aggregationTimer;
1546
+ }
1547
+ // aggregation_window - computed: true, optional: true, required: false
1548
+ _aggregationWindow;
1549
+ get aggregationWindow() {
1550
+ return this.getNumberAttribute('aggregation_window');
1551
+ }
1552
+ set aggregationWindow(value) {
1553
+ this._aggregationWindow = value;
1554
+ }
1555
+ resetAggregationWindow() {
1556
+ this._aggregationWindow = undefined;
1557
+ }
1558
+ // Temporarily expose input value. Use with caution.
1559
+ get aggregationWindowInput() {
1560
+ return this._aggregationWindow;
1561
+ }
1562
+ // baseline_direction - computed: false, optional: true, required: false
1563
+ _baselineDirection;
1564
+ get baselineDirection() {
1565
+ return this.getStringAttribute('baseline_direction');
1566
+ }
1567
+ set baselineDirection(value) {
1568
+ this._baselineDirection = value;
1569
+ }
1570
+ resetBaselineDirection() {
1571
+ this._baselineDirection = undefined;
1572
+ }
1573
+ // Temporarily expose input value. Use with caution.
1574
+ get baselineDirectionInput() {
1575
+ return this._baselineDirection;
1576
+ }
1577
+ // close_violations_on_expiration - computed: false, optional: true, required: false
1578
+ _closeViolationsOnExpiration;
1579
+ get closeViolationsOnExpiration() {
1580
+ return this.getBooleanAttribute('close_violations_on_expiration');
1581
+ }
1582
+ set closeViolationsOnExpiration(value) {
1583
+ this._closeViolationsOnExpiration = value;
1584
+ }
1585
+ resetCloseViolationsOnExpiration() {
1586
+ this._closeViolationsOnExpiration = undefined;
1587
+ }
1588
+ // Temporarily expose input value. Use with caution.
1589
+ get closeViolationsOnExpirationInput() {
1590
+ return this._closeViolationsOnExpiration;
1591
+ }
1592
+ // description - computed: false, optional: true, required: false
1593
+ _description;
1594
+ get description() {
1595
+ return this.getStringAttribute('description');
1596
+ }
1597
+ set description(value) {
1598
+ this._description = value;
1599
+ }
1600
+ resetDescription() {
1601
+ this._description = undefined;
1602
+ }
1603
+ // Temporarily expose input value. Use with caution.
1604
+ get descriptionInput() {
1605
+ return this._description;
1606
+ }
1607
+ // enabled - computed: false, optional: true, required: false
1608
+ _enabled;
1609
+ get enabled() {
1610
+ return this.getBooleanAttribute('enabled');
1611
+ }
1612
+ set enabled(value) {
1613
+ this._enabled = value;
1614
+ }
1615
+ resetEnabled() {
1616
+ this._enabled = undefined;
1617
+ }
1618
+ // Temporarily expose input value. Use with caution.
1619
+ get enabledInput() {
1620
+ return this._enabled;
1621
+ }
1622
+ // entity_guid - computed: true, optional: false, required: false
1623
+ get entityGuid() {
1624
+ return this.getStringAttribute('entity_guid');
1625
+ }
1626
+ // evaluation_delay - computed: false, optional: true, required: false
1627
+ _evaluationDelay;
1628
+ get evaluationDelay() {
1629
+ return this.getNumberAttribute('evaluation_delay');
1630
+ }
1631
+ set evaluationDelay(value) {
1632
+ this._evaluationDelay = value;
1633
+ }
1634
+ resetEvaluationDelay() {
1635
+ this._evaluationDelay = undefined;
1636
+ }
1637
+ // Temporarily expose input value. Use with caution.
1638
+ get evaluationDelayInput() {
1639
+ return this._evaluationDelay;
1640
+ }
1641
+ // expiration_duration - computed: false, optional: true, required: false
1642
+ _expirationDuration;
1643
+ get expirationDuration() {
1644
+ return this.getNumberAttribute('expiration_duration');
1645
+ }
1646
+ set expirationDuration(value) {
1647
+ this._expirationDuration = value;
1648
+ }
1649
+ resetExpirationDuration() {
1650
+ this._expirationDuration = undefined;
1651
+ }
1652
+ // Temporarily expose input value. Use with caution.
1653
+ get expirationDurationInput() {
1654
+ return this._expirationDuration;
1655
+ }
1656
+ // fill_option - computed: false, optional: true, required: false
1657
+ _fillOption;
1658
+ get fillOption() {
1659
+ return this.getStringAttribute('fill_option');
1660
+ }
1661
+ set fillOption(value) {
1662
+ this._fillOption = value;
1663
+ }
1664
+ resetFillOption() {
1665
+ this._fillOption = undefined;
1666
+ }
1667
+ // Temporarily expose input value. Use with caution.
1668
+ get fillOptionInput() {
1669
+ return this._fillOption;
1670
+ }
1671
+ // fill_value - computed: false, optional: true, required: false
1672
+ _fillValue;
1673
+ get fillValue() {
1674
+ return this.getNumberAttribute('fill_value');
1675
+ }
1676
+ set fillValue(value) {
1677
+ this._fillValue = value;
1678
+ }
1679
+ resetFillValue() {
1680
+ this._fillValue = undefined;
1681
+ }
1682
+ // Temporarily expose input value. Use with caution.
1683
+ get fillValueInput() {
1684
+ return this._fillValue;
1685
+ }
1686
+ // id - computed: true, optional: true, required: false
1687
+ _id;
1688
+ get id() {
1689
+ return this.getStringAttribute('id');
1690
+ }
1691
+ set id(value) {
1692
+ this._id = value;
1693
+ }
1694
+ resetId() {
1695
+ this._id = undefined;
1696
+ }
1697
+ // Temporarily expose input value. Use with caution.
1698
+ get idInput() {
1699
+ return this._id;
1700
+ }
1701
+ // ignore_on_expected_termination - computed: false, optional: true, required: false
1702
+ _ignoreOnExpectedTermination;
1703
+ get ignoreOnExpectedTermination() {
1704
+ return this.getBooleanAttribute('ignore_on_expected_termination');
1705
+ }
1706
+ set ignoreOnExpectedTermination(value) {
1707
+ this._ignoreOnExpectedTermination = value;
1708
+ }
1709
+ resetIgnoreOnExpectedTermination() {
1710
+ this._ignoreOnExpectedTermination = undefined;
1711
+ }
1712
+ // Temporarily expose input value. Use with caution.
1713
+ get ignoreOnExpectedTerminationInput() {
1714
+ return this._ignoreOnExpectedTermination;
1715
+ }
1716
+ // name - computed: false, optional: false, required: true
1717
+ _name;
1718
+ get name() {
1719
+ return this.getStringAttribute('name');
1720
+ }
1721
+ set name(value) {
1722
+ this._name = value;
1723
+ }
1724
+ // Temporarily expose input value. Use with caution.
1725
+ get nameInput() {
1726
+ return this._name;
1727
+ }
1728
+ // open_violation_on_expiration - computed: false, optional: true, required: false
1729
+ _openViolationOnExpiration;
1730
+ get openViolationOnExpiration() {
1731
+ return this.getBooleanAttribute('open_violation_on_expiration');
1732
+ }
1733
+ set openViolationOnExpiration(value) {
1734
+ this._openViolationOnExpiration = value;
1735
+ }
1736
+ resetOpenViolationOnExpiration() {
1737
+ this._openViolationOnExpiration = undefined;
1738
+ }
1739
+ // Temporarily expose input value. Use with caution.
1740
+ get openViolationOnExpirationInput() {
1741
+ return this._openViolationOnExpiration;
1742
+ }
1743
+ // policy_id - computed: false, optional: false, required: true
1744
+ _policyId;
1745
+ get policyId() {
1746
+ return this.getNumberAttribute('policy_id');
1747
+ }
1748
+ set policyId(value) {
1749
+ this._policyId = value;
1750
+ }
1751
+ // Temporarily expose input value. Use with caution.
1752
+ get policyIdInput() {
1753
+ return this._policyId;
1754
+ }
1755
+ // runbook_url - computed: false, optional: true, required: false
1756
+ _runbookUrl;
1757
+ get runbookUrl() {
1758
+ return this.getStringAttribute('runbook_url');
1759
+ }
1760
+ set runbookUrl(value) {
1761
+ this._runbookUrl = value;
1762
+ }
1763
+ resetRunbookUrl() {
1764
+ this._runbookUrl = undefined;
1765
+ }
1766
+ // Temporarily expose input value. Use with caution.
1767
+ get runbookUrlInput() {
1768
+ return this._runbookUrl;
1769
+ }
1770
+ // signal_seasonality - computed: false, optional: true, required: false
1771
+ _signalSeasonality;
1772
+ get signalSeasonality() {
1773
+ return this.getStringAttribute('signal_seasonality');
1774
+ }
1775
+ set signalSeasonality(value) {
1776
+ this._signalSeasonality = value;
1777
+ }
1778
+ resetSignalSeasonality() {
1779
+ this._signalSeasonality = undefined;
1780
+ }
1781
+ // Temporarily expose input value. Use with caution.
1782
+ get signalSeasonalityInput() {
1783
+ return this._signalSeasonality;
1784
+ }
1785
+ // slide_by - computed: false, optional: true, required: false
1786
+ _slideBy;
1787
+ get slideBy() {
1788
+ return this.getNumberAttribute('slide_by');
1789
+ }
1790
+ set slideBy(value) {
1791
+ this._slideBy = value;
1792
+ }
1793
+ resetSlideBy() {
1794
+ this._slideBy = undefined;
1795
+ }
1796
+ // Temporarily expose input value. Use with caution.
1797
+ get slideByInput() {
1798
+ return this._slideBy;
1799
+ }
1800
+ // target_entity - computed: false, optional: true, required: false
1801
+ _targetEntity;
1802
+ get targetEntity() {
1803
+ return this.getStringAttribute('target_entity');
1804
+ }
1805
+ set targetEntity(value) {
1806
+ this._targetEntity = value;
1807
+ }
1808
+ resetTargetEntity() {
1809
+ this._targetEntity = undefined;
1810
+ }
1811
+ // Temporarily expose input value. Use with caution.
1812
+ get targetEntityInput() {
1813
+ return this._targetEntity;
1814
+ }
1815
+ // title_template - computed: false, optional: true, required: false
1816
+ _titleTemplate;
1817
+ get titleTemplate() {
1818
+ return this.getStringAttribute('title_template');
1819
+ }
1820
+ set titleTemplate(value) {
1821
+ this._titleTemplate = value;
1822
+ }
1823
+ resetTitleTemplate() {
1824
+ this._titleTemplate = undefined;
1825
+ }
1826
+ // Temporarily expose input value. Use with caution.
1827
+ get titleTemplateInput() {
1828
+ return this._titleTemplate;
1829
+ }
1830
+ // type - computed: false, optional: true, required: false
1831
+ _type;
1832
+ get type() {
1833
+ return this.getStringAttribute('type');
1834
+ }
1835
+ set type(value) {
1836
+ this._type = value;
1837
+ }
1838
+ resetType() {
1839
+ this._type = undefined;
1840
+ }
1841
+ // Temporarily expose input value. Use with caution.
1842
+ get typeInput() {
1843
+ return this._type;
1844
+ }
1845
+ // violation_time_limit - computed: true, optional: true, required: false
1846
+ _violationTimeLimit;
1847
+ get violationTimeLimit() {
1848
+ return this.getStringAttribute('violation_time_limit');
1849
+ }
1850
+ set violationTimeLimit(value) {
1851
+ this._violationTimeLimit = value;
1852
+ }
1853
+ resetViolationTimeLimit() {
1854
+ this._violationTimeLimit = undefined;
1855
+ }
1856
+ // Temporarily expose input value. Use with caution.
1857
+ get violationTimeLimitInput() {
1858
+ return this._violationTimeLimit;
1859
+ }
1860
+ // violation_time_limit_seconds - computed: false, optional: true, required: false
1861
+ _violationTimeLimitSeconds;
1862
+ get violationTimeLimitSeconds() {
1863
+ return this.getNumberAttribute('violation_time_limit_seconds');
1864
+ }
1865
+ set violationTimeLimitSeconds(value) {
1866
+ this._violationTimeLimitSeconds = value;
1867
+ }
1868
+ resetViolationTimeLimitSeconds() {
1869
+ this._violationTimeLimitSeconds = undefined;
1870
+ }
1871
+ // Temporarily expose input value. Use with caution.
1872
+ get violationTimeLimitSecondsInput() {
1873
+ return this._violationTimeLimitSeconds;
1874
+ }
1875
+ // critical - computed: false, optional: true, required: false
1876
+ _critical = new NrqlAlertConditionCriticalOutputReference(this, "critical");
1877
+ get critical() {
1878
+ return this._critical;
1879
+ }
1880
+ putCritical(value) {
1881
+ this._critical.internalValue = value;
1882
+ }
1883
+ resetCritical() {
1884
+ this._critical.internalValue = undefined;
1885
+ }
1886
+ // Temporarily expose input value. Use with caution.
1887
+ get criticalInput() {
1888
+ return this._critical.internalValue;
1889
+ }
1890
+ // nrql - computed: false, optional: false, required: true
1891
+ _nrql = new NrqlAlertConditionNrqlOutputReference(this, "nrql");
1892
+ get nrql() {
1893
+ return this._nrql;
1894
+ }
1895
+ putNrql(value) {
1896
+ this._nrql.internalValue = value;
1897
+ }
1898
+ // Temporarily expose input value. Use with caution.
1899
+ get nrqlInput() {
1900
+ return this._nrql.internalValue;
1901
+ }
1902
+ // term - computed: false, optional: true, required: false
1903
+ _term = new NrqlAlertConditionTermList(this, "term", true);
1904
+ get term() {
1905
+ return this._term;
1906
+ }
1907
+ putTerm(value) {
1908
+ this._term.internalValue = value;
1909
+ }
1910
+ resetTerm() {
1911
+ this._term.internalValue = undefined;
1912
+ }
1913
+ // Temporarily expose input value. Use with caution.
1914
+ get termInput() {
1915
+ return this._term.internalValue;
1916
+ }
1917
+ // timeouts - computed: false, optional: true, required: false
1918
+ _timeouts = new NrqlAlertConditionTimeoutsOutputReference(this, "timeouts");
1919
+ get timeouts() {
1920
+ return this._timeouts;
1921
+ }
1922
+ putTimeouts(value) {
1923
+ this._timeouts.internalValue = value;
1924
+ }
1925
+ resetTimeouts() {
1926
+ this._timeouts.internalValue = undefined;
1927
+ }
1928
+ // Temporarily expose input value. Use with caution.
1929
+ get timeoutsInput() {
1930
+ return this._timeouts.internalValue;
1931
+ }
1932
+ // warning - computed: false, optional: true, required: false
1933
+ _warning = new NrqlAlertConditionWarningOutputReference(this, "warning");
1934
+ get warning() {
1935
+ return this._warning;
1936
+ }
1937
+ putWarning(value) {
1938
+ this._warning.internalValue = value;
1939
+ }
1940
+ resetWarning() {
1941
+ this._warning.internalValue = undefined;
1942
+ }
1943
+ // Temporarily expose input value. Use with caution.
1944
+ get warningInput() {
1945
+ return this._warning.internalValue;
1946
+ }
1947
+ // =========
1948
+ // SYNTHESIS
1949
+ // =========
1950
+ synthesizeAttributes() {
1951
+ return {
1952
+ account_id: cdktf.numberToTerraform(this._accountId),
1953
+ aggregation_delay: cdktf.stringToTerraform(this._aggregationDelay),
1954
+ aggregation_method: cdktf.stringToTerraform(this._aggregationMethod),
1955
+ aggregation_timer: cdktf.stringToTerraform(this._aggregationTimer),
1956
+ aggregation_window: cdktf.numberToTerraform(this._aggregationWindow),
1957
+ baseline_direction: cdktf.stringToTerraform(this._baselineDirection),
1958
+ close_violations_on_expiration: cdktf.booleanToTerraform(this._closeViolationsOnExpiration),
1959
+ description: cdktf.stringToTerraform(this._description),
1960
+ enabled: cdktf.booleanToTerraform(this._enabled),
1961
+ evaluation_delay: cdktf.numberToTerraform(this._evaluationDelay),
1962
+ expiration_duration: cdktf.numberToTerraform(this._expirationDuration),
1963
+ fill_option: cdktf.stringToTerraform(this._fillOption),
1964
+ fill_value: cdktf.numberToTerraform(this._fillValue),
1965
+ id: cdktf.stringToTerraform(this._id),
1966
+ ignore_on_expected_termination: cdktf.booleanToTerraform(this._ignoreOnExpectedTermination),
1967
+ name: cdktf.stringToTerraform(this._name),
1968
+ open_violation_on_expiration: cdktf.booleanToTerraform(this._openViolationOnExpiration),
1969
+ policy_id: cdktf.numberToTerraform(this._policyId),
1970
+ runbook_url: cdktf.stringToTerraform(this._runbookUrl),
1971
+ signal_seasonality: cdktf.stringToTerraform(this._signalSeasonality),
1972
+ slide_by: cdktf.numberToTerraform(this._slideBy),
1973
+ target_entity: cdktf.stringToTerraform(this._targetEntity),
1974
+ title_template: cdktf.stringToTerraform(this._titleTemplate),
1975
+ type: cdktf.stringToTerraform(this._type),
1976
+ violation_time_limit: cdktf.stringToTerraform(this._violationTimeLimit),
1977
+ violation_time_limit_seconds: cdktf.numberToTerraform(this._violationTimeLimitSeconds),
1978
+ critical: nrqlAlertConditionCriticalToTerraform(this._critical.internalValue),
1979
+ nrql: nrqlAlertConditionNrqlToTerraform(this._nrql.internalValue),
1980
+ term: cdktf.listMapper(nrqlAlertConditionTermToTerraform, true)(this._term.internalValue),
1981
+ timeouts: nrqlAlertConditionTimeoutsToTerraform(this._timeouts.internalValue),
1982
+ warning: nrqlAlertConditionWarningToTerraform(this._warning.internalValue),
1983
+ };
1984
+ }
1985
+ synthesizeHclAttributes() {
1986
+ const attrs = {
1987
+ account_id: {
1988
+ value: cdktf.numberToHclTerraform(this._accountId),
1989
+ isBlock: false,
1990
+ type: "simple",
1991
+ storageClassType: "number",
1992
+ },
1993
+ aggregation_delay: {
1994
+ value: cdktf.stringToHclTerraform(this._aggregationDelay),
1995
+ isBlock: false,
1996
+ type: "simple",
1997
+ storageClassType: "string",
1998
+ },
1999
+ aggregation_method: {
2000
+ value: cdktf.stringToHclTerraform(this._aggregationMethod),
2001
+ isBlock: false,
2002
+ type: "simple",
2003
+ storageClassType: "string",
2004
+ },
2005
+ aggregation_timer: {
2006
+ value: cdktf.stringToHclTerraform(this._aggregationTimer),
2007
+ isBlock: false,
2008
+ type: "simple",
2009
+ storageClassType: "string",
2010
+ },
2011
+ aggregation_window: {
2012
+ value: cdktf.numberToHclTerraform(this._aggregationWindow),
2013
+ isBlock: false,
2014
+ type: "simple",
2015
+ storageClassType: "number",
2016
+ },
2017
+ baseline_direction: {
2018
+ value: cdktf.stringToHclTerraform(this._baselineDirection),
2019
+ isBlock: false,
2020
+ type: "simple",
2021
+ storageClassType: "string",
2022
+ },
2023
+ close_violations_on_expiration: {
2024
+ value: cdktf.booleanToHclTerraform(this._closeViolationsOnExpiration),
2025
+ isBlock: false,
2026
+ type: "simple",
2027
+ storageClassType: "boolean",
2028
+ },
2029
+ description: {
2030
+ value: cdktf.stringToHclTerraform(this._description),
2031
+ isBlock: false,
2032
+ type: "simple",
2033
+ storageClassType: "string",
2034
+ },
2035
+ enabled: {
2036
+ value: cdktf.booleanToHclTerraform(this._enabled),
2037
+ isBlock: false,
2038
+ type: "simple",
2039
+ storageClassType: "boolean",
2040
+ },
2041
+ evaluation_delay: {
2042
+ value: cdktf.numberToHclTerraform(this._evaluationDelay),
2043
+ isBlock: false,
2044
+ type: "simple",
2045
+ storageClassType: "number",
2046
+ },
2047
+ expiration_duration: {
2048
+ value: cdktf.numberToHclTerraform(this._expirationDuration),
2049
+ isBlock: false,
2050
+ type: "simple",
2051
+ storageClassType: "number",
2052
+ },
2053
+ fill_option: {
2054
+ value: cdktf.stringToHclTerraform(this._fillOption),
2055
+ isBlock: false,
2056
+ type: "simple",
2057
+ storageClassType: "string",
2058
+ },
2059
+ fill_value: {
2060
+ value: cdktf.numberToHclTerraform(this._fillValue),
2061
+ isBlock: false,
2062
+ type: "simple",
2063
+ storageClassType: "number",
2064
+ },
2065
+ id: {
2066
+ value: cdktf.stringToHclTerraform(this._id),
2067
+ isBlock: false,
2068
+ type: "simple",
2069
+ storageClassType: "string",
2070
+ },
2071
+ ignore_on_expected_termination: {
2072
+ value: cdktf.booleanToHclTerraform(this._ignoreOnExpectedTermination),
2073
+ isBlock: false,
2074
+ type: "simple",
2075
+ storageClassType: "boolean",
2076
+ },
2077
+ name: {
2078
+ value: cdktf.stringToHclTerraform(this._name),
2079
+ isBlock: false,
2080
+ type: "simple",
2081
+ storageClassType: "string",
2082
+ },
2083
+ open_violation_on_expiration: {
2084
+ value: cdktf.booleanToHclTerraform(this._openViolationOnExpiration),
2085
+ isBlock: false,
2086
+ type: "simple",
2087
+ storageClassType: "boolean",
2088
+ },
2089
+ policy_id: {
2090
+ value: cdktf.numberToHclTerraform(this._policyId),
2091
+ isBlock: false,
2092
+ type: "simple",
2093
+ storageClassType: "number",
2094
+ },
2095
+ runbook_url: {
2096
+ value: cdktf.stringToHclTerraform(this._runbookUrl),
2097
+ isBlock: false,
2098
+ type: "simple",
2099
+ storageClassType: "string",
2100
+ },
2101
+ signal_seasonality: {
2102
+ value: cdktf.stringToHclTerraform(this._signalSeasonality),
2103
+ isBlock: false,
2104
+ type: "simple",
2105
+ storageClassType: "string",
2106
+ },
2107
+ slide_by: {
2108
+ value: cdktf.numberToHclTerraform(this._slideBy),
2109
+ isBlock: false,
2110
+ type: "simple",
2111
+ storageClassType: "number",
2112
+ },
2113
+ target_entity: {
2114
+ value: cdktf.stringToHclTerraform(this._targetEntity),
2115
+ isBlock: false,
2116
+ type: "simple",
2117
+ storageClassType: "string",
2118
+ },
2119
+ title_template: {
2120
+ value: cdktf.stringToHclTerraform(this._titleTemplate),
2121
+ isBlock: false,
2122
+ type: "simple",
2123
+ storageClassType: "string",
2124
+ },
2125
+ type: {
2126
+ value: cdktf.stringToHclTerraform(this._type),
2127
+ isBlock: false,
2128
+ type: "simple",
2129
+ storageClassType: "string",
2130
+ },
2131
+ violation_time_limit: {
2132
+ value: cdktf.stringToHclTerraform(this._violationTimeLimit),
2133
+ isBlock: false,
2134
+ type: "simple",
2135
+ storageClassType: "string",
2136
+ },
2137
+ violation_time_limit_seconds: {
2138
+ value: cdktf.numberToHclTerraform(this._violationTimeLimitSeconds),
2139
+ isBlock: false,
2140
+ type: "simple",
2141
+ storageClassType: "number",
2142
+ },
2143
+ critical: {
2144
+ value: nrqlAlertConditionCriticalToHclTerraform(this._critical.internalValue),
2145
+ isBlock: true,
2146
+ type: "list",
2147
+ storageClassType: "NrqlAlertConditionCriticalList",
2148
+ },
2149
+ nrql: {
2150
+ value: nrqlAlertConditionNrqlToHclTerraform(this._nrql.internalValue),
2151
+ isBlock: true,
2152
+ type: "list",
2153
+ storageClassType: "NrqlAlertConditionNrqlList",
2154
+ },
2155
+ term: {
2156
+ value: cdktf.listMapperHcl(nrqlAlertConditionTermToHclTerraform, true)(this._term.internalValue),
2157
+ isBlock: true,
2158
+ type: "set",
2159
+ storageClassType: "NrqlAlertConditionTermList",
2160
+ },
2161
+ timeouts: {
2162
+ value: nrqlAlertConditionTimeoutsToHclTerraform(this._timeouts.internalValue),
2163
+ isBlock: true,
2164
+ type: "struct",
2165
+ storageClassType: "NrqlAlertConditionTimeouts",
2166
+ },
2167
+ warning: {
2168
+ value: nrqlAlertConditionWarningToHclTerraform(this._warning.internalValue),
2169
+ isBlock: true,
2170
+ type: "list",
2171
+ storageClassType: "NrqlAlertConditionWarningList",
2172
+ },
2173
+ };
2174
+ // remove undefined attributes
2175
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
2176
+ }
2177
+ }