@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,1425 @@
1
+ // https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/service_level
2
+ // generated from terraform resource schema
3
+ import * as cdktf from 'cdktf';
4
+ export function serviceLevelEventsBadEventsSelectToTerraform(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
+ attribute: cdktf.stringToTerraform(struct.attribute),
13
+ function: cdktf.stringToTerraform(struct.function),
14
+ threshold: cdktf.numberToTerraform(struct.threshold),
15
+ };
16
+ }
17
+ export function serviceLevelEventsBadEventsSelectToHclTerraform(struct) {
18
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
19
+ return struct;
20
+ }
21
+ if (cdktf.isComplexElement(struct)) {
22
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
23
+ }
24
+ const attrs = {
25
+ attribute: {
26
+ value: cdktf.stringToHclTerraform(struct.attribute),
27
+ isBlock: false,
28
+ type: "simple",
29
+ storageClassType: "string",
30
+ },
31
+ function: {
32
+ value: cdktf.stringToHclTerraform(struct.function),
33
+ isBlock: false,
34
+ type: "simple",
35
+ storageClassType: "string",
36
+ },
37
+ threshold: {
38
+ value: cdktf.numberToHclTerraform(struct.threshold),
39
+ isBlock: false,
40
+ type: "simple",
41
+ storageClassType: "number",
42
+ },
43
+ };
44
+ // remove undefined attributes
45
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
46
+ }
47
+ export class ServiceLevelEventsBadEventsSelectOutputReference extends cdktf.ComplexObject {
48
+ isEmptyObject = false;
49
+ /**
50
+ * @param terraformResource The parent resource
51
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
52
+ */
53
+ constructor(terraformResource, terraformAttribute) {
54
+ super(terraformResource, terraformAttribute, false, 0);
55
+ }
56
+ get internalValue() {
57
+ let hasAnyValues = this.isEmptyObject;
58
+ const internalValueResult = {};
59
+ if (this._attribute !== undefined) {
60
+ hasAnyValues = true;
61
+ internalValueResult.attribute = this._attribute;
62
+ }
63
+ if (this._function !== undefined) {
64
+ hasAnyValues = true;
65
+ internalValueResult.function = this._function;
66
+ }
67
+ if (this._threshold !== undefined) {
68
+ hasAnyValues = true;
69
+ internalValueResult.threshold = this._threshold;
70
+ }
71
+ return hasAnyValues ? internalValueResult : undefined;
72
+ }
73
+ set internalValue(value) {
74
+ if (value === undefined) {
75
+ this.isEmptyObject = false;
76
+ this._attribute = undefined;
77
+ this._function = undefined;
78
+ this._threshold = undefined;
79
+ }
80
+ else {
81
+ this.isEmptyObject = Object.keys(value).length === 0;
82
+ this._attribute = value.attribute;
83
+ this._function = value.function;
84
+ this._threshold = value.threshold;
85
+ }
86
+ }
87
+ // attribute - computed: false, optional: true, required: false
88
+ _attribute;
89
+ get attribute() {
90
+ return this.getStringAttribute('attribute');
91
+ }
92
+ set attribute(value) {
93
+ this._attribute = value;
94
+ }
95
+ resetAttribute() {
96
+ this._attribute = undefined;
97
+ }
98
+ // Temporarily expose input value. Use with caution.
99
+ get attributeInput() {
100
+ return this._attribute;
101
+ }
102
+ // function - computed: false, optional: false, required: true
103
+ _function;
104
+ get function() {
105
+ return this.getStringAttribute('function');
106
+ }
107
+ set function(value) {
108
+ this._function = value;
109
+ }
110
+ // Temporarily expose input value. Use with caution.
111
+ get functionInput() {
112
+ return this._function;
113
+ }
114
+ // threshold - computed: false, optional: true, required: false
115
+ _threshold;
116
+ get threshold() {
117
+ return this.getNumberAttribute('threshold');
118
+ }
119
+ set threshold(value) {
120
+ this._threshold = value;
121
+ }
122
+ resetThreshold() {
123
+ this._threshold = undefined;
124
+ }
125
+ // Temporarily expose input value. Use with caution.
126
+ get thresholdInput() {
127
+ return this._threshold;
128
+ }
129
+ }
130
+ export function serviceLevelEventsBadEventsToTerraform(struct) {
131
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
132
+ return struct;
133
+ }
134
+ if (cdktf.isComplexElement(struct)) {
135
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
136
+ }
137
+ return {
138
+ from: cdktf.stringToTerraform(struct.from),
139
+ where: cdktf.stringToTerraform(struct.where),
140
+ select: serviceLevelEventsBadEventsSelectToTerraform(struct.select),
141
+ };
142
+ }
143
+ export function serviceLevelEventsBadEventsToHclTerraform(struct) {
144
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
145
+ return struct;
146
+ }
147
+ if (cdktf.isComplexElement(struct)) {
148
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
149
+ }
150
+ const attrs = {
151
+ from: {
152
+ value: cdktf.stringToHclTerraform(struct.from),
153
+ isBlock: false,
154
+ type: "simple",
155
+ storageClassType: "string",
156
+ },
157
+ where: {
158
+ value: cdktf.stringToHclTerraform(struct.where),
159
+ isBlock: false,
160
+ type: "simple",
161
+ storageClassType: "string",
162
+ },
163
+ select: {
164
+ value: serviceLevelEventsBadEventsSelectToHclTerraform(struct.select),
165
+ isBlock: true,
166
+ type: "list",
167
+ storageClassType: "ServiceLevelEventsBadEventsSelectList",
168
+ },
169
+ };
170
+ // remove undefined attributes
171
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
172
+ }
173
+ export class ServiceLevelEventsBadEventsOutputReference extends cdktf.ComplexObject {
174
+ isEmptyObject = false;
175
+ /**
176
+ * @param terraformResource The parent resource
177
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
178
+ */
179
+ constructor(terraformResource, terraformAttribute) {
180
+ super(terraformResource, terraformAttribute, false, 0);
181
+ }
182
+ get internalValue() {
183
+ let hasAnyValues = this.isEmptyObject;
184
+ const internalValueResult = {};
185
+ if (this._from !== undefined) {
186
+ hasAnyValues = true;
187
+ internalValueResult.from = this._from;
188
+ }
189
+ if (this._where !== undefined) {
190
+ hasAnyValues = true;
191
+ internalValueResult.where = this._where;
192
+ }
193
+ if (this._select?.internalValue !== undefined) {
194
+ hasAnyValues = true;
195
+ internalValueResult.select = this._select?.internalValue;
196
+ }
197
+ return hasAnyValues ? internalValueResult : undefined;
198
+ }
199
+ set internalValue(value) {
200
+ if (value === undefined) {
201
+ this.isEmptyObject = false;
202
+ this._from = undefined;
203
+ this._where = undefined;
204
+ this._select.internalValue = undefined;
205
+ }
206
+ else {
207
+ this.isEmptyObject = Object.keys(value).length === 0;
208
+ this._from = value.from;
209
+ this._where = value.where;
210
+ this._select.internalValue = value.select;
211
+ }
212
+ }
213
+ // from - computed: false, optional: false, required: true
214
+ _from;
215
+ get from() {
216
+ return this.getStringAttribute('from');
217
+ }
218
+ set from(value) {
219
+ this._from = value;
220
+ }
221
+ // Temporarily expose input value. Use with caution.
222
+ get fromInput() {
223
+ return this._from;
224
+ }
225
+ // where - computed: false, optional: true, required: false
226
+ _where;
227
+ get where() {
228
+ return this.getStringAttribute('where');
229
+ }
230
+ set where(value) {
231
+ this._where = value;
232
+ }
233
+ resetWhere() {
234
+ this._where = undefined;
235
+ }
236
+ // Temporarily expose input value. Use with caution.
237
+ get whereInput() {
238
+ return this._where;
239
+ }
240
+ // select - computed: false, optional: true, required: false
241
+ _select = new ServiceLevelEventsBadEventsSelectOutputReference(this, "select");
242
+ get select() {
243
+ return this._select;
244
+ }
245
+ putSelect(value) {
246
+ this._select.internalValue = value;
247
+ }
248
+ resetSelect() {
249
+ this._select.internalValue = undefined;
250
+ }
251
+ // Temporarily expose input value. Use with caution.
252
+ get selectInput() {
253
+ return this._select.internalValue;
254
+ }
255
+ }
256
+ export function serviceLevelEventsGoodEventsSelectToTerraform(struct) {
257
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
258
+ return struct;
259
+ }
260
+ if (cdktf.isComplexElement(struct)) {
261
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
262
+ }
263
+ return {
264
+ attribute: cdktf.stringToTerraform(struct.attribute),
265
+ function: cdktf.stringToTerraform(struct.function),
266
+ threshold: cdktf.numberToTerraform(struct.threshold),
267
+ };
268
+ }
269
+ export function serviceLevelEventsGoodEventsSelectToHclTerraform(struct) {
270
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
271
+ return struct;
272
+ }
273
+ if (cdktf.isComplexElement(struct)) {
274
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
275
+ }
276
+ const attrs = {
277
+ attribute: {
278
+ value: cdktf.stringToHclTerraform(struct.attribute),
279
+ isBlock: false,
280
+ type: "simple",
281
+ storageClassType: "string",
282
+ },
283
+ function: {
284
+ value: cdktf.stringToHclTerraform(struct.function),
285
+ isBlock: false,
286
+ type: "simple",
287
+ storageClassType: "string",
288
+ },
289
+ threshold: {
290
+ value: cdktf.numberToHclTerraform(struct.threshold),
291
+ isBlock: false,
292
+ type: "simple",
293
+ storageClassType: "number",
294
+ },
295
+ };
296
+ // remove undefined attributes
297
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
298
+ }
299
+ export class ServiceLevelEventsGoodEventsSelectOutputReference extends cdktf.ComplexObject {
300
+ isEmptyObject = false;
301
+ /**
302
+ * @param terraformResource The parent resource
303
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
304
+ */
305
+ constructor(terraformResource, terraformAttribute) {
306
+ super(terraformResource, terraformAttribute, false, 0);
307
+ }
308
+ get internalValue() {
309
+ let hasAnyValues = this.isEmptyObject;
310
+ const internalValueResult = {};
311
+ if (this._attribute !== undefined) {
312
+ hasAnyValues = true;
313
+ internalValueResult.attribute = this._attribute;
314
+ }
315
+ if (this._function !== undefined) {
316
+ hasAnyValues = true;
317
+ internalValueResult.function = this._function;
318
+ }
319
+ if (this._threshold !== undefined) {
320
+ hasAnyValues = true;
321
+ internalValueResult.threshold = this._threshold;
322
+ }
323
+ return hasAnyValues ? internalValueResult : undefined;
324
+ }
325
+ set internalValue(value) {
326
+ if (value === undefined) {
327
+ this.isEmptyObject = false;
328
+ this._attribute = undefined;
329
+ this._function = undefined;
330
+ this._threshold = undefined;
331
+ }
332
+ else {
333
+ this.isEmptyObject = Object.keys(value).length === 0;
334
+ this._attribute = value.attribute;
335
+ this._function = value.function;
336
+ this._threshold = value.threshold;
337
+ }
338
+ }
339
+ // attribute - computed: false, optional: true, required: false
340
+ _attribute;
341
+ get attribute() {
342
+ return this.getStringAttribute('attribute');
343
+ }
344
+ set attribute(value) {
345
+ this._attribute = value;
346
+ }
347
+ resetAttribute() {
348
+ this._attribute = undefined;
349
+ }
350
+ // Temporarily expose input value. Use with caution.
351
+ get attributeInput() {
352
+ return this._attribute;
353
+ }
354
+ // function - computed: false, optional: false, required: true
355
+ _function;
356
+ get function() {
357
+ return this.getStringAttribute('function');
358
+ }
359
+ set function(value) {
360
+ this._function = value;
361
+ }
362
+ // Temporarily expose input value. Use with caution.
363
+ get functionInput() {
364
+ return this._function;
365
+ }
366
+ // threshold - computed: false, optional: true, required: false
367
+ _threshold;
368
+ get threshold() {
369
+ return this.getNumberAttribute('threshold');
370
+ }
371
+ set threshold(value) {
372
+ this._threshold = value;
373
+ }
374
+ resetThreshold() {
375
+ this._threshold = undefined;
376
+ }
377
+ // Temporarily expose input value. Use with caution.
378
+ get thresholdInput() {
379
+ return this._threshold;
380
+ }
381
+ }
382
+ export function serviceLevelEventsGoodEventsToTerraform(struct) {
383
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
384
+ return struct;
385
+ }
386
+ if (cdktf.isComplexElement(struct)) {
387
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
388
+ }
389
+ return {
390
+ from: cdktf.stringToTerraform(struct.from),
391
+ where: cdktf.stringToTerraform(struct.where),
392
+ select: serviceLevelEventsGoodEventsSelectToTerraform(struct.select),
393
+ };
394
+ }
395
+ export function serviceLevelEventsGoodEventsToHclTerraform(struct) {
396
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
397
+ return struct;
398
+ }
399
+ if (cdktf.isComplexElement(struct)) {
400
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
401
+ }
402
+ const attrs = {
403
+ from: {
404
+ value: cdktf.stringToHclTerraform(struct.from),
405
+ isBlock: false,
406
+ type: "simple",
407
+ storageClassType: "string",
408
+ },
409
+ where: {
410
+ value: cdktf.stringToHclTerraform(struct.where),
411
+ isBlock: false,
412
+ type: "simple",
413
+ storageClassType: "string",
414
+ },
415
+ select: {
416
+ value: serviceLevelEventsGoodEventsSelectToHclTerraform(struct.select),
417
+ isBlock: true,
418
+ type: "list",
419
+ storageClassType: "ServiceLevelEventsGoodEventsSelectList",
420
+ },
421
+ };
422
+ // remove undefined attributes
423
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
424
+ }
425
+ export class ServiceLevelEventsGoodEventsOutputReference extends cdktf.ComplexObject {
426
+ isEmptyObject = false;
427
+ /**
428
+ * @param terraformResource The parent resource
429
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
430
+ */
431
+ constructor(terraformResource, terraformAttribute) {
432
+ super(terraformResource, terraformAttribute, false, 0);
433
+ }
434
+ get internalValue() {
435
+ let hasAnyValues = this.isEmptyObject;
436
+ const internalValueResult = {};
437
+ if (this._from !== undefined) {
438
+ hasAnyValues = true;
439
+ internalValueResult.from = this._from;
440
+ }
441
+ if (this._where !== undefined) {
442
+ hasAnyValues = true;
443
+ internalValueResult.where = this._where;
444
+ }
445
+ if (this._select?.internalValue !== undefined) {
446
+ hasAnyValues = true;
447
+ internalValueResult.select = this._select?.internalValue;
448
+ }
449
+ return hasAnyValues ? internalValueResult : undefined;
450
+ }
451
+ set internalValue(value) {
452
+ if (value === undefined) {
453
+ this.isEmptyObject = false;
454
+ this._from = undefined;
455
+ this._where = undefined;
456
+ this._select.internalValue = undefined;
457
+ }
458
+ else {
459
+ this.isEmptyObject = Object.keys(value).length === 0;
460
+ this._from = value.from;
461
+ this._where = value.where;
462
+ this._select.internalValue = value.select;
463
+ }
464
+ }
465
+ // from - computed: false, optional: false, required: true
466
+ _from;
467
+ get from() {
468
+ return this.getStringAttribute('from');
469
+ }
470
+ set from(value) {
471
+ this._from = value;
472
+ }
473
+ // Temporarily expose input value. Use with caution.
474
+ get fromInput() {
475
+ return this._from;
476
+ }
477
+ // where - computed: false, optional: true, required: false
478
+ _where;
479
+ get where() {
480
+ return this.getStringAttribute('where');
481
+ }
482
+ set where(value) {
483
+ this._where = value;
484
+ }
485
+ resetWhere() {
486
+ this._where = undefined;
487
+ }
488
+ // Temporarily expose input value. Use with caution.
489
+ get whereInput() {
490
+ return this._where;
491
+ }
492
+ // select - computed: false, optional: true, required: false
493
+ _select = new ServiceLevelEventsGoodEventsSelectOutputReference(this, "select");
494
+ get select() {
495
+ return this._select;
496
+ }
497
+ putSelect(value) {
498
+ this._select.internalValue = value;
499
+ }
500
+ resetSelect() {
501
+ this._select.internalValue = undefined;
502
+ }
503
+ // Temporarily expose input value. Use with caution.
504
+ get selectInput() {
505
+ return this._select.internalValue;
506
+ }
507
+ }
508
+ export function serviceLevelEventsValidEventsSelectToTerraform(struct) {
509
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
510
+ return struct;
511
+ }
512
+ if (cdktf.isComplexElement(struct)) {
513
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
514
+ }
515
+ return {
516
+ attribute: cdktf.stringToTerraform(struct.attribute),
517
+ function: cdktf.stringToTerraform(struct.function),
518
+ threshold: cdktf.numberToTerraform(struct.threshold),
519
+ };
520
+ }
521
+ export function serviceLevelEventsValidEventsSelectToHclTerraform(struct) {
522
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
523
+ return struct;
524
+ }
525
+ if (cdktf.isComplexElement(struct)) {
526
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
527
+ }
528
+ const attrs = {
529
+ attribute: {
530
+ value: cdktf.stringToHclTerraform(struct.attribute),
531
+ isBlock: false,
532
+ type: "simple",
533
+ storageClassType: "string",
534
+ },
535
+ function: {
536
+ value: cdktf.stringToHclTerraform(struct.function),
537
+ isBlock: false,
538
+ type: "simple",
539
+ storageClassType: "string",
540
+ },
541
+ threshold: {
542
+ value: cdktf.numberToHclTerraform(struct.threshold),
543
+ isBlock: false,
544
+ type: "simple",
545
+ storageClassType: "number",
546
+ },
547
+ };
548
+ // remove undefined attributes
549
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
550
+ }
551
+ export class ServiceLevelEventsValidEventsSelectOutputReference extends cdktf.ComplexObject {
552
+ isEmptyObject = false;
553
+ /**
554
+ * @param terraformResource The parent resource
555
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
556
+ */
557
+ constructor(terraformResource, terraformAttribute) {
558
+ super(terraformResource, terraformAttribute, false, 0);
559
+ }
560
+ get internalValue() {
561
+ let hasAnyValues = this.isEmptyObject;
562
+ const internalValueResult = {};
563
+ if (this._attribute !== undefined) {
564
+ hasAnyValues = true;
565
+ internalValueResult.attribute = this._attribute;
566
+ }
567
+ if (this._function !== undefined) {
568
+ hasAnyValues = true;
569
+ internalValueResult.function = this._function;
570
+ }
571
+ if (this._threshold !== undefined) {
572
+ hasAnyValues = true;
573
+ internalValueResult.threshold = this._threshold;
574
+ }
575
+ return hasAnyValues ? internalValueResult : undefined;
576
+ }
577
+ set internalValue(value) {
578
+ if (value === undefined) {
579
+ this.isEmptyObject = false;
580
+ this._attribute = undefined;
581
+ this._function = undefined;
582
+ this._threshold = undefined;
583
+ }
584
+ else {
585
+ this.isEmptyObject = Object.keys(value).length === 0;
586
+ this._attribute = value.attribute;
587
+ this._function = value.function;
588
+ this._threshold = value.threshold;
589
+ }
590
+ }
591
+ // attribute - computed: false, optional: true, required: false
592
+ _attribute;
593
+ get attribute() {
594
+ return this.getStringAttribute('attribute');
595
+ }
596
+ set attribute(value) {
597
+ this._attribute = value;
598
+ }
599
+ resetAttribute() {
600
+ this._attribute = undefined;
601
+ }
602
+ // Temporarily expose input value. Use with caution.
603
+ get attributeInput() {
604
+ return this._attribute;
605
+ }
606
+ // function - computed: false, optional: false, required: true
607
+ _function;
608
+ get function() {
609
+ return this.getStringAttribute('function');
610
+ }
611
+ set function(value) {
612
+ this._function = value;
613
+ }
614
+ // Temporarily expose input value. Use with caution.
615
+ get functionInput() {
616
+ return this._function;
617
+ }
618
+ // threshold - computed: false, optional: true, required: false
619
+ _threshold;
620
+ get threshold() {
621
+ return this.getNumberAttribute('threshold');
622
+ }
623
+ set threshold(value) {
624
+ this._threshold = value;
625
+ }
626
+ resetThreshold() {
627
+ this._threshold = undefined;
628
+ }
629
+ // Temporarily expose input value. Use with caution.
630
+ get thresholdInput() {
631
+ return this._threshold;
632
+ }
633
+ }
634
+ export function serviceLevelEventsValidEventsToTerraform(struct) {
635
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
636
+ return struct;
637
+ }
638
+ if (cdktf.isComplexElement(struct)) {
639
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
640
+ }
641
+ return {
642
+ from: cdktf.stringToTerraform(struct.from),
643
+ where: cdktf.stringToTerraform(struct.where),
644
+ select: serviceLevelEventsValidEventsSelectToTerraform(struct.select),
645
+ };
646
+ }
647
+ export function serviceLevelEventsValidEventsToHclTerraform(struct) {
648
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
649
+ return struct;
650
+ }
651
+ if (cdktf.isComplexElement(struct)) {
652
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
653
+ }
654
+ const attrs = {
655
+ from: {
656
+ value: cdktf.stringToHclTerraform(struct.from),
657
+ isBlock: false,
658
+ type: "simple",
659
+ storageClassType: "string",
660
+ },
661
+ where: {
662
+ value: cdktf.stringToHclTerraform(struct.where),
663
+ isBlock: false,
664
+ type: "simple",
665
+ storageClassType: "string",
666
+ },
667
+ select: {
668
+ value: serviceLevelEventsValidEventsSelectToHclTerraform(struct.select),
669
+ isBlock: true,
670
+ type: "list",
671
+ storageClassType: "ServiceLevelEventsValidEventsSelectList",
672
+ },
673
+ };
674
+ // remove undefined attributes
675
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
676
+ }
677
+ export class ServiceLevelEventsValidEventsOutputReference extends cdktf.ComplexObject {
678
+ isEmptyObject = false;
679
+ /**
680
+ * @param terraformResource The parent resource
681
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
682
+ */
683
+ constructor(terraformResource, terraformAttribute) {
684
+ super(terraformResource, terraformAttribute, false, 0);
685
+ }
686
+ get internalValue() {
687
+ let hasAnyValues = this.isEmptyObject;
688
+ const internalValueResult = {};
689
+ if (this._from !== undefined) {
690
+ hasAnyValues = true;
691
+ internalValueResult.from = this._from;
692
+ }
693
+ if (this._where !== undefined) {
694
+ hasAnyValues = true;
695
+ internalValueResult.where = this._where;
696
+ }
697
+ if (this._select?.internalValue !== undefined) {
698
+ hasAnyValues = true;
699
+ internalValueResult.select = this._select?.internalValue;
700
+ }
701
+ return hasAnyValues ? internalValueResult : undefined;
702
+ }
703
+ set internalValue(value) {
704
+ if (value === undefined) {
705
+ this.isEmptyObject = false;
706
+ this._from = undefined;
707
+ this._where = undefined;
708
+ this._select.internalValue = undefined;
709
+ }
710
+ else {
711
+ this.isEmptyObject = Object.keys(value).length === 0;
712
+ this._from = value.from;
713
+ this._where = value.where;
714
+ this._select.internalValue = value.select;
715
+ }
716
+ }
717
+ // from - computed: false, optional: false, required: true
718
+ _from;
719
+ get from() {
720
+ return this.getStringAttribute('from');
721
+ }
722
+ set from(value) {
723
+ this._from = value;
724
+ }
725
+ // Temporarily expose input value. Use with caution.
726
+ get fromInput() {
727
+ return this._from;
728
+ }
729
+ // where - computed: false, optional: true, required: false
730
+ _where;
731
+ get where() {
732
+ return this.getStringAttribute('where');
733
+ }
734
+ set where(value) {
735
+ this._where = value;
736
+ }
737
+ resetWhere() {
738
+ this._where = undefined;
739
+ }
740
+ // Temporarily expose input value. Use with caution.
741
+ get whereInput() {
742
+ return this._where;
743
+ }
744
+ // select - computed: false, optional: true, required: false
745
+ _select = new ServiceLevelEventsValidEventsSelectOutputReference(this, "select");
746
+ get select() {
747
+ return this._select;
748
+ }
749
+ putSelect(value) {
750
+ this._select.internalValue = value;
751
+ }
752
+ resetSelect() {
753
+ this._select.internalValue = undefined;
754
+ }
755
+ // Temporarily expose input value. Use with caution.
756
+ get selectInput() {
757
+ return this._select.internalValue;
758
+ }
759
+ }
760
+ export function serviceLevelEventsToTerraform(struct) {
761
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
762
+ return struct;
763
+ }
764
+ if (cdktf.isComplexElement(struct)) {
765
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
766
+ }
767
+ return {
768
+ account_id: cdktf.numberToTerraform(struct.accountId),
769
+ bad_events: serviceLevelEventsBadEventsToTerraform(struct.badEvents),
770
+ good_events: serviceLevelEventsGoodEventsToTerraform(struct.goodEvents),
771
+ valid_events: serviceLevelEventsValidEventsToTerraform(struct.validEvents),
772
+ };
773
+ }
774
+ export function serviceLevelEventsToHclTerraform(struct) {
775
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
776
+ return struct;
777
+ }
778
+ if (cdktf.isComplexElement(struct)) {
779
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
780
+ }
781
+ const attrs = {
782
+ account_id: {
783
+ value: cdktf.numberToHclTerraform(struct.accountId),
784
+ isBlock: false,
785
+ type: "simple",
786
+ storageClassType: "number",
787
+ },
788
+ bad_events: {
789
+ value: serviceLevelEventsBadEventsToHclTerraform(struct.badEvents),
790
+ isBlock: true,
791
+ type: "list",
792
+ storageClassType: "ServiceLevelEventsBadEventsList",
793
+ },
794
+ good_events: {
795
+ value: serviceLevelEventsGoodEventsToHclTerraform(struct.goodEvents),
796
+ isBlock: true,
797
+ type: "list",
798
+ storageClassType: "ServiceLevelEventsGoodEventsList",
799
+ },
800
+ valid_events: {
801
+ value: serviceLevelEventsValidEventsToHclTerraform(struct.validEvents),
802
+ isBlock: true,
803
+ type: "list",
804
+ storageClassType: "ServiceLevelEventsValidEventsList",
805
+ },
806
+ };
807
+ // remove undefined attributes
808
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
809
+ }
810
+ export class ServiceLevelEventsOutputReference extends cdktf.ComplexObject {
811
+ isEmptyObject = false;
812
+ /**
813
+ * @param terraformResource The parent resource
814
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
815
+ */
816
+ constructor(terraformResource, terraformAttribute) {
817
+ super(terraformResource, terraformAttribute, false, 0);
818
+ }
819
+ get internalValue() {
820
+ let hasAnyValues = this.isEmptyObject;
821
+ const internalValueResult = {};
822
+ if (this._accountId !== undefined) {
823
+ hasAnyValues = true;
824
+ internalValueResult.accountId = this._accountId;
825
+ }
826
+ if (this._badEvents?.internalValue !== undefined) {
827
+ hasAnyValues = true;
828
+ internalValueResult.badEvents = this._badEvents?.internalValue;
829
+ }
830
+ if (this._goodEvents?.internalValue !== undefined) {
831
+ hasAnyValues = true;
832
+ internalValueResult.goodEvents = this._goodEvents?.internalValue;
833
+ }
834
+ if (this._validEvents?.internalValue !== undefined) {
835
+ hasAnyValues = true;
836
+ internalValueResult.validEvents = this._validEvents?.internalValue;
837
+ }
838
+ return hasAnyValues ? internalValueResult : undefined;
839
+ }
840
+ set internalValue(value) {
841
+ if (value === undefined) {
842
+ this.isEmptyObject = false;
843
+ this._accountId = undefined;
844
+ this._badEvents.internalValue = undefined;
845
+ this._goodEvents.internalValue = undefined;
846
+ this._validEvents.internalValue = undefined;
847
+ }
848
+ else {
849
+ this.isEmptyObject = Object.keys(value).length === 0;
850
+ this._accountId = value.accountId;
851
+ this._badEvents.internalValue = value.badEvents;
852
+ this._goodEvents.internalValue = value.goodEvents;
853
+ this._validEvents.internalValue = value.validEvents;
854
+ }
855
+ }
856
+ // account_id - computed: false, optional: false, required: true
857
+ _accountId;
858
+ get accountId() {
859
+ return this.getNumberAttribute('account_id');
860
+ }
861
+ set accountId(value) {
862
+ this._accountId = value;
863
+ }
864
+ // Temporarily expose input value. Use with caution.
865
+ get accountIdInput() {
866
+ return this._accountId;
867
+ }
868
+ // bad_events - computed: false, optional: true, required: false
869
+ _badEvents = new ServiceLevelEventsBadEventsOutputReference(this, "bad_events");
870
+ get badEvents() {
871
+ return this._badEvents;
872
+ }
873
+ putBadEvents(value) {
874
+ this._badEvents.internalValue = value;
875
+ }
876
+ resetBadEvents() {
877
+ this._badEvents.internalValue = undefined;
878
+ }
879
+ // Temporarily expose input value. Use with caution.
880
+ get badEventsInput() {
881
+ return this._badEvents.internalValue;
882
+ }
883
+ // good_events - computed: false, optional: true, required: false
884
+ _goodEvents = new ServiceLevelEventsGoodEventsOutputReference(this, "good_events");
885
+ get goodEvents() {
886
+ return this._goodEvents;
887
+ }
888
+ putGoodEvents(value) {
889
+ this._goodEvents.internalValue = value;
890
+ }
891
+ resetGoodEvents() {
892
+ this._goodEvents.internalValue = undefined;
893
+ }
894
+ // Temporarily expose input value. Use with caution.
895
+ get goodEventsInput() {
896
+ return this._goodEvents.internalValue;
897
+ }
898
+ // valid_events - computed: false, optional: false, required: true
899
+ _validEvents = new ServiceLevelEventsValidEventsOutputReference(this, "valid_events");
900
+ get validEvents() {
901
+ return this._validEvents;
902
+ }
903
+ putValidEvents(value) {
904
+ this._validEvents.internalValue = value;
905
+ }
906
+ // Temporarily expose input value. Use with caution.
907
+ get validEventsInput() {
908
+ return this._validEvents.internalValue;
909
+ }
910
+ }
911
+ export function serviceLevelObjectiveTimeWindowRollingToTerraform(struct) {
912
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
913
+ return struct;
914
+ }
915
+ if (cdktf.isComplexElement(struct)) {
916
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
917
+ }
918
+ return {
919
+ count: cdktf.numberToTerraform(struct.count),
920
+ unit: cdktf.stringToTerraform(struct.unit),
921
+ };
922
+ }
923
+ export function serviceLevelObjectiveTimeWindowRollingToHclTerraform(struct) {
924
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
925
+ return struct;
926
+ }
927
+ if (cdktf.isComplexElement(struct)) {
928
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
929
+ }
930
+ const attrs = {
931
+ count: {
932
+ value: cdktf.numberToHclTerraform(struct.count),
933
+ isBlock: false,
934
+ type: "simple",
935
+ storageClassType: "number",
936
+ },
937
+ unit: {
938
+ value: cdktf.stringToHclTerraform(struct.unit),
939
+ isBlock: false,
940
+ type: "simple",
941
+ storageClassType: "string",
942
+ },
943
+ };
944
+ // remove undefined attributes
945
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
946
+ }
947
+ export class ServiceLevelObjectiveTimeWindowRollingOutputReference extends cdktf.ComplexObject {
948
+ isEmptyObject = false;
949
+ /**
950
+ * @param terraformResource The parent resource
951
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
952
+ */
953
+ constructor(terraformResource, terraformAttribute) {
954
+ super(terraformResource, terraformAttribute, false, 0);
955
+ }
956
+ get internalValue() {
957
+ let hasAnyValues = this.isEmptyObject;
958
+ const internalValueResult = {};
959
+ if (this._count !== undefined) {
960
+ hasAnyValues = true;
961
+ internalValueResult.count = this._count;
962
+ }
963
+ if (this._unit !== undefined) {
964
+ hasAnyValues = true;
965
+ internalValueResult.unit = this._unit;
966
+ }
967
+ return hasAnyValues ? internalValueResult : undefined;
968
+ }
969
+ set internalValue(value) {
970
+ if (value === undefined) {
971
+ this.isEmptyObject = false;
972
+ this._count = undefined;
973
+ this._unit = undefined;
974
+ }
975
+ else {
976
+ this.isEmptyObject = Object.keys(value).length === 0;
977
+ this._count = value.count;
978
+ this._unit = value.unit;
979
+ }
980
+ }
981
+ // count - computed: false, optional: false, required: true
982
+ _count;
983
+ get count() {
984
+ return this.getNumberAttribute('count');
985
+ }
986
+ set count(value) {
987
+ this._count = value;
988
+ }
989
+ // Temporarily expose input value. Use with caution.
990
+ get countInput() {
991
+ return this._count;
992
+ }
993
+ // unit - computed: false, optional: false, required: true
994
+ _unit;
995
+ get unit() {
996
+ return this.getStringAttribute('unit');
997
+ }
998
+ set unit(value) {
999
+ this._unit = value;
1000
+ }
1001
+ // Temporarily expose input value. Use with caution.
1002
+ get unitInput() {
1003
+ return this._unit;
1004
+ }
1005
+ }
1006
+ export function serviceLevelObjectiveTimeWindowToTerraform(struct) {
1007
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
1008
+ return struct;
1009
+ }
1010
+ if (cdktf.isComplexElement(struct)) {
1011
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
1012
+ }
1013
+ return {
1014
+ rolling: serviceLevelObjectiveTimeWindowRollingToTerraform(struct.rolling),
1015
+ };
1016
+ }
1017
+ export function serviceLevelObjectiveTimeWindowToHclTerraform(struct) {
1018
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
1019
+ return struct;
1020
+ }
1021
+ if (cdktf.isComplexElement(struct)) {
1022
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
1023
+ }
1024
+ const attrs = {
1025
+ rolling: {
1026
+ value: serviceLevelObjectiveTimeWindowRollingToHclTerraform(struct.rolling),
1027
+ isBlock: true,
1028
+ type: "list",
1029
+ storageClassType: "ServiceLevelObjectiveTimeWindowRollingList",
1030
+ },
1031
+ };
1032
+ // remove undefined attributes
1033
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
1034
+ }
1035
+ export class ServiceLevelObjectiveTimeWindowOutputReference extends cdktf.ComplexObject {
1036
+ isEmptyObject = false;
1037
+ /**
1038
+ * @param terraformResource The parent resource
1039
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
1040
+ */
1041
+ constructor(terraformResource, terraformAttribute) {
1042
+ super(terraformResource, terraformAttribute, false, 0);
1043
+ }
1044
+ get internalValue() {
1045
+ let hasAnyValues = this.isEmptyObject;
1046
+ const internalValueResult = {};
1047
+ if (this._rolling?.internalValue !== undefined) {
1048
+ hasAnyValues = true;
1049
+ internalValueResult.rolling = this._rolling?.internalValue;
1050
+ }
1051
+ return hasAnyValues ? internalValueResult : undefined;
1052
+ }
1053
+ set internalValue(value) {
1054
+ if (value === undefined) {
1055
+ this.isEmptyObject = false;
1056
+ this._rolling.internalValue = undefined;
1057
+ }
1058
+ else {
1059
+ this.isEmptyObject = Object.keys(value).length === 0;
1060
+ this._rolling.internalValue = value.rolling;
1061
+ }
1062
+ }
1063
+ // rolling - computed: false, optional: false, required: true
1064
+ _rolling = new ServiceLevelObjectiveTimeWindowRollingOutputReference(this, "rolling");
1065
+ get rolling() {
1066
+ return this._rolling;
1067
+ }
1068
+ putRolling(value) {
1069
+ this._rolling.internalValue = value;
1070
+ }
1071
+ // Temporarily expose input value. Use with caution.
1072
+ get rollingInput() {
1073
+ return this._rolling.internalValue;
1074
+ }
1075
+ }
1076
+ export function serviceLevelObjectiveToTerraform(struct) {
1077
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
1078
+ return struct;
1079
+ }
1080
+ if (cdktf.isComplexElement(struct)) {
1081
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
1082
+ }
1083
+ return {
1084
+ description: cdktf.stringToTerraform(struct.description),
1085
+ name: cdktf.stringToTerraform(struct.name),
1086
+ target: cdktf.numberToTerraform(struct.target),
1087
+ time_window: serviceLevelObjectiveTimeWindowToTerraform(struct.timeWindow),
1088
+ };
1089
+ }
1090
+ export function serviceLevelObjectiveToHclTerraform(struct) {
1091
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
1092
+ return struct;
1093
+ }
1094
+ if (cdktf.isComplexElement(struct)) {
1095
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
1096
+ }
1097
+ const attrs = {
1098
+ description: {
1099
+ value: cdktf.stringToHclTerraform(struct.description),
1100
+ isBlock: false,
1101
+ type: "simple",
1102
+ storageClassType: "string",
1103
+ },
1104
+ name: {
1105
+ value: cdktf.stringToHclTerraform(struct.name),
1106
+ isBlock: false,
1107
+ type: "simple",
1108
+ storageClassType: "string",
1109
+ },
1110
+ target: {
1111
+ value: cdktf.numberToHclTerraform(struct.target),
1112
+ isBlock: false,
1113
+ type: "simple",
1114
+ storageClassType: "number",
1115
+ },
1116
+ time_window: {
1117
+ value: serviceLevelObjectiveTimeWindowToHclTerraform(struct.timeWindow),
1118
+ isBlock: true,
1119
+ type: "list",
1120
+ storageClassType: "ServiceLevelObjectiveTimeWindowList",
1121
+ },
1122
+ };
1123
+ // remove undefined attributes
1124
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
1125
+ }
1126
+ export class ServiceLevelObjectiveOutputReference extends cdktf.ComplexObject {
1127
+ isEmptyObject = false;
1128
+ /**
1129
+ * @param terraformResource The parent resource
1130
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
1131
+ */
1132
+ constructor(terraformResource, terraformAttribute) {
1133
+ super(terraformResource, terraformAttribute, false, 0);
1134
+ }
1135
+ get internalValue() {
1136
+ let hasAnyValues = this.isEmptyObject;
1137
+ const internalValueResult = {};
1138
+ if (this._description !== undefined) {
1139
+ hasAnyValues = true;
1140
+ internalValueResult.description = this._description;
1141
+ }
1142
+ if (this._name !== undefined) {
1143
+ hasAnyValues = true;
1144
+ internalValueResult.name = this._name;
1145
+ }
1146
+ if (this._target !== undefined) {
1147
+ hasAnyValues = true;
1148
+ internalValueResult.target = this._target;
1149
+ }
1150
+ if (this._timeWindow?.internalValue !== undefined) {
1151
+ hasAnyValues = true;
1152
+ internalValueResult.timeWindow = this._timeWindow?.internalValue;
1153
+ }
1154
+ return hasAnyValues ? internalValueResult : undefined;
1155
+ }
1156
+ set internalValue(value) {
1157
+ if (value === undefined) {
1158
+ this.isEmptyObject = false;
1159
+ this._description = undefined;
1160
+ this._name = undefined;
1161
+ this._target = undefined;
1162
+ this._timeWindow.internalValue = undefined;
1163
+ }
1164
+ else {
1165
+ this.isEmptyObject = Object.keys(value).length === 0;
1166
+ this._description = value.description;
1167
+ this._name = value.name;
1168
+ this._target = value.target;
1169
+ this._timeWindow.internalValue = value.timeWindow;
1170
+ }
1171
+ }
1172
+ // description - computed: false, optional: true, required: false
1173
+ _description;
1174
+ get description() {
1175
+ return this.getStringAttribute('description');
1176
+ }
1177
+ set description(value) {
1178
+ this._description = value;
1179
+ }
1180
+ resetDescription() {
1181
+ this._description = undefined;
1182
+ }
1183
+ // Temporarily expose input value. Use with caution.
1184
+ get descriptionInput() {
1185
+ return this._description;
1186
+ }
1187
+ // name - computed: false, optional: true, required: false
1188
+ _name;
1189
+ get name() {
1190
+ return this.getStringAttribute('name');
1191
+ }
1192
+ set name(value) {
1193
+ this._name = value;
1194
+ }
1195
+ resetName() {
1196
+ this._name = undefined;
1197
+ }
1198
+ // Temporarily expose input value. Use with caution.
1199
+ get nameInput() {
1200
+ return this._name;
1201
+ }
1202
+ // target - computed: false, optional: false, required: true
1203
+ _target;
1204
+ get target() {
1205
+ return this.getNumberAttribute('target');
1206
+ }
1207
+ set target(value) {
1208
+ this._target = value;
1209
+ }
1210
+ // Temporarily expose input value. Use with caution.
1211
+ get targetInput() {
1212
+ return this._target;
1213
+ }
1214
+ // time_window - computed: false, optional: false, required: true
1215
+ _timeWindow = new ServiceLevelObjectiveTimeWindowOutputReference(this, "time_window");
1216
+ get timeWindow() {
1217
+ return this._timeWindow;
1218
+ }
1219
+ putTimeWindow(value) {
1220
+ this._timeWindow.internalValue = value;
1221
+ }
1222
+ // Temporarily expose input value. Use with caution.
1223
+ get timeWindowInput() {
1224
+ return this._timeWindow.internalValue;
1225
+ }
1226
+ }
1227
+ /**
1228
+ * Represents a {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/service_level newrelic_service_level}
1229
+ */
1230
+ export class ServiceLevel extends cdktf.TerraformResource {
1231
+ // =================
1232
+ // STATIC PROPERTIES
1233
+ // =================
1234
+ static tfResourceType = "newrelic_service_level";
1235
+ // ==============
1236
+ // STATIC Methods
1237
+ // ==============
1238
+ /**
1239
+ * Generates CDKTF code for importing a ServiceLevel resource upon running "cdktf plan <stack-name>"
1240
+ * @param scope The scope in which to define this construct
1241
+ * @param importToId The construct id used in the generated config for the ServiceLevel to import
1242
+ * @param importFromId The id of the existing ServiceLevel that should be imported. Refer to the {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/service_level#import import section} in the documentation of this resource for the id to use
1243
+ * @param provider? Optional instance of the provider where the ServiceLevel to import is found
1244
+ */
1245
+ static generateConfigForImport(scope, importToId, importFromId, provider) {
1246
+ return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "newrelic_service_level", importId: importFromId, provider });
1247
+ }
1248
+ // ===========
1249
+ // INITIALIZER
1250
+ // ===========
1251
+ /**
1252
+ * Create a new {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/service_level newrelic_service_level} Resource
1253
+ *
1254
+ * @param scope The scope in which to define this construct
1255
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
1256
+ * @param options ServiceLevelConfig
1257
+ */
1258
+ constructor(scope, id, config) {
1259
+ super(scope, id, {
1260
+ terraformResourceType: 'newrelic_service_level',
1261
+ terraformGeneratorMetadata: {
1262
+ providerName: 'newrelic',
1263
+ providerVersion: '3.75.4',
1264
+ providerVersionConstraint: '3.75.4'
1265
+ },
1266
+ provider: config.provider,
1267
+ dependsOn: config.dependsOn,
1268
+ count: config.count,
1269
+ lifecycle: config.lifecycle,
1270
+ provisioners: config.provisioners,
1271
+ connection: config.connection,
1272
+ forEach: config.forEach
1273
+ });
1274
+ this._description = config.description;
1275
+ this._guid = config.guid;
1276
+ this._id = config.id;
1277
+ this._name = config.name;
1278
+ this._events.internalValue = config.events;
1279
+ this._objective.internalValue = config.objective;
1280
+ }
1281
+ // ==========
1282
+ // ATTRIBUTES
1283
+ // ==========
1284
+ // description - computed: false, optional: true, required: false
1285
+ _description;
1286
+ get description() {
1287
+ return this.getStringAttribute('description');
1288
+ }
1289
+ set description(value) {
1290
+ this._description = value;
1291
+ }
1292
+ resetDescription() {
1293
+ this._description = undefined;
1294
+ }
1295
+ // Temporarily expose input value. Use with caution.
1296
+ get descriptionInput() {
1297
+ return this._description;
1298
+ }
1299
+ // guid - computed: false, optional: false, required: true
1300
+ _guid;
1301
+ get guid() {
1302
+ return this.getStringAttribute('guid');
1303
+ }
1304
+ set guid(value) {
1305
+ this._guid = value;
1306
+ }
1307
+ // Temporarily expose input value. Use with caution.
1308
+ get guidInput() {
1309
+ return this._guid;
1310
+ }
1311
+ // id - computed: true, optional: true, required: false
1312
+ _id;
1313
+ get id() {
1314
+ return this.getStringAttribute('id');
1315
+ }
1316
+ set id(value) {
1317
+ this._id = value;
1318
+ }
1319
+ resetId() {
1320
+ this._id = undefined;
1321
+ }
1322
+ // Temporarily expose input value. Use with caution.
1323
+ get idInput() {
1324
+ return this._id;
1325
+ }
1326
+ // name - computed: false, optional: false, required: true
1327
+ _name;
1328
+ get name() {
1329
+ return this.getStringAttribute('name');
1330
+ }
1331
+ set name(value) {
1332
+ this._name = value;
1333
+ }
1334
+ // Temporarily expose input value. Use with caution.
1335
+ get nameInput() {
1336
+ return this._name;
1337
+ }
1338
+ // sli_guid - computed: true, optional: false, required: false
1339
+ get sliGuid() {
1340
+ return this.getStringAttribute('sli_guid');
1341
+ }
1342
+ // sli_id - computed: true, optional: false, required: false
1343
+ get sliId() {
1344
+ return this.getStringAttribute('sli_id');
1345
+ }
1346
+ // events - computed: false, optional: false, required: true
1347
+ _events = new ServiceLevelEventsOutputReference(this, "events");
1348
+ get events() {
1349
+ return this._events;
1350
+ }
1351
+ putEvents(value) {
1352
+ this._events.internalValue = value;
1353
+ }
1354
+ // Temporarily expose input value. Use with caution.
1355
+ get eventsInput() {
1356
+ return this._events.internalValue;
1357
+ }
1358
+ // objective - computed: false, optional: false, required: true
1359
+ _objective = new ServiceLevelObjectiveOutputReference(this, "objective");
1360
+ get objective() {
1361
+ return this._objective;
1362
+ }
1363
+ putObjective(value) {
1364
+ this._objective.internalValue = value;
1365
+ }
1366
+ // Temporarily expose input value. Use with caution.
1367
+ get objectiveInput() {
1368
+ return this._objective.internalValue;
1369
+ }
1370
+ // =========
1371
+ // SYNTHESIS
1372
+ // =========
1373
+ synthesizeAttributes() {
1374
+ return {
1375
+ description: cdktf.stringToTerraform(this._description),
1376
+ guid: cdktf.stringToTerraform(this._guid),
1377
+ id: cdktf.stringToTerraform(this._id),
1378
+ name: cdktf.stringToTerraform(this._name),
1379
+ events: serviceLevelEventsToTerraform(this._events.internalValue),
1380
+ objective: serviceLevelObjectiveToTerraform(this._objective.internalValue),
1381
+ };
1382
+ }
1383
+ synthesizeHclAttributes() {
1384
+ const attrs = {
1385
+ description: {
1386
+ value: cdktf.stringToHclTerraform(this._description),
1387
+ isBlock: false,
1388
+ type: "simple",
1389
+ storageClassType: "string",
1390
+ },
1391
+ guid: {
1392
+ value: cdktf.stringToHclTerraform(this._guid),
1393
+ isBlock: false,
1394
+ type: "simple",
1395
+ storageClassType: "string",
1396
+ },
1397
+ id: {
1398
+ value: cdktf.stringToHclTerraform(this._id),
1399
+ isBlock: false,
1400
+ type: "simple",
1401
+ storageClassType: "string",
1402
+ },
1403
+ name: {
1404
+ value: cdktf.stringToHclTerraform(this._name),
1405
+ isBlock: false,
1406
+ type: "simple",
1407
+ storageClassType: "string",
1408
+ },
1409
+ events: {
1410
+ value: serviceLevelEventsToHclTerraform(this._events.internalValue),
1411
+ isBlock: true,
1412
+ type: "list",
1413
+ storageClassType: "ServiceLevelEventsList",
1414
+ },
1415
+ objective: {
1416
+ value: serviceLevelObjectiveToHclTerraform(this._objective.internalValue),
1417
+ isBlock: true,
1418
+ type: "set",
1419
+ storageClassType: "ServiceLevelObjectiveList",
1420
+ },
1421
+ };
1422
+ // remove undefined attributes
1423
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
1424
+ }
1425
+ }