@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,1039 @@
1
+ // https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/notification_destination
2
+ // generated from terraform resource schema
3
+ import * as cdktf from 'cdktf';
4
+ export function notificationDestinationAuthBasicToTerraform(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
+ password: cdktf.stringToTerraform(struct.password),
13
+ user: cdktf.stringToTerraform(struct.user),
14
+ };
15
+ }
16
+ export function notificationDestinationAuthBasicToHclTerraform(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
+ password: {
25
+ value: cdktf.stringToHclTerraform(struct.password),
26
+ isBlock: false,
27
+ type: "simple",
28
+ storageClassType: "string",
29
+ },
30
+ user: {
31
+ value: cdktf.stringToHclTerraform(struct.user),
32
+ isBlock: false,
33
+ type: "simple",
34
+ storageClassType: "string",
35
+ },
36
+ };
37
+ // remove undefined attributes
38
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
39
+ }
40
+ export class NotificationDestinationAuthBasicOutputReference 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._password !== undefined) {
53
+ hasAnyValues = true;
54
+ internalValueResult.password = this._password;
55
+ }
56
+ if (this._user !== undefined) {
57
+ hasAnyValues = true;
58
+ internalValueResult.user = this._user;
59
+ }
60
+ return hasAnyValues ? internalValueResult : undefined;
61
+ }
62
+ set internalValue(value) {
63
+ if (value === undefined) {
64
+ this.isEmptyObject = false;
65
+ this._password = undefined;
66
+ this._user = undefined;
67
+ }
68
+ else {
69
+ this.isEmptyObject = Object.keys(value).length === 0;
70
+ this._password = value.password;
71
+ this._user = value.user;
72
+ }
73
+ }
74
+ // password - computed: false, optional: false, required: true
75
+ _password;
76
+ get password() {
77
+ return this.getStringAttribute('password');
78
+ }
79
+ set password(value) {
80
+ this._password = value;
81
+ }
82
+ // Temporarily expose input value. Use with caution.
83
+ get passwordInput() {
84
+ return this._password;
85
+ }
86
+ // user - computed: false, optional: false, required: true
87
+ _user;
88
+ get user() {
89
+ return this.getStringAttribute('user');
90
+ }
91
+ set user(value) {
92
+ this._user = value;
93
+ }
94
+ // Temporarily expose input value. Use with caution.
95
+ get userInput() {
96
+ return this._user;
97
+ }
98
+ }
99
+ export function notificationDestinationAuthCustomHeaderToTerraform(struct) {
100
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
101
+ return struct;
102
+ }
103
+ if (cdktf.isComplexElement(struct)) {
104
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
105
+ }
106
+ return {
107
+ key: cdktf.stringToTerraform(struct.key),
108
+ value: cdktf.stringToTerraform(struct.value),
109
+ };
110
+ }
111
+ export function notificationDestinationAuthCustomHeaderToHclTerraform(struct) {
112
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
113
+ return struct;
114
+ }
115
+ if (cdktf.isComplexElement(struct)) {
116
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
117
+ }
118
+ const attrs = {
119
+ key: {
120
+ value: cdktf.stringToHclTerraform(struct.key),
121
+ isBlock: false,
122
+ type: "simple",
123
+ storageClassType: "string",
124
+ },
125
+ value: {
126
+ value: cdktf.stringToHclTerraform(struct.value),
127
+ isBlock: false,
128
+ type: "simple",
129
+ storageClassType: "string",
130
+ },
131
+ };
132
+ // remove undefined attributes
133
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
134
+ }
135
+ export class NotificationDestinationAuthCustomHeaderOutputReference extends cdktf.ComplexObject {
136
+ isEmptyObject = false;
137
+ resolvableValue;
138
+ /**
139
+ * @param terraformResource The parent resource
140
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
141
+ * @param complexObjectIndex the index of this item in the list
142
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
143
+ */
144
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
145
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
146
+ }
147
+ get internalValue() {
148
+ if (this.resolvableValue) {
149
+ return this.resolvableValue;
150
+ }
151
+ let hasAnyValues = this.isEmptyObject;
152
+ const internalValueResult = {};
153
+ if (this._key !== undefined) {
154
+ hasAnyValues = true;
155
+ internalValueResult.key = this._key;
156
+ }
157
+ if (this._value !== undefined) {
158
+ hasAnyValues = true;
159
+ internalValueResult.value = this._value;
160
+ }
161
+ return hasAnyValues ? internalValueResult : undefined;
162
+ }
163
+ set internalValue(value) {
164
+ if (value === undefined) {
165
+ this.isEmptyObject = false;
166
+ this.resolvableValue = undefined;
167
+ this._key = undefined;
168
+ this._value = undefined;
169
+ }
170
+ else if (cdktf.Tokenization.isResolvable(value)) {
171
+ this.isEmptyObject = false;
172
+ this.resolvableValue = value;
173
+ }
174
+ else {
175
+ this.isEmptyObject = Object.keys(value).length === 0;
176
+ this.resolvableValue = undefined;
177
+ this._key = value.key;
178
+ this._value = value.value;
179
+ }
180
+ }
181
+ // key - computed: false, optional: false, required: true
182
+ _key;
183
+ get key() {
184
+ return this.getStringAttribute('key');
185
+ }
186
+ set key(value) {
187
+ this._key = value;
188
+ }
189
+ // Temporarily expose input value. Use with caution.
190
+ get keyInput() {
191
+ return this._key;
192
+ }
193
+ // value - computed: false, optional: false, required: true
194
+ _value;
195
+ get value() {
196
+ return this.getStringAttribute('value');
197
+ }
198
+ set value(value) {
199
+ this._value = value;
200
+ }
201
+ // Temporarily expose input value. Use with caution.
202
+ get valueInput() {
203
+ return this._value;
204
+ }
205
+ }
206
+ export class NotificationDestinationAuthCustomHeaderList extends cdktf.ComplexList {
207
+ terraformResource;
208
+ terraformAttribute;
209
+ wrapsSet;
210
+ internalValue;
211
+ /**
212
+ * @param terraformResource The parent resource
213
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
214
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
215
+ */
216
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
217
+ super(terraformResource, terraformAttribute, wrapsSet);
218
+ this.terraformResource = terraformResource;
219
+ this.terraformAttribute = terraformAttribute;
220
+ this.wrapsSet = wrapsSet;
221
+ }
222
+ /**
223
+ * @param index the index of the item to return
224
+ */
225
+ get(index) {
226
+ return new NotificationDestinationAuthCustomHeaderOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
227
+ }
228
+ }
229
+ export function notificationDestinationAuthTokenToTerraform(struct) {
230
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
231
+ return struct;
232
+ }
233
+ if (cdktf.isComplexElement(struct)) {
234
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
235
+ }
236
+ return {
237
+ prefix: cdktf.stringToTerraform(struct.prefix),
238
+ token: cdktf.stringToTerraform(struct.token),
239
+ };
240
+ }
241
+ export function notificationDestinationAuthTokenToHclTerraform(struct) {
242
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
243
+ return struct;
244
+ }
245
+ if (cdktf.isComplexElement(struct)) {
246
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
247
+ }
248
+ const attrs = {
249
+ prefix: {
250
+ value: cdktf.stringToHclTerraform(struct.prefix),
251
+ isBlock: false,
252
+ type: "simple",
253
+ storageClassType: "string",
254
+ },
255
+ token: {
256
+ value: cdktf.stringToHclTerraform(struct.token),
257
+ isBlock: false,
258
+ type: "simple",
259
+ storageClassType: "string",
260
+ },
261
+ };
262
+ // remove undefined attributes
263
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
264
+ }
265
+ export class NotificationDestinationAuthTokenOutputReference extends cdktf.ComplexObject {
266
+ isEmptyObject = false;
267
+ /**
268
+ * @param terraformResource The parent resource
269
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
270
+ */
271
+ constructor(terraformResource, terraformAttribute) {
272
+ super(terraformResource, terraformAttribute, false, 0);
273
+ }
274
+ get internalValue() {
275
+ let hasAnyValues = this.isEmptyObject;
276
+ const internalValueResult = {};
277
+ if (this._prefix !== undefined) {
278
+ hasAnyValues = true;
279
+ internalValueResult.prefix = this._prefix;
280
+ }
281
+ if (this._token !== undefined) {
282
+ hasAnyValues = true;
283
+ internalValueResult.token = this._token;
284
+ }
285
+ return hasAnyValues ? internalValueResult : undefined;
286
+ }
287
+ set internalValue(value) {
288
+ if (value === undefined) {
289
+ this.isEmptyObject = false;
290
+ this._prefix = undefined;
291
+ this._token = undefined;
292
+ }
293
+ else {
294
+ this.isEmptyObject = Object.keys(value).length === 0;
295
+ this._prefix = value.prefix;
296
+ this._token = value.token;
297
+ }
298
+ }
299
+ // prefix - computed: false, optional: true, required: false
300
+ _prefix;
301
+ get prefix() {
302
+ return this.getStringAttribute('prefix');
303
+ }
304
+ set prefix(value) {
305
+ this._prefix = value;
306
+ }
307
+ resetPrefix() {
308
+ this._prefix = undefined;
309
+ }
310
+ // Temporarily expose input value. Use with caution.
311
+ get prefixInput() {
312
+ return this._prefix;
313
+ }
314
+ // token - computed: false, optional: false, required: true
315
+ _token;
316
+ get token() {
317
+ return this.getStringAttribute('token');
318
+ }
319
+ set token(value) {
320
+ this._token = value;
321
+ }
322
+ // Temporarily expose input value. Use with caution.
323
+ get tokenInput() {
324
+ return this._token;
325
+ }
326
+ }
327
+ export function notificationDestinationPropertyToTerraform(struct) {
328
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
329
+ return struct;
330
+ }
331
+ if (cdktf.isComplexElement(struct)) {
332
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
333
+ }
334
+ return {
335
+ display_value: cdktf.stringToTerraform(struct.displayValue),
336
+ key: cdktf.stringToTerraform(struct.key),
337
+ label: cdktf.stringToTerraform(struct.label),
338
+ value: cdktf.stringToTerraform(struct.value),
339
+ };
340
+ }
341
+ export function notificationDestinationPropertyToHclTerraform(struct) {
342
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
343
+ return struct;
344
+ }
345
+ if (cdktf.isComplexElement(struct)) {
346
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
347
+ }
348
+ const attrs = {
349
+ display_value: {
350
+ value: cdktf.stringToHclTerraform(struct.displayValue),
351
+ isBlock: false,
352
+ type: "simple",
353
+ storageClassType: "string",
354
+ },
355
+ key: {
356
+ value: cdktf.stringToHclTerraform(struct.key),
357
+ isBlock: false,
358
+ type: "simple",
359
+ storageClassType: "string",
360
+ },
361
+ label: {
362
+ value: cdktf.stringToHclTerraform(struct.label),
363
+ isBlock: false,
364
+ type: "simple",
365
+ storageClassType: "string",
366
+ },
367
+ value: {
368
+ value: cdktf.stringToHclTerraform(struct.value),
369
+ isBlock: false,
370
+ type: "simple",
371
+ storageClassType: "string",
372
+ },
373
+ };
374
+ // remove undefined attributes
375
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
376
+ }
377
+ export class NotificationDestinationPropertyOutputReference extends cdktf.ComplexObject {
378
+ isEmptyObject = false;
379
+ resolvableValue;
380
+ /**
381
+ * @param terraformResource The parent resource
382
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
383
+ * @param complexObjectIndex the index of this item in the list
384
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
385
+ */
386
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
387
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
388
+ }
389
+ get internalValue() {
390
+ if (this.resolvableValue) {
391
+ return this.resolvableValue;
392
+ }
393
+ let hasAnyValues = this.isEmptyObject;
394
+ const internalValueResult = {};
395
+ if (this._displayValue !== undefined) {
396
+ hasAnyValues = true;
397
+ internalValueResult.displayValue = this._displayValue;
398
+ }
399
+ if (this._key !== undefined) {
400
+ hasAnyValues = true;
401
+ internalValueResult.key = this._key;
402
+ }
403
+ if (this._label !== undefined) {
404
+ hasAnyValues = true;
405
+ internalValueResult.label = this._label;
406
+ }
407
+ if (this._value !== undefined) {
408
+ hasAnyValues = true;
409
+ internalValueResult.value = this._value;
410
+ }
411
+ return hasAnyValues ? internalValueResult : undefined;
412
+ }
413
+ set internalValue(value) {
414
+ if (value === undefined) {
415
+ this.isEmptyObject = false;
416
+ this.resolvableValue = undefined;
417
+ this._displayValue = undefined;
418
+ this._key = undefined;
419
+ this._label = undefined;
420
+ this._value = undefined;
421
+ }
422
+ else if (cdktf.Tokenization.isResolvable(value)) {
423
+ this.isEmptyObject = false;
424
+ this.resolvableValue = value;
425
+ }
426
+ else {
427
+ this.isEmptyObject = Object.keys(value).length === 0;
428
+ this.resolvableValue = undefined;
429
+ this._displayValue = value.displayValue;
430
+ this._key = value.key;
431
+ this._label = value.label;
432
+ this._value = value.value;
433
+ }
434
+ }
435
+ // display_value - computed: false, optional: true, required: false
436
+ _displayValue;
437
+ get displayValue() {
438
+ return this.getStringAttribute('display_value');
439
+ }
440
+ set displayValue(value) {
441
+ this._displayValue = value;
442
+ }
443
+ resetDisplayValue() {
444
+ this._displayValue = undefined;
445
+ }
446
+ // Temporarily expose input value. Use with caution.
447
+ get displayValueInput() {
448
+ return this._displayValue;
449
+ }
450
+ // key - computed: false, optional: false, required: true
451
+ _key;
452
+ get key() {
453
+ return this.getStringAttribute('key');
454
+ }
455
+ set key(value) {
456
+ this._key = value;
457
+ }
458
+ // Temporarily expose input value. Use with caution.
459
+ get keyInput() {
460
+ return this._key;
461
+ }
462
+ // label - computed: false, optional: true, required: false
463
+ _label;
464
+ get label() {
465
+ return this.getStringAttribute('label');
466
+ }
467
+ set label(value) {
468
+ this._label = value;
469
+ }
470
+ resetLabel() {
471
+ this._label = undefined;
472
+ }
473
+ // Temporarily expose input value. Use with caution.
474
+ get labelInput() {
475
+ return this._label;
476
+ }
477
+ // value - computed: false, optional: false, required: true
478
+ _value;
479
+ get value() {
480
+ return this.getStringAttribute('value');
481
+ }
482
+ set value(value) {
483
+ this._value = value;
484
+ }
485
+ // Temporarily expose input value. Use with caution.
486
+ get valueInput() {
487
+ return this._value;
488
+ }
489
+ }
490
+ export class NotificationDestinationPropertyList extends cdktf.ComplexList {
491
+ terraformResource;
492
+ terraformAttribute;
493
+ wrapsSet;
494
+ internalValue;
495
+ /**
496
+ * @param terraformResource The parent resource
497
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
498
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
499
+ */
500
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
501
+ super(terraformResource, terraformAttribute, wrapsSet);
502
+ this.terraformResource = terraformResource;
503
+ this.terraformAttribute = terraformAttribute;
504
+ this.wrapsSet = wrapsSet;
505
+ }
506
+ /**
507
+ * @param index the index of the item to return
508
+ */
509
+ get(index) {
510
+ return new NotificationDestinationPropertyOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
511
+ }
512
+ }
513
+ export function notificationDestinationSecureUrlToTerraform(struct) {
514
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
515
+ return struct;
516
+ }
517
+ if (cdktf.isComplexElement(struct)) {
518
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
519
+ }
520
+ return {
521
+ prefix: cdktf.stringToTerraform(struct.prefix),
522
+ secure_suffix: cdktf.stringToTerraform(struct.secureSuffix),
523
+ };
524
+ }
525
+ export function notificationDestinationSecureUrlToHclTerraform(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
+ const attrs = {
533
+ prefix: {
534
+ value: cdktf.stringToHclTerraform(struct.prefix),
535
+ isBlock: false,
536
+ type: "simple",
537
+ storageClassType: "string",
538
+ },
539
+ secure_suffix: {
540
+ value: cdktf.stringToHclTerraform(struct.secureSuffix),
541
+ isBlock: false,
542
+ type: "simple",
543
+ storageClassType: "string",
544
+ },
545
+ };
546
+ // remove undefined attributes
547
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
548
+ }
549
+ export class NotificationDestinationSecureUrlOutputReference extends cdktf.ComplexObject {
550
+ isEmptyObject = false;
551
+ /**
552
+ * @param terraformResource The parent resource
553
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
554
+ */
555
+ constructor(terraformResource, terraformAttribute) {
556
+ super(terraformResource, terraformAttribute, false, 0);
557
+ }
558
+ get internalValue() {
559
+ let hasAnyValues = this.isEmptyObject;
560
+ const internalValueResult = {};
561
+ if (this._prefix !== undefined) {
562
+ hasAnyValues = true;
563
+ internalValueResult.prefix = this._prefix;
564
+ }
565
+ if (this._secureSuffix !== undefined) {
566
+ hasAnyValues = true;
567
+ internalValueResult.secureSuffix = this._secureSuffix;
568
+ }
569
+ return hasAnyValues ? internalValueResult : undefined;
570
+ }
571
+ set internalValue(value) {
572
+ if (value === undefined) {
573
+ this.isEmptyObject = false;
574
+ this._prefix = undefined;
575
+ this._secureSuffix = undefined;
576
+ }
577
+ else {
578
+ this.isEmptyObject = Object.keys(value).length === 0;
579
+ this._prefix = value.prefix;
580
+ this._secureSuffix = value.secureSuffix;
581
+ }
582
+ }
583
+ // prefix - computed: false, optional: false, required: true
584
+ _prefix;
585
+ get prefix() {
586
+ return this.getStringAttribute('prefix');
587
+ }
588
+ set prefix(value) {
589
+ this._prefix = value;
590
+ }
591
+ // Temporarily expose input value. Use with caution.
592
+ get prefixInput() {
593
+ return this._prefix;
594
+ }
595
+ // secure_suffix - computed: false, optional: false, required: true
596
+ _secureSuffix;
597
+ get secureSuffix() {
598
+ return this.getStringAttribute('secure_suffix');
599
+ }
600
+ set secureSuffix(value) {
601
+ this._secureSuffix = value;
602
+ }
603
+ // Temporarily expose input value. Use with caution.
604
+ get secureSuffixInput() {
605
+ return this._secureSuffix;
606
+ }
607
+ }
608
+ export function notificationDestinationTimeoutsToTerraform(struct) {
609
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
610
+ return struct;
611
+ }
612
+ if (cdktf.isComplexElement(struct)) {
613
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
614
+ }
615
+ return {
616
+ create: cdktf.stringToTerraform(struct.create),
617
+ update: cdktf.stringToTerraform(struct.update),
618
+ };
619
+ }
620
+ export function notificationDestinationTimeoutsToHclTerraform(struct) {
621
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
622
+ return struct;
623
+ }
624
+ if (cdktf.isComplexElement(struct)) {
625
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
626
+ }
627
+ const attrs = {
628
+ create: {
629
+ value: cdktf.stringToHclTerraform(struct.create),
630
+ isBlock: false,
631
+ type: "simple",
632
+ storageClassType: "string",
633
+ },
634
+ update: {
635
+ value: cdktf.stringToHclTerraform(struct.update),
636
+ isBlock: false,
637
+ type: "simple",
638
+ storageClassType: "string",
639
+ },
640
+ };
641
+ // remove undefined attributes
642
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
643
+ }
644
+ export class NotificationDestinationTimeoutsOutputReference extends cdktf.ComplexObject {
645
+ isEmptyObject = false;
646
+ resolvableValue;
647
+ /**
648
+ * @param terraformResource The parent resource
649
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
650
+ */
651
+ constructor(terraformResource, terraformAttribute) {
652
+ super(terraformResource, terraformAttribute, false);
653
+ }
654
+ get internalValue() {
655
+ if (this.resolvableValue) {
656
+ return this.resolvableValue;
657
+ }
658
+ let hasAnyValues = this.isEmptyObject;
659
+ const internalValueResult = {};
660
+ if (this._create !== undefined) {
661
+ hasAnyValues = true;
662
+ internalValueResult.create = this._create;
663
+ }
664
+ if (this._update !== undefined) {
665
+ hasAnyValues = true;
666
+ internalValueResult.update = this._update;
667
+ }
668
+ return hasAnyValues ? internalValueResult : undefined;
669
+ }
670
+ set internalValue(value) {
671
+ if (value === undefined) {
672
+ this.isEmptyObject = false;
673
+ this.resolvableValue = undefined;
674
+ this._create = undefined;
675
+ this._update = undefined;
676
+ }
677
+ else if (cdktf.Tokenization.isResolvable(value)) {
678
+ this.isEmptyObject = false;
679
+ this.resolvableValue = value;
680
+ }
681
+ else {
682
+ this.isEmptyObject = Object.keys(value).length === 0;
683
+ this.resolvableValue = undefined;
684
+ this._create = value.create;
685
+ this._update = value.update;
686
+ }
687
+ }
688
+ // create - computed: false, optional: true, required: false
689
+ _create;
690
+ get create() {
691
+ return this.getStringAttribute('create');
692
+ }
693
+ set create(value) {
694
+ this._create = value;
695
+ }
696
+ resetCreate() {
697
+ this._create = undefined;
698
+ }
699
+ // Temporarily expose input value. Use with caution.
700
+ get createInput() {
701
+ return this._create;
702
+ }
703
+ // update - computed: false, optional: true, required: false
704
+ _update;
705
+ get update() {
706
+ return this.getStringAttribute('update');
707
+ }
708
+ set update(value) {
709
+ this._update = value;
710
+ }
711
+ resetUpdate() {
712
+ this._update = undefined;
713
+ }
714
+ // Temporarily expose input value. Use with caution.
715
+ get updateInput() {
716
+ return this._update;
717
+ }
718
+ }
719
+ /**
720
+ * Represents a {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/notification_destination newrelic_notification_destination}
721
+ */
722
+ export class NotificationDestination extends cdktf.TerraformResource {
723
+ // =================
724
+ // STATIC PROPERTIES
725
+ // =================
726
+ static tfResourceType = "newrelic_notification_destination";
727
+ // ==============
728
+ // STATIC Methods
729
+ // ==============
730
+ /**
731
+ * Generates CDKTF code for importing a NotificationDestination resource upon running "cdktf plan <stack-name>"
732
+ * @param scope The scope in which to define this construct
733
+ * @param importToId The construct id used in the generated config for the NotificationDestination to import
734
+ * @param importFromId The id of the existing NotificationDestination that should be imported. Refer to the {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/notification_destination#import import section} in the documentation of this resource for the id to use
735
+ * @param provider? Optional instance of the provider where the NotificationDestination to import is found
736
+ */
737
+ static generateConfigForImport(scope, importToId, importFromId, provider) {
738
+ return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "newrelic_notification_destination", importId: importFromId, provider });
739
+ }
740
+ // ===========
741
+ // INITIALIZER
742
+ // ===========
743
+ /**
744
+ * Create a new {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/notification_destination newrelic_notification_destination} Resource
745
+ *
746
+ * @param scope The scope in which to define this construct
747
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
748
+ * @param options NotificationDestinationConfig
749
+ */
750
+ constructor(scope, id, config) {
751
+ super(scope, id, {
752
+ terraformResourceType: 'newrelic_notification_destination',
753
+ terraformGeneratorMetadata: {
754
+ providerName: 'newrelic',
755
+ providerVersion: '3.75.4',
756
+ providerVersionConstraint: '3.75.4'
757
+ },
758
+ provider: config.provider,
759
+ dependsOn: config.dependsOn,
760
+ count: config.count,
761
+ lifecycle: config.lifecycle,
762
+ provisioners: config.provisioners,
763
+ connection: config.connection,
764
+ forEach: config.forEach
765
+ });
766
+ this._accountId = config.accountId;
767
+ this._active = config.active;
768
+ this._id = config.id;
769
+ this._name = config.name;
770
+ this._type = config.type;
771
+ this._authBasic.internalValue = config.authBasic;
772
+ this._authCustomHeader.internalValue = config.authCustomHeader;
773
+ this._authToken.internalValue = config.authToken;
774
+ this._property.internalValue = config.property;
775
+ this._secureUrl.internalValue = config.secureUrl;
776
+ this._timeouts.internalValue = config.timeouts;
777
+ }
778
+ // ==========
779
+ // ATTRIBUTES
780
+ // ==========
781
+ // account_id - computed: true, optional: true, required: false
782
+ _accountId;
783
+ get accountId() {
784
+ return this.getNumberAttribute('account_id');
785
+ }
786
+ set accountId(value) {
787
+ this._accountId = value;
788
+ }
789
+ resetAccountId() {
790
+ this._accountId = undefined;
791
+ }
792
+ // Temporarily expose input value. Use with caution.
793
+ get accountIdInput() {
794
+ return this._accountId;
795
+ }
796
+ // active - computed: false, optional: true, required: false
797
+ _active;
798
+ get active() {
799
+ return this.getBooleanAttribute('active');
800
+ }
801
+ set active(value) {
802
+ this._active = value;
803
+ }
804
+ resetActive() {
805
+ this._active = undefined;
806
+ }
807
+ // Temporarily expose input value. Use with caution.
808
+ get activeInput() {
809
+ return this._active;
810
+ }
811
+ // guid - computed: true, optional: false, required: false
812
+ get guid() {
813
+ return this.getStringAttribute('guid');
814
+ }
815
+ // id - computed: true, optional: true, required: false
816
+ _id;
817
+ get id() {
818
+ return this.getStringAttribute('id');
819
+ }
820
+ set id(value) {
821
+ this._id = value;
822
+ }
823
+ resetId() {
824
+ this._id = undefined;
825
+ }
826
+ // Temporarily expose input value. Use with caution.
827
+ get idInput() {
828
+ return this._id;
829
+ }
830
+ // last_sent - computed: true, optional: false, required: false
831
+ get lastSent() {
832
+ return this.getStringAttribute('last_sent');
833
+ }
834
+ // name - computed: false, optional: false, required: true
835
+ _name;
836
+ get name() {
837
+ return this.getStringAttribute('name');
838
+ }
839
+ set name(value) {
840
+ this._name = value;
841
+ }
842
+ // Temporarily expose input value. Use with caution.
843
+ get nameInput() {
844
+ return this._name;
845
+ }
846
+ // status - computed: true, optional: false, required: false
847
+ get status() {
848
+ return this.getStringAttribute('status');
849
+ }
850
+ // type - computed: false, optional: false, required: true
851
+ _type;
852
+ get type() {
853
+ return this.getStringAttribute('type');
854
+ }
855
+ set type(value) {
856
+ this._type = value;
857
+ }
858
+ // Temporarily expose input value. Use with caution.
859
+ get typeInput() {
860
+ return this._type;
861
+ }
862
+ // auth_basic - computed: false, optional: true, required: false
863
+ _authBasic = new NotificationDestinationAuthBasicOutputReference(this, "auth_basic");
864
+ get authBasic() {
865
+ return this._authBasic;
866
+ }
867
+ putAuthBasic(value) {
868
+ this._authBasic.internalValue = value;
869
+ }
870
+ resetAuthBasic() {
871
+ this._authBasic.internalValue = undefined;
872
+ }
873
+ // Temporarily expose input value. Use with caution.
874
+ get authBasicInput() {
875
+ return this._authBasic.internalValue;
876
+ }
877
+ // auth_custom_header - computed: false, optional: true, required: false
878
+ _authCustomHeader = new NotificationDestinationAuthCustomHeaderList(this, "auth_custom_header", false);
879
+ get authCustomHeader() {
880
+ return this._authCustomHeader;
881
+ }
882
+ putAuthCustomHeader(value) {
883
+ this._authCustomHeader.internalValue = value;
884
+ }
885
+ resetAuthCustomHeader() {
886
+ this._authCustomHeader.internalValue = undefined;
887
+ }
888
+ // Temporarily expose input value. Use with caution.
889
+ get authCustomHeaderInput() {
890
+ return this._authCustomHeader.internalValue;
891
+ }
892
+ // auth_token - computed: false, optional: true, required: false
893
+ _authToken = new NotificationDestinationAuthTokenOutputReference(this, "auth_token");
894
+ get authToken() {
895
+ return this._authToken;
896
+ }
897
+ putAuthToken(value) {
898
+ this._authToken.internalValue = value;
899
+ }
900
+ resetAuthToken() {
901
+ this._authToken.internalValue = undefined;
902
+ }
903
+ // Temporarily expose input value. Use with caution.
904
+ get authTokenInput() {
905
+ return this._authToken.internalValue;
906
+ }
907
+ // property - computed: false, optional: false, required: true
908
+ _property = new NotificationDestinationPropertyList(this, "property", true);
909
+ get property() {
910
+ return this._property;
911
+ }
912
+ putProperty(value) {
913
+ this._property.internalValue = value;
914
+ }
915
+ // Temporarily expose input value. Use with caution.
916
+ get propertyInput() {
917
+ return this._property.internalValue;
918
+ }
919
+ // secure_url - computed: false, optional: true, required: false
920
+ _secureUrl = new NotificationDestinationSecureUrlOutputReference(this, "secure_url");
921
+ get secureUrl() {
922
+ return this._secureUrl;
923
+ }
924
+ putSecureUrl(value) {
925
+ this._secureUrl.internalValue = value;
926
+ }
927
+ resetSecureUrl() {
928
+ this._secureUrl.internalValue = undefined;
929
+ }
930
+ // Temporarily expose input value. Use with caution.
931
+ get secureUrlInput() {
932
+ return this._secureUrl.internalValue;
933
+ }
934
+ // timeouts - computed: false, optional: true, required: false
935
+ _timeouts = new NotificationDestinationTimeoutsOutputReference(this, "timeouts");
936
+ get timeouts() {
937
+ return this._timeouts;
938
+ }
939
+ putTimeouts(value) {
940
+ this._timeouts.internalValue = value;
941
+ }
942
+ resetTimeouts() {
943
+ this._timeouts.internalValue = undefined;
944
+ }
945
+ // Temporarily expose input value. Use with caution.
946
+ get timeoutsInput() {
947
+ return this._timeouts.internalValue;
948
+ }
949
+ // =========
950
+ // SYNTHESIS
951
+ // =========
952
+ synthesizeAttributes() {
953
+ return {
954
+ account_id: cdktf.numberToTerraform(this._accountId),
955
+ active: cdktf.booleanToTerraform(this._active),
956
+ id: cdktf.stringToTerraform(this._id),
957
+ name: cdktf.stringToTerraform(this._name),
958
+ type: cdktf.stringToTerraform(this._type),
959
+ auth_basic: notificationDestinationAuthBasicToTerraform(this._authBasic.internalValue),
960
+ auth_custom_header: cdktf.listMapper(notificationDestinationAuthCustomHeaderToTerraform, true)(this._authCustomHeader.internalValue),
961
+ auth_token: notificationDestinationAuthTokenToTerraform(this._authToken.internalValue),
962
+ property: cdktf.listMapper(notificationDestinationPropertyToTerraform, true)(this._property.internalValue),
963
+ secure_url: notificationDestinationSecureUrlToTerraform(this._secureUrl.internalValue),
964
+ timeouts: notificationDestinationTimeoutsToTerraform(this._timeouts.internalValue),
965
+ };
966
+ }
967
+ synthesizeHclAttributes() {
968
+ const attrs = {
969
+ account_id: {
970
+ value: cdktf.numberToHclTerraform(this._accountId),
971
+ isBlock: false,
972
+ type: "simple",
973
+ storageClassType: "number",
974
+ },
975
+ active: {
976
+ value: cdktf.booleanToHclTerraform(this._active),
977
+ isBlock: false,
978
+ type: "simple",
979
+ storageClassType: "boolean",
980
+ },
981
+ id: {
982
+ value: cdktf.stringToHclTerraform(this._id),
983
+ isBlock: false,
984
+ type: "simple",
985
+ storageClassType: "string",
986
+ },
987
+ name: {
988
+ value: cdktf.stringToHclTerraform(this._name),
989
+ isBlock: false,
990
+ type: "simple",
991
+ storageClassType: "string",
992
+ },
993
+ type: {
994
+ value: cdktf.stringToHclTerraform(this._type),
995
+ isBlock: false,
996
+ type: "simple",
997
+ storageClassType: "string",
998
+ },
999
+ auth_basic: {
1000
+ value: notificationDestinationAuthBasicToHclTerraform(this._authBasic.internalValue),
1001
+ isBlock: true,
1002
+ type: "list",
1003
+ storageClassType: "NotificationDestinationAuthBasicList",
1004
+ },
1005
+ auth_custom_header: {
1006
+ value: cdktf.listMapperHcl(notificationDestinationAuthCustomHeaderToHclTerraform, true)(this._authCustomHeader.internalValue),
1007
+ isBlock: true,
1008
+ type: "list",
1009
+ storageClassType: "NotificationDestinationAuthCustomHeaderList",
1010
+ },
1011
+ auth_token: {
1012
+ value: notificationDestinationAuthTokenToHclTerraform(this._authToken.internalValue),
1013
+ isBlock: true,
1014
+ type: "list",
1015
+ storageClassType: "NotificationDestinationAuthTokenList",
1016
+ },
1017
+ property: {
1018
+ value: cdktf.listMapperHcl(notificationDestinationPropertyToHclTerraform, true)(this._property.internalValue),
1019
+ isBlock: true,
1020
+ type: "set",
1021
+ storageClassType: "NotificationDestinationPropertyList",
1022
+ },
1023
+ secure_url: {
1024
+ value: notificationDestinationSecureUrlToHclTerraform(this._secureUrl.internalValue),
1025
+ isBlock: true,
1026
+ type: "list",
1027
+ storageClassType: "NotificationDestinationSecureUrlList",
1028
+ },
1029
+ timeouts: {
1030
+ value: notificationDestinationTimeoutsToHclTerraform(this._timeouts.internalValue),
1031
+ isBlock: true,
1032
+ type: "struct",
1033
+ storageClassType: "NotificationDestinationTimeouts",
1034
+ },
1035
+ };
1036
+ // remove undefined attributes
1037
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
1038
+ }
1039
+ }