@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,1283 @@
1
+ // https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/workload
2
+ // generated from terraform resource schema
3
+ import * as cdktf from 'cdktf';
4
+ export function workloadEntitySearchQueryToTerraform(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
+ query: cdktf.stringToTerraform(struct.query),
13
+ };
14
+ }
15
+ export function workloadEntitySearchQueryToHclTerraform(struct) {
16
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
17
+ return struct;
18
+ }
19
+ if (cdktf.isComplexElement(struct)) {
20
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
21
+ }
22
+ const attrs = {
23
+ query: {
24
+ value: cdktf.stringToHclTerraform(struct.query),
25
+ isBlock: false,
26
+ type: "simple",
27
+ storageClassType: "string",
28
+ },
29
+ };
30
+ // remove undefined attributes
31
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
32
+ }
33
+ export class WorkloadEntitySearchQueryOutputReference extends cdktf.ComplexObject {
34
+ isEmptyObject = false;
35
+ resolvableValue;
36
+ /**
37
+ * @param terraformResource The parent resource
38
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
39
+ * @param complexObjectIndex the index of this item in the list
40
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
41
+ */
42
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
43
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
44
+ }
45
+ get internalValue() {
46
+ if (this.resolvableValue) {
47
+ return this.resolvableValue;
48
+ }
49
+ let hasAnyValues = this.isEmptyObject;
50
+ const internalValueResult = {};
51
+ if (this._query !== undefined) {
52
+ hasAnyValues = true;
53
+ internalValueResult.query = this._query;
54
+ }
55
+ return hasAnyValues ? internalValueResult : undefined;
56
+ }
57
+ set internalValue(value) {
58
+ if (value === undefined) {
59
+ this.isEmptyObject = false;
60
+ this.resolvableValue = undefined;
61
+ this._query = undefined;
62
+ }
63
+ else if (cdktf.Tokenization.isResolvable(value)) {
64
+ this.isEmptyObject = false;
65
+ this.resolvableValue = value;
66
+ }
67
+ else {
68
+ this.isEmptyObject = Object.keys(value).length === 0;
69
+ this.resolvableValue = undefined;
70
+ this._query = value.query;
71
+ }
72
+ }
73
+ // query - computed: false, optional: false, required: true
74
+ _query;
75
+ get query() {
76
+ return this.getStringAttribute('query');
77
+ }
78
+ set query(value) {
79
+ this._query = value;
80
+ }
81
+ // Temporarily expose input value. Use with caution.
82
+ get queryInput() {
83
+ return this._query;
84
+ }
85
+ }
86
+ export class WorkloadEntitySearchQueryList extends cdktf.ComplexList {
87
+ terraformResource;
88
+ terraformAttribute;
89
+ wrapsSet;
90
+ internalValue;
91
+ /**
92
+ * @param terraformResource The parent resource
93
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
94
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
95
+ */
96
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
97
+ super(terraformResource, terraformAttribute, wrapsSet);
98
+ this.terraformResource = terraformResource;
99
+ this.terraformAttribute = terraformAttribute;
100
+ this.wrapsSet = wrapsSet;
101
+ }
102
+ /**
103
+ * @param index the index of the item to return
104
+ */
105
+ get(index) {
106
+ return new WorkloadEntitySearchQueryOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
107
+ }
108
+ }
109
+ export function workloadStatusConfigAutomaticRemainingEntitiesRuleRemainingEntitiesRuleRollupToTerraform(struct) {
110
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
111
+ return struct;
112
+ }
113
+ if (cdktf.isComplexElement(struct)) {
114
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
115
+ }
116
+ return {
117
+ group_by: cdktf.stringToTerraform(struct.groupBy),
118
+ strategy: cdktf.stringToTerraform(struct.strategy),
119
+ threshold_type: cdktf.stringToTerraform(struct.thresholdType),
120
+ threshold_value: cdktf.numberToTerraform(struct.thresholdValue),
121
+ };
122
+ }
123
+ export function workloadStatusConfigAutomaticRemainingEntitiesRuleRemainingEntitiesRuleRollupToHclTerraform(struct) {
124
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
125
+ return struct;
126
+ }
127
+ if (cdktf.isComplexElement(struct)) {
128
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
129
+ }
130
+ const attrs = {
131
+ group_by: {
132
+ value: cdktf.stringToHclTerraform(struct.groupBy),
133
+ isBlock: false,
134
+ type: "simple",
135
+ storageClassType: "string",
136
+ },
137
+ strategy: {
138
+ value: cdktf.stringToHclTerraform(struct.strategy),
139
+ isBlock: false,
140
+ type: "simple",
141
+ storageClassType: "string",
142
+ },
143
+ threshold_type: {
144
+ value: cdktf.stringToHclTerraform(struct.thresholdType),
145
+ isBlock: false,
146
+ type: "simple",
147
+ storageClassType: "string",
148
+ },
149
+ threshold_value: {
150
+ value: cdktf.numberToHclTerraform(struct.thresholdValue),
151
+ isBlock: false,
152
+ type: "simple",
153
+ storageClassType: "number",
154
+ },
155
+ };
156
+ // remove undefined attributes
157
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
158
+ }
159
+ export class WorkloadStatusConfigAutomaticRemainingEntitiesRuleRemainingEntitiesRuleRollupOutputReference extends cdktf.ComplexObject {
160
+ isEmptyObject = false;
161
+ /**
162
+ * @param terraformResource The parent resource
163
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
164
+ */
165
+ constructor(terraformResource, terraformAttribute) {
166
+ super(terraformResource, terraformAttribute, false, 0);
167
+ }
168
+ get internalValue() {
169
+ let hasAnyValues = this.isEmptyObject;
170
+ const internalValueResult = {};
171
+ if (this._groupBy !== undefined) {
172
+ hasAnyValues = true;
173
+ internalValueResult.groupBy = this._groupBy;
174
+ }
175
+ if (this._strategy !== undefined) {
176
+ hasAnyValues = true;
177
+ internalValueResult.strategy = this._strategy;
178
+ }
179
+ if (this._thresholdType !== undefined) {
180
+ hasAnyValues = true;
181
+ internalValueResult.thresholdType = this._thresholdType;
182
+ }
183
+ if (this._thresholdValue !== undefined) {
184
+ hasAnyValues = true;
185
+ internalValueResult.thresholdValue = this._thresholdValue;
186
+ }
187
+ return hasAnyValues ? internalValueResult : undefined;
188
+ }
189
+ set internalValue(value) {
190
+ if (value === undefined) {
191
+ this.isEmptyObject = false;
192
+ this._groupBy = undefined;
193
+ this._strategy = undefined;
194
+ this._thresholdType = undefined;
195
+ this._thresholdValue = undefined;
196
+ }
197
+ else {
198
+ this.isEmptyObject = Object.keys(value).length === 0;
199
+ this._groupBy = value.groupBy;
200
+ this._strategy = value.strategy;
201
+ this._thresholdType = value.thresholdType;
202
+ this._thresholdValue = value.thresholdValue;
203
+ }
204
+ }
205
+ // group_by - computed: false, optional: false, required: true
206
+ _groupBy;
207
+ get groupBy() {
208
+ return this.getStringAttribute('group_by');
209
+ }
210
+ set groupBy(value) {
211
+ this._groupBy = value;
212
+ }
213
+ // Temporarily expose input value. Use with caution.
214
+ get groupByInput() {
215
+ return this._groupBy;
216
+ }
217
+ // strategy - computed: false, optional: false, required: true
218
+ _strategy;
219
+ get strategy() {
220
+ return this.getStringAttribute('strategy');
221
+ }
222
+ set strategy(value) {
223
+ this._strategy = value;
224
+ }
225
+ // Temporarily expose input value. Use with caution.
226
+ get strategyInput() {
227
+ return this._strategy;
228
+ }
229
+ // threshold_type - computed: false, optional: true, required: false
230
+ _thresholdType;
231
+ get thresholdType() {
232
+ return this.getStringAttribute('threshold_type');
233
+ }
234
+ set thresholdType(value) {
235
+ this._thresholdType = value;
236
+ }
237
+ resetThresholdType() {
238
+ this._thresholdType = undefined;
239
+ }
240
+ // Temporarily expose input value. Use with caution.
241
+ get thresholdTypeInput() {
242
+ return this._thresholdType;
243
+ }
244
+ // threshold_value - computed: false, optional: true, required: false
245
+ _thresholdValue;
246
+ get thresholdValue() {
247
+ return this.getNumberAttribute('threshold_value');
248
+ }
249
+ set thresholdValue(value) {
250
+ this._thresholdValue = value;
251
+ }
252
+ resetThresholdValue() {
253
+ this._thresholdValue = undefined;
254
+ }
255
+ // Temporarily expose input value. Use with caution.
256
+ get thresholdValueInput() {
257
+ return this._thresholdValue;
258
+ }
259
+ }
260
+ export function workloadStatusConfigAutomaticRemainingEntitiesRuleToTerraform(struct) {
261
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
262
+ return struct;
263
+ }
264
+ if (cdktf.isComplexElement(struct)) {
265
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
266
+ }
267
+ return {
268
+ remaining_entities_rule_rollup: workloadStatusConfigAutomaticRemainingEntitiesRuleRemainingEntitiesRuleRollupToTerraform(struct.remainingEntitiesRuleRollup),
269
+ };
270
+ }
271
+ export function workloadStatusConfigAutomaticRemainingEntitiesRuleToHclTerraform(struct) {
272
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
273
+ return struct;
274
+ }
275
+ if (cdktf.isComplexElement(struct)) {
276
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
277
+ }
278
+ const attrs = {
279
+ remaining_entities_rule_rollup: {
280
+ value: workloadStatusConfigAutomaticRemainingEntitiesRuleRemainingEntitiesRuleRollupToHclTerraform(struct.remainingEntitiesRuleRollup),
281
+ isBlock: true,
282
+ type: "set",
283
+ storageClassType: "WorkloadStatusConfigAutomaticRemainingEntitiesRuleRemainingEntitiesRuleRollupList",
284
+ },
285
+ };
286
+ // remove undefined attributes
287
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
288
+ }
289
+ export class WorkloadStatusConfigAutomaticRemainingEntitiesRuleOutputReference extends cdktf.ComplexObject {
290
+ isEmptyObject = false;
291
+ /**
292
+ * @param terraformResource The parent resource
293
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
294
+ */
295
+ constructor(terraformResource, terraformAttribute) {
296
+ super(terraformResource, terraformAttribute, false, 0);
297
+ }
298
+ get internalValue() {
299
+ let hasAnyValues = this.isEmptyObject;
300
+ const internalValueResult = {};
301
+ if (this._remainingEntitiesRuleRollup?.internalValue !== undefined) {
302
+ hasAnyValues = true;
303
+ internalValueResult.remainingEntitiesRuleRollup = this._remainingEntitiesRuleRollup?.internalValue;
304
+ }
305
+ return hasAnyValues ? internalValueResult : undefined;
306
+ }
307
+ set internalValue(value) {
308
+ if (value === undefined) {
309
+ this.isEmptyObject = false;
310
+ this._remainingEntitiesRuleRollup.internalValue = undefined;
311
+ }
312
+ else {
313
+ this.isEmptyObject = Object.keys(value).length === 0;
314
+ this._remainingEntitiesRuleRollup.internalValue = value.remainingEntitiesRuleRollup;
315
+ }
316
+ }
317
+ // remaining_entities_rule_rollup - computed: false, optional: false, required: true
318
+ _remainingEntitiesRuleRollup = new WorkloadStatusConfigAutomaticRemainingEntitiesRuleRemainingEntitiesRuleRollupOutputReference(this, "remaining_entities_rule_rollup");
319
+ get remainingEntitiesRuleRollup() {
320
+ return this._remainingEntitiesRuleRollup;
321
+ }
322
+ putRemainingEntitiesRuleRollup(value) {
323
+ this._remainingEntitiesRuleRollup.internalValue = value;
324
+ }
325
+ // Temporarily expose input value. Use with caution.
326
+ get remainingEntitiesRuleRollupInput() {
327
+ return this._remainingEntitiesRuleRollup.internalValue;
328
+ }
329
+ }
330
+ export function workloadStatusConfigAutomaticRuleNrqlQueryToTerraform(struct) {
331
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
332
+ return struct;
333
+ }
334
+ if (cdktf.isComplexElement(struct)) {
335
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
336
+ }
337
+ return {
338
+ query: cdktf.stringToTerraform(struct.query),
339
+ };
340
+ }
341
+ export function workloadStatusConfigAutomaticRuleNrqlQueryToHclTerraform(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
+ query: {
350
+ value: cdktf.stringToHclTerraform(struct.query),
351
+ isBlock: false,
352
+ type: "simple",
353
+ storageClassType: "string",
354
+ },
355
+ };
356
+ // remove undefined attributes
357
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
358
+ }
359
+ export class WorkloadStatusConfigAutomaticRuleNrqlQueryOutputReference extends cdktf.ComplexObject {
360
+ isEmptyObject = false;
361
+ resolvableValue;
362
+ /**
363
+ * @param terraformResource The parent resource
364
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
365
+ * @param complexObjectIndex the index of this item in the list
366
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
367
+ */
368
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
369
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
370
+ }
371
+ get internalValue() {
372
+ if (this.resolvableValue) {
373
+ return this.resolvableValue;
374
+ }
375
+ let hasAnyValues = this.isEmptyObject;
376
+ const internalValueResult = {};
377
+ if (this._query !== undefined) {
378
+ hasAnyValues = true;
379
+ internalValueResult.query = this._query;
380
+ }
381
+ return hasAnyValues ? internalValueResult : undefined;
382
+ }
383
+ set internalValue(value) {
384
+ if (value === undefined) {
385
+ this.isEmptyObject = false;
386
+ this.resolvableValue = undefined;
387
+ this._query = undefined;
388
+ }
389
+ else if (cdktf.Tokenization.isResolvable(value)) {
390
+ this.isEmptyObject = false;
391
+ this.resolvableValue = value;
392
+ }
393
+ else {
394
+ this.isEmptyObject = Object.keys(value).length === 0;
395
+ this.resolvableValue = undefined;
396
+ this._query = value.query;
397
+ }
398
+ }
399
+ // query - computed: false, optional: false, required: true
400
+ _query;
401
+ get query() {
402
+ return this.getStringAttribute('query');
403
+ }
404
+ set query(value) {
405
+ this._query = value;
406
+ }
407
+ // Temporarily expose input value. Use with caution.
408
+ get queryInput() {
409
+ return this._query;
410
+ }
411
+ }
412
+ export class WorkloadStatusConfigAutomaticRuleNrqlQueryList extends cdktf.ComplexList {
413
+ terraformResource;
414
+ terraformAttribute;
415
+ wrapsSet;
416
+ internalValue;
417
+ /**
418
+ * @param terraformResource The parent resource
419
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
420
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
421
+ */
422
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
423
+ super(terraformResource, terraformAttribute, wrapsSet);
424
+ this.terraformResource = terraformResource;
425
+ this.terraformAttribute = terraformAttribute;
426
+ this.wrapsSet = wrapsSet;
427
+ }
428
+ /**
429
+ * @param index the index of the item to return
430
+ */
431
+ get(index) {
432
+ return new WorkloadStatusConfigAutomaticRuleNrqlQueryOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
433
+ }
434
+ }
435
+ export function workloadStatusConfigAutomaticRuleRollupToTerraform(struct) {
436
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
437
+ return struct;
438
+ }
439
+ if (cdktf.isComplexElement(struct)) {
440
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
441
+ }
442
+ return {
443
+ strategy: cdktf.stringToTerraform(struct.strategy),
444
+ threshold_type: cdktf.stringToTerraform(struct.thresholdType),
445
+ threshold_value: cdktf.numberToTerraform(struct.thresholdValue),
446
+ };
447
+ }
448
+ export function workloadStatusConfigAutomaticRuleRollupToHclTerraform(struct) {
449
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
450
+ return struct;
451
+ }
452
+ if (cdktf.isComplexElement(struct)) {
453
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
454
+ }
455
+ const attrs = {
456
+ strategy: {
457
+ value: cdktf.stringToHclTerraform(struct.strategy),
458
+ isBlock: false,
459
+ type: "simple",
460
+ storageClassType: "string",
461
+ },
462
+ threshold_type: {
463
+ value: cdktf.stringToHclTerraform(struct.thresholdType),
464
+ isBlock: false,
465
+ type: "simple",
466
+ storageClassType: "string",
467
+ },
468
+ threshold_value: {
469
+ value: cdktf.numberToHclTerraform(struct.thresholdValue),
470
+ isBlock: false,
471
+ type: "simple",
472
+ storageClassType: "number",
473
+ },
474
+ };
475
+ // remove undefined attributes
476
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
477
+ }
478
+ export class WorkloadStatusConfigAutomaticRuleRollupOutputReference extends cdktf.ComplexObject {
479
+ isEmptyObject = false;
480
+ /**
481
+ * @param terraformResource The parent resource
482
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
483
+ */
484
+ constructor(terraformResource, terraformAttribute) {
485
+ super(terraformResource, terraformAttribute, false, 0);
486
+ }
487
+ get internalValue() {
488
+ let hasAnyValues = this.isEmptyObject;
489
+ const internalValueResult = {};
490
+ if (this._strategy !== undefined) {
491
+ hasAnyValues = true;
492
+ internalValueResult.strategy = this._strategy;
493
+ }
494
+ if (this._thresholdType !== undefined) {
495
+ hasAnyValues = true;
496
+ internalValueResult.thresholdType = this._thresholdType;
497
+ }
498
+ if (this._thresholdValue !== undefined) {
499
+ hasAnyValues = true;
500
+ internalValueResult.thresholdValue = this._thresholdValue;
501
+ }
502
+ return hasAnyValues ? internalValueResult : undefined;
503
+ }
504
+ set internalValue(value) {
505
+ if (value === undefined) {
506
+ this.isEmptyObject = false;
507
+ this._strategy = undefined;
508
+ this._thresholdType = undefined;
509
+ this._thresholdValue = undefined;
510
+ }
511
+ else {
512
+ this.isEmptyObject = Object.keys(value).length === 0;
513
+ this._strategy = value.strategy;
514
+ this._thresholdType = value.thresholdType;
515
+ this._thresholdValue = value.thresholdValue;
516
+ }
517
+ }
518
+ // strategy - computed: false, optional: false, required: true
519
+ _strategy;
520
+ get strategy() {
521
+ return this.getStringAttribute('strategy');
522
+ }
523
+ set strategy(value) {
524
+ this._strategy = value;
525
+ }
526
+ // Temporarily expose input value. Use with caution.
527
+ get strategyInput() {
528
+ return this._strategy;
529
+ }
530
+ // threshold_type - computed: false, optional: true, required: false
531
+ _thresholdType;
532
+ get thresholdType() {
533
+ return this.getStringAttribute('threshold_type');
534
+ }
535
+ set thresholdType(value) {
536
+ this._thresholdType = value;
537
+ }
538
+ resetThresholdType() {
539
+ this._thresholdType = undefined;
540
+ }
541
+ // Temporarily expose input value. Use with caution.
542
+ get thresholdTypeInput() {
543
+ return this._thresholdType;
544
+ }
545
+ // threshold_value - computed: false, optional: true, required: false
546
+ _thresholdValue;
547
+ get thresholdValue() {
548
+ return this.getNumberAttribute('threshold_value');
549
+ }
550
+ set thresholdValue(value) {
551
+ this._thresholdValue = value;
552
+ }
553
+ resetThresholdValue() {
554
+ this._thresholdValue = undefined;
555
+ }
556
+ // Temporarily expose input value. Use with caution.
557
+ get thresholdValueInput() {
558
+ return this._thresholdValue;
559
+ }
560
+ }
561
+ export function workloadStatusConfigAutomaticRuleToTerraform(struct) {
562
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
563
+ return struct;
564
+ }
565
+ if (cdktf.isComplexElement(struct)) {
566
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
567
+ }
568
+ return {
569
+ entity_guids: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.entityGuids),
570
+ nrql_query: cdktf.listMapper(workloadStatusConfigAutomaticRuleNrqlQueryToTerraform, true)(struct.nrqlQuery),
571
+ rollup: workloadStatusConfigAutomaticRuleRollupToTerraform(struct.rollup),
572
+ };
573
+ }
574
+ export function workloadStatusConfigAutomaticRuleToHclTerraform(struct) {
575
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
576
+ return struct;
577
+ }
578
+ if (cdktf.isComplexElement(struct)) {
579
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
580
+ }
581
+ const attrs = {
582
+ entity_guids: {
583
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.entityGuids),
584
+ isBlock: false,
585
+ type: "set",
586
+ storageClassType: "stringList",
587
+ },
588
+ nrql_query: {
589
+ value: cdktf.listMapperHcl(workloadStatusConfigAutomaticRuleNrqlQueryToHclTerraform, true)(struct.nrqlQuery),
590
+ isBlock: true,
591
+ type: "set",
592
+ storageClassType: "WorkloadStatusConfigAutomaticRuleNrqlQueryList",
593
+ },
594
+ rollup: {
595
+ value: workloadStatusConfigAutomaticRuleRollupToHclTerraform(struct.rollup),
596
+ isBlock: true,
597
+ type: "set",
598
+ storageClassType: "WorkloadStatusConfigAutomaticRuleRollupList",
599
+ },
600
+ };
601
+ // remove undefined attributes
602
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
603
+ }
604
+ export class WorkloadStatusConfigAutomaticRuleOutputReference extends cdktf.ComplexObject {
605
+ isEmptyObject = false;
606
+ resolvableValue;
607
+ /**
608
+ * @param terraformResource The parent resource
609
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
610
+ * @param complexObjectIndex the index of this item in the list
611
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
612
+ */
613
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
614
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
615
+ }
616
+ get internalValue() {
617
+ if (this.resolvableValue) {
618
+ return this.resolvableValue;
619
+ }
620
+ let hasAnyValues = this.isEmptyObject;
621
+ const internalValueResult = {};
622
+ if (this._entityGuids !== undefined) {
623
+ hasAnyValues = true;
624
+ internalValueResult.entityGuids = this._entityGuids;
625
+ }
626
+ if (this._nrqlQuery?.internalValue !== undefined) {
627
+ hasAnyValues = true;
628
+ internalValueResult.nrqlQuery = this._nrqlQuery?.internalValue;
629
+ }
630
+ if (this._rollup?.internalValue !== undefined) {
631
+ hasAnyValues = true;
632
+ internalValueResult.rollup = this._rollup?.internalValue;
633
+ }
634
+ return hasAnyValues ? internalValueResult : undefined;
635
+ }
636
+ set internalValue(value) {
637
+ if (value === undefined) {
638
+ this.isEmptyObject = false;
639
+ this.resolvableValue = undefined;
640
+ this._entityGuids = undefined;
641
+ this._nrqlQuery.internalValue = undefined;
642
+ this._rollup.internalValue = undefined;
643
+ }
644
+ else if (cdktf.Tokenization.isResolvable(value)) {
645
+ this.isEmptyObject = false;
646
+ this.resolvableValue = value;
647
+ }
648
+ else {
649
+ this.isEmptyObject = Object.keys(value).length === 0;
650
+ this.resolvableValue = undefined;
651
+ this._entityGuids = value.entityGuids;
652
+ this._nrqlQuery.internalValue = value.nrqlQuery;
653
+ this._rollup.internalValue = value.rollup;
654
+ }
655
+ }
656
+ // entity_guids - computed: true, optional: true, required: false
657
+ _entityGuids;
658
+ get entityGuids() {
659
+ return cdktf.Fn.tolist(this.getListAttribute('entity_guids'));
660
+ }
661
+ set entityGuids(value) {
662
+ this._entityGuids = value;
663
+ }
664
+ resetEntityGuids() {
665
+ this._entityGuids = undefined;
666
+ }
667
+ // Temporarily expose input value. Use with caution.
668
+ get entityGuidsInput() {
669
+ return this._entityGuids;
670
+ }
671
+ // nrql_query - computed: false, optional: true, required: false
672
+ _nrqlQuery = new WorkloadStatusConfigAutomaticRuleNrqlQueryList(this, "nrql_query", true);
673
+ get nrqlQuery() {
674
+ return this._nrqlQuery;
675
+ }
676
+ putNrqlQuery(value) {
677
+ this._nrqlQuery.internalValue = value;
678
+ }
679
+ resetNrqlQuery() {
680
+ this._nrqlQuery.internalValue = undefined;
681
+ }
682
+ // Temporarily expose input value. Use with caution.
683
+ get nrqlQueryInput() {
684
+ return this._nrqlQuery.internalValue;
685
+ }
686
+ // rollup - computed: false, optional: false, required: true
687
+ _rollup = new WorkloadStatusConfigAutomaticRuleRollupOutputReference(this, "rollup");
688
+ get rollup() {
689
+ return this._rollup;
690
+ }
691
+ putRollup(value) {
692
+ this._rollup.internalValue = value;
693
+ }
694
+ // Temporarily expose input value. Use with caution.
695
+ get rollupInput() {
696
+ return this._rollup.internalValue;
697
+ }
698
+ }
699
+ export class WorkloadStatusConfigAutomaticRuleList extends cdktf.ComplexList {
700
+ terraformResource;
701
+ terraformAttribute;
702
+ wrapsSet;
703
+ internalValue;
704
+ /**
705
+ * @param terraformResource The parent resource
706
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
707
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
708
+ */
709
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
710
+ super(terraformResource, terraformAttribute, wrapsSet);
711
+ this.terraformResource = terraformResource;
712
+ this.terraformAttribute = terraformAttribute;
713
+ this.wrapsSet = wrapsSet;
714
+ }
715
+ /**
716
+ * @param index the index of the item to return
717
+ */
718
+ get(index) {
719
+ return new WorkloadStatusConfigAutomaticRuleOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
720
+ }
721
+ }
722
+ export function workloadStatusConfigAutomaticToTerraform(struct) {
723
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
724
+ return struct;
725
+ }
726
+ if (cdktf.isComplexElement(struct)) {
727
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
728
+ }
729
+ return {
730
+ enabled: cdktf.booleanToTerraform(struct.enabled),
731
+ remaining_entities_rule: workloadStatusConfigAutomaticRemainingEntitiesRuleToTerraform(struct.remainingEntitiesRule),
732
+ rule: cdktf.listMapper(workloadStatusConfigAutomaticRuleToTerraform, true)(struct.rule),
733
+ };
734
+ }
735
+ export function workloadStatusConfigAutomaticToHclTerraform(struct) {
736
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
737
+ return struct;
738
+ }
739
+ if (cdktf.isComplexElement(struct)) {
740
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
741
+ }
742
+ const attrs = {
743
+ enabled: {
744
+ value: cdktf.booleanToHclTerraform(struct.enabled),
745
+ isBlock: false,
746
+ type: "simple",
747
+ storageClassType: "boolean",
748
+ },
749
+ remaining_entities_rule: {
750
+ value: workloadStatusConfigAutomaticRemainingEntitiesRuleToHclTerraform(struct.remainingEntitiesRule),
751
+ isBlock: true,
752
+ type: "set",
753
+ storageClassType: "WorkloadStatusConfigAutomaticRemainingEntitiesRuleList",
754
+ },
755
+ rule: {
756
+ value: cdktf.listMapperHcl(workloadStatusConfigAutomaticRuleToHclTerraform, true)(struct.rule),
757
+ isBlock: true,
758
+ type: "set",
759
+ storageClassType: "WorkloadStatusConfigAutomaticRuleList",
760
+ },
761
+ };
762
+ // remove undefined attributes
763
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
764
+ }
765
+ export class WorkloadStatusConfigAutomaticOutputReference extends cdktf.ComplexObject {
766
+ isEmptyObject = false;
767
+ /**
768
+ * @param terraformResource The parent resource
769
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
770
+ */
771
+ constructor(terraformResource, terraformAttribute) {
772
+ super(terraformResource, terraformAttribute, false, 0);
773
+ }
774
+ get internalValue() {
775
+ let hasAnyValues = this.isEmptyObject;
776
+ const internalValueResult = {};
777
+ if (this._enabled !== undefined) {
778
+ hasAnyValues = true;
779
+ internalValueResult.enabled = this._enabled;
780
+ }
781
+ if (this._remainingEntitiesRule?.internalValue !== undefined) {
782
+ hasAnyValues = true;
783
+ internalValueResult.remainingEntitiesRule = this._remainingEntitiesRule?.internalValue;
784
+ }
785
+ if (this._rule?.internalValue !== undefined) {
786
+ hasAnyValues = true;
787
+ internalValueResult.rule = this._rule?.internalValue;
788
+ }
789
+ return hasAnyValues ? internalValueResult : undefined;
790
+ }
791
+ set internalValue(value) {
792
+ if (value === undefined) {
793
+ this.isEmptyObject = false;
794
+ this._enabled = undefined;
795
+ this._remainingEntitiesRule.internalValue = undefined;
796
+ this._rule.internalValue = undefined;
797
+ }
798
+ else {
799
+ this.isEmptyObject = Object.keys(value).length === 0;
800
+ this._enabled = value.enabled;
801
+ this._remainingEntitiesRule.internalValue = value.remainingEntitiesRule;
802
+ this._rule.internalValue = value.rule;
803
+ }
804
+ }
805
+ // enabled - computed: false, optional: false, required: true
806
+ _enabled;
807
+ get enabled() {
808
+ return this.getBooleanAttribute('enabled');
809
+ }
810
+ set enabled(value) {
811
+ this._enabled = value;
812
+ }
813
+ // Temporarily expose input value. Use with caution.
814
+ get enabledInput() {
815
+ return this._enabled;
816
+ }
817
+ // remaining_entities_rule - computed: false, optional: true, required: false
818
+ _remainingEntitiesRule = new WorkloadStatusConfigAutomaticRemainingEntitiesRuleOutputReference(this, "remaining_entities_rule");
819
+ get remainingEntitiesRule() {
820
+ return this._remainingEntitiesRule;
821
+ }
822
+ putRemainingEntitiesRule(value) {
823
+ this._remainingEntitiesRule.internalValue = value;
824
+ }
825
+ resetRemainingEntitiesRule() {
826
+ this._remainingEntitiesRule.internalValue = undefined;
827
+ }
828
+ // Temporarily expose input value. Use with caution.
829
+ get remainingEntitiesRuleInput() {
830
+ return this._remainingEntitiesRule.internalValue;
831
+ }
832
+ // rule - computed: false, optional: true, required: false
833
+ _rule = new WorkloadStatusConfigAutomaticRuleList(this, "rule", true);
834
+ get rule() {
835
+ return this._rule;
836
+ }
837
+ putRule(value) {
838
+ this._rule.internalValue = value;
839
+ }
840
+ resetRule() {
841
+ this._rule.internalValue = undefined;
842
+ }
843
+ // Temporarily expose input value. Use with caution.
844
+ get ruleInput() {
845
+ return this._rule.internalValue;
846
+ }
847
+ }
848
+ export function workloadStatusConfigStaticToTerraform(struct) {
849
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
850
+ return struct;
851
+ }
852
+ if (cdktf.isComplexElement(struct)) {
853
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
854
+ }
855
+ return {
856
+ description: cdktf.stringToTerraform(struct.description),
857
+ enabled: cdktf.booleanToTerraform(struct.enabled),
858
+ status: cdktf.stringToTerraform(struct.status),
859
+ summary: cdktf.stringToTerraform(struct.summary),
860
+ };
861
+ }
862
+ export function workloadStatusConfigStaticToHclTerraform(struct) {
863
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
864
+ return struct;
865
+ }
866
+ if (cdktf.isComplexElement(struct)) {
867
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
868
+ }
869
+ const attrs = {
870
+ description: {
871
+ value: cdktf.stringToHclTerraform(struct.description),
872
+ isBlock: false,
873
+ type: "simple",
874
+ storageClassType: "string",
875
+ },
876
+ enabled: {
877
+ value: cdktf.booleanToHclTerraform(struct.enabled),
878
+ isBlock: false,
879
+ type: "simple",
880
+ storageClassType: "boolean",
881
+ },
882
+ status: {
883
+ value: cdktf.stringToHclTerraform(struct.status),
884
+ isBlock: false,
885
+ type: "simple",
886
+ storageClassType: "string",
887
+ },
888
+ summary: {
889
+ value: cdktf.stringToHclTerraform(struct.summary),
890
+ isBlock: false,
891
+ type: "simple",
892
+ storageClassType: "string",
893
+ },
894
+ };
895
+ // remove undefined attributes
896
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
897
+ }
898
+ export class WorkloadStatusConfigStaticOutputReference extends cdktf.ComplexObject {
899
+ isEmptyObject = false;
900
+ /**
901
+ * @param terraformResource The parent resource
902
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
903
+ */
904
+ constructor(terraformResource, terraformAttribute) {
905
+ super(terraformResource, terraformAttribute, false, 0);
906
+ }
907
+ get internalValue() {
908
+ let hasAnyValues = this.isEmptyObject;
909
+ const internalValueResult = {};
910
+ if (this._description !== undefined) {
911
+ hasAnyValues = true;
912
+ internalValueResult.description = this._description;
913
+ }
914
+ if (this._enabled !== undefined) {
915
+ hasAnyValues = true;
916
+ internalValueResult.enabled = this._enabled;
917
+ }
918
+ if (this._status !== undefined) {
919
+ hasAnyValues = true;
920
+ internalValueResult.status = this._status;
921
+ }
922
+ if (this._summary !== undefined) {
923
+ hasAnyValues = true;
924
+ internalValueResult.summary = this._summary;
925
+ }
926
+ return hasAnyValues ? internalValueResult : undefined;
927
+ }
928
+ set internalValue(value) {
929
+ if (value === undefined) {
930
+ this.isEmptyObject = false;
931
+ this._description = undefined;
932
+ this._enabled = undefined;
933
+ this._status = undefined;
934
+ this._summary = undefined;
935
+ }
936
+ else {
937
+ this.isEmptyObject = Object.keys(value).length === 0;
938
+ this._description = value.description;
939
+ this._enabled = value.enabled;
940
+ this._status = value.status;
941
+ this._summary = value.summary;
942
+ }
943
+ }
944
+ // description - computed: false, optional: true, required: false
945
+ _description;
946
+ get description() {
947
+ return this.getStringAttribute('description');
948
+ }
949
+ set description(value) {
950
+ this._description = value;
951
+ }
952
+ resetDescription() {
953
+ this._description = undefined;
954
+ }
955
+ // Temporarily expose input value. Use with caution.
956
+ get descriptionInput() {
957
+ return this._description;
958
+ }
959
+ // enabled - computed: false, optional: false, required: true
960
+ _enabled;
961
+ get enabled() {
962
+ return this.getBooleanAttribute('enabled');
963
+ }
964
+ set enabled(value) {
965
+ this._enabled = value;
966
+ }
967
+ // Temporarily expose input value. Use with caution.
968
+ get enabledInput() {
969
+ return this._enabled;
970
+ }
971
+ // status - computed: false, optional: false, required: true
972
+ _status;
973
+ get status() {
974
+ return this.getStringAttribute('status');
975
+ }
976
+ set status(value) {
977
+ this._status = value;
978
+ }
979
+ // Temporarily expose input value. Use with caution.
980
+ get statusInput() {
981
+ return this._status;
982
+ }
983
+ // summary - computed: false, optional: true, required: false
984
+ _summary;
985
+ get summary() {
986
+ return this.getStringAttribute('summary');
987
+ }
988
+ set summary(value) {
989
+ this._summary = value;
990
+ }
991
+ resetSummary() {
992
+ this._summary = undefined;
993
+ }
994
+ // Temporarily expose input value. Use with caution.
995
+ get summaryInput() {
996
+ return this._summary;
997
+ }
998
+ }
999
+ /**
1000
+ * Represents a {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/workload newrelic_workload}
1001
+ */
1002
+ export class Workload extends cdktf.TerraformResource {
1003
+ // =================
1004
+ // STATIC PROPERTIES
1005
+ // =================
1006
+ static tfResourceType = "newrelic_workload";
1007
+ // ==============
1008
+ // STATIC Methods
1009
+ // ==============
1010
+ /**
1011
+ * Generates CDKTF code for importing a Workload resource upon running "cdktf plan <stack-name>"
1012
+ * @param scope The scope in which to define this construct
1013
+ * @param importToId The construct id used in the generated config for the Workload to import
1014
+ * @param importFromId The id of the existing Workload that should be imported. Refer to the {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/workload#import import section} in the documentation of this resource for the id to use
1015
+ * @param provider? Optional instance of the provider where the Workload to import is found
1016
+ */
1017
+ static generateConfigForImport(scope, importToId, importFromId, provider) {
1018
+ return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "newrelic_workload", importId: importFromId, provider });
1019
+ }
1020
+ // ===========
1021
+ // INITIALIZER
1022
+ // ===========
1023
+ /**
1024
+ * Create a new {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/workload newrelic_workload} Resource
1025
+ *
1026
+ * @param scope The scope in which to define this construct
1027
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
1028
+ * @param options WorkloadConfig
1029
+ */
1030
+ constructor(scope, id, config) {
1031
+ super(scope, id, {
1032
+ terraformResourceType: 'newrelic_workload',
1033
+ terraformGeneratorMetadata: {
1034
+ providerName: 'newrelic',
1035
+ providerVersion: '3.75.4',
1036
+ providerVersionConstraint: '3.75.4'
1037
+ },
1038
+ provider: config.provider,
1039
+ dependsOn: config.dependsOn,
1040
+ count: config.count,
1041
+ lifecycle: config.lifecycle,
1042
+ provisioners: config.provisioners,
1043
+ connection: config.connection,
1044
+ forEach: config.forEach
1045
+ });
1046
+ this._accountId = config.accountId;
1047
+ this._description = config.description;
1048
+ this._entityGuids = config.entityGuids;
1049
+ this._id = config.id;
1050
+ this._name = config.name;
1051
+ this._scopeAccountIds = config.scopeAccountIds;
1052
+ this._entitySearchQuery.internalValue = config.entitySearchQuery;
1053
+ this._statusConfigAutomatic.internalValue = config.statusConfigAutomatic;
1054
+ this._statusConfigStatic.internalValue = config.statusConfigStatic;
1055
+ }
1056
+ // ==========
1057
+ // ATTRIBUTES
1058
+ // ==========
1059
+ // account_id - computed: true, optional: true, required: false
1060
+ _accountId;
1061
+ get accountId() {
1062
+ return this.getNumberAttribute('account_id');
1063
+ }
1064
+ set accountId(value) {
1065
+ this._accountId = value;
1066
+ }
1067
+ resetAccountId() {
1068
+ this._accountId = undefined;
1069
+ }
1070
+ // Temporarily expose input value. Use with caution.
1071
+ get accountIdInput() {
1072
+ return this._accountId;
1073
+ }
1074
+ // composite_entity_search_query - computed: true, optional: false, required: false
1075
+ get compositeEntitySearchQuery() {
1076
+ return this.getStringAttribute('composite_entity_search_query');
1077
+ }
1078
+ // description - computed: false, optional: true, required: false
1079
+ _description;
1080
+ get description() {
1081
+ return this.getStringAttribute('description');
1082
+ }
1083
+ set description(value) {
1084
+ this._description = value;
1085
+ }
1086
+ resetDescription() {
1087
+ this._description = undefined;
1088
+ }
1089
+ // Temporarily expose input value. Use with caution.
1090
+ get descriptionInput() {
1091
+ return this._description;
1092
+ }
1093
+ // entity_guids - computed: true, optional: true, required: false
1094
+ _entityGuids;
1095
+ get entityGuids() {
1096
+ return cdktf.Fn.tolist(this.getListAttribute('entity_guids'));
1097
+ }
1098
+ set entityGuids(value) {
1099
+ this._entityGuids = value;
1100
+ }
1101
+ resetEntityGuids() {
1102
+ this._entityGuids = undefined;
1103
+ }
1104
+ // Temporarily expose input value. Use with caution.
1105
+ get entityGuidsInput() {
1106
+ return this._entityGuids;
1107
+ }
1108
+ // guid - computed: true, optional: false, required: false
1109
+ get guid() {
1110
+ return this.getStringAttribute('guid');
1111
+ }
1112
+ // id - computed: true, optional: true, required: false
1113
+ _id;
1114
+ get id() {
1115
+ return this.getStringAttribute('id');
1116
+ }
1117
+ set id(value) {
1118
+ this._id = value;
1119
+ }
1120
+ resetId() {
1121
+ this._id = undefined;
1122
+ }
1123
+ // Temporarily expose input value. Use with caution.
1124
+ get idInput() {
1125
+ return this._id;
1126
+ }
1127
+ // name - computed: false, optional: false, required: true
1128
+ _name;
1129
+ get name() {
1130
+ return this.getStringAttribute('name');
1131
+ }
1132
+ set name(value) {
1133
+ this._name = value;
1134
+ }
1135
+ // Temporarily expose input value. Use with caution.
1136
+ get nameInput() {
1137
+ return this._name;
1138
+ }
1139
+ // permalink - computed: true, optional: false, required: false
1140
+ get permalink() {
1141
+ return this.getStringAttribute('permalink');
1142
+ }
1143
+ // scope_account_ids - computed: true, optional: true, required: false
1144
+ _scopeAccountIds;
1145
+ get scopeAccountIds() {
1146
+ return cdktf.Token.asNumberList(cdktf.Fn.tolist(this.getNumberListAttribute('scope_account_ids')));
1147
+ }
1148
+ set scopeAccountIds(value) {
1149
+ this._scopeAccountIds = value;
1150
+ }
1151
+ resetScopeAccountIds() {
1152
+ this._scopeAccountIds = undefined;
1153
+ }
1154
+ // Temporarily expose input value. Use with caution.
1155
+ get scopeAccountIdsInput() {
1156
+ return this._scopeAccountIds;
1157
+ }
1158
+ // workload_id - computed: true, optional: false, required: false
1159
+ get workloadId() {
1160
+ return this.getNumberAttribute('workload_id');
1161
+ }
1162
+ // entity_search_query - computed: false, optional: true, required: false
1163
+ _entitySearchQuery = new WorkloadEntitySearchQueryList(this, "entity_search_query", true);
1164
+ get entitySearchQuery() {
1165
+ return this._entitySearchQuery;
1166
+ }
1167
+ putEntitySearchQuery(value) {
1168
+ this._entitySearchQuery.internalValue = value;
1169
+ }
1170
+ resetEntitySearchQuery() {
1171
+ this._entitySearchQuery.internalValue = undefined;
1172
+ }
1173
+ // Temporarily expose input value. Use with caution.
1174
+ get entitySearchQueryInput() {
1175
+ return this._entitySearchQuery.internalValue;
1176
+ }
1177
+ // status_config_automatic - computed: false, optional: true, required: false
1178
+ _statusConfigAutomatic = new WorkloadStatusConfigAutomaticOutputReference(this, "status_config_automatic");
1179
+ get statusConfigAutomatic() {
1180
+ return this._statusConfigAutomatic;
1181
+ }
1182
+ putStatusConfigAutomatic(value) {
1183
+ this._statusConfigAutomatic.internalValue = value;
1184
+ }
1185
+ resetStatusConfigAutomatic() {
1186
+ this._statusConfigAutomatic.internalValue = undefined;
1187
+ }
1188
+ // Temporarily expose input value. Use with caution.
1189
+ get statusConfigAutomaticInput() {
1190
+ return this._statusConfigAutomatic.internalValue;
1191
+ }
1192
+ // status_config_static - computed: false, optional: true, required: false
1193
+ _statusConfigStatic = new WorkloadStatusConfigStaticOutputReference(this, "status_config_static");
1194
+ get statusConfigStatic() {
1195
+ return this._statusConfigStatic;
1196
+ }
1197
+ putStatusConfigStatic(value) {
1198
+ this._statusConfigStatic.internalValue = value;
1199
+ }
1200
+ resetStatusConfigStatic() {
1201
+ this._statusConfigStatic.internalValue = undefined;
1202
+ }
1203
+ // Temporarily expose input value. Use with caution.
1204
+ get statusConfigStaticInput() {
1205
+ return this._statusConfigStatic.internalValue;
1206
+ }
1207
+ // =========
1208
+ // SYNTHESIS
1209
+ // =========
1210
+ synthesizeAttributes() {
1211
+ return {
1212
+ account_id: cdktf.numberToTerraform(this._accountId),
1213
+ description: cdktf.stringToTerraform(this._description),
1214
+ entity_guids: cdktf.listMapper(cdktf.stringToTerraform, false)(this._entityGuids),
1215
+ id: cdktf.stringToTerraform(this._id),
1216
+ name: cdktf.stringToTerraform(this._name),
1217
+ scope_account_ids: cdktf.listMapper(cdktf.numberToTerraform, false)(this._scopeAccountIds),
1218
+ entity_search_query: cdktf.listMapper(workloadEntitySearchQueryToTerraform, true)(this._entitySearchQuery.internalValue),
1219
+ status_config_automatic: workloadStatusConfigAutomaticToTerraform(this._statusConfigAutomatic.internalValue),
1220
+ status_config_static: workloadStatusConfigStaticToTerraform(this._statusConfigStatic.internalValue),
1221
+ };
1222
+ }
1223
+ synthesizeHclAttributes() {
1224
+ const attrs = {
1225
+ account_id: {
1226
+ value: cdktf.numberToHclTerraform(this._accountId),
1227
+ isBlock: false,
1228
+ type: "simple",
1229
+ storageClassType: "number",
1230
+ },
1231
+ description: {
1232
+ value: cdktf.stringToHclTerraform(this._description),
1233
+ isBlock: false,
1234
+ type: "simple",
1235
+ storageClassType: "string",
1236
+ },
1237
+ entity_guids: {
1238
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._entityGuids),
1239
+ isBlock: false,
1240
+ type: "set",
1241
+ storageClassType: "stringList",
1242
+ },
1243
+ id: {
1244
+ value: cdktf.stringToHclTerraform(this._id),
1245
+ isBlock: false,
1246
+ type: "simple",
1247
+ storageClassType: "string",
1248
+ },
1249
+ name: {
1250
+ value: cdktf.stringToHclTerraform(this._name),
1251
+ isBlock: false,
1252
+ type: "simple",
1253
+ storageClassType: "string",
1254
+ },
1255
+ scope_account_ids: {
1256
+ value: cdktf.listMapperHcl(cdktf.numberToHclTerraform, false)(this._scopeAccountIds),
1257
+ isBlock: false,
1258
+ type: "set",
1259
+ storageClassType: "numberList",
1260
+ },
1261
+ entity_search_query: {
1262
+ value: cdktf.listMapperHcl(workloadEntitySearchQueryToHclTerraform, true)(this._entitySearchQuery.internalValue),
1263
+ isBlock: true,
1264
+ type: "set",
1265
+ storageClassType: "WorkloadEntitySearchQueryList",
1266
+ },
1267
+ status_config_automatic: {
1268
+ value: workloadStatusConfigAutomaticToHclTerraform(this._statusConfigAutomatic.internalValue),
1269
+ isBlock: true,
1270
+ type: "set",
1271
+ storageClassType: "WorkloadStatusConfigAutomaticList",
1272
+ },
1273
+ status_config_static: {
1274
+ value: workloadStatusConfigStaticToHclTerraform(this._statusConfigStatic.internalValue),
1275
+ isBlock: true,
1276
+ type: "set",
1277
+ storageClassType: "WorkloadStatusConfigStaticList",
1278
+ },
1279
+ };
1280
+ // remove undefined attributes
1281
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
1282
+ }
1283
+ }