@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,561 @@
1
+ // https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/notification_channel
2
+ // generated from terraform resource schema
3
+ import * as cdktf from 'cdktf';
4
+ export function notificationChannelPropertyToTerraform(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
+ display_value: cdktf.stringToTerraform(struct.displayValue),
13
+ key: cdktf.stringToTerraform(struct.key),
14
+ label: cdktf.stringToTerraform(struct.label),
15
+ value: cdktf.stringToTerraform(struct.value),
16
+ };
17
+ }
18
+ export function notificationChannelPropertyToHclTerraform(struct) {
19
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
20
+ return struct;
21
+ }
22
+ if (cdktf.isComplexElement(struct)) {
23
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
24
+ }
25
+ const attrs = {
26
+ display_value: {
27
+ value: cdktf.stringToHclTerraform(struct.displayValue),
28
+ isBlock: false,
29
+ type: "simple",
30
+ storageClassType: "string",
31
+ },
32
+ key: {
33
+ value: cdktf.stringToHclTerraform(struct.key),
34
+ isBlock: false,
35
+ type: "simple",
36
+ storageClassType: "string",
37
+ },
38
+ label: {
39
+ value: cdktf.stringToHclTerraform(struct.label),
40
+ isBlock: false,
41
+ type: "simple",
42
+ storageClassType: "string",
43
+ },
44
+ value: {
45
+ value: cdktf.stringToHclTerraform(struct.value),
46
+ isBlock: false,
47
+ type: "simple",
48
+ storageClassType: "string",
49
+ },
50
+ };
51
+ // remove undefined attributes
52
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
53
+ }
54
+ export class NotificationChannelPropertyOutputReference extends cdktf.ComplexObject {
55
+ isEmptyObject = false;
56
+ resolvableValue;
57
+ /**
58
+ * @param terraformResource The parent resource
59
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
60
+ * @param complexObjectIndex the index of this item in the list
61
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
62
+ */
63
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
64
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
65
+ }
66
+ get internalValue() {
67
+ if (this.resolvableValue) {
68
+ return this.resolvableValue;
69
+ }
70
+ let hasAnyValues = this.isEmptyObject;
71
+ const internalValueResult = {};
72
+ if (this._displayValue !== undefined) {
73
+ hasAnyValues = true;
74
+ internalValueResult.displayValue = this._displayValue;
75
+ }
76
+ if (this._key !== undefined) {
77
+ hasAnyValues = true;
78
+ internalValueResult.key = this._key;
79
+ }
80
+ if (this._label !== undefined) {
81
+ hasAnyValues = true;
82
+ internalValueResult.label = this._label;
83
+ }
84
+ if (this._value !== undefined) {
85
+ hasAnyValues = true;
86
+ internalValueResult.value = this._value;
87
+ }
88
+ return hasAnyValues ? internalValueResult : undefined;
89
+ }
90
+ set internalValue(value) {
91
+ if (value === undefined) {
92
+ this.isEmptyObject = false;
93
+ this.resolvableValue = undefined;
94
+ this._displayValue = undefined;
95
+ this._key = undefined;
96
+ this._label = undefined;
97
+ this._value = undefined;
98
+ }
99
+ else if (cdktf.Tokenization.isResolvable(value)) {
100
+ this.isEmptyObject = false;
101
+ this.resolvableValue = value;
102
+ }
103
+ else {
104
+ this.isEmptyObject = Object.keys(value).length === 0;
105
+ this.resolvableValue = undefined;
106
+ this._displayValue = value.displayValue;
107
+ this._key = value.key;
108
+ this._label = value.label;
109
+ this._value = value.value;
110
+ }
111
+ }
112
+ // display_value - computed: false, optional: true, required: false
113
+ _displayValue;
114
+ get displayValue() {
115
+ return this.getStringAttribute('display_value');
116
+ }
117
+ set displayValue(value) {
118
+ this._displayValue = value;
119
+ }
120
+ resetDisplayValue() {
121
+ this._displayValue = undefined;
122
+ }
123
+ // Temporarily expose input value. Use with caution.
124
+ get displayValueInput() {
125
+ return this._displayValue;
126
+ }
127
+ // key - computed: false, optional: false, required: true
128
+ _key;
129
+ get key() {
130
+ return this.getStringAttribute('key');
131
+ }
132
+ set key(value) {
133
+ this._key = value;
134
+ }
135
+ // Temporarily expose input value. Use with caution.
136
+ get keyInput() {
137
+ return this._key;
138
+ }
139
+ // label - computed: false, optional: true, required: false
140
+ _label;
141
+ get label() {
142
+ return this.getStringAttribute('label');
143
+ }
144
+ set label(value) {
145
+ this._label = value;
146
+ }
147
+ resetLabel() {
148
+ this._label = undefined;
149
+ }
150
+ // Temporarily expose input value. Use with caution.
151
+ get labelInput() {
152
+ return this._label;
153
+ }
154
+ // value - computed: false, optional: false, required: true
155
+ _value;
156
+ get value() {
157
+ return this.getStringAttribute('value');
158
+ }
159
+ set value(value) {
160
+ this._value = value;
161
+ }
162
+ // Temporarily expose input value. Use with caution.
163
+ get valueInput() {
164
+ return this._value;
165
+ }
166
+ }
167
+ export class NotificationChannelPropertyList extends cdktf.ComplexList {
168
+ terraformResource;
169
+ terraformAttribute;
170
+ wrapsSet;
171
+ internalValue;
172
+ /**
173
+ * @param terraformResource The parent resource
174
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
175
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
176
+ */
177
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
178
+ super(terraformResource, terraformAttribute, wrapsSet);
179
+ this.terraformResource = terraformResource;
180
+ this.terraformAttribute = terraformAttribute;
181
+ this.wrapsSet = wrapsSet;
182
+ }
183
+ /**
184
+ * @param index the index of the item to return
185
+ */
186
+ get(index) {
187
+ return new NotificationChannelPropertyOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
188
+ }
189
+ }
190
+ export function notificationChannelTimeoutsToTerraform(struct) {
191
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
192
+ return struct;
193
+ }
194
+ if (cdktf.isComplexElement(struct)) {
195
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
196
+ }
197
+ return {
198
+ create: cdktf.stringToTerraform(struct.create),
199
+ update: cdktf.stringToTerraform(struct.update),
200
+ };
201
+ }
202
+ export function notificationChannelTimeoutsToHclTerraform(struct) {
203
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
204
+ return struct;
205
+ }
206
+ if (cdktf.isComplexElement(struct)) {
207
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
208
+ }
209
+ const attrs = {
210
+ create: {
211
+ value: cdktf.stringToHclTerraform(struct.create),
212
+ isBlock: false,
213
+ type: "simple",
214
+ storageClassType: "string",
215
+ },
216
+ update: {
217
+ value: cdktf.stringToHclTerraform(struct.update),
218
+ isBlock: false,
219
+ type: "simple",
220
+ storageClassType: "string",
221
+ },
222
+ };
223
+ // remove undefined attributes
224
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
225
+ }
226
+ export class NotificationChannelTimeoutsOutputReference extends cdktf.ComplexObject {
227
+ isEmptyObject = false;
228
+ resolvableValue;
229
+ /**
230
+ * @param terraformResource The parent resource
231
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
232
+ */
233
+ constructor(terraformResource, terraformAttribute) {
234
+ super(terraformResource, terraformAttribute, false);
235
+ }
236
+ get internalValue() {
237
+ if (this.resolvableValue) {
238
+ return this.resolvableValue;
239
+ }
240
+ let hasAnyValues = this.isEmptyObject;
241
+ const internalValueResult = {};
242
+ if (this._create !== undefined) {
243
+ hasAnyValues = true;
244
+ internalValueResult.create = this._create;
245
+ }
246
+ if (this._update !== undefined) {
247
+ hasAnyValues = true;
248
+ internalValueResult.update = this._update;
249
+ }
250
+ return hasAnyValues ? internalValueResult : undefined;
251
+ }
252
+ set internalValue(value) {
253
+ if (value === undefined) {
254
+ this.isEmptyObject = false;
255
+ this.resolvableValue = undefined;
256
+ this._create = undefined;
257
+ this._update = undefined;
258
+ }
259
+ else if (cdktf.Tokenization.isResolvable(value)) {
260
+ this.isEmptyObject = false;
261
+ this.resolvableValue = value;
262
+ }
263
+ else {
264
+ this.isEmptyObject = Object.keys(value).length === 0;
265
+ this.resolvableValue = undefined;
266
+ this._create = value.create;
267
+ this._update = value.update;
268
+ }
269
+ }
270
+ // create - computed: false, optional: true, required: false
271
+ _create;
272
+ get create() {
273
+ return this.getStringAttribute('create');
274
+ }
275
+ set create(value) {
276
+ this._create = value;
277
+ }
278
+ resetCreate() {
279
+ this._create = undefined;
280
+ }
281
+ // Temporarily expose input value. Use with caution.
282
+ get createInput() {
283
+ return this._create;
284
+ }
285
+ // update - computed: false, optional: true, required: false
286
+ _update;
287
+ get update() {
288
+ return this.getStringAttribute('update');
289
+ }
290
+ set update(value) {
291
+ this._update = value;
292
+ }
293
+ resetUpdate() {
294
+ this._update = undefined;
295
+ }
296
+ // Temporarily expose input value. Use with caution.
297
+ get updateInput() {
298
+ return this._update;
299
+ }
300
+ }
301
+ /**
302
+ * Represents a {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/notification_channel newrelic_notification_channel}
303
+ */
304
+ export class NotificationChannel extends cdktf.TerraformResource {
305
+ // =================
306
+ // STATIC PROPERTIES
307
+ // =================
308
+ static tfResourceType = "newrelic_notification_channel";
309
+ // ==============
310
+ // STATIC Methods
311
+ // ==============
312
+ /**
313
+ * Generates CDKTF code for importing a NotificationChannel resource upon running "cdktf plan <stack-name>"
314
+ * @param scope The scope in which to define this construct
315
+ * @param importToId The construct id used in the generated config for the NotificationChannel to import
316
+ * @param importFromId The id of the existing NotificationChannel that should be imported. Refer to the {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/notification_channel#import import section} in the documentation of this resource for the id to use
317
+ * @param provider? Optional instance of the provider where the NotificationChannel to import is found
318
+ */
319
+ static generateConfigForImport(scope, importToId, importFromId, provider) {
320
+ return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "newrelic_notification_channel", importId: importFromId, provider });
321
+ }
322
+ // ===========
323
+ // INITIALIZER
324
+ // ===========
325
+ /**
326
+ * Create a new {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/notification_channel newrelic_notification_channel} Resource
327
+ *
328
+ * @param scope The scope in which to define this construct
329
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
330
+ * @param options NotificationChannelConfig
331
+ */
332
+ constructor(scope, id, config) {
333
+ super(scope, id, {
334
+ terraformResourceType: 'newrelic_notification_channel',
335
+ terraformGeneratorMetadata: {
336
+ providerName: 'newrelic',
337
+ providerVersion: '3.75.4',
338
+ providerVersionConstraint: '3.75.4'
339
+ },
340
+ provider: config.provider,
341
+ dependsOn: config.dependsOn,
342
+ count: config.count,
343
+ lifecycle: config.lifecycle,
344
+ provisioners: config.provisioners,
345
+ connection: config.connection,
346
+ forEach: config.forEach
347
+ });
348
+ this._accountId = config.accountId;
349
+ this._active = config.active;
350
+ this._destinationId = config.destinationId;
351
+ this._id = config.id;
352
+ this._name = config.name;
353
+ this._product = config.product;
354
+ this._type = config.type;
355
+ this._property.internalValue = config.property;
356
+ this._timeouts.internalValue = config.timeouts;
357
+ }
358
+ // ==========
359
+ // ATTRIBUTES
360
+ // ==========
361
+ // account_id - computed: true, optional: true, required: false
362
+ _accountId;
363
+ get accountId() {
364
+ return this.getNumberAttribute('account_id');
365
+ }
366
+ set accountId(value) {
367
+ this._accountId = value;
368
+ }
369
+ resetAccountId() {
370
+ this._accountId = undefined;
371
+ }
372
+ // Temporarily expose input value. Use with caution.
373
+ get accountIdInput() {
374
+ return this._accountId;
375
+ }
376
+ // active - computed: false, optional: true, required: false
377
+ _active;
378
+ get active() {
379
+ return this.getBooleanAttribute('active');
380
+ }
381
+ set active(value) {
382
+ this._active = value;
383
+ }
384
+ resetActive() {
385
+ this._active = undefined;
386
+ }
387
+ // Temporarily expose input value. Use with caution.
388
+ get activeInput() {
389
+ return this._active;
390
+ }
391
+ // destination_id - computed: false, optional: false, required: true
392
+ _destinationId;
393
+ get destinationId() {
394
+ return this.getStringAttribute('destination_id');
395
+ }
396
+ set destinationId(value) {
397
+ this._destinationId = value;
398
+ }
399
+ // Temporarily expose input value. Use with caution.
400
+ get destinationIdInput() {
401
+ return this._destinationId;
402
+ }
403
+ // id - computed: true, optional: true, required: false
404
+ _id;
405
+ get id() {
406
+ return this.getStringAttribute('id');
407
+ }
408
+ set id(value) {
409
+ this._id = value;
410
+ }
411
+ resetId() {
412
+ this._id = undefined;
413
+ }
414
+ // Temporarily expose input value. Use with caution.
415
+ get idInput() {
416
+ return this._id;
417
+ }
418
+ // name - computed: false, optional: false, required: true
419
+ _name;
420
+ get name() {
421
+ return this.getStringAttribute('name');
422
+ }
423
+ set name(value) {
424
+ this._name = value;
425
+ }
426
+ // Temporarily expose input value. Use with caution.
427
+ get nameInput() {
428
+ return this._name;
429
+ }
430
+ // product - computed: false, optional: false, required: true
431
+ _product;
432
+ get product() {
433
+ return this.getStringAttribute('product');
434
+ }
435
+ set product(value) {
436
+ this._product = value;
437
+ }
438
+ // Temporarily expose input value. Use with caution.
439
+ get productInput() {
440
+ return this._product;
441
+ }
442
+ // status - computed: true, optional: false, required: false
443
+ get status() {
444
+ return this.getStringAttribute('status');
445
+ }
446
+ // type - computed: false, optional: false, required: true
447
+ _type;
448
+ get type() {
449
+ return this.getStringAttribute('type');
450
+ }
451
+ set type(value) {
452
+ this._type = value;
453
+ }
454
+ // Temporarily expose input value. Use with caution.
455
+ get typeInput() {
456
+ return this._type;
457
+ }
458
+ // property - computed: false, optional: false, required: true
459
+ _property = new NotificationChannelPropertyList(this, "property", true);
460
+ get property() {
461
+ return this._property;
462
+ }
463
+ putProperty(value) {
464
+ this._property.internalValue = value;
465
+ }
466
+ // Temporarily expose input value. Use with caution.
467
+ get propertyInput() {
468
+ return this._property.internalValue;
469
+ }
470
+ // timeouts - computed: false, optional: true, required: false
471
+ _timeouts = new NotificationChannelTimeoutsOutputReference(this, "timeouts");
472
+ get timeouts() {
473
+ return this._timeouts;
474
+ }
475
+ putTimeouts(value) {
476
+ this._timeouts.internalValue = value;
477
+ }
478
+ resetTimeouts() {
479
+ this._timeouts.internalValue = undefined;
480
+ }
481
+ // Temporarily expose input value. Use with caution.
482
+ get timeoutsInput() {
483
+ return this._timeouts.internalValue;
484
+ }
485
+ // =========
486
+ // SYNTHESIS
487
+ // =========
488
+ synthesizeAttributes() {
489
+ return {
490
+ account_id: cdktf.numberToTerraform(this._accountId),
491
+ active: cdktf.booleanToTerraform(this._active),
492
+ destination_id: cdktf.stringToTerraform(this._destinationId),
493
+ id: cdktf.stringToTerraform(this._id),
494
+ name: cdktf.stringToTerraform(this._name),
495
+ product: cdktf.stringToTerraform(this._product),
496
+ type: cdktf.stringToTerraform(this._type),
497
+ property: cdktf.listMapper(notificationChannelPropertyToTerraform, true)(this._property.internalValue),
498
+ timeouts: notificationChannelTimeoutsToTerraform(this._timeouts.internalValue),
499
+ };
500
+ }
501
+ synthesizeHclAttributes() {
502
+ const attrs = {
503
+ account_id: {
504
+ value: cdktf.numberToHclTerraform(this._accountId),
505
+ isBlock: false,
506
+ type: "simple",
507
+ storageClassType: "number",
508
+ },
509
+ active: {
510
+ value: cdktf.booleanToHclTerraform(this._active),
511
+ isBlock: false,
512
+ type: "simple",
513
+ storageClassType: "boolean",
514
+ },
515
+ destination_id: {
516
+ value: cdktf.stringToHclTerraform(this._destinationId),
517
+ isBlock: false,
518
+ type: "simple",
519
+ storageClassType: "string",
520
+ },
521
+ id: {
522
+ value: cdktf.stringToHclTerraform(this._id),
523
+ isBlock: false,
524
+ type: "simple",
525
+ storageClassType: "string",
526
+ },
527
+ name: {
528
+ value: cdktf.stringToHclTerraform(this._name),
529
+ isBlock: false,
530
+ type: "simple",
531
+ storageClassType: "string",
532
+ },
533
+ product: {
534
+ value: cdktf.stringToHclTerraform(this._product),
535
+ isBlock: false,
536
+ type: "simple",
537
+ storageClassType: "string",
538
+ },
539
+ type: {
540
+ value: cdktf.stringToHclTerraform(this._type),
541
+ isBlock: false,
542
+ type: "simple",
543
+ storageClassType: "string",
544
+ },
545
+ property: {
546
+ value: cdktf.listMapperHcl(notificationChannelPropertyToHclTerraform, true)(this._property.internalValue),
547
+ isBlock: true,
548
+ type: "set",
549
+ storageClassType: "NotificationChannelPropertyList",
550
+ },
551
+ timeouts: {
552
+ value: notificationChannelTimeoutsToHclTerraform(this._timeouts.internalValue),
553
+ isBlock: true,
554
+ type: "struct",
555
+ storageClassType: "NotificationChannelTimeouts",
556
+ },
557
+ };
558
+ // remove undefined attributes
559
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
560
+ }
561
+ }