@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,666 @@
1
+ // https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/one_dashboard_raw
2
+ // generated from terraform resource schema
3
+ import * as cdktf from 'cdktf';
4
+ export function oneDashboardRawPageWidgetToTerraform(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
+ column: cdktf.numberToTerraform(struct.column),
13
+ configuration: cdktf.stringToTerraform(struct.configuration),
14
+ height: cdktf.numberToTerraform(struct.height),
15
+ linked_entity_guids: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.linkedEntityGuids),
16
+ row: cdktf.numberToTerraform(struct.row),
17
+ title: cdktf.stringToTerraform(struct.title),
18
+ visualization_id: cdktf.stringToTerraform(struct.visualizationId),
19
+ width: cdktf.numberToTerraform(struct.width),
20
+ };
21
+ }
22
+ export function oneDashboardRawPageWidgetToHclTerraform(struct) {
23
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
24
+ return struct;
25
+ }
26
+ if (cdktf.isComplexElement(struct)) {
27
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
28
+ }
29
+ const attrs = {
30
+ column: {
31
+ value: cdktf.numberToHclTerraform(struct.column),
32
+ isBlock: false,
33
+ type: "simple",
34
+ storageClassType: "number",
35
+ },
36
+ configuration: {
37
+ value: cdktf.stringToHclTerraform(struct.configuration),
38
+ isBlock: false,
39
+ type: "simple",
40
+ storageClassType: "string",
41
+ },
42
+ height: {
43
+ value: cdktf.numberToHclTerraform(struct.height),
44
+ isBlock: false,
45
+ type: "simple",
46
+ storageClassType: "number",
47
+ },
48
+ linked_entity_guids: {
49
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.linkedEntityGuids),
50
+ isBlock: false,
51
+ type: "list",
52
+ storageClassType: "stringList",
53
+ },
54
+ row: {
55
+ value: cdktf.numberToHclTerraform(struct.row),
56
+ isBlock: false,
57
+ type: "simple",
58
+ storageClassType: "number",
59
+ },
60
+ title: {
61
+ value: cdktf.stringToHclTerraform(struct.title),
62
+ isBlock: false,
63
+ type: "simple",
64
+ storageClassType: "string",
65
+ },
66
+ visualization_id: {
67
+ value: cdktf.stringToHclTerraform(struct.visualizationId),
68
+ isBlock: false,
69
+ type: "simple",
70
+ storageClassType: "string",
71
+ },
72
+ width: {
73
+ value: cdktf.numberToHclTerraform(struct.width),
74
+ isBlock: false,
75
+ type: "simple",
76
+ storageClassType: "number",
77
+ },
78
+ };
79
+ // remove undefined attributes
80
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
81
+ }
82
+ export class OneDashboardRawPageWidgetOutputReference extends cdktf.ComplexObject {
83
+ isEmptyObject = false;
84
+ resolvableValue;
85
+ /**
86
+ * @param terraformResource The parent resource
87
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
88
+ * @param complexObjectIndex the index of this item in the list
89
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
90
+ */
91
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
92
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
93
+ }
94
+ get internalValue() {
95
+ if (this.resolvableValue) {
96
+ return this.resolvableValue;
97
+ }
98
+ let hasAnyValues = this.isEmptyObject;
99
+ const internalValueResult = {};
100
+ if (this._column !== undefined) {
101
+ hasAnyValues = true;
102
+ internalValueResult.column = this._column;
103
+ }
104
+ if (this._configuration !== undefined) {
105
+ hasAnyValues = true;
106
+ internalValueResult.configuration = this._configuration;
107
+ }
108
+ if (this._height !== undefined) {
109
+ hasAnyValues = true;
110
+ internalValueResult.height = this._height;
111
+ }
112
+ if (this._linkedEntityGuids !== undefined) {
113
+ hasAnyValues = true;
114
+ internalValueResult.linkedEntityGuids = this._linkedEntityGuids;
115
+ }
116
+ if (this._row !== undefined) {
117
+ hasAnyValues = true;
118
+ internalValueResult.row = this._row;
119
+ }
120
+ if (this._title !== undefined) {
121
+ hasAnyValues = true;
122
+ internalValueResult.title = this._title;
123
+ }
124
+ if (this._visualizationId !== undefined) {
125
+ hasAnyValues = true;
126
+ internalValueResult.visualizationId = this._visualizationId;
127
+ }
128
+ if (this._width !== undefined) {
129
+ hasAnyValues = true;
130
+ internalValueResult.width = this._width;
131
+ }
132
+ return hasAnyValues ? internalValueResult : undefined;
133
+ }
134
+ set internalValue(value) {
135
+ if (value === undefined) {
136
+ this.isEmptyObject = false;
137
+ this.resolvableValue = undefined;
138
+ this._column = undefined;
139
+ this._configuration = undefined;
140
+ this._height = undefined;
141
+ this._linkedEntityGuids = undefined;
142
+ this._row = undefined;
143
+ this._title = undefined;
144
+ this._visualizationId = undefined;
145
+ this._width = undefined;
146
+ }
147
+ else if (cdktf.Tokenization.isResolvable(value)) {
148
+ this.isEmptyObject = false;
149
+ this.resolvableValue = value;
150
+ }
151
+ else {
152
+ this.isEmptyObject = Object.keys(value).length === 0;
153
+ this.resolvableValue = undefined;
154
+ this._column = value.column;
155
+ this._configuration = value.configuration;
156
+ this._height = value.height;
157
+ this._linkedEntityGuids = value.linkedEntityGuids;
158
+ this._row = value.row;
159
+ this._title = value.title;
160
+ this._visualizationId = value.visualizationId;
161
+ this._width = value.width;
162
+ }
163
+ }
164
+ // column - computed: false, optional: false, required: true
165
+ _column;
166
+ get column() {
167
+ return this.getNumberAttribute('column');
168
+ }
169
+ set column(value) {
170
+ this._column = value;
171
+ }
172
+ // Temporarily expose input value. Use with caution.
173
+ get columnInput() {
174
+ return this._column;
175
+ }
176
+ // configuration - computed: false, optional: false, required: true
177
+ _configuration;
178
+ get configuration() {
179
+ return this.getStringAttribute('configuration');
180
+ }
181
+ set configuration(value) {
182
+ this._configuration = value;
183
+ }
184
+ // Temporarily expose input value. Use with caution.
185
+ get configurationInput() {
186
+ return this._configuration;
187
+ }
188
+ // height - computed: false, optional: true, required: false
189
+ _height;
190
+ get height() {
191
+ return this.getNumberAttribute('height');
192
+ }
193
+ set height(value) {
194
+ this._height = value;
195
+ }
196
+ resetHeight() {
197
+ this._height = undefined;
198
+ }
199
+ // Temporarily expose input value. Use with caution.
200
+ get heightInput() {
201
+ return this._height;
202
+ }
203
+ // id - computed: true, optional: false, required: false
204
+ get id() {
205
+ return this.getStringAttribute('id');
206
+ }
207
+ // linked_entity_guids - computed: false, optional: true, required: false
208
+ _linkedEntityGuids;
209
+ get linkedEntityGuids() {
210
+ return this.getListAttribute('linked_entity_guids');
211
+ }
212
+ set linkedEntityGuids(value) {
213
+ this._linkedEntityGuids = value;
214
+ }
215
+ resetLinkedEntityGuids() {
216
+ this._linkedEntityGuids = undefined;
217
+ }
218
+ // Temporarily expose input value. Use with caution.
219
+ get linkedEntityGuidsInput() {
220
+ return this._linkedEntityGuids;
221
+ }
222
+ // row - computed: false, optional: false, required: true
223
+ _row;
224
+ get row() {
225
+ return this.getNumberAttribute('row');
226
+ }
227
+ set row(value) {
228
+ this._row = value;
229
+ }
230
+ // Temporarily expose input value. Use with caution.
231
+ get rowInput() {
232
+ return this._row;
233
+ }
234
+ // title - computed: false, optional: false, required: true
235
+ _title;
236
+ get title() {
237
+ return this.getStringAttribute('title');
238
+ }
239
+ set title(value) {
240
+ this._title = value;
241
+ }
242
+ // Temporarily expose input value. Use with caution.
243
+ get titleInput() {
244
+ return this._title;
245
+ }
246
+ // visualization_id - computed: false, optional: false, required: true
247
+ _visualizationId;
248
+ get visualizationId() {
249
+ return this.getStringAttribute('visualization_id');
250
+ }
251
+ set visualizationId(value) {
252
+ this._visualizationId = value;
253
+ }
254
+ // Temporarily expose input value. Use with caution.
255
+ get visualizationIdInput() {
256
+ return this._visualizationId;
257
+ }
258
+ // width - computed: false, optional: true, required: false
259
+ _width;
260
+ get width() {
261
+ return this.getNumberAttribute('width');
262
+ }
263
+ set width(value) {
264
+ this._width = value;
265
+ }
266
+ resetWidth() {
267
+ this._width = undefined;
268
+ }
269
+ // Temporarily expose input value. Use with caution.
270
+ get widthInput() {
271
+ return this._width;
272
+ }
273
+ }
274
+ export class OneDashboardRawPageWidgetList extends cdktf.ComplexList {
275
+ terraformResource;
276
+ terraformAttribute;
277
+ wrapsSet;
278
+ internalValue;
279
+ /**
280
+ * @param terraformResource The parent resource
281
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
282
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
283
+ */
284
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
285
+ super(terraformResource, terraformAttribute, wrapsSet);
286
+ this.terraformResource = terraformResource;
287
+ this.terraformAttribute = terraformAttribute;
288
+ this.wrapsSet = wrapsSet;
289
+ }
290
+ /**
291
+ * @param index the index of the item to return
292
+ */
293
+ get(index) {
294
+ return new OneDashboardRawPageWidgetOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
295
+ }
296
+ }
297
+ export function oneDashboardRawPageToTerraform(struct) {
298
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
299
+ return struct;
300
+ }
301
+ if (cdktf.isComplexElement(struct)) {
302
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
303
+ }
304
+ return {
305
+ description: cdktf.stringToTerraform(struct.description),
306
+ name: cdktf.stringToTerraform(struct.name),
307
+ widget: cdktf.listMapper(oneDashboardRawPageWidgetToTerraform, true)(struct.widget),
308
+ };
309
+ }
310
+ export function oneDashboardRawPageToHclTerraform(struct) {
311
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
312
+ return struct;
313
+ }
314
+ if (cdktf.isComplexElement(struct)) {
315
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
316
+ }
317
+ const attrs = {
318
+ description: {
319
+ value: cdktf.stringToHclTerraform(struct.description),
320
+ isBlock: false,
321
+ type: "simple",
322
+ storageClassType: "string",
323
+ },
324
+ name: {
325
+ value: cdktf.stringToHclTerraform(struct.name),
326
+ isBlock: false,
327
+ type: "simple",
328
+ storageClassType: "string",
329
+ },
330
+ widget: {
331
+ value: cdktf.listMapperHcl(oneDashboardRawPageWidgetToHclTerraform, true)(struct.widget),
332
+ isBlock: true,
333
+ type: "list",
334
+ storageClassType: "OneDashboardRawPageWidgetList",
335
+ },
336
+ };
337
+ // remove undefined attributes
338
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
339
+ }
340
+ export class OneDashboardRawPageOutputReference extends cdktf.ComplexObject {
341
+ isEmptyObject = false;
342
+ resolvableValue;
343
+ /**
344
+ * @param terraformResource The parent resource
345
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
346
+ * @param complexObjectIndex the index of this item in the list
347
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
348
+ */
349
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
350
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
351
+ }
352
+ get internalValue() {
353
+ if (this.resolvableValue) {
354
+ return this.resolvableValue;
355
+ }
356
+ let hasAnyValues = this.isEmptyObject;
357
+ const internalValueResult = {};
358
+ if (this._description !== undefined) {
359
+ hasAnyValues = true;
360
+ internalValueResult.description = this._description;
361
+ }
362
+ if (this._name !== undefined) {
363
+ hasAnyValues = true;
364
+ internalValueResult.name = this._name;
365
+ }
366
+ if (this._widget?.internalValue !== undefined) {
367
+ hasAnyValues = true;
368
+ internalValueResult.widget = this._widget?.internalValue;
369
+ }
370
+ return hasAnyValues ? internalValueResult : undefined;
371
+ }
372
+ set internalValue(value) {
373
+ if (value === undefined) {
374
+ this.isEmptyObject = false;
375
+ this.resolvableValue = undefined;
376
+ this._description = undefined;
377
+ this._name = undefined;
378
+ this._widget.internalValue = undefined;
379
+ }
380
+ else if (cdktf.Tokenization.isResolvable(value)) {
381
+ this.isEmptyObject = false;
382
+ this.resolvableValue = value;
383
+ }
384
+ else {
385
+ this.isEmptyObject = Object.keys(value).length === 0;
386
+ this.resolvableValue = undefined;
387
+ this._description = value.description;
388
+ this._name = value.name;
389
+ this._widget.internalValue = value.widget;
390
+ }
391
+ }
392
+ // description - computed: false, optional: true, required: false
393
+ _description;
394
+ get description() {
395
+ return this.getStringAttribute('description');
396
+ }
397
+ set description(value) {
398
+ this._description = value;
399
+ }
400
+ resetDescription() {
401
+ this._description = undefined;
402
+ }
403
+ // Temporarily expose input value. Use with caution.
404
+ get descriptionInput() {
405
+ return this._description;
406
+ }
407
+ // guid - computed: true, optional: false, required: false
408
+ get guid() {
409
+ return this.getStringAttribute('guid');
410
+ }
411
+ // name - computed: false, optional: false, required: true
412
+ _name;
413
+ get name() {
414
+ return this.getStringAttribute('name');
415
+ }
416
+ set name(value) {
417
+ this._name = value;
418
+ }
419
+ // Temporarily expose input value. Use with caution.
420
+ get nameInput() {
421
+ return this._name;
422
+ }
423
+ // widget - computed: false, optional: true, required: false
424
+ _widget = new OneDashboardRawPageWidgetList(this, "widget", false);
425
+ get widget() {
426
+ return this._widget;
427
+ }
428
+ putWidget(value) {
429
+ this._widget.internalValue = value;
430
+ }
431
+ resetWidget() {
432
+ this._widget.internalValue = undefined;
433
+ }
434
+ // Temporarily expose input value. Use with caution.
435
+ get widgetInput() {
436
+ return this._widget.internalValue;
437
+ }
438
+ }
439
+ export class OneDashboardRawPageList extends cdktf.ComplexList {
440
+ terraformResource;
441
+ terraformAttribute;
442
+ wrapsSet;
443
+ internalValue;
444
+ /**
445
+ * @param terraformResource The parent resource
446
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
447
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
448
+ */
449
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
450
+ super(terraformResource, terraformAttribute, wrapsSet);
451
+ this.terraformResource = terraformResource;
452
+ this.terraformAttribute = terraformAttribute;
453
+ this.wrapsSet = wrapsSet;
454
+ }
455
+ /**
456
+ * @param index the index of the item to return
457
+ */
458
+ get(index) {
459
+ return new OneDashboardRawPageOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
460
+ }
461
+ }
462
+ /**
463
+ * Represents a {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/one_dashboard_raw newrelic_one_dashboard_raw}
464
+ */
465
+ export class OneDashboardRaw extends cdktf.TerraformResource {
466
+ // =================
467
+ // STATIC PROPERTIES
468
+ // =================
469
+ static tfResourceType = "newrelic_one_dashboard_raw";
470
+ // ==============
471
+ // STATIC Methods
472
+ // ==============
473
+ /**
474
+ * Generates CDKTF code for importing a OneDashboardRaw resource upon running "cdktf plan <stack-name>"
475
+ * @param scope The scope in which to define this construct
476
+ * @param importToId The construct id used in the generated config for the OneDashboardRaw to import
477
+ * @param importFromId The id of the existing OneDashboardRaw that should be imported. Refer to the {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/one_dashboard_raw#import import section} in the documentation of this resource for the id to use
478
+ * @param provider? Optional instance of the provider where the OneDashboardRaw to import is found
479
+ */
480
+ static generateConfigForImport(scope, importToId, importFromId, provider) {
481
+ return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "newrelic_one_dashboard_raw", importId: importFromId, provider });
482
+ }
483
+ // ===========
484
+ // INITIALIZER
485
+ // ===========
486
+ /**
487
+ * Create a new {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/one_dashboard_raw newrelic_one_dashboard_raw} Resource
488
+ *
489
+ * @param scope The scope in which to define this construct
490
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
491
+ * @param options OneDashboardRawConfig
492
+ */
493
+ constructor(scope, id, config) {
494
+ super(scope, id, {
495
+ terraformResourceType: 'newrelic_one_dashboard_raw',
496
+ terraformGeneratorMetadata: {
497
+ providerName: 'newrelic',
498
+ providerVersion: '3.75.4',
499
+ providerVersionConstraint: '3.75.4'
500
+ },
501
+ provider: config.provider,
502
+ dependsOn: config.dependsOn,
503
+ count: config.count,
504
+ lifecycle: config.lifecycle,
505
+ provisioners: config.provisioners,
506
+ connection: config.connection,
507
+ forEach: config.forEach
508
+ });
509
+ this._accountId = config.accountId;
510
+ this._description = config.description;
511
+ this._id = config.id;
512
+ this._name = config.name;
513
+ this._permissions = config.permissions;
514
+ this._page.internalValue = config.page;
515
+ }
516
+ // ==========
517
+ // ATTRIBUTES
518
+ // ==========
519
+ // account_id - computed: true, optional: true, required: false
520
+ _accountId;
521
+ get accountId() {
522
+ return this.getNumberAttribute('account_id');
523
+ }
524
+ set accountId(value) {
525
+ this._accountId = value;
526
+ }
527
+ resetAccountId() {
528
+ this._accountId = undefined;
529
+ }
530
+ // Temporarily expose input value. Use with caution.
531
+ get accountIdInput() {
532
+ return this._accountId;
533
+ }
534
+ // description - computed: false, optional: true, required: false
535
+ _description;
536
+ get description() {
537
+ return this.getStringAttribute('description');
538
+ }
539
+ set description(value) {
540
+ this._description = value;
541
+ }
542
+ resetDescription() {
543
+ this._description = undefined;
544
+ }
545
+ // Temporarily expose input value. Use with caution.
546
+ get descriptionInput() {
547
+ return this._description;
548
+ }
549
+ // guid - computed: true, optional: false, required: false
550
+ get guid() {
551
+ return this.getStringAttribute('guid');
552
+ }
553
+ // id - computed: true, optional: true, required: false
554
+ _id;
555
+ get id() {
556
+ return this.getStringAttribute('id');
557
+ }
558
+ set id(value) {
559
+ this._id = value;
560
+ }
561
+ resetId() {
562
+ this._id = undefined;
563
+ }
564
+ // Temporarily expose input value. Use with caution.
565
+ get idInput() {
566
+ return this._id;
567
+ }
568
+ // name - computed: false, optional: false, required: true
569
+ _name;
570
+ get name() {
571
+ return this.getStringAttribute('name');
572
+ }
573
+ set name(value) {
574
+ this._name = value;
575
+ }
576
+ // Temporarily expose input value. Use with caution.
577
+ get nameInput() {
578
+ return this._name;
579
+ }
580
+ // permalink - computed: true, optional: false, required: false
581
+ get permalink() {
582
+ return this.getStringAttribute('permalink');
583
+ }
584
+ // permissions - computed: false, optional: true, required: false
585
+ _permissions;
586
+ get permissions() {
587
+ return this.getStringAttribute('permissions');
588
+ }
589
+ set permissions(value) {
590
+ this._permissions = value;
591
+ }
592
+ resetPermissions() {
593
+ this._permissions = undefined;
594
+ }
595
+ // Temporarily expose input value. Use with caution.
596
+ get permissionsInput() {
597
+ return this._permissions;
598
+ }
599
+ // page - computed: false, optional: false, required: true
600
+ _page = new OneDashboardRawPageList(this, "page", false);
601
+ get page() {
602
+ return this._page;
603
+ }
604
+ putPage(value) {
605
+ this._page.internalValue = value;
606
+ }
607
+ // Temporarily expose input value. Use with caution.
608
+ get pageInput() {
609
+ return this._page.internalValue;
610
+ }
611
+ // =========
612
+ // SYNTHESIS
613
+ // =========
614
+ synthesizeAttributes() {
615
+ return {
616
+ account_id: cdktf.numberToTerraform(this._accountId),
617
+ description: cdktf.stringToTerraform(this._description),
618
+ id: cdktf.stringToTerraform(this._id),
619
+ name: cdktf.stringToTerraform(this._name),
620
+ permissions: cdktf.stringToTerraform(this._permissions),
621
+ page: cdktf.listMapper(oneDashboardRawPageToTerraform, true)(this._page.internalValue),
622
+ };
623
+ }
624
+ synthesizeHclAttributes() {
625
+ const attrs = {
626
+ account_id: {
627
+ value: cdktf.numberToHclTerraform(this._accountId),
628
+ isBlock: false,
629
+ type: "simple",
630
+ storageClassType: "number",
631
+ },
632
+ description: {
633
+ value: cdktf.stringToHclTerraform(this._description),
634
+ isBlock: false,
635
+ type: "simple",
636
+ storageClassType: "string",
637
+ },
638
+ id: {
639
+ value: cdktf.stringToHclTerraform(this._id),
640
+ isBlock: false,
641
+ type: "simple",
642
+ storageClassType: "string",
643
+ },
644
+ name: {
645
+ value: cdktf.stringToHclTerraform(this._name),
646
+ isBlock: false,
647
+ type: "simple",
648
+ storageClassType: "string",
649
+ },
650
+ permissions: {
651
+ value: cdktf.stringToHclTerraform(this._permissions),
652
+ isBlock: false,
653
+ type: "simple",
654
+ storageClassType: "string",
655
+ },
656
+ page: {
657
+ value: cdktf.listMapperHcl(oneDashboardRawPageToHclTerraform, true)(this._page.internalValue),
658
+ isBlock: true,
659
+ type: "list",
660
+ storageClassType: "OneDashboardRawPageList",
661
+ },
662
+ };
663
+ // remove undefined attributes
664
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
665
+ }
666
+ }