@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,2742 @@
1
+ // https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/cloud_gcp_integrations
2
+ // generated from terraform resource schema
3
+ import * as cdktf from 'cdktf';
4
+ export function cloudGcpIntegrationsAlloyDbToTerraform(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
+ metrics_polling_interval: cdktf.numberToTerraform(struct.metricsPollingInterval),
13
+ };
14
+ }
15
+ export function cloudGcpIntegrationsAlloyDbToHclTerraform(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
+ metrics_polling_interval: {
24
+ value: cdktf.numberToHclTerraform(struct.metricsPollingInterval),
25
+ isBlock: false,
26
+ type: "simple",
27
+ storageClassType: "number",
28
+ },
29
+ };
30
+ // remove undefined attributes
31
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
32
+ }
33
+ export class CloudGcpIntegrationsAlloyDbOutputReference extends cdktf.ComplexObject {
34
+ isEmptyObject = false;
35
+ /**
36
+ * @param terraformResource The parent resource
37
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
38
+ */
39
+ constructor(terraformResource, terraformAttribute) {
40
+ super(terraformResource, terraformAttribute, false, 0);
41
+ }
42
+ get internalValue() {
43
+ let hasAnyValues = this.isEmptyObject;
44
+ const internalValueResult = {};
45
+ if (this._metricsPollingInterval !== undefined) {
46
+ hasAnyValues = true;
47
+ internalValueResult.metricsPollingInterval = this._metricsPollingInterval;
48
+ }
49
+ return hasAnyValues ? internalValueResult : undefined;
50
+ }
51
+ set internalValue(value) {
52
+ if (value === undefined) {
53
+ this.isEmptyObject = false;
54
+ this._metricsPollingInterval = undefined;
55
+ }
56
+ else {
57
+ this.isEmptyObject = Object.keys(value).length === 0;
58
+ this._metricsPollingInterval = value.metricsPollingInterval;
59
+ }
60
+ }
61
+ // metrics_polling_interval - computed: false, optional: true, required: false
62
+ _metricsPollingInterval;
63
+ get metricsPollingInterval() {
64
+ return this.getNumberAttribute('metrics_polling_interval');
65
+ }
66
+ set metricsPollingInterval(value) {
67
+ this._metricsPollingInterval = value;
68
+ }
69
+ resetMetricsPollingInterval() {
70
+ this._metricsPollingInterval = undefined;
71
+ }
72
+ // Temporarily expose input value. Use with caution.
73
+ get metricsPollingIntervalInput() {
74
+ return this._metricsPollingInterval;
75
+ }
76
+ }
77
+ export function cloudGcpIntegrationsAppEngineToTerraform(struct) {
78
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
79
+ return struct;
80
+ }
81
+ if (cdktf.isComplexElement(struct)) {
82
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
83
+ }
84
+ return {
85
+ metrics_polling_interval: cdktf.numberToTerraform(struct.metricsPollingInterval),
86
+ };
87
+ }
88
+ export function cloudGcpIntegrationsAppEngineToHclTerraform(struct) {
89
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
90
+ return struct;
91
+ }
92
+ if (cdktf.isComplexElement(struct)) {
93
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
94
+ }
95
+ const attrs = {
96
+ metrics_polling_interval: {
97
+ value: cdktf.numberToHclTerraform(struct.metricsPollingInterval),
98
+ isBlock: false,
99
+ type: "simple",
100
+ storageClassType: "number",
101
+ },
102
+ };
103
+ // remove undefined attributes
104
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
105
+ }
106
+ export class CloudGcpIntegrationsAppEngineOutputReference extends cdktf.ComplexObject {
107
+ isEmptyObject = false;
108
+ /**
109
+ * @param terraformResource The parent resource
110
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
111
+ */
112
+ constructor(terraformResource, terraformAttribute) {
113
+ super(terraformResource, terraformAttribute, false, 0);
114
+ }
115
+ get internalValue() {
116
+ let hasAnyValues = this.isEmptyObject;
117
+ const internalValueResult = {};
118
+ if (this._metricsPollingInterval !== undefined) {
119
+ hasAnyValues = true;
120
+ internalValueResult.metricsPollingInterval = this._metricsPollingInterval;
121
+ }
122
+ return hasAnyValues ? internalValueResult : undefined;
123
+ }
124
+ set internalValue(value) {
125
+ if (value === undefined) {
126
+ this.isEmptyObject = false;
127
+ this._metricsPollingInterval = undefined;
128
+ }
129
+ else {
130
+ this.isEmptyObject = Object.keys(value).length === 0;
131
+ this._metricsPollingInterval = value.metricsPollingInterval;
132
+ }
133
+ }
134
+ // metrics_polling_interval - computed: false, optional: true, required: false
135
+ _metricsPollingInterval;
136
+ get metricsPollingInterval() {
137
+ return this.getNumberAttribute('metrics_polling_interval');
138
+ }
139
+ set metricsPollingInterval(value) {
140
+ this._metricsPollingInterval = value;
141
+ }
142
+ resetMetricsPollingInterval() {
143
+ this._metricsPollingInterval = undefined;
144
+ }
145
+ // Temporarily expose input value. Use with caution.
146
+ get metricsPollingIntervalInput() {
147
+ return this._metricsPollingInterval;
148
+ }
149
+ }
150
+ export function cloudGcpIntegrationsBigQueryToTerraform(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
+ return {
158
+ fetch_tags: cdktf.booleanToTerraform(struct.fetchTags),
159
+ metrics_polling_interval: cdktf.numberToTerraform(struct.metricsPollingInterval),
160
+ };
161
+ }
162
+ export function cloudGcpIntegrationsBigQueryToHclTerraform(struct) {
163
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
164
+ return struct;
165
+ }
166
+ if (cdktf.isComplexElement(struct)) {
167
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
168
+ }
169
+ const attrs = {
170
+ fetch_tags: {
171
+ value: cdktf.booleanToHclTerraform(struct.fetchTags),
172
+ isBlock: false,
173
+ type: "simple",
174
+ storageClassType: "boolean",
175
+ },
176
+ metrics_polling_interval: {
177
+ value: cdktf.numberToHclTerraform(struct.metricsPollingInterval),
178
+ isBlock: false,
179
+ type: "simple",
180
+ storageClassType: "number",
181
+ },
182
+ };
183
+ // remove undefined attributes
184
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
185
+ }
186
+ export class CloudGcpIntegrationsBigQueryOutputReference extends cdktf.ComplexObject {
187
+ isEmptyObject = false;
188
+ /**
189
+ * @param terraformResource The parent resource
190
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
191
+ */
192
+ constructor(terraformResource, terraformAttribute) {
193
+ super(terraformResource, terraformAttribute, false, 0);
194
+ }
195
+ get internalValue() {
196
+ let hasAnyValues = this.isEmptyObject;
197
+ const internalValueResult = {};
198
+ if (this._fetchTags !== undefined) {
199
+ hasAnyValues = true;
200
+ internalValueResult.fetchTags = this._fetchTags;
201
+ }
202
+ if (this._metricsPollingInterval !== undefined) {
203
+ hasAnyValues = true;
204
+ internalValueResult.metricsPollingInterval = this._metricsPollingInterval;
205
+ }
206
+ return hasAnyValues ? internalValueResult : undefined;
207
+ }
208
+ set internalValue(value) {
209
+ if (value === undefined) {
210
+ this.isEmptyObject = false;
211
+ this._fetchTags = undefined;
212
+ this._metricsPollingInterval = undefined;
213
+ }
214
+ else {
215
+ this.isEmptyObject = Object.keys(value).length === 0;
216
+ this._fetchTags = value.fetchTags;
217
+ this._metricsPollingInterval = value.metricsPollingInterval;
218
+ }
219
+ }
220
+ // fetch_tags - computed: false, optional: true, required: false
221
+ _fetchTags;
222
+ get fetchTags() {
223
+ return this.getBooleanAttribute('fetch_tags');
224
+ }
225
+ set fetchTags(value) {
226
+ this._fetchTags = value;
227
+ }
228
+ resetFetchTags() {
229
+ this._fetchTags = undefined;
230
+ }
231
+ // Temporarily expose input value. Use with caution.
232
+ get fetchTagsInput() {
233
+ return this._fetchTags;
234
+ }
235
+ // metrics_polling_interval - computed: false, optional: true, required: false
236
+ _metricsPollingInterval;
237
+ get metricsPollingInterval() {
238
+ return this.getNumberAttribute('metrics_polling_interval');
239
+ }
240
+ set metricsPollingInterval(value) {
241
+ this._metricsPollingInterval = value;
242
+ }
243
+ resetMetricsPollingInterval() {
244
+ this._metricsPollingInterval = undefined;
245
+ }
246
+ // Temporarily expose input value. Use with caution.
247
+ get metricsPollingIntervalInput() {
248
+ return this._metricsPollingInterval;
249
+ }
250
+ }
251
+ export function cloudGcpIntegrationsBigTableToTerraform(struct) {
252
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
253
+ return struct;
254
+ }
255
+ if (cdktf.isComplexElement(struct)) {
256
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
257
+ }
258
+ return {
259
+ metrics_polling_interval: cdktf.numberToTerraform(struct.metricsPollingInterval),
260
+ };
261
+ }
262
+ export function cloudGcpIntegrationsBigTableToHclTerraform(struct) {
263
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
264
+ return struct;
265
+ }
266
+ if (cdktf.isComplexElement(struct)) {
267
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
268
+ }
269
+ const attrs = {
270
+ metrics_polling_interval: {
271
+ value: cdktf.numberToHclTerraform(struct.metricsPollingInterval),
272
+ isBlock: false,
273
+ type: "simple",
274
+ storageClassType: "number",
275
+ },
276
+ };
277
+ // remove undefined attributes
278
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
279
+ }
280
+ export class CloudGcpIntegrationsBigTableOutputReference extends cdktf.ComplexObject {
281
+ isEmptyObject = false;
282
+ /**
283
+ * @param terraformResource The parent resource
284
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
285
+ */
286
+ constructor(terraformResource, terraformAttribute) {
287
+ super(terraformResource, terraformAttribute, false, 0);
288
+ }
289
+ get internalValue() {
290
+ let hasAnyValues = this.isEmptyObject;
291
+ const internalValueResult = {};
292
+ if (this._metricsPollingInterval !== undefined) {
293
+ hasAnyValues = true;
294
+ internalValueResult.metricsPollingInterval = this._metricsPollingInterval;
295
+ }
296
+ return hasAnyValues ? internalValueResult : undefined;
297
+ }
298
+ set internalValue(value) {
299
+ if (value === undefined) {
300
+ this.isEmptyObject = false;
301
+ this._metricsPollingInterval = undefined;
302
+ }
303
+ else {
304
+ this.isEmptyObject = Object.keys(value).length === 0;
305
+ this._metricsPollingInterval = value.metricsPollingInterval;
306
+ }
307
+ }
308
+ // metrics_polling_interval - computed: false, optional: true, required: false
309
+ _metricsPollingInterval;
310
+ get metricsPollingInterval() {
311
+ return this.getNumberAttribute('metrics_polling_interval');
312
+ }
313
+ set metricsPollingInterval(value) {
314
+ this._metricsPollingInterval = value;
315
+ }
316
+ resetMetricsPollingInterval() {
317
+ this._metricsPollingInterval = undefined;
318
+ }
319
+ // Temporarily expose input value. Use with caution.
320
+ get metricsPollingIntervalInput() {
321
+ return this._metricsPollingInterval;
322
+ }
323
+ }
324
+ export function cloudGcpIntegrationsComposerToTerraform(struct) {
325
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
326
+ return struct;
327
+ }
328
+ if (cdktf.isComplexElement(struct)) {
329
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
330
+ }
331
+ return {
332
+ metrics_polling_interval: cdktf.numberToTerraform(struct.metricsPollingInterval),
333
+ };
334
+ }
335
+ export function cloudGcpIntegrationsComposerToHclTerraform(struct) {
336
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
337
+ return struct;
338
+ }
339
+ if (cdktf.isComplexElement(struct)) {
340
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
341
+ }
342
+ const attrs = {
343
+ metrics_polling_interval: {
344
+ value: cdktf.numberToHclTerraform(struct.metricsPollingInterval),
345
+ isBlock: false,
346
+ type: "simple",
347
+ storageClassType: "number",
348
+ },
349
+ };
350
+ // remove undefined attributes
351
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
352
+ }
353
+ export class CloudGcpIntegrationsComposerOutputReference extends cdktf.ComplexObject {
354
+ isEmptyObject = false;
355
+ /**
356
+ * @param terraformResource The parent resource
357
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
358
+ */
359
+ constructor(terraformResource, terraformAttribute) {
360
+ super(terraformResource, terraformAttribute, false, 0);
361
+ }
362
+ get internalValue() {
363
+ let hasAnyValues = this.isEmptyObject;
364
+ const internalValueResult = {};
365
+ if (this._metricsPollingInterval !== undefined) {
366
+ hasAnyValues = true;
367
+ internalValueResult.metricsPollingInterval = this._metricsPollingInterval;
368
+ }
369
+ return hasAnyValues ? internalValueResult : undefined;
370
+ }
371
+ set internalValue(value) {
372
+ if (value === undefined) {
373
+ this.isEmptyObject = false;
374
+ this._metricsPollingInterval = undefined;
375
+ }
376
+ else {
377
+ this.isEmptyObject = Object.keys(value).length === 0;
378
+ this._metricsPollingInterval = value.metricsPollingInterval;
379
+ }
380
+ }
381
+ // metrics_polling_interval - computed: false, optional: true, required: false
382
+ _metricsPollingInterval;
383
+ get metricsPollingInterval() {
384
+ return this.getNumberAttribute('metrics_polling_interval');
385
+ }
386
+ set metricsPollingInterval(value) {
387
+ this._metricsPollingInterval = value;
388
+ }
389
+ resetMetricsPollingInterval() {
390
+ this._metricsPollingInterval = undefined;
391
+ }
392
+ // Temporarily expose input value. Use with caution.
393
+ get metricsPollingIntervalInput() {
394
+ return this._metricsPollingInterval;
395
+ }
396
+ }
397
+ export function cloudGcpIntegrationsDataFlowToTerraform(struct) {
398
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
399
+ return struct;
400
+ }
401
+ if (cdktf.isComplexElement(struct)) {
402
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
403
+ }
404
+ return {
405
+ metrics_polling_interval: cdktf.numberToTerraform(struct.metricsPollingInterval),
406
+ };
407
+ }
408
+ export function cloudGcpIntegrationsDataFlowToHclTerraform(struct) {
409
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
410
+ return struct;
411
+ }
412
+ if (cdktf.isComplexElement(struct)) {
413
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
414
+ }
415
+ const attrs = {
416
+ metrics_polling_interval: {
417
+ value: cdktf.numberToHclTerraform(struct.metricsPollingInterval),
418
+ isBlock: false,
419
+ type: "simple",
420
+ storageClassType: "number",
421
+ },
422
+ };
423
+ // remove undefined attributes
424
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
425
+ }
426
+ export class CloudGcpIntegrationsDataFlowOutputReference extends cdktf.ComplexObject {
427
+ isEmptyObject = false;
428
+ /**
429
+ * @param terraformResource The parent resource
430
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
431
+ */
432
+ constructor(terraformResource, terraformAttribute) {
433
+ super(terraformResource, terraformAttribute, false, 0);
434
+ }
435
+ get internalValue() {
436
+ let hasAnyValues = this.isEmptyObject;
437
+ const internalValueResult = {};
438
+ if (this._metricsPollingInterval !== undefined) {
439
+ hasAnyValues = true;
440
+ internalValueResult.metricsPollingInterval = this._metricsPollingInterval;
441
+ }
442
+ return hasAnyValues ? internalValueResult : undefined;
443
+ }
444
+ set internalValue(value) {
445
+ if (value === undefined) {
446
+ this.isEmptyObject = false;
447
+ this._metricsPollingInterval = undefined;
448
+ }
449
+ else {
450
+ this.isEmptyObject = Object.keys(value).length === 0;
451
+ this._metricsPollingInterval = value.metricsPollingInterval;
452
+ }
453
+ }
454
+ // metrics_polling_interval - computed: false, optional: true, required: false
455
+ _metricsPollingInterval;
456
+ get metricsPollingInterval() {
457
+ return this.getNumberAttribute('metrics_polling_interval');
458
+ }
459
+ set metricsPollingInterval(value) {
460
+ this._metricsPollingInterval = value;
461
+ }
462
+ resetMetricsPollingInterval() {
463
+ this._metricsPollingInterval = undefined;
464
+ }
465
+ // Temporarily expose input value. Use with caution.
466
+ get metricsPollingIntervalInput() {
467
+ return this._metricsPollingInterval;
468
+ }
469
+ }
470
+ export function cloudGcpIntegrationsDataProcToTerraform(struct) {
471
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
472
+ return struct;
473
+ }
474
+ if (cdktf.isComplexElement(struct)) {
475
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
476
+ }
477
+ return {
478
+ metrics_polling_interval: cdktf.numberToTerraform(struct.metricsPollingInterval),
479
+ };
480
+ }
481
+ export function cloudGcpIntegrationsDataProcToHclTerraform(struct) {
482
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
483
+ return struct;
484
+ }
485
+ if (cdktf.isComplexElement(struct)) {
486
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
487
+ }
488
+ const attrs = {
489
+ metrics_polling_interval: {
490
+ value: cdktf.numberToHclTerraform(struct.metricsPollingInterval),
491
+ isBlock: false,
492
+ type: "simple",
493
+ storageClassType: "number",
494
+ },
495
+ };
496
+ // remove undefined attributes
497
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
498
+ }
499
+ export class CloudGcpIntegrationsDataProcOutputReference extends cdktf.ComplexObject {
500
+ isEmptyObject = false;
501
+ /**
502
+ * @param terraformResource The parent resource
503
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
504
+ */
505
+ constructor(terraformResource, terraformAttribute) {
506
+ super(terraformResource, terraformAttribute, false, 0);
507
+ }
508
+ get internalValue() {
509
+ let hasAnyValues = this.isEmptyObject;
510
+ const internalValueResult = {};
511
+ if (this._metricsPollingInterval !== undefined) {
512
+ hasAnyValues = true;
513
+ internalValueResult.metricsPollingInterval = this._metricsPollingInterval;
514
+ }
515
+ return hasAnyValues ? internalValueResult : undefined;
516
+ }
517
+ set internalValue(value) {
518
+ if (value === undefined) {
519
+ this.isEmptyObject = false;
520
+ this._metricsPollingInterval = undefined;
521
+ }
522
+ else {
523
+ this.isEmptyObject = Object.keys(value).length === 0;
524
+ this._metricsPollingInterval = value.metricsPollingInterval;
525
+ }
526
+ }
527
+ // metrics_polling_interval - computed: false, optional: true, required: false
528
+ _metricsPollingInterval;
529
+ get metricsPollingInterval() {
530
+ return this.getNumberAttribute('metrics_polling_interval');
531
+ }
532
+ set metricsPollingInterval(value) {
533
+ this._metricsPollingInterval = value;
534
+ }
535
+ resetMetricsPollingInterval() {
536
+ this._metricsPollingInterval = undefined;
537
+ }
538
+ // Temporarily expose input value. Use with caution.
539
+ get metricsPollingIntervalInput() {
540
+ return this._metricsPollingInterval;
541
+ }
542
+ }
543
+ export function cloudGcpIntegrationsDataStoreToTerraform(struct) {
544
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
545
+ return struct;
546
+ }
547
+ if (cdktf.isComplexElement(struct)) {
548
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
549
+ }
550
+ return {
551
+ metrics_polling_interval: cdktf.numberToTerraform(struct.metricsPollingInterval),
552
+ };
553
+ }
554
+ export function cloudGcpIntegrationsDataStoreToHclTerraform(struct) {
555
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
556
+ return struct;
557
+ }
558
+ if (cdktf.isComplexElement(struct)) {
559
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
560
+ }
561
+ const attrs = {
562
+ metrics_polling_interval: {
563
+ value: cdktf.numberToHclTerraform(struct.metricsPollingInterval),
564
+ isBlock: false,
565
+ type: "simple",
566
+ storageClassType: "number",
567
+ },
568
+ };
569
+ // remove undefined attributes
570
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
571
+ }
572
+ export class CloudGcpIntegrationsDataStoreOutputReference extends cdktf.ComplexObject {
573
+ isEmptyObject = false;
574
+ /**
575
+ * @param terraformResource The parent resource
576
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
577
+ */
578
+ constructor(terraformResource, terraformAttribute) {
579
+ super(terraformResource, terraformAttribute, false, 0);
580
+ }
581
+ get internalValue() {
582
+ let hasAnyValues = this.isEmptyObject;
583
+ const internalValueResult = {};
584
+ if (this._metricsPollingInterval !== undefined) {
585
+ hasAnyValues = true;
586
+ internalValueResult.metricsPollingInterval = this._metricsPollingInterval;
587
+ }
588
+ return hasAnyValues ? internalValueResult : undefined;
589
+ }
590
+ set internalValue(value) {
591
+ if (value === undefined) {
592
+ this.isEmptyObject = false;
593
+ this._metricsPollingInterval = undefined;
594
+ }
595
+ else {
596
+ this.isEmptyObject = Object.keys(value).length === 0;
597
+ this._metricsPollingInterval = value.metricsPollingInterval;
598
+ }
599
+ }
600
+ // metrics_polling_interval - computed: false, optional: true, required: false
601
+ _metricsPollingInterval;
602
+ get metricsPollingInterval() {
603
+ return this.getNumberAttribute('metrics_polling_interval');
604
+ }
605
+ set metricsPollingInterval(value) {
606
+ this._metricsPollingInterval = value;
607
+ }
608
+ resetMetricsPollingInterval() {
609
+ this._metricsPollingInterval = undefined;
610
+ }
611
+ // Temporarily expose input value. Use with caution.
612
+ get metricsPollingIntervalInput() {
613
+ return this._metricsPollingInterval;
614
+ }
615
+ }
616
+ export function cloudGcpIntegrationsFireBaseDatabaseToTerraform(struct) {
617
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
618
+ return struct;
619
+ }
620
+ if (cdktf.isComplexElement(struct)) {
621
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
622
+ }
623
+ return {
624
+ metrics_polling_interval: cdktf.numberToTerraform(struct.metricsPollingInterval),
625
+ };
626
+ }
627
+ export function cloudGcpIntegrationsFireBaseDatabaseToHclTerraform(struct) {
628
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
629
+ return struct;
630
+ }
631
+ if (cdktf.isComplexElement(struct)) {
632
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
633
+ }
634
+ const attrs = {
635
+ metrics_polling_interval: {
636
+ value: cdktf.numberToHclTerraform(struct.metricsPollingInterval),
637
+ isBlock: false,
638
+ type: "simple",
639
+ storageClassType: "number",
640
+ },
641
+ };
642
+ // remove undefined attributes
643
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
644
+ }
645
+ export class CloudGcpIntegrationsFireBaseDatabaseOutputReference extends cdktf.ComplexObject {
646
+ isEmptyObject = false;
647
+ /**
648
+ * @param terraformResource The parent resource
649
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
650
+ */
651
+ constructor(terraformResource, terraformAttribute) {
652
+ super(terraformResource, terraformAttribute, false, 0);
653
+ }
654
+ get internalValue() {
655
+ let hasAnyValues = this.isEmptyObject;
656
+ const internalValueResult = {};
657
+ if (this._metricsPollingInterval !== undefined) {
658
+ hasAnyValues = true;
659
+ internalValueResult.metricsPollingInterval = this._metricsPollingInterval;
660
+ }
661
+ return hasAnyValues ? internalValueResult : undefined;
662
+ }
663
+ set internalValue(value) {
664
+ if (value === undefined) {
665
+ this.isEmptyObject = false;
666
+ this._metricsPollingInterval = undefined;
667
+ }
668
+ else {
669
+ this.isEmptyObject = Object.keys(value).length === 0;
670
+ this._metricsPollingInterval = value.metricsPollingInterval;
671
+ }
672
+ }
673
+ // metrics_polling_interval - computed: false, optional: true, required: false
674
+ _metricsPollingInterval;
675
+ get metricsPollingInterval() {
676
+ return this.getNumberAttribute('metrics_polling_interval');
677
+ }
678
+ set metricsPollingInterval(value) {
679
+ this._metricsPollingInterval = value;
680
+ }
681
+ resetMetricsPollingInterval() {
682
+ this._metricsPollingInterval = undefined;
683
+ }
684
+ // Temporarily expose input value. Use with caution.
685
+ get metricsPollingIntervalInput() {
686
+ return this._metricsPollingInterval;
687
+ }
688
+ }
689
+ export function cloudGcpIntegrationsFireBaseHostingToTerraform(struct) {
690
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
691
+ return struct;
692
+ }
693
+ if (cdktf.isComplexElement(struct)) {
694
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
695
+ }
696
+ return {
697
+ metrics_polling_interval: cdktf.numberToTerraform(struct.metricsPollingInterval),
698
+ };
699
+ }
700
+ export function cloudGcpIntegrationsFireBaseHostingToHclTerraform(struct) {
701
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
702
+ return struct;
703
+ }
704
+ if (cdktf.isComplexElement(struct)) {
705
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
706
+ }
707
+ const attrs = {
708
+ metrics_polling_interval: {
709
+ value: cdktf.numberToHclTerraform(struct.metricsPollingInterval),
710
+ isBlock: false,
711
+ type: "simple",
712
+ storageClassType: "number",
713
+ },
714
+ };
715
+ // remove undefined attributes
716
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
717
+ }
718
+ export class CloudGcpIntegrationsFireBaseHostingOutputReference extends cdktf.ComplexObject {
719
+ isEmptyObject = false;
720
+ /**
721
+ * @param terraformResource The parent resource
722
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
723
+ */
724
+ constructor(terraformResource, terraformAttribute) {
725
+ super(terraformResource, terraformAttribute, false, 0);
726
+ }
727
+ get internalValue() {
728
+ let hasAnyValues = this.isEmptyObject;
729
+ const internalValueResult = {};
730
+ if (this._metricsPollingInterval !== undefined) {
731
+ hasAnyValues = true;
732
+ internalValueResult.metricsPollingInterval = this._metricsPollingInterval;
733
+ }
734
+ return hasAnyValues ? internalValueResult : undefined;
735
+ }
736
+ set internalValue(value) {
737
+ if (value === undefined) {
738
+ this.isEmptyObject = false;
739
+ this._metricsPollingInterval = undefined;
740
+ }
741
+ else {
742
+ this.isEmptyObject = Object.keys(value).length === 0;
743
+ this._metricsPollingInterval = value.metricsPollingInterval;
744
+ }
745
+ }
746
+ // metrics_polling_interval - computed: false, optional: true, required: false
747
+ _metricsPollingInterval;
748
+ get metricsPollingInterval() {
749
+ return this.getNumberAttribute('metrics_polling_interval');
750
+ }
751
+ set metricsPollingInterval(value) {
752
+ this._metricsPollingInterval = value;
753
+ }
754
+ resetMetricsPollingInterval() {
755
+ this._metricsPollingInterval = undefined;
756
+ }
757
+ // Temporarily expose input value. Use with caution.
758
+ get metricsPollingIntervalInput() {
759
+ return this._metricsPollingInterval;
760
+ }
761
+ }
762
+ export function cloudGcpIntegrationsFireBaseStorageToTerraform(struct) {
763
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
764
+ return struct;
765
+ }
766
+ if (cdktf.isComplexElement(struct)) {
767
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
768
+ }
769
+ return {
770
+ metrics_polling_interval: cdktf.numberToTerraform(struct.metricsPollingInterval),
771
+ };
772
+ }
773
+ export function cloudGcpIntegrationsFireBaseStorageToHclTerraform(struct) {
774
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
775
+ return struct;
776
+ }
777
+ if (cdktf.isComplexElement(struct)) {
778
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
779
+ }
780
+ const attrs = {
781
+ metrics_polling_interval: {
782
+ value: cdktf.numberToHclTerraform(struct.metricsPollingInterval),
783
+ isBlock: false,
784
+ type: "simple",
785
+ storageClassType: "number",
786
+ },
787
+ };
788
+ // remove undefined attributes
789
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
790
+ }
791
+ export class CloudGcpIntegrationsFireBaseStorageOutputReference extends cdktf.ComplexObject {
792
+ isEmptyObject = false;
793
+ /**
794
+ * @param terraformResource The parent resource
795
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
796
+ */
797
+ constructor(terraformResource, terraformAttribute) {
798
+ super(terraformResource, terraformAttribute, false, 0);
799
+ }
800
+ get internalValue() {
801
+ let hasAnyValues = this.isEmptyObject;
802
+ const internalValueResult = {};
803
+ if (this._metricsPollingInterval !== undefined) {
804
+ hasAnyValues = true;
805
+ internalValueResult.metricsPollingInterval = this._metricsPollingInterval;
806
+ }
807
+ return hasAnyValues ? internalValueResult : undefined;
808
+ }
809
+ set internalValue(value) {
810
+ if (value === undefined) {
811
+ this.isEmptyObject = false;
812
+ this._metricsPollingInterval = undefined;
813
+ }
814
+ else {
815
+ this.isEmptyObject = Object.keys(value).length === 0;
816
+ this._metricsPollingInterval = value.metricsPollingInterval;
817
+ }
818
+ }
819
+ // metrics_polling_interval - computed: false, optional: true, required: false
820
+ _metricsPollingInterval;
821
+ get metricsPollingInterval() {
822
+ return this.getNumberAttribute('metrics_polling_interval');
823
+ }
824
+ set metricsPollingInterval(value) {
825
+ this._metricsPollingInterval = value;
826
+ }
827
+ resetMetricsPollingInterval() {
828
+ this._metricsPollingInterval = undefined;
829
+ }
830
+ // Temporarily expose input value. Use with caution.
831
+ get metricsPollingIntervalInput() {
832
+ return this._metricsPollingInterval;
833
+ }
834
+ }
835
+ export function cloudGcpIntegrationsFireStoreToTerraform(struct) {
836
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
837
+ return struct;
838
+ }
839
+ if (cdktf.isComplexElement(struct)) {
840
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
841
+ }
842
+ return {
843
+ metrics_polling_interval: cdktf.numberToTerraform(struct.metricsPollingInterval),
844
+ };
845
+ }
846
+ export function cloudGcpIntegrationsFireStoreToHclTerraform(struct) {
847
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
848
+ return struct;
849
+ }
850
+ if (cdktf.isComplexElement(struct)) {
851
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
852
+ }
853
+ const attrs = {
854
+ metrics_polling_interval: {
855
+ value: cdktf.numberToHclTerraform(struct.metricsPollingInterval),
856
+ isBlock: false,
857
+ type: "simple",
858
+ storageClassType: "number",
859
+ },
860
+ };
861
+ // remove undefined attributes
862
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
863
+ }
864
+ export class CloudGcpIntegrationsFireStoreOutputReference extends cdktf.ComplexObject {
865
+ isEmptyObject = false;
866
+ /**
867
+ * @param terraformResource The parent resource
868
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
869
+ */
870
+ constructor(terraformResource, terraformAttribute) {
871
+ super(terraformResource, terraformAttribute, false, 0);
872
+ }
873
+ get internalValue() {
874
+ let hasAnyValues = this.isEmptyObject;
875
+ const internalValueResult = {};
876
+ if (this._metricsPollingInterval !== undefined) {
877
+ hasAnyValues = true;
878
+ internalValueResult.metricsPollingInterval = this._metricsPollingInterval;
879
+ }
880
+ return hasAnyValues ? internalValueResult : undefined;
881
+ }
882
+ set internalValue(value) {
883
+ if (value === undefined) {
884
+ this.isEmptyObject = false;
885
+ this._metricsPollingInterval = undefined;
886
+ }
887
+ else {
888
+ this.isEmptyObject = Object.keys(value).length === 0;
889
+ this._metricsPollingInterval = value.metricsPollingInterval;
890
+ }
891
+ }
892
+ // metrics_polling_interval - computed: false, optional: true, required: false
893
+ _metricsPollingInterval;
894
+ get metricsPollingInterval() {
895
+ return this.getNumberAttribute('metrics_polling_interval');
896
+ }
897
+ set metricsPollingInterval(value) {
898
+ this._metricsPollingInterval = value;
899
+ }
900
+ resetMetricsPollingInterval() {
901
+ this._metricsPollingInterval = undefined;
902
+ }
903
+ // Temporarily expose input value. Use with caution.
904
+ get metricsPollingIntervalInput() {
905
+ return this._metricsPollingInterval;
906
+ }
907
+ }
908
+ export function cloudGcpIntegrationsFunctionsToTerraform(struct) {
909
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
910
+ return struct;
911
+ }
912
+ if (cdktf.isComplexElement(struct)) {
913
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
914
+ }
915
+ return {
916
+ metrics_polling_interval: cdktf.numberToTerraform(struct.metricsPollingInterval),
917
+ };
918
+ }
919
+ export function cloudGcpIntegrationsFunctionsToHclTerraform(struct) {
920
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
921
+ return struct;
922
+ }
923
+ if (cdktf.isComplexElement(struct)) {
924
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
925
+ }
926
+ const attrs = {
927
+ metrics_polling_interval: {
928
+ value: cdktf.numberToHclTerraform(struct.metricsPollingInterval),
929
+ isBlock: false,
930
+ type: "simple",
931
+ storageClassType: "number",
932
+ },
933
+ };
934
+ // remove undefined attributes
935
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
936
+ }
937
+ export class CloudGcpIntegrationsFunctionsOutputReference extends cdktf.ComplexObject {
938
+ isEmptyObject = false;
939
+ /**
940
+ * @param terraformResource The parent resource
941
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
942
+ */
943
+ constructor(terraformResource, terraformAttribute) {
944
+ super(terraformResource, terraformAttribute, false, 0);
945
+ }
946
+ get internalValue() {
947
+ let hasAnyValues = this.isEmptyObject;
948
+ const internalValueResult = {};
949
+ if (this._metricsPollingInterval !== undefined) {
950
+ hasAnyValues = true;
951
+ internalValueResult.metricsPollingInterval = this._metricsPollingInterval;
952
+ }
953
+ return hasAnyValues ? internalValueResult : undefined;
954
+ }
955
+ set internalValue(value) {
956
+ if (value === undefined) {
957
+ this.isEmptyObject = false;
958
+ this._metricsPollingInterval = undefined;
959
+ }
960
+ else {
961
+ this.isEmptyObject = Object.keys(value).length === 0;
962
+ this._metricsPollingInterval = value.metricsPollingInterval;
963
+ }
964
+ }
965
+ // metrics_polling_interval - computed: false, optional: true, required: false
966
+ _metricsPollingInterval;
967
+ get metricsPollingInterval() {
968
+ return this.getNumberAttribute('metrics_polling_interval');
969
+ }
970
+ set metricsPollingInterval(value) {
971
+ this._metricsPollingInterval = value;
972
+ }
973
+ resetMetricsPollingInterval() {
974
+ this._metricsPollingInterval = undefined;
975
+ }
976
+ // Temporarily expose input value. Use with caution.
977
+ get metricsPollingIntervalInput() {
978
+ return this._metricsPollingInterval;
979
+ }
980
+ }
981
+ export function cloudGcpIntegrationsInterconnectToTerraform(struct) {
982
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
983
+ return struct;
984
+ }
985
+ if (cdktf.isComplexElement(struct)) {
986
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
987
+ }
988
+ return {
989
+ metrics_polling_interval: cdktf.numberToTerraform(struct.metricsPollingInterval),
990
+ };
991
+ }
992
+ export function cloudGcpIntegrationsInterconnectToHclTerraform(struct) {
993
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
994
+ return struct;
995
+ }
996
+ if (cdktf.isComplexElement(struct)) {
997
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
998
+ }
999
+ const attrs = {
1000
+ metrics_polling_interval: {
1001
+ value: cdktf.numberToHclTerraform(struct.metricsPollingInterval),
1002
+ isBlock: false,
1003
+ type: "simple",
1004
+ storageClassType: "number",
1005
+ },
1006
+ };
1007
+ // remove undefined attributes
1008
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
1009
+ }
1010
+ export class CloudGcpIntegrationsInterconnectOutputReference extends cdktf.ComplexObject {
1011
+ isEmptyObject = false;
1012
+ /**
1013
+ * @param terraformResource The parent resource
1014
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
1015
+ */
1016
+ constructor(terraformResource, terraformAttribute) {
1017
+ super(terraformResource, terraformAttribute, false, 0);
1018
+ }
1019
+ get internalValue() {
1020
+ let hasAnyValues = this.isEmptyObject;
1021
+ const internalValueResult = {};
1022
+ if (this._metricsPollingInterval !== undefined) {
1023
+ hasAnyValues = true;
1024
+ internalValueResult.metricsPollingInterval = this._metricsPollingInterval;
1025
+ }
1026
+ return hasAnyValues ? internalValueResult : undefined;
1027
+ }
1028
+ set internalValue(value) {
1029
+ if (value === undefined) {
1030
+ this.isEmptyObject = false;
1031
+ this._metricsPollingInterval = undefined;
1032
+ }
1033
+ else {
1034
+ this.isEmptyObject = Object.keys(value).length === 0;
1035
+ this._metricsPollingInterval = value.metricsPollingInterval;
1036
+ }
1037
+ }
1038
+ // metrics_polling_interval - computed: false, optional: true, required: false
1039
+ _metricsPollingInterval;
1040
+ get metricsPollingInterval() {
1041
+ return this.getNumberAttribute('metrics_polling_interval');
1042
+ }
1043
+ set metricsPollingInterval(value) {
1044
+ this._metricsPollingInterval = value;
1045
+ }
1046
+ resetMetricsPollingInterval() {
1047
+ this._metricsPollingInterval = undefined;
1048
+ }
1049
+ // Temporarily expose input value. Use with caution.
1050
+ get metricsPollingIntervalInput() {
1051
+ return this._metricsPollingInterval;
1052
+ }
1053
+ }
1054
+ export function cloudGcpIntegrationsKubernetesToTerraform(struct) {
1055
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
1056
+ return struct;
1057
+ }
1058
+ if (cdktf.isComplexElement(struct)) {
1059
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
1060
+ }
1061
+ return {
1062
+ metrics_polling_interval: cdktf.numberToTerraform(struct.metricsPollingInterval),
1063
+ };
1064
+ }
1065
+ export function cloudGcpIntegrationsKubernetesToHclTerraform(struct) {
1066
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
1067
+ return struct;
1068
+ }
1069
+ if (cdktf.isComplexElement(struct)) {
1070
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
1071
+ }
1072
+ const attrs = {
1073
+ metrics_polling_interval: {
1074
+ value: cdktf.numberToHclTerraform(struct.metricsPollingInterval),
1075
+ isBlock: false,
1076
+ type: "simple",
1077
+ storageClassType: "number",
1078
+ },
1079
+ };
1080
+ // remove undefined attributes
1081
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
1082
+ }
1083
+ export class CloudGcpIntegrationsKubernetesOutputReference extends cdktf.ComplexObject {
1084
+ isEmptyObject = false;
1085
+ /**
1086
+ * @param terraformResource The parent resource
1087
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
1088
+ */
1089
+ constructor(terraformResource, terraformAttribute) {
1090
+ super(terraformResource, terraformAttribute, false, 0);
1091
+ }
1092
+ get internalValue() {
1093
+ let hasAnyValues = this.isEmptyObject;
1094
+ const internalValueResult = {};
1095
+ if (this._metricsPollingInterval !== undefined) {
1096
+ hasAnyValues = true;
1097
+ internalValueResult.metricsPollingInterval = this._metricsPollingInterval;
1098
+ }
1099
+ return hasAnyValues ? internalValueResult : undefined;
1100
+ }
1101
+ set internalValue(value) {
1102
+ if (value === undefined) {
1103
+ this.isEmptyObject = false;
1104
+ this._metricsPollingInterval = undefined;
1105
+ }
1106
+ else {
1107
+ this.isEmptyObject = Object.keys(value).length === 0;
1108
+ this._metricsPollingInterval = value.metricsPollingInterval;
1109
+ }
1110
+ }
1111
+ // metrics_polling_interval - computed: false, optional: true, required: false
1112
+ _metricsPollingInterval;
1113
+ get metricsPollingInterval() {
1114
+ return this.getNumberAttribute('metrics_polling_interval');
1115
+ }
1116
+ set metricsPollingInterval(value) {
1117
+ this._metricsPollingInterval = value;
1118
+ }
1119
+ resetMetricsPollingInterval() {
1120
+ this._metricsPollingInterval = undefined;
1121
+ }
1122
+ // Temporarily expose input value. Use with caution.
1123
+ get metricsPollingIntervalInput() {
1124
+ return this._metricsPollingInterval;
1125
+ }
1126
+ }
1127
+ export function cloudGcpIntegrationsLoadBalancingToTerraform(struct) {
1128
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
1129
+ return struct;
1130
+ }
1131
+ if (cdktf.isComplexElement(struct)) {
1132
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
1133
+ }
1134
+ return {
1135
+ metrics_polling_interval: cdktf.numberToTerraform(struct.metricsPollingInterval),
1136
+ };
1137
+ }
1138
+ export function cloudGcpIntegrationsLoadBalancingToHclTerraform(struct) {
1139
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
1140
+ return struct;
1141
+ }
1142
+ if (cdktf.isComplexElement(struct)) {
1143
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
1144
+ }
1145
+ const attrs = {
1146
+ metrics_polling_interval: {
1147
+ value: cdktf.numberToHclTerraform(struct.metricsPollingInterval),
1148
+ isBlock: false,
1149
+ type: "simple",
1150
+ storageClassType: "number",
1151
+ },
1152
+ };
1153
+ // remove undefined attributes
1154
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
1155
+ }
1156
+ export class CloudGcpIntegrationsLoadBalancingOutputReference extends cdktf.ComplexObject {
1157
+ isEmptyObject = false;
1158
+ /**
1159
+ * @param terraformResource The parent resource
1160
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
1161
+ */
1162
+ constructor(terraformResource, terraformAttribute) {
1163
+ super(terraformResource, terraformAttribute, false, 0);
1164
+ }
1165
+ get internalValue() {
1166
+ let hasAnyValues = this.isEmptyObject;
1167
+ const internalValueResult = {};
1168
+ if (this._metricsPollingInterval !== undefined) {
1169
+ hasAnyValues = true;
1170
+ internalValueResult.metricsPollingInterval = this._metricsPollingInterval;
1171
+ }
1172
+ return hasAnyValues ? internalValueResult : undefined;
1173
+ }
1174
+ set internalValue(value) {
1175
+ if (value === undefined) {
1176
+ this.isEmptyObject = false;
1177
+ this._metricsPollingInterval = undefined;
1178
+ }
1179
+ else {
1180
+ this.isEmptyObject = Object.keys(value).length === 0;
1181
+ this._metricsPollingInterval = value.metricsPollingInterval;
1182
+ }
1183
+ }
1184
+ // metrics_polling_interval - computed: false, optional: true, required: false
1185
+ _metricsPollingInterval;
1186
+ get metricsPollingInterval() {
1187
+ return this.getNumberAttribute('metrics_polling_interval');
1188
+ }
1189
+ set metricsPollingInterval(value) {
1190
+ this._metricsPollingInterval = value;
1191
+ }
1192
+ resetMetricsPollingInterval() {
1193
+ this._metricsPollingInterval = undefined;
1194
+ }
1195
+ // Temporarily expose input value. Use with caution.
1196
+ get metricsPollingIntervalInput() {
1197
+ return this._metricsPollingInterval;
1198
+ }
1199
+ }
1200
+ export function cloudGcpIntegrationsMemCacheToTerraform(struct) {
1201
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
1202
+ return struct;
1203
+ }
1204
+ if (cdktf.isComplexElement(struct)) {
1205
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
1206
+ }
1207
+ return {
1208
+ metrics_polling_interval: cdktf.numberToTerraform(struct.metricsPollingInterval),
1209
+ };
1210
+ }
1211
+ export function cloudGcpIntegrationsMemCacheToHclTerraform(struct) {
1212
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
1213
+ return struct;
1214
+ }
1215
+ if (cdktf.isComplexElement(struct)) {
1216
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
1217
+ }
1218
+ const attrs = {
1219
+ metrics_polling_interval: {
1220
+ value: cdktf.numberToHclTerraform(struct.metricsPollingInterval),
1221
+ isBlock: false,
1222
+ type: "simple",
1223
+ storageClassType: "number",
1224
+ },
1225
+ };
1226
+ // remove undefined attributes
1227
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
1228
+ }
1229
+ export class CloudGcpIntegrationsMemCacheOutputReference extends cdktf.ComplexObject {
1230
+ isEmptyObject = false;
1231
+ /**
1232
+ * @param terraformResource The parent resource
1233
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
1234
+ */
1235
+ constructor(terraformResource, terraformAttribute) {
1236
+ super(terraformResource, terraformAttribute, false, 0);
1237
+ }
1238
+ get internalValue() {
1239
+ let hasAnyValues = this.isEmptyObject;
1240
+ const internalValueResult = {};
1241
+ if (this._metricsPollingInterval !== undefined) {
1242
+ hasAnyValues = true;
1243
+ internalValueResult.metricsPollingInterval = this._metricsPollingInterval;
1244
+ }
1245
+ return hasAnyValues ? internalValueResult : undefined;
1246
+ }
1247
+ set internalValue(value) {
1248
+ if (value === undefined) {
1249
+ this.isEmptyObject = false;
1250
+ this._metricsPollingInterval = undefined;
1251
+ }
1252
+ else {
1253
+ this.isEmptyObject = Object.keys(value).length === 0;
1254
+ this._metricsPollingInterval = value.metricsPollingInterval;
1255
+ }
1256
+ }
1257
+ // metrics_polling_interval - computed: false, optional: true, required: false
1258
+ _metricsPollingInterval;
1259
+ get metricsPollingInterval() {
1260
+ return this.getNumberAttribute('metrics_polling_interval');
1261
+ }
1262
+ set metricsPollingInterval(value) {
1263
+ this._metricsPollingInterval = value;
1264
+ }
1265
+ resetMetricsPollingInterval() {
1266
+ this._metricsPollingInterval = undefined;
1267
+ }
1268
+ // Temporarily expose input value. Use with caution.
1269
+ get metricsPollingIntervalInput() {
1270
+ return this._metricsPollingInterval;
1271
+ }
1272
+ }
1273
+ export function cloudGcpIntegrationsPubSubToTerraform(struct) {
1274
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
1275
+ return struct;
1276
+ }
1277
+ if (cdktf.isComplexElement(struct)) {
1278
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
1279
+ }
1280
+ return {
1281
+ fetch_tags: cdktf.booleanToTerraform(struct.fetchTags),
1282
+ metrics_polling_interval: cdktf.numberToTerraform(struct.metricsPollingInterval),
1283
+ };
1284
+ }
1285
+ export function cloudGcpIntegrationsPubSubToHclTerraform(struct) {
1286
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
1287
+ return struct;
1288
+ }
1289
+ if (cdktf.isComplexElement(struct)) {
1290
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
1291
+ }
1292
+ const attrs = {
1293
+ fetch_tags: {
1294
+ value: cdktf.booleanToHclTerraform(struct.fetchTags),
1295
+ isBlock: false,
1296
+ type: "simple",
1297
+ storageClassType: "boolean",
1298
+ },
1299
+ metrics_polling_interval: {
1300
+ value: cdktf.numberToHclTerraform(struct.metricsPollingInterval),
1301
+ isBlock: false,
1302
+ type: "simple",
1303
+ storageClassType: "number",
1304
+ },
1305
+ };
1306
+ // remove undefined attributes
1307
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
1308
+ }
1309
+ export class CloudGcpIntegrationsPubSubOutputReference extends cdktf.ComplexObject {
1310
+ isEmptyObject = false;
1311
+ /**
1312
+ * @param terraformResource The parent resource
1313
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
1314
+ */
1315
+ constructor(terraformResource, terraformAttribute) {
1316
+ super(terraformResource, terraformAttribute, false, 0);
1317
+ }
1318
+ get internalValue() {
1319
+ let hasAnyValues = this.isEmptyObject;
1320
+ const internalValueResult = {};
1321
+ if (this._fetchTags !== undefined) {
1322
+ hasAnyValues = true;
1323
+ internalValueResult.fetchTags = this._fetchTags;
1324
+ }
1325
+ if (this._metricsPollingInterval !== undefined) {
1326
+ hasAnyValues = true;
1327
+ internalValueResult.metricsPollingInterval = this._metricsPollingInterval;
1328
+ }
1329
+ return hasAnyValues ? internalValueResult : undefined;
1330
+ }
1331
+ set internalValue(value) {
1332
+ if (value === undefined) {
1333
+ this.isEmptyObject = false;
1334
+ this._fetchTags = undefined;
1335
+ this._metricsPollingInterval = undefined;
1336
+ }
1337
+ else {
1338
+ this.isEmptyObject = Object.keys(value).length === 0;
1339
+ this._fetchTags = value.fetchTags;
1340
+ this._metricsPollingInterval = value.metricsPollingInterval;
1341
+ }
1342
+ }
1343
+ // fetch_tags - computed: false, optional: true, required: false
1344
+ _fetchTags;
1345
+ get fetchTags() {
1346
+ return this.getBooleanAttribute('fetch_tags');
1347
+ }
1348
+ set fetchTags(value) {
1349
+ this._fetchTags = value;
1350
+ }
1351
+ resetFetchTags() {
1352
+ this._fetchTags = undefined;
1353
+ }
1354
+ // Temporarily expose input value. Use with caution.
1355
+ get fetchTagsInput() {
1356
+ return this._fetchTags;
1357
+ }
1358
+ // metrics_polling_interval - computed: false, optional: true, required: false
1359
+ _metricsPollingInterval;
1360
+ get metricsPollingInterval() {
1361
+ return this.getNumberAttribute('metrics_polling_interval');
1362
+ }
1363
+ set metricsPollingInterval(value) {
1364
+ this._metricsPollingInterval = value;
1365
+ }
1366
+ resetMetricsPollingInterval() {
1367
+ this._metricsPollingInterval = undefined;
1368
+ }
1369
+ // Temporarily expose input value. Use with caution.
1370
+ get metricsPollingIntervalInput() {
1371
+ return this._metricsPollingInterval;
1372
+ }
1373
+ }
1374
+ export function cloudGcpIntegrationsRedisToTerraform(struct) {
1375
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
1376
+ return struct;
1377
+ }
1378
+ if (cdktf.isComplexElement(struct)) {
1379
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
1380
+ }
1381
+ return {
1382
+ metrics_polling_interval: cdktf.numberToTerraform(struct.metricsPollingInterval),
1383
+ };
1384
+ }
1385
+ export function cloudGcpIntegrationsRedisToHclTerraform(struct) {
1386
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
1387
+ return struct;
1388
+ }
1389
+ if (cdktf.isComplexElement(struct)) {
1390
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
1391
+ }
1392
+ const attrs = {
1393
+ metrics_polling_interval: {
1394
+ value: cdktf.numberToHclTerraform(struct.metricsPollingInterval),
1395
+ isBlock: false,
1396
+ type: "simple",
1397
+ storageClassType: "number",
1398
+ },
1399
+ };
1400
+ // remove undefined attributes
1401
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
1402
+ }
1403
+ export class CloudGcpIntegrationsRedisOutputReference extends cdktf.ComplexObject {
1404
+ isEmptyObject = false;
1405
+ /**
1406
+ * @param terraformResource The parent resource
1407
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
1408
+ */
1409
+ constructor(terraformResource, terraformAttribute) {
1410
+ super(terraformResource, terraformAttribute, false, 0);
1411
+ }
1412
+ get internalValue() {
1413
+ let hasAnyValues = this.isEmptyObject;
1414
+ const internalValueResult = {};
1415
+ if (this._metricsPollingInterval !== undefined) {
1416
+ hasAnyValues = true;
1417
+ internalValueResult.metricsPollingInterval = this._metricsPollingInterval;
1418
+ }
1419
+ return hasAnyValues ? internalValueResult : undefined;
1420
+ }
1421
+ set internalValue(value) {
1422
+ if (value === undefined) {
1423
+ this.isEmptyObject = false;
1424
+ this._metricsPollingInterval = undefined;
1425
+ }
1426
+ else {
1427
+ this.isEmptyObject = Object.keys(value).length === 0;
1428
+ this._metricsPollingInterval = value.metricsPollingInterval;
1429
+ }
1430
+ }
1431
+ // metrics_polling_interval - computed: false, optional: true, required: false
1432
+ _metricsPollingInterval;
1433
+ get metricsPollingInterval() {
1434
+ return this.getNumberAttribute('metrics_polling_interval');
1435
+ }
1436
+ set metricsPollingInterval(value) {
1437
+ this._metricsPollingInterval = value;
1438
+ }
1439
+ resetMetricsPollingInterval() {
1440
+ this._metricsPollingInterval = undefined;
1441
+ }
1442
+ // Temporarily expose input value. Use with caution.
1443
+ get metricsPollingIntervalInput() {
1444
+ return this._metricsPollingInterval;
1445
+ }
1446
+ }
1447
+ export function cloudGcpIntegrationsRouterToTerraform(struct) {
1448
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
1449
+ return struct;
1450
+ }
1451
+ if (cdktf.isComplexElement(struct)) {
1452
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
1453
+ }
1454
+ return {
1455
+ metrics_polling_interval: cdktf.numberToTerraform(struct.metricsPollingInterval),
1456
+ };
1457
+ }
1458
+ export function cloudGcpIntegrationsRouterToHclTerraform(struct) {
1459
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
1460
+ return struct;
1461
+ }
1462
+ if (cdktf.isComplexElement(struct)) {
1463
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
1464
+ }
1465
+ const attrs = {
1466
+ metrics_polling_interval: {
1467
+ value: cdktf.numberToHclTerraform(struct.metricsPollingInterval),
1468
+ isBlock: false,
1469
+ type: "simple",
1470
+ storageClassType: "number",
1471
+ },
1472
+ };
1473
+ // remove undefined attributes
1474
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
1475
+ }
1476
+ export class CloudGcpIntegrationsRouterOutputReference extends cdktf.ComplexObject {
1477
+ isEmptyObject = false;
1478
+ /**
1479
+ * @param terraformResource The parent resource
1480
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
1481
+ */
1482
+ constructor(terraformResource, terraformAttribute) {
1483
+ super(terraformResource, terraformAttribute, false, 0);
1484
+ }
1485
+ get internalValue() {
1486
+ let hasAnyValues = this.isEmptyObject;
1487
+ const internalValueResult = {};
1488
+ if (this._metricsPollingInterval !== undefined) {
1489
+ hasAnyValues = true;
1490
+ internalValueResult.metricsPollingInterval = this._metricsPollingInterval;
1491
+ }
1492
+ return hasAnyValues ? internalValueResult : undefined;
1493
+ }
1494
+ set internalValue(value) {
1495
+ if (value === undefined) {
1496
+ this.isEmptyObject = false;
1497
+ this._metricsPollingInterval = undefined;
1498
+ }
1499
+ else {
1500
+ this.isEmptyObject = Object.keys(value).length === 0;
1501
+ this._metricsPollingInterval = value.metricsPollingInterval;
1502
+ }
1503
+ }
1504
+ // metrics_polling_interval - computed: false, optional: true, required: false
1505
+ _metricsPollingInterval;
1506
+ get metricsPollingInterval() {
1507
+ return this.getNumberAttribute('metrics_polling_interval');
1508
+ }
1509
+ set metricsPollingInterval(value) {
1510
+ this._metricsPollingInterval = value;
1511
+ }
1512
+ resetMetricsPollingInterval() {
1513
+ this._metricsPollingInterval = undefined;
1514
+ }
1515
+ // Temporarily expose input value. Use with caution.
1516
+ get metricsPollingIntervalInput() {
1517
+ return this._metricsPollingInterval;
1518
+ }
1519
+ }
1520
+ export function cloudGcpIntegrationsRunToTerraform(struct) {
1521
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
1522
+ return struct;
1523
+ }
1524
+ if (cdktf.isComplexElement(struct)) {
1525
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
1526
+ }
1527
+ return {
1528
+ metrics_polling_interval: cdktf.numberToTerraform(struct.metricsPollingInterval),
1529
+ };
1530
+ }
1531
+ export function cloudGcpIntegrationsRunToHclTerraform(struct) {
1532
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
1533
+ return struct;
1534
+ }
1535
+ if (cdktf.isComplexElement(struct)) {
1536
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
1537
+ }
1538
+ const attrs = {
1539
+ metrics_polling_interval: {
1540
+ value: cdktf.numberToHclTerraform(struct.metricsPollingInterval),
1541
+ isBlock: false,
1542
+ type: "simple",
1543
+ storageClassType: "number",
1544
+ },
1545
+ };
1546
+ // remove undefined attributes
1547
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
1548
+ }
1549
+ export class CloudGcpIntegrationsRunOutputReference extends cdktf.ComplexObject {
1550
+ isEmptyObject = false;
1551
+ /**
1552
+ * @param terraformResource The parent resource
1553
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
1554
+ */
1555
+ constructor(terraformResource, terraformAttribute) {
1556
+ super(terraformResource, terraformAttribute, false, 0);
1557
+ }
1558
+ get internalValue() {
1559
+ let hasAnyValues = this.isEmptyObject;
1560
+ const internalValueResult = {};
1561
+ if (this._metricsPollingInterval !== undefined) {
1562
+ hasAnyValues = true;
1563
+ internalValueResult.metricsPollingInterval = this._metricsPollingInterval;
1564
+ }
1565
+ return hasAnyValues ? internalValueResult : undefined;
1566
+ }
1567
+ set internalValue(value) {
1568
+ if (value === undefined) {
1569
+ this.isEmptyObject = false;
1570
+ this._metricsPollingInterval = undefined;
1571
+ }
1572
+ else {
1573
+ this.isEmptyObject = Object.keys(value).length === 0;
1574
+ this._metricsPollingInterval = value.metricsPollingInterval;
1575
+ }
1576
+ }
1577
+ // metrics_polling_interval - computed: false, optional: true, required: false
1578
+ _metricsPollingInterval;
1579
+ get metricsPollingInterval() {
1580
+ return this.getNumberAttribute('metrics_polling_interval');
1581
+ }
1582
+ set metricsPollingInterval(value) {
1583
+ this._metricsPollingInterval = value;
1584
+ }
1585
+ resetMetricsPollingInterval() {
1586
+ this._metricsPollingInterval = undefined;
1587
+ }
1588
+ // Temporarily expose input value. Use with caution.
1589
+ get metricsPollingIntervalInput() {
1590
+ return this._metricsPollingInterval;
1591
+ }
1592
+ }
1593
+ export function cloudGcpIntegrationsSpannerToTerraform(struct) {
1594
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
1595
+ return struct;
1596
+ }
1597
+ if (cdktf.isComplexElement(struct)) {
1598
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
1599
+ }
1600
+ return {
1601
+ fetch_tags: cdktf.booleanToTerraform(struct.fetchTags),
1602
+ metrics_polling_interval: cdktf.numberToTerraform(struct.metricsPollingInterval),
1603
+ };
1604
+ }
1605
+ export function cloudGcpIntegrationsSpannerToHclTerraform(struct) {
1606
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
1607
+ return struct;
1608
+ }
1609
+ if (cdktf.isComplexElement(struct)) {
1610
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
1611
+ }
1612
+ const attrs = {
1613
+ fetch_tags: {
1614
+ value: cdktf.booleanToHclTerraform(struct.fetchTags),
1615
+ isBlock: false,
1616
+ type: "simple",
1617
+ storageClassType: "boolean",
1618
+ },
1619
+ metrics_polling_interval: {
1620
+ value: cdktf.numberToHclTerraform(struct.metricsPollingInterval),
1621
+ isBlock: false,
1622
+ type: "simple",
1623
+ storageClassType: "number",
1624
+ },
1625
+ };
1626
+ // remove undefined attributes
1627
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
1628
+ }
1629
+ export class CloudGcpIntegrationsSpannerOutputReference extends cdktf.ComplexObject {
1630
+ isEmptyObject = false;
1631
+ /**
1632
+ * @param terraformResource The parent resource
1633
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
1634
+ */
1635
+ constructor(terraformResource, terraformAttribute) {
1636
+ super(terraformResource, terraformAttribute, false, 0);
1637
+ }
1638
+ get internalValue() {
1639
+ let hasAnyValues = this.isEmptyObject;
1640
+ const internalValueResult = {};
1641
+ if (this._fetchTags !== undefined) {
1642
+ hasAnyValues = true;
1643
+ internalValueResult.fetchTags = this._fetchTags;
1644
+ }
1645
+ if (this._metricsPollingInterval !== undefined) {
1646
+ hasAnyValues = true;
1647
+ internalValueResult.metricsPollingInterval = this._metricsPollingInterval;
1648
+ }
1649
+ return hasAnyValues ? internalValueResult : undefined;
1650
+ }
1651
+ set internalValue(value) {
1652
+ if (value === undefined) {
1653
+ this.isEmptyObject = false;
1654
+ this._fetchTags = undefined;
1655
+ this._metricsPollingInterval = undefined;
1656
+ }
1657
+ else {
1658
+ this.isEmptyObject = Object.keys(value).length === 0;
1659
+ this._fetchTags = value.fetchTags;
1660
+ this._metricsPollingInterval = value.metricsPollingInterval;
1661
+ }
1662
+ }
1663
+ // fetch_tags - computed: false, optional: true, required: false
1664
+ _fetchTags;
1665
+ get fetchTags() {
1666
+ return this.getBooleanAttribute('fetch_tags');
1667
+ }
1668
+ set fetchTags(value) {
1669
+ this._fetchTags = value;
1670
+ }
1671
+ resetFetchTags() {
1672
+ this._fetchTags = undefined;
1673
+ }
1674
+ // Temporarily expose input value. Use with caution.
1675
+ get fetchTagsInput() {
1676
+ return this._fetchTags;
1677
+ }
1678
+ // metrics_polling_interval - computed: false, optional: true, required: false
1679
+ _metricsPollingInterval;
1680
+ get metricsPollingInterval() {
1681
+ return this.getNumberAttribute('metrics_polling_interval');
1682
+ }
1683
+ set metricsPollingInterval(value) {
1684
+ this._metricsPollingInterval = value;
1685
+ }
1686
+ resetMetricsPollingInterval() {
1687
+ this._metricsPollingInterval = undefined;
1688
+ }
1689
+ // Temporarily expose input value. Use with caution.
1690
+ get metricsPollingIntervalInput() {
1691
+ return this._metricsPollingInterval;
1692
+ }
1693
+ }
1694
+ export function cloudGcpIntegrationsSqlToTerraform(struct) {
1695
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
1696
+ return struct;
1697
+ }
1698
+ if (cdktf.isComplexElement(struct)) {
1699
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
1700
+ }
1701
+ return {
1702
+ metrics_polling_interval: cdktf.numberToTerraform(struct.metricsPollingInterval),
1703
+ };
1704
+ }
1705
+ export function cloudGcpIntegrationsSqlToHclTerraform(struct) {
1706
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
1707
+ return struct;
1708
+ }
1709
+ if (cdktf.isComplexElement(struct)) {
1710
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
1711
+ }
1712
+ const attrs = {
1713
+ metrics_polling_interval: {
1714
+ value: cdktf.numberToHclTerraform(struct.metricsPollingInterval),
1715
+ isBlock: false,
1716
+ type: "simple",
1717
+ storageClassType: "number",
1718
+ },
1719
+ };
1720
+ // remove undefined attributes
1721
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
1722
+ }
1723
+ export class CloudGcpIntegrationsSqlOutputReference extends cdktf.ComplexObject {
1724
+ isEmptyObject = false;
1725
+ /**
1726
+ * @param terraformResource The parent resource
1727
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
1728
+ */
1729
+ constructor(terraformResource, terraformAttribute) {
1730
+ super(terraformResource, terraformAttribute, false, 0);
1731
+ }
1732
+ get internalValue() {
1733
+ let hasAnyValues = this.isEmptyObject;
1734
+ const internalValueResult = {};
1735
+ if (this._metricsPollingInterval !== undefined) {
1736
+ hasAnyValues = true;
1737
+ internalValueResult.metricsPollingInterval = this._metricsPollingInterval;
1738
+ }
1739
+ return hasAnyValues ? internalValueResult : undefined;
1740
+ }
1741
+ set internalValue(value) {
1742
+ if (value === undefined) {
1743
+ this.isEmptyObject = false;
1744
+ this._metricsPollingInterval = undefined;
1745
+ }
1746
+ else {
1747
+ this.isEmptyObject = Object.keys(value).length === 0;
1748
+ this._metricsPollingInterval = value.metricsPollingInterval;
1749
+ }
1750
+ }
1751
+ // metrics_polling_interval - computed: false, optional: true, required: false
1752
+ _metricsPollingInterval;
1753
+ get metricsPollingInterval() {
1754
+ return this.getNumberAttribute('metrics_polling_interval');
1755
+ }
1756
+ set metricsPollingInterval(value) {
1757
+ this._metricsPollingInterval = value;
1758
+ }
1759
+ resetMetricsPollingInterval() {
1760
+ this._metricsPollingInterval = undefined;
1761
+ }
1762
+ // Temporarily expose input value. Use with caution.
1763
+ get metricsPollingIntervalInput() {
1764
+ return this._metricsPollingInterval;
1765
+ }
1766
+ }
1767
+ export function cloudGcpIntegrationsStorageToTerraform(struct) {
1768
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
1769
+ return struct;
1770
+ }
1771
+ if (cdktf.isComplexElement(struct)) {
1772
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
1773
+ }
1774
+ return {
1775
+ fetch_tags: cdktf.booleanToTerraform(struct.fetchTags),
1776
+ metrics_polling_interval: cdktf.numberToTerraform(struct.metricsPollingInterval),
1777
+ };
1778
+ }
1779
+ export function cloudGcpIntegrationsStorageToHclTerraform(struct) {
1780
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
1781
+ return struct;
1782
+ }
1783
+ if (cdktf.isComplexElement(struct)) {
1784
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
1785
+ }
1786
+ const attrs = {
1787
+ fetch_tags: {
1788
+ value: cdktf.booleanToHclTerraform(struct.fetchTags),
1789
+ isBlock: false,
1790
+ type: "simple",
1791
+ storageClassType: "boolean",
1792
+ },
1793
+ metrics_polling_interval: {
1794
+ value: cdktf.numberToHclTerraform(struct.metricsPollingInterval),
1795
+ isBlock: false,
1796
+ type: "simple",
1797
+ storageClassType: "number",
1798
+ },
1799
+ };
1800
+ // remove undefined attributes
1801
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
1802
+ }
1803
+ export class CloudGcpIntegrationsStorageOutputReference extends cdktf.ComplexObject {
1804
+ isEmptyObject = false;
1805
+ /**
1806
+ * @param terraformResource The parent resource
1807
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
1808
+ */
1809
+ constructor(terraformResource, terraformAttribute) {
1810
+ super(terraformResource, terraformAttribute, false, 0);
1811
+ }
1812
+ get internalValue() {
1813
+ let hasAnyValues = this.isEmptyObject;
1814
+ const internalValueResult = {};
1815
+ if (this._fetchTags !== undefined) {
1816
+ hasAnyValues = true;
1817
+ internalValueResult.fetchTags = this._fetchTags;
1818
+ }
1819
+ if (this._metricsPollingInterval !== undefined) {
1820
+ hasAnyValues = true;
1821
+ internalValueResult.metricsPollingInterval = this._metricsPollingInterval;
1822
+ }
1823
+ return hasAnyValues ? internalValueResult : undefined;
1824
+ }
1825
+ set internalValue(value) {
1826
+ if (value === undefined) {
1827
+ this.isEmptyObject = false;
1828
+ this._fetchTags = undefined;
1829
+ this._metricsPollingInterval = undefined;
1830
+ }
1831
+ else {
1832
+ this.isEmptyObject = Object.keys(value).length === 0;
1833
+ this._fetchTags = value.fetchTags;
1834
+ this._metricsPollingInterval = value.metricsPollingInterval;
1835
+ }
1836
+ }
1837
+ // fetch_tags - computed: false, optional: true, required: false
1838
+ _fetchTags;
1839
+ get fetchTags() {
1840
+ return this.getBooleanAttribute('fetch_tags');
1841
+ }
1842
+ set fetchTags(value) {
1843
+ this._fetchTags = value;
1844
+ }
1845
+ resetFetchTags() {
1846
+ this._fetchTags = undefined;
1847
+ }
1848
+ // Temporarily expose input value. Use with caution.
1849
+ get fetchTagsInput() {
1850
+ return this._fetchTags;
1851
+ }
1852
+ // metrics_polling_interval - computed: false, optional: true, required: false
1853
+ _metricsPollingInterval;
1854
+ get metricsPollingInterval() {
1855
+ return this.getNumberAttribute('metrics_polling_interval');
1856
+ }
1857
+ set metricsPollingInterval(value) {
1858
+ this._metricsPollingInterval = value;
1859
+ }
1860
+ resetMetricsPollingInterval() {
1861
+ this._metricsPollingInterval = undefined;
1862
+ }
1863
+ // Temporarily expose input value. Use with caution.
1864
+ get metricsPollingIntervalInput() {
1865
+ return this._metricsPollingInterval;
1866
+ }
1867
+ }
1868
+ export function cloudGcpIntegrationsVirtualMachinesToTerraform(struct) {
1869
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
1870
+ return struct;
1871
+ }
1872
+ if (cdktf.isComplexElement(struct)) {
1873
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
1874
+ }
1875
+ return {
1876
+ metrics_polling_interval: cdktf.numberToTerraform(struct.metricsPollingInterval),
1877
+ };
1878
+ }
1879
+ export function cloudGcpIntegrationsVirtualMachinesToHclTerraform(struct) {
1880
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
1881
+ return struct;
1882
+ }
1883
+ if (cdktf.isComplexElement(struct)) {
1884
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
1885
+ }
1886
+ const attrs = {
1887
+ metrics_polling_interval: {
1888
+ value: cdktf.numberToHclTerraform(struct.metricsPollingInterval),
1889
+ isBlock: false,
1890
+ type: "simple",
1891
+ storageClassType: "number",
1892
+ },
1893
+ };
1894
+ // remove undefined attributes
1895
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
1896
+ }
1897
+ export class CloudGcpIntegrationsVirtualMachinesOutputReference extends cdktf.ComplexObject {
1898
+ isEmptyObject = false;
1899
+ /**
1900
+ * @param terraformResource The parent resource
1901
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
1902
+ */
1903
+ constructor(terraformResource, terraformAttribute) {
1904
+ super(terraformResource, terraformAttribute, false, 0);
1905
+ }
1906
+ get internalValue() {
1907
+ let hasAnyValues = this.isEmptyObject;
1908
+ const internalValueResult = {};
1909
+ if (this._metricsPollingInterval !== undefined) {
1910
+ hasAnyValues = true;
1911
+ internalValueResult.metricsPollingInterval = this._metricsPollingInterval;
1912
+ }
1913
+ return hasAnyValues ? internalValueResult : undefined;
1914
+ }
1915
+ set internalValue(value) {
1916
+ if (value === undefined) {
1917
+ this.isEmptyObject = false;
1918
+ this._metricsPollingInterval = undefined;
1919
+ }
1920
+ else {
1921
+ this.isEmptyObject = Object.keys(value).length === 0;
1922
+ this._metricsPollingInterval = value.metricsPollingInterval;
1923
+ }
1924
+ }
1925
+ // metrics_polling_interval - computed: false, optional: true, required: false
1926
+ _metricsPollingInterval;
1927
+ get metricsPollingInterval() {
1928
+ return this.getNumberAttribute('metrics_polling_interval');
1929
+ }
1930
+ set metricsPollingInterval(value) {
1931
+ this._metricsPollingInterval = value;
1932
+ }
1933
+ resetMetricsPollingInterval() {
1934
+ this._metricsPollingInterval = undefined;
1935
+ }
1936
+ // Temporarily expose input value. Use with caution.
1937
+ get metricsPollingIntervalInput() {
1938
+ return this._metricsPollingInterval;
1939
+ }
1940
+ }
1941
+ export function cloudGcpIntegrationsVpcAccessToTerraform(struct) {
1942
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
1943
+ return struct;
1944
+ }
1945
+ if (cdktf.isComplexElement(struct)) {
1946
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
1947
+ }
1948
+ return {
1949
+ metrics_polling_interval: cdktf.numberToTerraform(struct.metricsPollingInterval),
1950
+ };
1951
+ }
1952
+ export function cloudGcpIntegrationsVpcAccessToHclTerraform(struct) {
1953
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
1954
+ return struct;
1955
+ }
1956
+ if (cdktf.isComplexElement(struct)) {
1957
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
1958
+ }
1959
+ const attrs = {
1960
+ metrics_polling_interval: {
1961
+ value: cdktf.numberToHclTerraform(struct.metricsPollingInterval),
1962
+ isBlock: false,
1963
+ type: "simple",
1964
+ storageClassType: "number",
1965
+ },
1966
+ };
1967
+ // remove undefined attributes
1968
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
1969
+ }
1970
+ export class CloudGcpIntegrationsVpcAccessOutputReference extends cdktf.ComplexObject {
1971
+ isEmptyObject = false;
1972
+ /**
1973
+ * @param terraformResource The parent resource
1974
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
1975
+ */
1976
+ constructor(terraformResource, terraformAttribute) {
1977
+ super(terraformResource, terraformAttribute, false, 0);
1978
+ }
1979
+ get internalValue() {
1980
+ let hasAnyValues = this.isEmptyObject;
1981
+ const internalValueResult = {};
1982
+ if (this._metricsPollingInterval !== undefined) {
1983
+ hasAnyValues = true;
1984
+ internalValueResult.metricsPollingInterval = this._metricsPollingInterval;
1985
+ }
1986
+ return hasAnyValues ? internalValueResult : undefined;
1987
+ }
1988
+ set internalValue(value) {
1989
+ if (value === undefined) {
1990
+ this.isEmptyObject = false;
1991
+ this._metricsPollingInterval = undefined;
1992
+ }
1993
+ else {
1994
+ this.isEmptyObject = Object.keys(value).length === 0;
1995
+ this._metricsPollingInterval = value.metricsPollingInterval;
1996
+ }
1997
+ }
1998
+ // metrics_polling_interval - computed: false, optional: true, required: false
1999
+ _metricsPollingInterval;
2000
+ get metricsPollingInterval() {
2001
+ return this.getNumberAttribute('metrics_polling_interval');
2002
+ }
2003
+ set metricsPollingInterval(value) {
2004
+ this._metricsPollingInterval = value;
2005
+ }
2006
+ resetMetricsPollingInterval() {
2007
+ this._metricsPollingInterval = undefined;
2008
+ }
2009
+ // Temporarily expose input value. Use with caution.
2010
+ get metricsPollingIntervalInput() {
2011
+ return this._metricsPollingInterval;
2012
+ }
2013
+ }
2014
+ /**
2015
+ * Represents a {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/cloud_gcp_integrations newrelic_cloud_gcp_integrations}
2016
+ */
2017
+ export class CloudGcpIntegrations extends cdktf.TerraformResource {
2018
+ // =================
2019
+ // STATIC PROPERTIES
2020
+ // =================
2021
+ static tfResourceType = "newrelic_cloud_gcp_integrations";
2022
+ // ==============
2023
+ // STATIC Methods
2024
+ // ==============
2025
+ /**
2026
+ * Generates CDKTF code for importing a CloudGcpIntegrations resource upon running "cdktf plan <stack-name>"
2027
+ * @param scope The scope in which to define this construct
2028
+ * @param importToId The construct id used in the generated config for the CloudGcpIntegrations to import
2029
+ * @param importFromId The id of the existing CloudGcpIntegrations that should be imported. Refer to the {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/cloud_gcp_integrations#import import section} in the documentation of this resource for the id to use
2030
+ * @param provider? Optional instance of the provider where the CloudGcpIntegrations to import is found
2031
+ */
2032
+ static generateConfigForImport(scope, importToId, importFromId, provider) {
2033
+ return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "newrelic_cloud_gcp_integrations", importId: importFromId, provider });
2034
+ }
2035
+ // ===========
2036
+ // INITIALIZER
2037
+ // ===========
2038
+ /**
2039
+ * Create a new {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/cloud_gcp_integrations newrelic_cloud_gcp_integrations} Resource
2040
+ *
2041
+ * @param scope The scope in which to define this construct
2042
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
2043
+ * @param options CloudGcpIntegrationsConfig
2044
+ */
2045
+ constructor(scope, id, config) {
2046
+ super(scope, id, {
2047
+ terraformResourceType: 'newrelic_cloud_gcp_integrations',
2048
+ terraformGeneratorMetadata: {
2049
+ providerName: 'newrelic',
2050
+ providerVersion: '3.75.4',
2051
+ providerVersionConstraint: '3.75.4'
2052
+ },
2053
+ provider: config.provider,
2054
+ dependsOn: config.dependsOn,
2055
+ count: config.count,
2056
+ lifecycle: config.lifecycle,
2057
+ provisioners: config.provisioners,
2058
+ connection: config.connection,
2059
+ forEach: config.forEach
2060
+ });
2061
+ this._accountId = config.accountId;
2062
+ this._id = config.id;
2063
+ this._linkedAccountId = config.linkedAccountId;
2064
+ this._alloyDb.internalValue = config.alloyDb;
2065
+ this._appEngine.internalValue = config.appEngine;
2066
+ this._bigQuery.internalValue = config.bigQuery;
2067
+ this._bigTable.internalValue = config.bigTable;
2068
+ this._composer.internalValue = config.composer;
2069
+ this._dataFlow.internalValue = config.dataFlow;
2070
+ this._dataProc.internalValue = config.dataProc;
2071
+ this._dataStore.internalValue = config.dataStore;
2072
+ this._fireBaseDatabase.internalValue = config.fireBaseDatabase;
2073
+ this._fireBaseHosting.internalValue = config.fireBaseHosting;
2074
+ this._fireBaseStorage.internalValue = config.fireBaseStorage;
2075
+ this._fireStore.internalValue = config.fireStore;
2076
+ this._functions.internalValue = config.functions;
2077
+ this._interconnect.internalValue = config.interconnect;
2078
+ this._kubernetes.internalValue = config.kubernetes;
2079
+ this._loadBalancing.internalValue = config.loadBalancing;
2080
+ this._memCache.internalValue = config.memCache;
2081
+ this._pubSub.internalValue = config.pubSub;
2082
+ this._redis.internalValue = config.redis;
2083
+ this._router.internalValue = config.router;
2084
+ this._run.internalValue = config.run;
2085
+ this._spanner.internalValue = config.spanner;
2086
+ this._sql.internalValue = config.sql;
2087
+ this._storage.internalValue = config.storage;
2088
+ this._virtualMachines.internalValue = config.virtualMachines;
2089
+ this._vpcAccess.internalValue = config.vpcAccess;
2090
+ }
2091
+ // ==========
2092
+ // ATTRIBUTES
2093
+ // ==========
2094
+ // account_id - computed: true, optional: true, required: false
2095
+ _accountId;
2096
+ get accountId() {
2097
+ return this.getNumberAttribute('account_id');
2098
+ }
2099
+ set accountId(value) {
2100
+ this._accountId = value;
2101
+ }
2102
+ resetAccountId() {
2103
+ this._accountId = undefined;
2104
+ }
2105
+ // Temporarily expose input value. Use with caution.
2106
+ get accountIdInput() {
2107
+ return this._accountId;
2108
+ }
2109
+ // id - computed: true, optional: true, required: false
2110
+ _id;
2111
+ get id() {
2112
+ return this.getStringAttribute('id');
2113
+ }
2114
+ set id(value) {
2115
+ this._id = value;
2116
+ }
2117
+ resetId() {
2118
+ this._id = undefined;
2119
+ }
2120
+ // Temporarily expose input value. Use with caution.
2121
+ get idInput() {
2122
+ return this._id;
2123
+ }
2124
+ // linked_account_id - computed: false, optional: false, required: true
2125
+ _linkedAccountId;
2126
+ get linkedAccountId() {
2127
+ return this.getNumberAttribute('linked_account_id');
2128
+ }
2129
+ set linkedAccountId(value) {
2130
+ this._linkedAccountId = value;
2131
+ }
2132
+ // Temporarily expose input value. Use with caution.
2133
+ get linkedAccountIdInput() {
2134
+ return this._linkedAccountId;
2135
+ }
2136
+ // alloy_db - computed: false, optional: true, required: false
2137
+ _alloyDb = new CloudGcpIntegrationsAlloyDbOutputReference(this, "alloy_db");
2138
+ get alloyDb() {
2139
+ return this._alloyDb;
2140
+ }
2141
+ putAlloyDb(value) {
2142
+ this._alloyDb.internalValue = value;
2143
+ }
2144
+ resetAlloyDb() {
2145
+ this._alloyDb.internalValue = undefined;
2146
+ }
2147
+ // Temporarily expose input value. Use with caution.
2148
+ get alloyDbInput() {
2149
+ return this._alloyDb.internalValue;
2150
+ }
2151
+ // app_engine - computed: false, optional: true, required: false
2152
+ _appEngine = new CloudGcpIntegrationsAppEngineOutputReference(this, "app_engine");
2153
+ get appEngine() {
2154
+ return this._appEngine;
2155
+ }
2156
+ putAppEngine(value) {
2157
+ this._appEngine.internalValue = value;
2158
+ }
2159
+ resetAppEngine() {
2160
+ this._appEngine.internalValue = undefined;
2161
+ }
2162
+ // Temporarily expose input value. Use with caution.
2163
+ get appEngineInput() {
2164
+ return this._appEngine.internalValue;
2165
+ }
2166
+ // big_query - computed: false, optional: true, required: false
2167
+ _bigQuery = new CloudGcpIntegrationsBigQueryOutputReference(this, "big_query");
2168
+ get bigQuery() {
2169
+ return this._bigQuery;
2170
+ }
2171
+ putBigQuery(value) {
2172
+ this._bigQuery.internalValue = value;
2173
+ }
2174
+ resetBigQuery() {
2175
+ this._bigQuery.internalValue = undefined;
2176
+ }
2177
+ // Temporarily expose input value. Use with caution.
2178
+ get bigQueryInput() {
2179
+ return this._bigQuery.internalValue;
2180
+ }
2181
+ // big_table - computed: false, optional: true, required: false
2182
+ _bigTable = new CloudGcpIntegrationsBigTableOutputReference(this, "big_table");
2183
+ get bigTable() {
2184
+ return this._bigTable;
2185
+ }
2186
+ putBigTable(value) {
2187
+ this._bigTable.internalValue = value;
2188
+ }
2189
+ resetBigTable() {
2190
+ this._bigTable.internalValue = undefined;
2191
+ }
2192
+ // Temporarily expose input value. Use with caution.
2193
+ get bigTableInput() {
2194
+ return this._bigTable.internalValue;
2195
+ }
2196
+ // composer - computed: false, optional: true, required: false
2197
+ _composer = new CloudGcpIntegrationsComposerOutputReference(this, "composer");
2198
+ get composer() {
2199
+ return this._composer;
2200
+ }
2201
+ putComposer(value) {
2202
+ this._composer.internalValue = value;
2203
+ }
2204
+ resetComposer() {
2205
+ this._composer.internalValue = undefined;
2206
+ }
2207
+ // Temporarily expose input value. Use with caution.
2208
+ get composerInput() {
2209
+ return this._composer.internalValue;
2210
+ }
2211
+ // data_flow - computed: false, optional: true, required: false
2212
+ _dataFlow = new CloudGcpIntegrationsDataFlowOutputReference(this, "data_flow");
2213
+ get dataFlow() {
2214
+ return this._dataFlow;
2215
+ }
2216
+ putDataFlow(value) {
2217
+ this._dataFlow.internalValue = value;
2218
+ }
2219
+ resetDataFlow() {
2220
+ this._dataFlow.internalValue = undefined;
2221
+ }
2222
+ // Temporarily expose input value. Use with caution.
2223
+ get dataFlowInput() {
2224
+ return this._dataFlow.internalValue;
2225
+ }
2226
+ // data_proc - computed: false, optional: true, required: false
2227
+ _dataProc = new CloudGcpIntegrationsDataProcOutputReference(this, "data_proc");
2228
+ get dataProc() {
2229
+ return this._dataProc;
2230
+ }
2231
+ putDataProc(value) {
2232
+ this._dataProc.internalValue = value;
2233
+ }
2234
+ resetDataProc() {
2235
+ this._dataProc.internalValue = undefined;
2236
+ }
2237
+ // Temporarily expose input value. Use with caution.
2238
+ get dataProcInput() {
2239
+ return this._dataProc.internalValue;
2240
+ }
2241
+ // data_store - computed: false, optional: true, required: false
2242
+ _dataStore = new CloudGcpIntegrationsDataStoreOutputReference(this, "data_store");
2243
+ get dataStore() {
2244
+ return this._dataStore;
2245
+ }
2246
+ putDataStore(value) {
2247
+ this._dataStore.internalValue = value;
2248
+ }
2249
+ resetDataStore() {
2250
+ this._dataStore.internalValue = undefined;
2251
+ }
2252
+ // Temporarily expose input value. Use with caution.
2253
+ get dataStoreInput() {
2254
+ return this._dataStore.internalValue;
2255
+ }
2256
+ // fire_base_database - computed: false, optional: true, required: false
2257
+ _fireBaseDatabase = new CloudGcpIntegrationsFireBaseDatabaseOutputReference(this, "fire_base_database");
2258
+ get fireBaseDatabase() {
2259
+ return this._fireBaseDatabase;
2260
+ }
2261
+ putFireBaseDatabase(value) {
2262
+ this._fireBaseDatabase.internalValue = value;
2263
+ }
2264
+ resetFireBaseDatabase() {
2265
+ this._fireBaseDatabase.internalValue = undefined;
2266
+ }
2267
+ // Temporarily expose input value. Use with caution.
2268
+ get fireBaseDatabaseInput() {
2269
+ return this._fireBaseDatabase.internalValue;
2270
+ }
2271
+ // fire_base_hosting - computed: false, optional: true, required: false
2272
+ _fireBaseHosting = new CloudGcpIntegrationsFireBaseHostingOutputReference(this, "fire_base_hosting");
2273
+ get fireBaseHosting() {
2274
+ return this._fireBaseHosting;
2275
+ }
2276
+ putFireBaseHosting(value) {
2277
+ this._fireBaseHosting.internalValue = value;
2278
+ }
2279
+ resetFireBaseHosting() {
2280
+ this._fireBaseHosting.internalValue = undefined;
2281
+ }
2282
+ // Temporarily expose input value. Use with caution.
2283
+ get fireBaseHostingInput() {
2284
+ return this._fireBaseHosting.internalValue;
2285
+ }
2286
+ // fire_base_storage - computed: false, optional: true, required: false
2287
+ _fireBaseStorage = new CloudGcpIntegrationsFireBaseStorageOutputReference(this, "fire_base_storage");
2288
+ get fireBaseStorage() {
2289
+ return this._fireBaseStorage;
2290
+ }
2291
+ putFireBaseStorage(value) {
2292
+ this._fireBaseStorage.internalValue = value;
2293
+ }
2294
+ resetFireBaseStorage() {
2295
+ this._fireBaseStorage.internalValue = undefined;
2296
+ }
2297
+ // Temporarily expose input value. Use with caution.
2298
+ get fireBaseStorageInput() {
2299
+ return this._fireBaseStorage.internalValue;
2300
+ }
2301
+ // fire_store - computed: false, optional: true, required: false
2302
+ _fireStore = new CloudGcpIntegrationsFireStoreOutputReference(this, "fire_store");
2303
+ get fireStore() {
2304
+ return this._fireStore;
2305
+ }
2306
+ putFireStore(value) {
2307
+ this._fireStore.internalValue = value;
2308
+ }
2309
+ resetFireStore() {
2310
+ this._fireStore.internalValue = undefined;
2311
+ }
2312
+ // Temporarily expose input value. Use with caution.
2313
+ get fireStoreInput() {
2314
+ return this._fireStore.internalValue;
2315
+ }
2316
+ // functions - computed: false, optional: true, required: false
2317
+ _functions = new CloudGcpIntegrationsFunctionsOutputReference(this, "functions");
2318
+ get functions() {
2319
+ return this._functions;
2320
+ }
2321
+ putFunctions(value) {
2322
+ this._functions.internalValue = value;
2323
+ }
2324
+ resetFunctions() {
2325
+ this._functions.internalValue = undefined;
2326
+ }
2327
+ // Temporarily expose input value. Use with caution.
2328
+ get functionsInput() {
2329
+ return this._functions.internalValue;
2330
+ }
2331
+ // interconnect - computed: false, optional: true, required: false
2332
+ _interconnect = new CloudGcpIntegrationsInterconnectOutputReference(this, "interconnect");
2333
+ get interconnect() {
2334
+ return this._interconnect;
2335
+ }
2336
+ putInterconnect(value) {
2337
+ this._interconnect.internalValue = value;
2338
+ }
2339
+ resetInterconnect() {
2340
+ this._interconnect.internalValue = undefined;
2341
+ }
2342
+ // Temporarily expose input value. Use with caution.
2343
+ get interconnectInput() {
2344
+ return this._interconnect.internalValue;
2345
+ }
2346
+ // kubernetes - computed: false, optional: true, required: false
2347
+ _kubernetes = new CloudGcpIntegrationsKubernetesOutputReference(this, "kubernetes");
2348
+ get kubernetes() {
2349
+ return this._kubernetes;
2350
+ }
2351
+ putKubernetes(value) {
2352
+ this._kubernetes.internalValue = value;
2353
+ }
2354
+ resetKubernetes() {
2355
+ this._kubernetes.internalValue = undefined;
2356
+ }
2357
+ // Temporarily expose input value. Use with caution.
2358
+ get kubernetesInput() {
2359
+ return this._kubernetes.internalValue;
2360
+ }
2361
+ // load_balancing - computed: false, optional: true, required: false
2362
+ _loadBalancing = new CloudGcpIntegrationsLoadBalancingOutputReference(this, "load_balancing");
2363
+ get loadBalancing() {
2364
+ return this._loadBalancing;
2365
+ }
2366
+ putLoadBalancing(value) {
2367
+ this._loadBalancing.internalValue = value;
2368
+ }
2369
+ resetLoadBalancing() {
2370
+ this._loadBalancing.internalValue = undefined;
2371
+ }
2372
+ // Temporarily expose input value. Use with caution.
2373
+ get loadBalancingInput() {
2374
+ return this._loadBalancing.internalValue;
2375
+ }
2376
+ // mem_cache - computed: false, optional: true, required: false
2377
+ _memCache = new CloudGcpIntegrationsMemCacheOutputReference(this, "mem_cache");
2378
+ get memCache() {
2379
+ return this._memCache;
2380
+ }
2381
+ putMemCache(value) {
2382
+ this._memCache.internalValue = value;
2383
+ }
2384
+ resetMemCache() {
2385
+ this._memCache.internalValue = undefined;
2386
+ }
2387
+ // Temporarily expose input value. Use with caution.
2388
+ get memCacheInput() {
2389
+ return this._memCache.internalValue;
2390
+ }
2391
+ // pub_sub - computed: false, optional: true, required: false
2392
+ _pubSub = new CloudGcpIntegrationsPubSubOutputReference(this, "pub_sub");
2393
+ get pubSub() {
2394
+ return this._pubSub;
2395
+ }
2396
+ putPubSub(value) {
2397
+ this._pubSub.internalValue = value;
2398
+ }
2399
+ resetPubSub() {
2400
+ this._pubSub.internalValue = undefined;
2401
+ }
2402
+ // Temporarily expose input value. Use with caution.
2403
+ get pubSubInput() {
2404
+ return this._pubSub.internalValue;
2405
+ }
2406
+ // redis - computed: false, optional: true, required: false
2407
+ _redis = new CloudGcpIntegrationsRedisOutputReference(this, "redis");
2408
+ get redis() {
2409
+ return this._redis;
2410
+ }
2411
+ putRedis(value) {
2412
+ this._redis.internalValue = value;
2413
+ }
2414
+ resetRedis() {
2415
+ this._redis.internalValue = undefined;
2416
+ }
2417
+ // Temporarily expose input value. Use with caution.
2418
+ get redisInput() {
2419
+ return this._redis.internalValue;
2420
+ }
2421
+ // router - computed: false, optional: true, required: false
2422
+ _router = new CloudGcpIntegrationsRouterOutputReference(this, "router");
2423
+ get router() {
2424
+ return this._router;
2425
+ }
2426
+ putRouter(value) {
2427
+ this._router.internalValue = value;
2428
+ }
2429
+ resetRouter() {
2430
+ this._router.internalValue = undefined;
2431
+ }
2432
+ // Temporarily expose input value. Use with caution.
2433
+ get routerInput() {
2434
+ return this._router.internalValue;
2435
+ }
2436
+ // run - computed: false, optional: true, required: false
2437
+ _run = new CloudGcpIntegrationsRunOutputReference(this, "run");
2438
+ get run() {
2439
+ return this._run;
2440
+ }
2441
+ putRun(value) {
2442
+ this._run.internalValue = value;
2443
+ }
2444
+ resetRun() {
2445
+ this._run.internalValue = undefined;
2446
+ }
2447
+ // Temporarily expose input value. Use with caution.
2448
+ get runInput() {
2449
+ return this._run.internalValue;
2450
+ }
2451
+ // spanner - computed: false, optional: true, required: false
2452
+ _spanner = new CloudGcpIntegrationsSpannerOutputReference(this, "spanner");
2453
+ get spanner() {
2454
+ return this._spanner;
2455
+ }
2456
+ putSpanner(value) {
2457
+ this._spanner.internalValue = value;
2458
+ }
2459
+ resetSpanner() {
2460
+ this._spanner.internalValue = undefined;
2461
+ }
2462
+ // Temporarily expose input value. Use with caution.
2463
+ get spannerInput() {
2464
+ return this._spanner.internalValue;
2465
+ }
2466
+ // sql - computed: false, optional: true, required: false
2467
+ _sql = new CloudGcpIntegrationsSqlOutputReference(this, "sql");
2468
+ get sql() {
2469
+ return this._sql;
2470
+ }
2471
+ putSql(value) {
2472
+ this._sql.internalValue = value;
2473
+ }
2474
+ resetSql() {
2475
+ this._sql.internalValue = undefined;
2476
+ }
2477
+ // Temporarily expose input value. Use with caution.
2478
+ get sqlInput() {
2479
+ return this._sql.internalValue;
2480
+ }
2481
+ // storage - computed: false, optional: true, required: false
2482
+ _storage = new CloudGcpIntegrationsStorageOutputReference(this, "storage");
2483
+ get storage() {
2484
+ return this._storage;
2485
+ }
2486
+ putStorage(value) {
2487
+ this._storage.internalValue = value;
2488
+ }
2489
+ resetStorage() {
2490
+ this._storage.internalValue = undefined;
2491
+ }
2492
+ // Temporarily expose input value. Use with caution.
2493
+ get storageInput() {
2494
+ return this._storage.internalValue;
2495
+ }
2496
+ // virtual_machines - computed: false, optional: true, required: false
2497
+ _virtualMachines = new CloudGcpIntegrationsVirtualMachinesOutputReference(this, "virtual_machines");
2498
+ get virtualMachines() {
2499
+ return this._virtualMachines;
2500
+ }
2501
+ putVirtualMachines(value) {
2502
+ this._virtualMachines.internalValue = value;
2503
+ }
2504
+ resetVirtualMachines() {
2505
+ this._virtualMachines.internalValue = undefined;
2506
+ }
2507
+ // Temporarily expose input value. Use with caution.
2508
+ get virtualMachinesInput() {
2509
+ return this._virtualMachines.internalValue;
2510
+ }
2511
+ // vpc_access - computed: false, optional: true, required: false
2512
+ _vpcAccess = new CloudGcpIntegrationsVpcAccessOutputReference(this, "vpc_access");
2513
+ get vpcAccess() {
2514
+ return this._vpcAccess;
2515
+ }
2516
+ putVpcAccess(value) {
2517
+ this._vpcAccess.internalValue = value;
2518
+ }
2519
+ resetVpcAccess() {
2520
+ this._vpcAccess.internalValue = undefined;
2521
+ }
2522
+ // Temporarily expose input value. Use with caution.
2523
+ get vpcAccessInput() {
2524
+ return this._vpcAccess.internalValue;
2525
+ }
2526
+ // =========
2527
+ // SYNTHESIS
2528
+ // =========
2529
+ synthesizeAttributes() {
2530
+ return {
2531
+ account_id: cdktf.numberToTerraform(this._accountId),
2532
+ id: cdktf.stringToTerraform(this._id),
2533
+ linked_account_id: cdktf.numberToTerraform(this._linkedAccountId),
2534
+ alloy_db: cloudGcpIntegrationsAlloyDbToTerraform(this._alloyDb.internalValue),
2535
+ app_engine: cloudGcpIntegrationsAppEngineToTerraform(this._appEngine.internalValue),
2536
+ big_query: cloudGcpIntegrationsBigQueryToTerraform(this._bigQuery.internalValue),
2537
+ big_table: cloudGcpIntegrationsBigTableToTerraform(this._bigTable.internalValue),
2538
+ composer: cloudGcpIntegrationsComposerToTerraform(this._composer.internalValue),
2539
+ data_flow: cloudGcpIntegrationsDataFlowToTerraform(this._dataFlow.internalValue),
2540
+ data_proc: cloudGcpIntegrationsDataProcToTerraform(this._dataProc.internalValue),
2541
+ data_store: cloudGcpIntegrationsDataStoreToTerraform(this._dataStore.internalValue),
2542
+ fire_base_database: cloudGcpIntegrationsFireBaseDatabaseToTerraform(this._fireBaseDatabase.internalValue),
2543
+ fire_base_hosting: cloudGcpIntegrationsFireBaseHostingToTerraform(this._fireBaseHosting.internalValue),
2544
+ fire_base_storage: cloudGcpIntegrationsFireBaseStorageToTerraform(this._fireBaseStorage.internalValue),
2545
+ fire_store: cloudGcpIntegrationsFireStoreToTerraform(this._fireStore.internalValue),
2546
+ functions: cloudGcpIntegrationsFunctionsToTerraform(this._functions.internalValue),
2547
+ interconnect: cloudGcpIntegrationsInterconnectToTerraform(this._interconnect.internalValue),
2548
+ kubernetes: cloudGcpIntegrationsKubernetesToTerraform(this._kubernetes.internalValue),
2549
+ load_balancing: cloudGcpIntegrationsLoadBalancingToTerraform(this._loadBalancing.internalValue),
2550
+ mem_cache: cloudGcpIntegrationsMemCacheToTerraform(this._memCache.internalValue),
2551
+ pub_sub: cloudGcpIntegrationsPubSubToTerraform(this._pubSub.internalValue),
2552
+ redis: cloudGcpIntegrationsRedisToTerraform(this._redis.internalValue),
2553
+ router: cloudGcpIntegrationsRouterToTerraform(this._router.internalValue),
2554
+ run: cloudGcpIntegrationsRunToTerraform(this._run.internalValue),
2555
+ spanner: cloudGcpIntegrationsSpannerToTerraform(this._spanner.internalValue),
2556
+ sql: cloudGcpIntegrationsSqlToTerraform(this._sql.internalValue),
2557
+ storage: cloudGcpIntegrationsStorageToTerraform(this._storage.internalValue),
2558
+ virtual_machines: cloudGcpIntegrationsVirtualMachinesToTerraform(this._virtualMachines.internalValue),
2559
+ vpc_access: cloudGcpIntegrationsVpcAccessToTerraform(this._vpcAccess.internalValue),
2560
+ };
2561
+ }
2562
+ synthesizeHclAttributes() {
2563
+ const attrs = {
2564
+ account_id: {
2565
+ value: cdktf.numberToHclTerraform(this._accountId),
2566
+ isBlock: false,
2567
+ type: "simple",
2568
+ storageClassType: "number",
2569
+ },
2570
+ id: {
2571
+ value: cdktf.stringToHclTerraform(this._id),
2572
+ isBlock: false,
2573
+ type: "simple",
2574
+ storageClassType: "string",
2575
+ },
2576
+ linked_account_id: {
2577
+ value: cdktf.numberToHclTerraform(this._linkedAccountId),
2578
+ isBlock: false,
2579
+ type: "simple",
2580
+ storageClassType: "number",
2581
+ },
2582
+ alloy_db: {
2583
+ value: cloudGcpIntegrationsAlloyDbToHclTerraform(this._alloyDb.internalValue),
2584
+ isBlock: true,
2585
+ type: "list",
2586
+ storageClassType: "CloudGcpIntegrationsAlloyDbList",
2587
+ },
2588
+ app_engine: {
2589
+ value: cloudGcpIntegrationsAppEngineToHclTerraform(this._appEngine.internalValue),
2590
+ isBlock: true,
2591
+ type: "list",
2592
+ storageClassType: "CloudGcpIntegrationsAppEngineList",
2593
+ },
2594
+ big_query: {
2595
+ value: cloudGcpIntegrationsBigQueryToHclTerraform(this._bigQuery.internalValue),
2596
+ isBlock: true,
2597
+ type: "list",
2598
+ storageClassType: "CloudGcpIntegrationsBigQueryList",
2599
+ },
2600
+ big_table: {
2601
+ value: cloudGcpIntegrationsBigTableToHclTerraform(this._bigTable.internalValue),
2602
+ isBlock: true,
2603
+ type: "list",
2604
+ storageClassType: "CloudGcpIntegrationsBigTableList",
2605
+ },
2606
+ composer: {
2607
+ value: cloudGcpIntegrationsComposerToHclTerraform(this._composer.internalValue),
2608
+ isBlock: true,
2609
+ type: "list",
2610
+ storageClassType: "CloudGcpIntegrationsComposerList",
2611
+ },
2612
+ data_flow: {
2613
+ value: cloudGcpIntegrationsDataFlowToHclTerraform(this._dataFlow.internalValue),
2614
+ isBlock: true,
2615
+ type: "list",
2616
+ storageClassType: "CloudGcpIntegrationsDataFlowList",
2617
+ },
2618
+ data_proc: {
2619
+ value: cloudGcpIntegrationsDataProcToHclTerraform(this._dataProc.internalValue),
2620
+ isBlock: true,
2621
+ type: "list",
2622
+ storageClassType: "CloudGcpIntegrationsDataProcList",
2623
+ },
2624
+ data_store: {
2625
+ value: cloudGcpIntegrationsDataStoreToHclTerraform(this._dataStore.internalValue),
2626
+ isBlock: true,
2627
+ type: "list",
2628
+ storageClassType: "CloudGcpIntegrationsDataStoreList",
2629
+ },
2630
+ fire_base_database: {
2631
+ value: cloudGcpIntegrationsFireBaseDatabaseToHclTerraform(this._fireBaseDatabase.internalValue),
2632
+ isBlock: true,
2633
+ type: "list",
2634
+ storageClassType: "CloudGcpIntegrationsFireBaseDatabaseList",
2635
+ },
2636
+ fire_base_hosting: {
2637
+ value: cloudGcpIntegrationsFireBaseHostingToHclTerraform(this._fireBaseHosting.internalValue),
2638
+ isBlock: true,
2639
+ type: "list",
2640
+ storageClassType: "CloudGcpIntegrationsFireBaseHostingList",
2641
+ },
2642
+ fire_base_storage: {
2643
+ value: cloudGcpIntegrationsFireBaseStorageToHclTerraform(this._fireBaseStorage.internalValue),
2644
+ isBlock: true,
2645
+ type: "list",
2646
+ storageClassType: "CloudGcpIntegrationsFireBaseStorageList",
2647
+ },
2648
+ fire_store: {
2649
+ value: cloudGcpIntegrationsFireStoreToHclTerraform(this._fireStore.internalValue),
2650
+ isBlock: true,
2651
+ type: "list",
2652
+ storageClassType: "CloudGcpIntegrationsFireStoreList",
2653
+ },
2654
+ functions: {
2655
+ value: cloudGcpIntegrationsFunctionsToHclTerraform(this._functions.internalValue),
2656
+ isBlock: true,
2657
+ type: "list",
2658
+ storageClassType: "CloudGcpIntegrationsFunctionsList",
2659
+ },
2660
+ interconnect: {
2661
+ value: cloudGcpIntegrationsInterconnectToHclTerraform(this._interconnect.internalValue),
2662
+ isBlock: true,
2663
+ type: "list",
2664
+ storageClassType: "CloudGcpIntegrationsInterconnectList",
2665
+ },
2666
+ kubernetes: {
2667
+ value: cloudGcpIntegrationsKubernetesToHclTerraform(this._kubernetes.internalValue),
2668
+ isBlock: true,
2669
+ type: "list",
2670
+ storageClassType: "CloudGcpIntegrationsKubernetesList",
2671
+ },
2672
+ load_balancing: {
2673
+ value: cloudGcpIntegrationsLoadBalancingToHclTerraform(this._loadBalancing.internalValue),
2674
+ isBlock: true,
2675
+ type: "list",
2676
+ storageClassType: "CloudGcpIntegrationsLoadBalancingList",
2677
+ },
2678
+ mem_cache: {
2679
+ value: cloudGcpIntegrationsMemCacheToHclTerraform(this._memCache.internalValue),
2680
+ isBlock: true,
2681
+ type: "list",
2682
+ storageClassType: "CloudGcpIntegrationsMemCacheList",
2683
+ },
2684
+ pub_sub: {
2685
+ value: cloudGcpIntegrationsPubSubToHclTerraform(this._pubSub.internalValue),
2686
+ isBlock: true,
2687
+ type: "list",
2688
+ storageClassType: "CloudGcpIntegrationsPubSubList",
2689
+ },
2690
+ redis: {
2691
+ value: cloudGcpIntegrationsRedisToHclTerraform(this._redis.internalValue),
2692
+ isBlock: true,
2693
+ type: "list",
2694
+ storageClassType: "CloudGcpIntegrationsRedisList",
2695
+ },
2696
+ router: {
2697
+ value: cloudGcpIntegrationsRouterToHclTerraform(this._router.internalValue),
2698
+ isBlock: true,
2699
+ type: "list",
2700
+ storageClassType: "CloudGcpIntegrationsRouterList",
2701
+ },
2702
+ run: {
2703
+ value: cloudGcpIntegrationsRunToHclTerraform(this._run.internalValue),
2704
+ isBlock: true,
2705
+ type: "list",
2706
+ storageClassType: "CloudGcpIntegrationsRunList",
2707
+ },
2708
+ spanner: {
2709
+ value: cloudGcpIntegrationsSpannerToHclTerraform(this._spanner.internalValue),
2710
+ isBlock: true,
2711
+ type: "list",
2712
+ storageClassType: "CloudGcpIntegrationsSpannerList",
2713
+ },
2714
+ sql: {
2715
+ value: cloudGcpIntegrationsSqlToHclTerraform(this._sql.internalValue),
2716
+ isBlock: true,
2717
+ type: "list",
2718
+ storageClassType: "CloudGcpIntegrationsSqlList",
2719
+ },
2720
+ storage: {
2721
+ value: cloudGcpIntegrationsStorageToHclTerraform(this._storage.internalValue),
2722
+ isBlock: true,
2723
+ type: "list",
2724
+ storageClassType: "CloudGcpIntegrationsStorageList",
2725
+ },
2726
+ virtual_machines: {
2727
+ value: cloudGcpIntegrationsVirtualMachinesToHclTerraform(this._virtualMachines.internalValue),
2728
+ isBlock: true,
2729
+ type: "list",
2730
+ storageClassType: "CloudGcpIntegrationsVirtualMachinesList",
2731
+ },
2732
+ vpc_access: {
2733
+ value: cloudGcpIntegrationsVpcAccessToHclTerraform(this._vpcAccess.internalValue),
2734
+ isBlock: true,
2735
+ type: "list",
2736
+ storageClassType: "CloudGcpIntegrationsVpcAccessList",
2737
+ },
2738
+ };
2739
+ // remove undefined attributes
2740
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
2741
+ }
2742
+ }