@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,834 @@
1
+ // https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/synthetics_step_monitor
2
+ // generated from terraform resource schema
3
+ import * as cdktf from 'cdktf';
4
+ export function syntheticsStepMonitorLocationPrivateToTerraform(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
+ guid: cdktf.stringToTerraform(struct.guid),
13
+ vse_password: cdktf.stringToTerraform(struct.vsePassword),
14
+ };
15
+ }
16
+ export function syntheticsStepMonitorLocationPrivateToHclTerraform(struct) {
17
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
18
+ return struct;
19
+ }
20
+ if (cdktf.isComplexElement(struct)) {
21
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
22
+ }
23
+ const attrs = {
24
+ guid: {
25
+ value: cdktf.stringToHclTerraform(struct.guid),
26
+ isBlock: false,
27
+ type: "simple",
28
+ storageClassType: "string",
29
+ },
30
+ vse_password: {
31
+ value: cdktf.stringToHclTerraform(struct.vsePassword),
32
+ isBlock: false,
33
+ type: "simple",
34
+ storageClassType: "string",
35
+ },
36
+ };
37
+ // remove undefined attributes
38
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
39
+ }
40
+ export class SyntheticsStepMonitorLocationPrivateOutputReference extends cdktf.ComplexObject {
41
+ isEmptyObject = false;
42
+ resolvableValue;
43
+ /**
44
+ * @param terraformResource The parent resource
45
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
46
+ * @param complexObjectIndex the index of this item in the list
47
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
48
+ */
49
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
50
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
51
+ }
52
+ get internalValue() {
53
+ if (this.resolvableValue) {
54
+ return this.resolvableValue;
55
+ }
56
+ let hasAnyValues = this.isEmptyObject;
57
+ const internalValueResult = {};
58
+ if (this._guid !== undefined) {
59
+ hasAnyValues = true;
60
+ internalValueResult.guid = this._guid;
61
+ }
62
+ if (this._vsePassword !== undefined) {
63
+ hasAnyValues = true;
64
+ internalValueResult.vsePassword = this._vsePassword;
65
+ }
66
+ return hasAnyValues ? internalValueResult : undefined;
67
+ }
68
+ set internalValue(value) {
69
+ if (value === undefined) {
70
+ this.isEmptyObject = false;
71
+ this.resolvableValue = undefined;
72
+ this._guid = undefined;
73
+ this._vsePassword = undefined;
74
+ }
75
+ else if (cdktf.Tokenization.isResolvable(value)) {
76
+ this.isEmptyObject = false;
77
+ this.resolvableValue = value;
78
+ }
79
+ else {
80
+ this.isEmptyObject = Object.keys(value).length === 0;
81
+ this.resolvableValue = undefined;
82
+ this._guid = value.guid;
83
+ this._vsePassword = value.vsePassword;
84
+ }
85
+ }
86
+ // guid - computed: false, optional: false, required: true
87
+ _guid;
88
+ get guid() {
89
+ return this.getStringAttribute('guid');
90
+ }
91
+ set guid(value) {
92
+ this._guid = value;
93
+ }
94
+ // Temporarily expose input value. Use with caution.
95
+ get guidInput() {
96
+ return this._guid;
97
+ }
98
+ // vse_password - computed: false, optional: true, required: false
99
+ _vsePassword;
100
+ get vsePassword() {
101
+ return this.getStringAttribute('vse_password');
102
+ }
103
+ set vsePassword(value) {
104
+ this._vsePassword = value;
105
+ }
106
+ resetVsePassword() {
107
+ this._vsePassword = undefined;
108
+ }
109
+ // Temporarily expose input value. Use with caution.
110
+ get vsePasswordInput() {
111
+ return this._vsePassword;
112
+ }
113
+ }
114
+ export class SyntheticsStepMonitorLocationPrivateList extends cdktf.ComplexList {
115
+ terraformResource;
116
+ terraformAttribute;
117
+ wrapsSet;
118
+ internalValue;
119
+ /**
120
+ * @param terraformResource The parent resource
121
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
122
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
123
+ */
124
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
125
+ super(terraformResource, terraformAttribute, wrapsSet);
126
+ this.terraformResource = terraformResource;
127
+ this.terraformAttribute = terraformAttribute;
128
+ this.wrapsSet = wrapsSet;
129
+ }
130
+ /**
131
+ * @param index the index of the item to return
132
+ */
133
+ get(index) {
134
+ return new SyntheticsStepMonitorLocationPrivateOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
135
+ }
136
+ }
137
+ export function syntheticsStepMonitorStepsToTerraform(struct) {
138
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
139
+ return struct;
140
+ }
141
+ if (cdktf.isComplexElement(struct)) {
142
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
143
+ }
144
+ return {
145
+ ordinal: cdktf.numberToTerraform(struct.ordinal),
146
+ type: cdktf.stringToTerraform(struct.type),
147
+ values: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.values),
148
+ };
149
+ }
150
+ export function syntheticsStepMonitorStepsToHclTerraform(struct) {
151
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
152
+ return struct;
153
+ }
154
+ if (cdktf.isComplexElement(struct)) {
155
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
156
+ }
157
+ const attrs = {
158
+ ordinal: {
159
+ value: cdktf.numberToHclTerraform(struct.ordinal),
160
+ isBlock: false,
161
+ type: "simple",
162
+ storageClassType: "number",
163
+ },
164
+ type: {
165
+ value: cdktf.stringToHclTerraform(struct.type),
166
+ isBlock: false,
167
+ type: "simple",
168
+ storageClassType: "string",
169
+ },
170
+ values: {
171
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.values),
172
+ isBlock: false,
173
+ type: "list",
174
+ storageClassType: "stringList",
175
+ },
176
+ };
177
+ // remove undefined attributes
178
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
179
+ }
180
+ export class SyntheticsStepMonitorStepsOutputReference extends cdktf.ComplexObject {
181
+ isEmptyObject = false;
182
+ resolvableValue;
183
+ /**
184
+ * @param terraformResource The parent resource
185
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
186
+ * @param complexObjectIndex the index of this item in the list
187
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
188
+ */
189
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
190
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
191
+ }
192
+ get internalValue() {
193
+ if (this.resolvableValue) {
194
+ return this.resolvableValue;
195
+ }
196
+ let hasAnyValues = this.isEmptyObject;
197
+ const internalValueResult = {};
198
+ if (this._ordinal !== undefined) {
199
+ hasAnyValues = true;
200
+ internalValueResult.ordinal = this._ordinal;
201
+ }
202
+ if (this._type !== undefined) {
203
+ hasAnyValues = true;
204
+ internalValueResult.type = this._type;
205
+ }
206
+ if (this._values !== undefined) {
207
+ hasAnyValues = true;
208
+ internalValueResult.values = this._values;
209
+ }
210
+ return hasAnyValues ? internalValueResult : undefined;
211
+ }
212
+ set internalValue(value) {
213
+ if (value === undefined) {
214
+ this.isEmptyObject = false;
215
+ this.resolvableValue = undefined;
216
+ this._ordinal = undefined;
217
+ this._type = undefined;
218
+ this._values = undefined;
219
+ }
220
+ else if (cdktf.Tokenization.isResolvable(value)) {
221
+ this.isEmptyObject = false;
222
+ this.resolvableValue = value;
223
+ }
224
+ else {
225
+ this.isEmptyObject = Object.keys(value).length === 0;
226
+ this.resolvableValue = undefined;
227
+ this._ordinal = value.ordinal;
228
+ this._type = value.type;
229
+ this._values = value.values;
230
+ }
231
+ }
232
+ // ordinal - computed: false, optional: false, required: true
233
+ _ordinal;
234
+ get ordinal() {
235
+ return this.getNumberAttribute('ordinal');
236
+ }
237
+ set ordinal(value) {
238
+ this._ordinal = value;
239
+ }
240
+ // Temporarily expose input value. Use with caution.
241
+ get ordinalInput() {
242
+ return this._ordinal;
243
+ }
244
+ // type - computed: false, optional: false, required: true
245
+ _type;
246
+ get type() {
247
+ return this.getStringAttribute('type');
248
+ }
249
+ set type(value) {
250
+ this._type = value;
251
+ }
252
+ // Temporarily expose input value. Use with caution.
253
+ get typeInput() {
254
+ return this._type;
255
+ }
256
+ // values - computed: false, optional: true, required: false
257
+ _values;
258
+ get values() {
259
+ return this.getListAttribute('values');
260
+ }
261
+ set values(value) {
262
+ this._values = value;
263
+ }
264
+ resetValues() {
265
+ this._values = undefined;
266
+ }
267
+ // Temporarily expose input value. Use with caution.
268
+ get valuesInput() {
269
+ return this._values;
270
+ }
271
+ }
272
+ export class SyntheticsStepMonitorStepsList extends cdktf.ComplexList {
273
+ terraformResource;
274
+ terraformAttribute;
275
+ wrapsSet;
276
+ internalValue;
277
+ /**
278
+ * @param terraformResource The parent resource
279
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
280
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
281
+ */
282
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
283
+ super(terraformResource, terraformAttribute, wrapsSet);
284
+ this.terraformResource = terraformResource;
285
+ this.terraformAttribute = terraformAttribute;
286
+ this.wrapsSet = wrapsSet;
287
+ }
288
+ /**
289
+ * @param index the index of the item to return
290
+ */
291
+ get(index) {
292
+ return new SyntheticsStepMonitorStepsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
293
+ }
294
+ }
295
+ export function syntheticsStepMonitorTagToTerraform(struct) {
296
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
297
+ return struct;
298
+ }
299
+ if (cdktf.isComplexElement(struct)) {
300
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
301
+ }
302
+ return {
303
+ key: cdktf.stringToTerraform(struct.key),
304
+ values: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.values),
305
+ };
306
+ }
307
+ export function syntheticsStepMonitorTagToHclTerraform(struct) {
308
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
309
+ return struct;
310
+ }
311
+ if (cdktf.isComplexElement(struct)) {
312
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
313
+ }
314
+ const attrs = {
315
+ key: {
316
+ value: cdktf.stringToHclTerraform(struct.key),
317
+ isBlock: false,
318
+ type: "simple",
319
+ storageClassType: "string",
320
+ },
321
+ values: {
322
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.values),
323
+ isBlock: false,
324
+ type: "list",
325
+ storageClassType: "stringList",
326
+ },
327
+ };
328
+ // remove undefined attributes
329
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
330
+ }
331
+ export class SyntheticsStepMonitorTagOutputReference extends cdktf.ComplexObject {
332
+ isEmptyObject = false;
333
+ resolvableValue;
334
+ /**
335
+ * @param terraformResource The parent resource
336
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
337
+ * @param complexObjectIndex the index of this item in the list
338
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
339
+ */
340
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
341
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
342
+ }
343
+ get internalValue() {
344
+ if (this.resolvableValue) {
345
+ return this.resolvableValue;
346
+ }
347
+ let hasAnyValues = this.isEmptyObject;
348
+ const internalValueResult = {};
349
+ if (this._key !== undefined) {
350
+ hasAnyValues = true;
351
+ internalValueResult.key = this._key;
352
+ }
353
+ if (this._values !== undefined) {
354
+ hasAnyValues = true;
355
+ internalValueResult.values = this._values;
356
+ }
357
+ return hasAnyValues ? internalValueResult : undefined;
358
+ }
359
+ set internalValue(value) {
360
+ if (value === undefined) {
361
+ this.isEmptyObject = false;
362
+ this.resolvableValue = undefined;
363
+ this._key = undefined;
364
+ this._values = undefined;
365
+ }
366
+ else if (cdktf.Tokenization.isResolvable(value)) {
367
+ this.isEmptyObject = false;
368
+ this.resolvableValue = value;
369
+ }
370
+ else {
371
+ this.isEmptyObject = Object.keys(value).length === 0;
372
+ this.resolvableValue = undefined;
373
+ this._key = value.key;
374
+ this._values = value.values;
375
+ }
376
+ }
377
+ // key - computed: false, optional: false, required: true
378
+ _key;
379
+ get key() {
380
+ return this.getStringAttribute('key');
381
+ }
382
+ set key(value) {
383
+ this._key = value;
384
+ }
385
+ // Temporarily expose input value. Use with caution.
386
+ get keyInput() {
387
+ return this._key;
388
+ }
389
+ // values - computed: false, optional: false, required: true
390
+ _values;
391
+ get values() {
392
+ return this.getListAttribute('values');
393
+ }
394
+ set values(value) {
395
+ this._values = value;
396
+ }
397
+ // Temporarily expose input value. Use with caution.
398
+ get valuesInput() {
399
+ return this._values;
400
+ }
401
+ }
402
+ export class SyntheticsStepMonitorTagList extends cdktf.ComplexList {
403
+ terraformResource;
404
+ terraformAttribute;
405
+ wrapsSet;
406
+ internalValue;
407
+ /**
408
+ * @param terraformResource The parent resource
409
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
410
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
411
+ */
412
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
413
+ super(terraformResource, terraformAttribute, wrapsSet);
414
+ this.terraformResource = terraformResource;
415
+ this.terraformAttribute = terraformAttribute;
416
+ this.wrapsSet = wrapsSet;
417
+ }
418
+ /**
419
+ * @param index the index of the item to return
420
+ */
421
+ get(index) {
422
+ return new SyntheticsStepMonitorTagOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
423
+ }
424
+ }
425
+ /**
426
+ * Represents a {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/synthetics_step_monitor newrelic_synthetics_step_monitor}
427
+ */
428
+ export class SyntheticsStepMonitor extends cdktf.TerraformResource {
429
+ // =================
430
+ // STATIC PROPERTIES
431
+ // =================
432
+ static tfResourceType = "newrelic_synthetics_step_monitor";
433
+ // ==============
434
+ // STATIC Methods
435
+ // ==============
436
+ /**
437
+ * Generates CDKTF code for importing a SyntheticsStepMonitor resource upon running "cdktf plan <stack-name>"
438
+ * @param scope The scope in which to define this construct
439
+ * @param importToId The construct id used in the generated config for the SyntheticsStepMonitor to import
440
+ * @param importFromId The id of the existing SyntheticsStepMonitor that should be imported. Refer to the {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/synthetics_step_monitor#import import section} in the documentation of this resource for the id to use
441
+ * @param provider? Optional instance of the provider where the SyntheticsStepMonitor to import is found
442
+ */
443
+ static generateConfigForImport(scope, importToId, importFromId, provider) {
444
+ return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "newrelic_synthetics_step_monitor", importId: importFromId, provider });
445
+ }
446
+ // ===========
447
+ // INITIALIZER
448
+ // ===========
449
+ /**
450
+ * Create a new {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/synthetics_step_monitor newrelic_synthetics_step_monitor} Resource
451
+ *
452
+ * @param scope The scope in which to define this construct
453
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
454
+ * @param options SyntheticsStepMonitorConfig
455
+ */
456
+ constructor(scope, id, config) {
457
+ super(scope, id, {
458
+ terraformResourceType: 'newrelic_synthetics_step_monitor',
459
+ terraformGeneratorMetadata: {
460
+ providerName: 'newrelic',
461
+ providerVersion: '3.75.4',
462
+ providerVersionConstraint: '3.75.4'
463
+ },
464
+ provider: config.provider,
465
+ dependsOn: config.dependsOn,
466
+ count: config.count,
467
+ lifecycle: config.lifecycle,
468
+ provisioners: config.provisioners,
469
+ connection: config.connection,
470
+ forEach: config.forEach
471
+ });
472
+ this._accountId = config.accountId;
473
+ this._browsers = config.browsers;
474
+ this._devices = config.devices;
475
+ this._enableScreenshotOnFailureAndScript = config.enableScreenshotOnFailureAndScript;
476
+ this._id = config.id;
477
+ this._locationsPublic = config.locationsPublic;
478
+ this._name = config.name;
479
+ this._period = config.period;
480
+ this._runtimeType = config.runtimeType;
481
+ this._runtimeTypeVersion = config.runtimeTypeVersion;
482
+ this._status = config.status;
483
+ this._useUnsupportedLegacyRuntime = config.useUnsupportedLegacyRuntime;
484
+ this._locationPrivate.internalValue = config.locationPrivate;
485
+ this._steps.internalValue = config.steps;
486
+ this._tag.internalValue = config.tag;
487
+ }
488
+ // ==========
489
+ // ATTRIBUTES
490
+ // ==========
491
+ // account_id - computed: true, optional: true, required: false
492
+ _accountId;
493
+ get accountId() {
494
+ return this.getNumberAttribute('account_id');
495
+ }
496
+ set accountId(value) {
497
+ this._accountId = value;
498
+ }
499
+ resetAccountId() {
500
+ this._accountId = undefined;
501
+ }
502
+ // Temporarily expose input value. Use with caution.
503
+ get accountIdInput() {
504
+ return this._accountId;
505
+ }
506
+ // browsers - computed: false, optional: true, required: false
507
+ _browsers;
508
+ get browsers() {
509
+ return cdktf.Fn.tolist(this.getListAttribute('browsers'));
510
+ }
511
+ set browsers(value) {
512
+ this._browsers = value;
513
+ }
514
+ resetBrowsers() {
515
+ this._browsers = undefined;
516
+ }
517
+ // Temporarily expose input value. Use with caution.
518
+ get browsersInput() {
519
+ return this._browsers;
520
+ }
521
+ // devices - computed: false, optional: true, required: false
522
+ _devices;
523
+ get devices() {
524
+ return cdktf.Fn.tolist(this.getListAttribute('devices'));
525
+ }
526
+ set devices(value) {
527
+ this._devices = value;
528
+ }
529
+ resetDevices() {
530
+ this._devices = undefined;
531
+ }
532
+ // Temporarily expose input value. Use with caution.
533
+ get devicesInput() {
534
+ return this._devices;
535
+ }
536
+ // enable_screenshot_on_failure_and_script - computed: false, optional: true, required: false
537
+ _enableScreenshotOnFailureAndScript;
538
+ get enableScreenshotOnFailureAndScript() {
539
+ return this.getBooleanAttribute('enable_screenshot_on_failure_and_script');
540
+ }
541
+ set enableScreenshotOnFailureAndScript(value) {
542
+ this._enableScreenshotOnFailureAndScript = value;
543
+ }
544
+ resetEnableScreenshotOnFailureAndScript() {
545
+ this._enableScreenshotOnFailureAndScript = undefined;
546
+ }
547
+ // Temporarily expose input value. Use with caution.
548
+ get enableScreenshotOnFailureAndScriptInput() {
549
+ return this._enableScreenshotOnFailureAndScript;
550
+ }
551
+ // guid - computed: true, optional: false, required: false
552
+ get guid() {
553
+ return this.getStringAttribute('guid');
554
+ }
555
+ // id - computed: true, optional: true, required: false
556
+ _id;
557
+ get id() {
558
+ return this.getStringAttribute('id');
559
+ }
560
+ set id(value) {
561
+ this._id = value;
562
+ }
563
+ resetId() {
564
+ this._id = undefined;
565
+ }
566
+ // Temporarily expose input value. Use with caution.
567
+ get idInput() {
568
+ return this._id;
569
+ }
570
+ // locations_public - computed: false, optional: true, required: false
571
+ _locationsPublic;
572
+ get locationsPublic() {
573
+ return cdktf.Fn.tolist(this.getListAttribute('locations_public'));
574
+ }
575
+ set locationsPublic(value) {
576
+ this._locationsPublic = value;
577
+ }
578
+ resetLocationsPublic() {
579
+ this._locationsPublic = undefined;
580
+ }
581
+ // Temporarily expose input value. Use with caution.
582
+ get locationsPublicInput() {
583
+ return this._locationsPublic;
584
+ }
585
+ // monitor_id - computed: true, optional: false, required: false
586
+ get monitorId() {
587
+ return this.getStringAttribute('monitor_id');
588
+ }
589
+ // name - computed: false, optional: false, required: true
590
+ _name;
591
+ get name() {
592
+ return this.getStringAttribute('name');
593
+ }
594
+ set name(value) {
595
+ this._name = value;
596
+ }
597
+ // Temporarily expose input value. Use with caution.
598
+ get nameInput() {
599
+ return this._name;
600
+ }
601
+ // period - computed: false, optional: false, required: true
602
+ _period;
603
+ get period() {
604
+ return this.getStringAttribute('period');
605
+ }
606
+ set period(value) {
607
+ this._period = value;
608
+ }
609
+ // Temporarily expose input value. Use with caution.
610
+ get periodInput() {
611
+ return this._period;
612
+ }
613
+ // period_in_minutes - computed: true, optional: false, required: false
614
+ get periodInMinutes() {
615
+ return this.getNumberAttribute('period_in_minutes');
616
+ }
617
+ // runtime_type - computed: false, optional: true, required: false
618
+ _runtimeType;
619
+ get runtimeType() {
620
+ return this.getStringAttribute('runtime_type');
621
+ }
622
+ set runtimeType(value) {
623
+ this._runtimeType = value;
624
+ }
625
+ resetRuntimeType() {
626
+ this._runtimeType = undefined;
627
+ }
628
+ // Temporarily expose input value. Use with caution.
629
+ get runtimeTypeInput() {
630
+ return this._runtimeType;
631
+ }
632
+ // runtime_type_version - computed: false, optional: true, required: false
633
+ _runtimeTypeVersion;
634
+ get runtimeTypeVersion() {
635
+ return this.getStringAttribute('runtime_type_version');
636
+ }
637
+ set runtimeTypeVersion(value) {
638
+ this._runtimeTypeVersion = value;
639
+ }
640
+ resetRuntimeTypeVersion() {
641
+ this._runtimeTypeVersion = undefined;
642
+ }
643
+ // Temporarily expose input value. Use with caution.
644
+ get runtimeTypeVersionInput() {
645
+ return this._runtimeTypeVersion;
646
+ }
647
+ // status - computed: false, optional: false, required: true
648
+ _status;
649
+ get status() {
650
+ return this.getStringAttribute('status');
651
+ }
652
+ set status(value) {
653
+ this._status = value;
654
+ }
655
+ // Temporarily expose input value. Use with caution.
656
+ get statusInput() {
657
+ return this._status;
658
+ }
659
+ // use_unsupported_legacy_runtime - computed: false, optional: true, required: false
660
+ _useUnsupportedLegacyRuntime;
661
+ get useUnsupportedLegacyRuntime() {
662
+ return this.getBooleanAttribute('use_unsupported_legacy_runtime');
663
+ }
664
+ set useUnsupportedLegacyRuntime(value) {
665
+ this._useUnsupportedLegacyRuntime = value;
666
+ }
667
+ resetUseUnsupportedLegacyRuntime() {
668
+ this._useUnsupportedLegacyRuntime = undefined;
669
+ }
670
+ // Temporarily expose input value. Use with caution.
671
+ get useUnsupportedLegacyRuntimeInput() {
672
+ return this._useUnsupportedLegacyRuntime;
673
+ }
674
+ // location_private - computed: false, optional: true, required: false
675
+ _locationPrivate = new SyntheticsStepMonitorLocationPrivateList(this, "location_private", true);
676
+ get locationPrivate() {
677
+ return this._locationPrivate;
678
+ }
679
+ putLocationPrivate(value) {
680
+ this._locationPrivate.internalValue = value;
681
+ }
682
+ resetLocationPrivate() {
683
+ this._locationPrivate.internalValue = undefined;
684
+ }
685
+ // Temporarily expose input value. Use with caution.
686
+ get locationPrivateInput() {
687
+ return this._locationPrivate.internalValue;
688
+ }
689
+ // steps - computed: false, optional: false, required: true
690
+ _steps = new SyntheticsStepMonitorStepsList(this, "steps", false);
691
+ get steps() {
692
+ return this._steps;
693
+ }
694
+ putSteps(value) {
695
+ this._steps.internalValue = value;
696
+ }
697
+ // Temporarily expose input value. Use with caution.
698
+ get stepsInput() {
699
+ return this._steps.internalValue;
700
+ }
701
+ // tag - computed: false, optional: true, required: false
702
+ _tag = new SyntheticsStepMonitorTagList(this, "tag", true);
703
+ get tag() {
704
+ return this._tag;
705
+ }
706
+ putTag(value) {
707
+ this._tag.internalValue = value;
708
+ }
709
+ resetTag() {
710
+ this._tag.internalValue = undefined;
711
+ }
712
+ // Temporarily expose input value. Use with caution.
713
+ get tagInput() {
714
+ return this._tag.internalValue;
715
+ }
716
+ // =========
717
+ // SYNTHESIS
718
+ // =========
719
+ synthesizeAttributes() {
720
+ return {
721
+ account_id: cdktf.numberToTerraform(this._accountId),
722
+ browsers: cdktf.listMapper(cdktf.stringToTerraform, false)(this._browsers),
723
+ devices: cdktf.listMapper(cdktf.stringToTerraform, false)(this._devices),
724
+ enable_screenshot_on_failure_and_script: cdktf.booleanToTerraform(this._enableScreenshotOnFailureAndScript),
725
+ id: cdktf.stringToTerraform(this._id),
726
+ locations_public: cdktf.listMapper(cdktf.stringToTerraform, false)(this._locationsPublic),
727
+ name: cdktf.stringToTerraform(this._name),
728
+ period: cdktf.stringToTerraform(this._period),
729
+ runtime_type: cdktf.stringToTerraform(this._runtimeType),
730
+ runtime_type_version: cdktf.stringToTerraform(this._runtimeTypeVersion),
731
+ status: cdktf.stringToTerraform(this._status),
732
+ use_unsupported_legacy_runtime: cdktf.booleanToTerraform(this._useUnsupportedLegacyRuntime),
733
+ location_private: cdktf.listMapper(syntheticsStepMonitorLocationPrivateToTerraform, true)(this._locationPrivate.internalValue),
734
+ steps: cdktf.listMapper(syntheticsStepMonitorStepsToTerraform, true)(this._steps.internalValue),
735
+ tag: cdktf.listMapper(syntheticsStepMonitorTagToTerraform, true)(this._tag.internalValue),
736
+ };
737
+ }
738
+ synthesizeHclAttributes() {
739
+ const attrs = {
740
+ account_id: {
741
+ value: cdktf.numberToHclTerraform(this._accountId),
742
+ isBlock: false,
743
+ type: "simple",
744
+ storageClassType: "number",
745
+ },
746
+ browsers: {
747
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._browsers),
748
+ isBlock: false,
749
+ type: "set",
750
+ storageClassType: "stringList",
751
+ },
752
+ devices: {
753
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._devices),
754
+ isBlock: false,
755
+ type: "set",
756
+ storageClassType: "stringList",
757
+ },
758
+ enable_screenshot_on_failure_and_script: {
759
+ value: cdktf.booleanToHclTerraform(this._enableScreenshotOnFailureAndScript),
760
+ isBlock: false,
761
+ type: "simple",
762
+ storageClassType: "boolean",
763
+ },
764
+ id: {
765
+ value: cdktf.stringToHclTerraform(this._id),
766
+ isBlock: false,
767
+ type: "simple",
768
+ storageClassType: "string",
769
+ },
770
+ locations_public: {
771
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._locationsPublic),
772
+ isBlock: false,
773
+ type: "set",
774
+ storageClassType: "stringList",
775
+ },
776
+ name: {
777
+ value: cdktf.stringToHclTerraform(this._name),
778
+ isBlock: false,
779
+ type: "simple",
780
+ storageClassType: "string",
781
+ },
782
+ period: {
783
+ value: cdktf.stringToHclTerraform(this._period),
784
+ isBlock: false,
785
+ type: "simple",
786
+ storageClassType: "string",
787
+ },
788
+ runtime_type: {
789
+ value: cdktf.stringToHclTerraform(this._runtimeType),
790
+ isBlock: false,
791
+ type: "simple",
792
+ storageClassType: "string",
793
+ },
794
+ runtime_type_version: {
795
+ value: cdktf.stringToHclTerraform(this._runtimeTypeVersion),
796
+ isBlock: false,
797
+ type: "simple",
798
+ storageClassType: "string",
799
+ },
800
+ status: {
801
+ value: cdktf.stringToHclTerraform(this._status),
802
+ isBlock: false,
803
+ type: "simple",
804
+ storageClassType: "string",
805
+ },
806
+ use_unsupported_legacy_runtime: {
807
+ value: cdktf.booleanToHclTerraform(this._useUnsupportedLegacyRuntime),
808
+ isBlock: false,
809
+ type: "simple",
810
+ storageClassType: "boolean",
811
+ },
812
+ location_private: {
813
+ value: cdktf.listMapperHcl(syntheticsStepMonitorLocationPrivateToHclTerraform, true)(this._locationPrivate.internalValue),
814
+ isBlock: true,
815
+ type: "set",
816
+ storageClassType: "SyntheticsStepMonitorLocationPrivateList",
817
+ },
818
+ steps: {
819
+ value: cdktf.listMapperHcl(syntheticsStepMonitorStepsToHclTerraform, true)(this._steps.internalValue),
820
+ isBlock: true,
821
+ type: "list",
822
+ storageClassType: "SyntheticsStepMonitorStepsList",
823
+ },
824
+ tag: {
825
+ value: cdktf.listMapperHcl(syntheticsStepMonitorTagToHclTerraform, true)(this._tag.internalValue),
826
+ isBlock: true,
827
+ type: "set",
828
+ storageClassType: "SyntheticsStepMonitorTagList",
829
+ },
830
+ };
831
+ // remove undefined attributes
832
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
833
+ }
834
+ }