@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,3846 @@
1
+ // https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/cloud_aws_govcloud_integrations
2
+ // generated from terraform resource schema
3
+ import * as cdktf from 'cdktf';
4
+ export function cloudAwsGovcloudIntegrationsAlbToTerraform(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
+ aws_regions: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.awsRegions),
13
+ fetch_extended_inventory: cdktf.booleanToTerraform(struct.fetchExtendedInventory),
14
+ fetch_tags: cdktf.booleanToTerraform(struct.fetchTags),
15
+ load_balancer_prefixes: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.loadBalancerPrefixes),
16
+ metrics_polling_interval: cdktf.numberToTerraform(struct.metricsPollingInterval),
17
+ tag_key: cdktf.stringToTerraform(struct.tagKey),
18
+ tag_value: cdktf.stringToTerraform(struct.tagValue),
19
+ };
20
+ }
21
+ export function cloudAwsGovcloudIntegrationsAlbToHclTerraform(struct) {
22
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
23
+ return struct;
24
+ }
25
+ if (cdktf.isComplexElement(struct)) {
26
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
27
+ }
28
+ const attrs = {
29
+ aws_regions: {
30
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.awsRegions),
31
+ isBlock: false,
32
+ type: "list",
33
+ storageClassType: "stringList",
34
+ },
35
+ fetch_extended_inventory: {
36
+ value: cdktf.booleanToHclTerraform(struct.fetchExtendedInventory),
37
+ isBlock: false,
38
+ type: "simple",
39
+ storageClassType: "boolean",
40
+ },
41
+ fetch_tags: {
42
+ value: cdktf.booleanToHclTerraform(struct.fetchTags),
43
+ isBlock: false,
44
+ type: "simple",
45
+ storageClassType: "boolean",
46
+ },
47
+ load_balancer_prefixes: {
48
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.loadBalancerPrefixes),
49
+ isBlock: false,
50
+ type: "list",
51
+ storageClassType: "stringList",
52
+ },
53
+ metrics_polling_interval: {
54
+ value: cdktf.numberToHclTerraform(struct.metricsPollingInterval),
55
+ isBlock: false,
56
+ type: "simple",
57
+ storageClassType: "number",
58
+ },
59
+ tag_key: {
60
+ value: cdktf.stringToHclTerraform(struct.tagKey),
61
+ isBlock: false,
62
+ type: "simple",
63
+ storageClassType: "string",
64
+ },
65
+ tag_value: {
66
+ value: cdktf.stringToHclTerraform(struct.tagValue),
67
+ isBlock: false,
68
+ type: "simple",
69
+ storageClassType: "string",
70
+ },
71
+ };
72
+ // remove undefined attributes
73
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
74
+ }
75
+ export class CloudAwsGovcloudIntegrationsAlbOutputReference extends cdktf.ComplexObject {
76
+ isEmptyObject = false;
77
+ /**
78
+ * @param terraformResource The parent resource
79
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
80
+ */
81
+ constructor(terraformResource, terraformAttribute) {
82
+ super(terraformResource, terraformAttribute, false, 0);
83
+ }
84
+ get internalValue() {
85
+ let hasAnyValues = this.isEmptyObject;
86
+ const internalValueResult = {};
87
+ if (this._awsRegions !== undefined) {
88
+ hasAnyValues = true;
89
+ internalValueResult.awsRegions = this._awsRegions;
90
+ }
91
+ if (this._fetchExtendedInventory !== undefined) {
92
+ hasAnyValues = true;
93
+ internalValueResult.fetchExtendedInventory = this._fetchExtendedInventory;
94
+ }
95
+ if (this._fetchTags !== undefined) {
96
+ hasAnyValues = true;
97
+ internalValueResult.fetchTags = this._fetchTags;
98
+ }
99
+ if (this._loadBalancerPrefixes !== undefined) {
100
+ hasAnyValues = true;
101
+ internalValueResult.loadBalancerPrefixes = this._loadBalancerPrefixes;
102
+ }
103
+ if (this._metricsPollingInterval !== undefined) {
104
+ hasAnyValues = true;
105
+ internalValueResult.metricsPollingInterval = this._metricsPollingInterval;
106
+ }
107
+ if (this._tagKey !== undefined) {
108
+ hasAnyValues = true;
109
+ internalValueResult.tagKey = this._tagKey;
110
+ }
111
+ if (this._tagValue !== undefined) {
112
+ hasAnyValues = true;
113
+ internalValueResult.tagValue = this._tagValue;
114
+ }
115
+ return hasAnyValues ? internalValueResult : undefined;
116
+ }
117
+ set internalValue(value) {
118
+ if (value === undefined) {
119
+ this.isEmptyObject = false;
120
+ this._awsRegions = undefined;
121
+ this._fetchExtendedInventory = undefined;
122
+ this._fetchTags = undefined;
123
+ this._loadBalancerPrefixes = undefined;
124
+ this._metricsPollingInterval = undefined;
125
+ this._tagKey = undefined;
126
+ this._tagValue = undefined;
127
+ }
128
+ else {
129
+ this.isEmptyObject = Object.keys(value).length === 0;
130
+ this._awsRegions = value.awsRegions;
131
+ this._fetchExtendedInventory = value.fetchExtendedInventory;
132
+ this._fetchTags = value.fetchTags;
133
+ this._loadBalancerPrefixes = value.loadBalancerPrefixes;
134
+ this._metricsPollingInterval = value.metricsPollingInterval;
135
+ this._tagKey = value.tagKey;
136
+ this._tagValue = value.tagValue;
137
+ }
138
+ }
139
+ // aws_regions - computed: false, optional: true, required: false
140
+ _awsRegions;
141
+ get awsRegions() {
142
+ return this.getListAttribute('aws_regions');
143
+ }
144
+ set awsRegions(value) {
145
+ this._awsRegions = value;
146
+ }
147
+ resetAwsRegions() {
148
+ this._awsRegions = undefined;
149
+ }
150
+ // Temporarily expose input value. Use with caution.
151
+ get awsRegionsInput() {
152
+ return this._awsRegions;
153
+ }
154
+ // fetch_extended_inventory - computed: false, optional: true, required: false
155
+ _fetchExtendedInventory;
156
+ get fetchExtendedInventory() {
157
+ return this.getBooleanAttribute('fetch_extended_inventory');
158
+ }
159
+ set fetchExtendedInventory(value) {
160
+ this._fetchExtendedInventory = value;
161
+ }
162
+ resetFetchExtendedInventory() {
163
+ this._fetchExtendedInventory = undefined;
164
+ }
165
+ // Temporarily expose input value. Use with caution.
166
+ get fetchExtendedInventoryInput() {
167
+ return this._fetchExtendedInventory;
168
+ }
169
+ // fetch_tags - computed: false, optional: true, required: false
170
+ _fetchTags;
171
+ get fetchTags() {
172
+ return this.getBooleanAttribute('fetch_tags');
173
+ }
174
+ set fetchTags(value) {
175
+ this._fetchTags = value;
176
+ }
177
+ resetFetchTags() {
178
+ this._fetchTags = undefined;
179
+ }
180
+ // Temporarily expose input value. Use with caution.
181
+ get fetchTagsInput() {
182
+ return this._fetchTags;
183
+ }
184
+ // load_balancer_prefixes - computed: false, optional: true, required: false
185
+ _loadBalancerPrefixes;
186
+ get loadBalancerPrefixes() {
187
+ return this.getListAttribute('load_balancer_prefixes');
188
+ }
189
+ set loadBalancerPrefixes(value) {
190
+ this._loadBalancerPrefixes = value;
191
+ }
192
+ resetLoadBalancerPrefixes() {
193
+ this._loadBalancerPrefixes = undefined;
194
+ }
195
+ // Temporarily expose input value. Use with caution.
196
+ get loadBalancerPrefixesInput() {
197
+ return this._loadBalancerPrefixes;
198
+ }
199
+ // metrics_polling_interval - computed: false, optional: true, required: false
200
+ _metricsPollingInterval;
201
+ get metricsPollingInterval() {
202
+ return this.getNumberAttribute('metrics_polling_interval');
203
+ }
204
+ set metricsPollingInterval(value) {
205
+ this._metricsPollingInterval = value;
206
+ }
207
+ resetMetricsPollingInterval() {
208
+ this._metricsPollingInterval = undefined;
209
+ }
210
+ // Temporarily expose input value. Use with caution.
211
+ get metricsPollingIntervalInput() {
212
+ return this._metricsPollingInterval;
213
+ }
214
+ // tag_key - computed: false, optional: true, required: false
215
+ _tagKey;
216
+ get tagKey() {
217
+ return this.getStringAttribute('tag_key');
218
+ }
219
+ set tagKey(value) {
220
+ this._tagKey = value;
221
+ }
222
+ resetTagKey() {
223
+ this._tagKey = undefined;
224
+ }
225
+ // Temporarily expose input value. Use with caution.
226
+ get tagKeyInput() {
227
+ return this._tagKey;
228
+ }
229
+ // tag_value - computed: false, optional: true, required: false
230
+ _tagValue;
231
+ get tagValue() {
232
+ return this.getStringAttribute('tag_value');
233
+ }
234
+ set tagValue(value) {
235
+ this._tagValue = value;
236
+ }
237
+ resetTagValue() {
238
+ this._tagValue = undefined;
239
+ }
240
+ // Temporarily expose input value. Use with caution.
241
+ get tagValueInput() {
242
+ return this._tagValue;
243
+ }
244
+ }
245
+ export function cloudAwsGovcloudIntegrationsApiGatewayToTerraform(struct) {
246
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
247
+ return struct;
248
+ }
249
+ if (cdktf.isComplexElement(struct)) {
250
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
251
+ }
252
+ return {
253
+ aws_regions: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.awsRegions),
254
+ metrics_polling_interval: cdktf.numberToTerraform(struct.metricsPollingInterval),
255
+ stage_prefixes: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.stagePrefixes),
256
+ tag_key: cdktf.stringToTerraform(struct.tagKey),
257
+ tag_value: cdktf.stringToTerraform(struct.tagValue),
258
+ };
259
+ }
260
+ export function cloudAwsGovcloudIntegrationsApiGatewayToHclTerraform(struct) {
261
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
262
+ return struct;
263
+ }
264
+ if (cdktf.isComplexElement(struct)) {
265
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
266
+ }
267
+ const attrs = {
268
+ aws_regions: {
269
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.awsRegions),
270
+ isBlock: false,
271
+ type: "list",
272
+ storageClassType: "stringList",
273
+ },
274
+ metrics_polling_interval: {
275
+ value: cdktf.numberToHclTerraform(struct.metricsPollingInterval),
276
+ isBlock: false,
277
+ type: "simple",
278
+ storageClassType: "number",
279
+ },
280
+ stage_prefixes: {
281
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.stagePrefixes),
282
+ isBlock: false,
283
+ type: "list",
284
+ storageClassType: "stringList",
285
+ },
286
+ tag_key: {
287
+ value: cdktf.stringToHclTerraform(struct.tagKey),
288
+ isBlock: false,
289
+ type: "simple",
290
+ storageClassType: "string",
291
+ },
292
+ tag_value: {
293
+ value: cdktf.stringToHclTerraform(struct.tagValue),
294
+ isBlock: false,
295
+ type: "simple",
296
+ storageClassType: "string",
297
+ },
298
+ };
299
+ // remove undefined attributes
300
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
301
+ }
302
+ export class CloudAwsGovcloudIntegrationsApiGatewayOutputReference extends cdktf.ComplexObject {
303
+ isEmptyObject = false;
304
+ /**
305
+ * @param terraformResource The parent resource
306
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
307
+ */
308
+ constructor(terraformResource, terraformAttribute) {
309
+ super(terraformResource, terraformAttribute, false, 0);
310
+ }
311
+ get internalValue() {
312
+ let hasAnyValues = this.isEmptyObject;
313
+ const internalValueResult = {};
314
+ if (this._awsRegions !== undefined) {
315
+ hasAnyValues = true;
316
+ internalValueResult.awsRegions = this._awsRegions;
317
+ }
318
+ if (this._metricsPollingInterval !== undefined) {
319
+ hasAnyValues = true;
320
+ internalValueResult.metricsPollingInterval = this._metricsPollingInterval;
321
+ }
322
+ if (this._stagePrefixes !== undefined) {
323
+ hasAnyValues = true;
324
+ internalValueResult.stagePrefixes = this._stagePrefixes;
325
+ }
326
+ if (this._tagKey !== undefined) {
327
+ hasAnyValues = true;
328
+ internalValueResult.tagKey = this._tagKey;
329
+ }
330
+ if (this._tagValue !== undefined) {
331
+ hasAnyValues = true;
332
+ internalValueResult.tagValue = this._tagValue;
333
+ }
334
+ return hasAnyValues ? internalValueResult : undefined;
335
+ }
336
+ set internalValue(value) {
337
+ if (value === undefined) {
338
+ this.isEmptyObject = false;
339
+ this._awsRegions = undefined;
340
+ this._metricsPollingInterval = undefined;
341
+ this._stagePrefixes = undefined;
342
+ this._tagKey = undefined;
343
+ this._tagValue = undefined;
344
+ }
345
+ else {
346
+ this.isEmptyObject = Object.keys(value).length === 0;
347
+ this._awsRegions = value.awsRegions;
348
+ this._metricsPollingInterval = value.metricsPollingInterval;
349
+ this._stagePrefixes = value.stagePrefixes;
350
+ this._tagKey = value.tagKey;
351
+ this._tagValue = value.tagValue;
352
+ }
353
+ }
354
+ // aws_regions - computed: false, optional: true, required: false
355
+ _awsRegions;
356
+ get awsRegions() {
357
+ return this.getListAttribute('aws_regions');
358
+ }
359
+ set awsRegions(value) {
360
+ this._awsRegions = value;
361
+ }
362
+ resetAwsRegions() {
363
+ this._awsRegions = undefined;
364
+ }
365
+ // Temporarily expose input value. Use with caution.
366
+ get awsRegionsInput() {
367
+ return this._awsRegions;
368
+ }
369
+ // metrics_polling_interval - computed: false, optional: true, required: false
370
+ _metricsPollingInterval;
371
+ get metricsPollingInterval() {
372
+ return this.getNumberAttribute('metrics_polling_interval');
373
+ }
374
+ set metricsPollingInterval(value) {
375
+ this._metricsPollingInterval = value;
376
+ }
377
+ resetMetricsPollingInterval() {
378
+ this._metricsPollingInterval = undefined;
379
+ }
380
+ // Temporarily expose input value. Use with caution.
381
+ get metricsPollingIntervalInput() {
382
+ return this._metricsPollingInterval;
383
+ }
384
+ // stage_prefixes - computed: false, optional: true, required: false
385
+ _stagePrefixes;
386
+ get stagePrefixes() {
387
+ return this.getListAttribute('stage_prefixes');
388
+ }
389
+ set stagePrefixes(value) {
390
+ this._stagePrefixes = value;
391
+ }
392
+ resetStagePrefixes() {
393
+ this._stagePrefixes = undefined;
394
+ }
395
+ // Temporarily expose input value. Use with caution.
396
+ get stagePrefixesInput() {
397
+ return this._stagePrefixes;
398
+ }
399
+ // tag_key - computed: false, optional: true, required: false
400
+ _tagKey;
401
+ get tagKey() {
402
+ return this.getStringAttribute('tag_key');
403
+ }
404
+ set tagKey(value) {
405
+ this._tagKey = value;
406
+ }
407
+ resetTagKey() {
408
+ this._tagKey = undefined;
409
+ }
410
+ // Temporarily expose input value. Use with caution.
411
+ get tagKeyInput() {
412
+ return this._tagKey;
413
+ }
414
+ // tag_value - computed: false, optional: true, required: false
415
+ _tagValue;
416
+ get tagValue() {
417
+ return this.getStringAttribute('tag_value');
418
+ }
419
+ set tagValue(value) {
420
+ this._tagValue = value;
421
+ }
422
+ resetTagValue() {
423
+ this._tagValue = undefined;
424
+ }
425
+ // Temporarily expose input value. Use with caution.
426
+ get tagValueInput() {
427
+ return this._tagValue;
428
+ }
429
+ }
430
+ export function cloudAwsGovcloudIntegrationsAutoScalingToTerraform(struct) {
431
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
432
+ return struct;
433
+ }
434
+ if (cdktf.isComplexElement(struct)) {
435
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
436
+ }
437
+ return {
438
+ aws_regions: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.awsRegions),
439
+ metrics_polling_interval: cdktf.numberToTerraform(struct.metricsPollingInterval),
440
+ };
441
+ }
442
+ export function cloudAwsGovcloudIntegrationsAutoScalingToHclTerraform(struct) {
443
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
444
+ return struct;
445
+ }
446
+ if (cdktf.isComplexElement(struct)) {
447
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
448
+ }
449
+ const attrs = {
450
+ aws_regions: {
451
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.awsRegions),
452
+ isBlock: false,
453
+ type: "list",
454
+ storageClassType: "stringList",
455
+ },
456
+ metrics_polling_interval: {
457
+ value: cdktf.numberToHclTerraform(struct.metricsPollingInterval),
458
+ isBlock: false,
459
+ type: "simple",
460
+ storageClassType: "number",
461
+ },
462
+ };
463
+ // remove undefined attributes
464
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
465
+ }
466
+ export class CloudAwsGovcloudIntegrationsAutoScalingOutputReference extends cdktf.ComplexObject {
467
+ isEmptyObject = false;
468
+ /**
469
+ * @param terraformResource The parent resource
470
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
471
+ */
472
+ constructor(terraformResource, terraformAttribute) {
473
+ super(terraformResource, terraformAttribute, false, 0);
474
+ }
475
+ get internalValue() {
476
+ let hasAnyValues = this.isEmptyObject;
477
+ const internalValueResult = {};
478
+ if (this._awsRegions !== undefined) {
479
+ hasAnyValues = true;
480
+ internalValueResult.awsRegions = this._awsRegions;
481
+ }
482
+ if (this._metricsPollingInterval !== undefined) {
483
+ hasAnyValues = true;
484
+ internalValueResult.metricsPollingInterval = this._metricsPollingInterval;
485
+ }
486
+ return hasAnyValues ? internalValueResult : undefined;
487
+ }
488
+ set internalValue(value) {
489
+ if (value === undefined) {
490
+ this.isEmptyObject = false;
491
+ this._awsRegions = undefined;
492
+ this._metricsPollingInterval = undefined;
493
+ }
494
+ else {
495
+ this.isEmptyObject = Object.keys(value).length === 0;
496
+ this._awsRegions = value.awsRegions;
497
+ this._metricsPollingInterval = value.metricsPollingInterval;
498
+ }
499
+ }
500
+ // aws_regions - computed: false, optional: true, required: false
501
+ _awsRegions;
502
+ get awsRegions() {
503
+ return this.getListAttribute('aws_regions');
504
+ }
505
+ set awsRegions(value) {
506
+ this._awsRegions = value;
507
+ }
508
+ resetAwsRegions() {
509
+ this._awsRegions = undefined;
510
+ }
511
+ // Temporarily expose input value. Use with caution.
512
+ get awsRegionsInput() {
513
+ return this._awsRegions;
514
+ }
515
+ // metrics_polling_interval - computed: false, optional: true, required: false
516
+ _metricsPollingInterval;
517
+ get metricsPollingInterval() {
518
+ return this.getNumberAttribute('metrics_polling_interval');
519
+ }
520
+ set metricsPollingInterval(value) {
521
+ this._metricsPollingInterval = value;
522
+ }
523
+ resetMetricsPollingInterval() {
524
+ this._metricsPollingInterval = undefined;
525
+ }
526
+ // Temporarily expose input value. Use with caution.
527
+ get metricsPollingIntervalInput() {
528
+ return this._metricsPollingInterval;
529
+ }
530
+ }
531
+ export function cloudAwsGovcloudIntegrationsAwsDirectConnectToTerraform(struct) {
532
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
533
+ return struct;
534
+ }
535
+ if (cdktf.isComplexElement(struct)) {
536
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
537
+ }
538
+ return {
539
+ aws_regions: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.awsRegions),
540
+ metrics_polling_interval: cdktf.numberToTerraform(struct.metricsPollingInterval),
541
+ };
542
+ }
543
+ export function cloudAwsGovcloudIntegrationsAwsDirectConnectToHclTerraform(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
+ const attrs = {
551
+ aws_regions: {
552
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.awsRegions),
553
+ isBlock: false,
554
+ type: "list",
555
+ storageClassType: "stringList",
556
+ },
557
+ metrics_polling_interval: {
558
+ value: cdktf.numberToHclTerraform(struct.metricsPollingInterval),
559
+ isBlock: false,
560
+ type: "simple",
561
+ storageClassType: "number",
562
+ },
563
+ };
564
+ // remove undefined attributes
565
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
566
+ }
567
+ export class CloudAwsGovcloudIntegrationsAwsDirectConnectOutputReference extends cdktf.ComplexObject {
568
+ isEmptyObject = false;
569
+ /**
570
+ * @param terraformResource The parent resource
571
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
572
+ */
573
+ constructor(terraformResource, terraformAttribute) {
574
+ super(terraformResource, terraformAttribute, false, 0);
575
+ }
576
+ get internalValue() {
577
+ let hasAnyValues = this.isEmptyObject;
578
+ const internalValueResult = {};
579
+ if (this._awsRegions !== undefined) {
580
+ hasAnyValues = true;
581
+ internalValueResult.awsRegions = this._awsRegions;
582
+ }
583
+ if (this._metricsPollingInterval !== undefined) {
584
+ hasAnyValues = true;
585
+ internalValueResult.metricsPollingInterval = this._metricsPollingInterval;
586
+ }
587
+ return hasAnyValues ? internalValueResult : undefined;
588
+ }
589
+ set internalValue(value) {
590
+ if (value === undefined) {
591
+ this.isEmptyObject = false;
592
+ this._awsRegions = undefined;
593
+ this._metricsPollingInterval = undefined;
594
+ }
595
+ else {
596
+ this.isEmptyObject = Object.keys(value).length === 0;
597
+ this._awsRegions = value.awsRegions;
598
+ this._metricsPollingInterval = value.metricsPollingInterval;
599
+ }
600
+ }
601
+ // aws_regions - computed: false, optional: true, required: false
602
+ _awsRegions;
603
+ get awsRegions() {
604
+ return this.getListAttribute('aws_regions');
605
+ }
606
+ set awsRegions(value) {
607
+ this._awsRegions = value;
608
+ }
609
+ resetAwsRegions() {
610
+ this._awsRegions = undefined;
611
+ }
612
+ // Temporarily expose input value. Use with caution.
613
+ get awsRegionsInput() {
614
+ return this._awsRegions;
615
+ }
616
+ // metrics_polling_interval - computed: false, optional: true, required: false
617
+ _metricsPollingInterval;
618
+ get metricsPollingInterval() {
619
+ return this.getNumberAttribute('metrics_polling_interval');
620
+ }
621
+ set metricsPollingInterval(value) {
622
+ this._metricsPollingInterval = value;
623
+ }
624
+ resetMetricsPollingInterval() {
625
+ this._metricsPollingInterval = undefined;
626
+ }
627
+ // Temporarily expose input value. Use with caution.
628
+ get metricsPollingIntervalInput() {
629
+ return this._metricsPollingInterval;
630
+ }
631
+ }
632
+ export function cloudAwsGovcloudIntegrationsAwsStatesToTerraform(struct) {
633
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
634
+ return struct;
635
+ }
636
+ if (cdktf.isComplexElement(struct)) {
637
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
638
+ }
639
+ return {
640
+ aws_regions: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.awsRegions),
641
+ metrics_polling_interval: cdktf.numberToTerraform(struct.metricsPollingInterval),
642
+ };
643
+ }
644
+ export function cloudAwsGovcloudIntegrationsAwsStatesToHclTerraform(struct) {
645
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
646
+ return struct;
647
+ }
648
+ if (cdktf.isComplexElement(struct)) {
649
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
650
+ }
651
+ const attrs = {
652
+ aws_regions: {
653
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.awsRegions),
654
+ isBlock: false,
655
+ type: "list",
656
+ storageClassType: "stringList",
657
+ },
658
+ metrics_polling_interval: {
659
+ value: cdktf.numberToHclTerraform(struct.metricsPollingInterval),
660
+ isBlock: false,
661
+ type: "simple",
662
+ storageClassType: "number",
663
+ },
664
+ };
665
+ // remove undefined attributes
666
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
667
+ }
668
+ export class CloudAwsGovcloudIntegrationsAwsStatesOutputReference extends cdktf.ComplexObject {
669
+ isEmptyObject = false;
670
+ /**
671
+ * @param terraformResource The parent resource
672
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
673
+ */
674
+ constructor(terraformResource, terraformAttribute) {
675
+ super(terraformResource, terraformAttribute, false, 0);
676
+ }
677
+ get internalValue() {
678
+ let hasAnyValues = this.isEmptyObject;
679
+ const internalValueResult = {};
680
+ if (this._awsRegions !== undefined) {
681
+ hasAnyValues = true;
682
+ internalValueResult.awsRegions = this._awsRegions;
683
+ }
684
+ if (this._metricsPollingInterval !== undefined) {
685
+ hasAnyValues = true;
686
+ internalValueResult.metricsPollingInterval = this._metricsPollingInterval;
687
+ }
688
+ return hasAnyValues ? internalValueResult : undefined;
689
+ }
690
+ set internalValue(value) {
691
+ if (value === undefined) {
692
+ this.isEmptyObject = false;
693
+ this._awsRegions = undefined;
694
+ this._metricsPollingInterval = undefined;
695
+ }
696
+ else {
697
+ this.isEmptyObject = Object.keys(value).length === 0;
698
+ this._awsRegions = value.awsRegions;
699
+ this._metricsPollingInterval = value.metricsPollingInterval;
700
+ }
701
+ }
702
+ // aws_regions - computed: false, optional: true, required: false
703
+ _awsRegions;
704
+ get awsRegions() {
705
+ return this.getListAttribute('aws_regions');
706
+ }
707
+ set awsRegions(value) {
708
+ this._awsRegions = value;
709
+ }
710
+ resetAwsRegions() {
711
+ this._awsRegions = undefined;
712
+ }
713
+ // Temporarily expose input value. Use with caution.
714
+ get awsRegionsInput() {
715
+ return this._awsRegions;
716
+ }
717
+ // metrics_polling_interval - computed: false, optional: true, required: false
718
+ _metricsPollingInterval;
719
+ get metricsPollingInterval() {
720
+ return this.getNumberAttribute('metrics_polling_interval');
721
+ }
722
+ set metricsPollingInterval(value) {
723
+ this._metricsPollingInterval = value;
724
+ }
725
+ resetMetricsPollingInterval() {
726
+ this._metricsPollingInterval = undefined;
727
+ }
728
+ // Temporarily expose input value. Use with caution.
729
+ get metricsPollingIntervalInput() {
730
+ return this._metricsPollingInterval;
731
+ }
732
+ }
733
+ export function cloudAwsGovcloudIntegrationsCloudtrailToTerraform(struct) {
734
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
735
+ return struct;
736
+ }
737
+ if (cdktf.isComplexElement(struct)) {
738
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
739
+ }
740
+ return {
741
+ aws_regions: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.awsRegions),
742
+ metrics_polling_interval: cdktf.numberToTerraform(struct.metricsPollingInterval),
743
+ };
744
+ }
745
+ export function cloudAwsGovcloudIntegrationsCloudtrailToHclTerraform(struct) {
746
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
747
+ return struct;
748
+ }
749
+ if (cdktf.isComplexElement(struct)) {
750
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
751
+ }
752
+ const attrs = {
753
+ aws_regions: {
754
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.awsRegions),
755
+ isBlock: false,
756
+ type: "list",
757
+ storageClassType: "stringList",
758
+ },
759
+ metrics_polling_interval: {
760
+ value: cdktf.numberToHclTerraform(struct.metricsPollingInterval),
761
+ isBlock: false,
762
+ type: "simple",
763
+ storageClassType: "number",
764
+ },
765
+ };
766
+ // remove undefined attributes
767
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
768
+ }
769
+ export class CloudAwsGovcloudIntegrationsCloudtrailOutputReference extends cdktf.ComplexObject {
770
+ isEmptyObject = false;
771
+ /**
772
+ * @param terraformResource The parent resource
773
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
774
+ */
775
+ constructor(terraformResource, terraformAttribute) {
776
+ super(terraformResource, terraformAttribute, false, 0);
777
+ }
778
+ get internalValue() {
779
+ let hasAnyValues = this.isEmptyObject;
780
+ const internalValueResult = {};
781
+ if (this._awsRegions !== undefined) {
782
+ hasAnyValues = true;
783
+ internalValueResult.awsRegions = this._awsRegions;
784
+ }
785
+ if (this._metricsPollingInterval !== undefined) {
786
+ hasAnyValues = true;
787
+ internalValueResult.metricsPollingInterval = this._metricsPollingInterval;
788
+ }
789
+ return hasAnyValues ? internalValueResult : undefined;
790
+ }
791
+ set internalValue(value) {
792
+ if (value === undefined) {
793
+ this.isEmptyObject = false;
794
+ this._awsRegions = undefined;
795
+ this._metricsPollingInterval = undefined;
796
+ }
797
+ else {
798
+ this.isEmptyObject = Object.keys(value).length === 0;
799
+ this._awsRegions = value.awsRegions;
800
+ this._metricsPollingInterval = value.metricsPollingInterval;
801
+ }
802
+ }
803
+ // aws_regions - computed: false, optional: true, required: false
804
+ _awsRegions;
805
+ get awsRegions() {
806
+ return this.getListAttribute('aws_regions');
807
+ }
808
+ set awsRegions(value) {
809
+ this._awsRegions = value;
810
+ }
811
+ resetAwsRegions() {
812
+ this._awsRegions = undefined;
813
+ }
814
+ // Temporarily expose input value. Use with caution.
815
+ get awsRegionsInput() {
816
+ return this._awsRegions;
817
+ }
818
+ // metrics_polling_interval - computed: false, optional: true, required: false
819
+ _metricsPollingInterval;
820
+ get metricsPollingInterval() {
821
+ return this.getNumberAttribute('metrics_polling_interval');
822
+ }
823
+ set metricsPollingInterval(value) {
824
+ this._metricsPollingInterval = value;
825
+ }
826
+ resetMetricsPollingInterval() {
827
+ this._metricsPollingInterval = undefined;
828
+ }
829
+ // Temporarily expose input value. Use with caution.
830
+ get metricsPollingIntervalInput() {
831
+ return this._metricsPollingInterval;
832
+ }
833
+ }
834
+ export function cloudAwsGovcloudIntegrationsDynamoDbToTerraform(struct) {
835
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
836
+ return struct;
837
+ }
838
+ if (cdktf.isComplexElement(struct)) {
839
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
840
+ }
841
+ return {
842
+ aws_regions: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.awsRegions),
843
+ fetch_extended_inventory: cdktf.booleanToTerraform(struct.fetchExtendedInventory),
844
+ fetch_tags: cdktf.booleanToTerraform(struct.fetchTags),
845
+ metrics_polling_interval: cdktf.numberToTerraform(struct.metricsPollingInterval),
846
+ tag_key: cdktf.stringToTerraform(struct.tagKey),
847
+ tag_value: cdktf.stringToTerraform(struct.tagValue),
848
+ };
849
+ }
850
+ export function cloudAwsGovcloudIntegrationsDynamoDbToHclTerraform(struct) {
851
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
852
+ return struct;
853
+ }
854
+ if (cdktf.isComplexElement(struct)) {
855
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
856
+ }
857
+ const attrs = {
858
+ aws_regions: {
859
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.awsRegions),
860
+ isBlock: false,
861
+ type: "list",
862
+ storageClassType: "stringList",
863
+ },
864
+ fetch_extended_inventory: {
865
+ value: cdktf.booleanToHclTerraform(struct.fetchExtendedInventory),
866
+ isBlock: false,
867
+ type: "simple",
868
+ storageClassType: "boolean",
869
+ },
870
+ fetch_tags: {
871
+ value: cdktf.booleanToHclTerraform(struct.fetchTags),
872
+ isBlock: false,
873
+ type: "simple",
874
+ storageClassType: "boolean",
875
+ },
876
+ metrics_polling_interval: {
877
+ value: cdktf.numberToHclTerraform(struct.metricsPollingInterval),
878
+ isBlock: false,
879
+ type: "simple",
880
+ storageClassType: "number",
881
+ },
882
+ tag_key: {
883
+ value: cdktf.stringToHclTerraform(struct.tagKey),
884
+ isBlock: false,
885
+ type: "simple",
886
+ storageClassType: "string",
887
+ },
888
+ tag_value: {
889
+ value: cdktf.stringToHclTerraform(struct.tagValue),
890
+ isBlock: false,
891
+ type: "simple",
892
+ storageClassType: "string",
893
+ },
894
+ };
895
+ // remove undefined attributes
896
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
897
+ }
898
+ export class CloudAwsGovcloudIntegrationsDynamoDbOutputReference extends cdktf.ComplexObject {
899
+ isEmptyObject = false;
900
+ /**
901
+ * @param terraformResource The parent resource
902
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
903
+ */
904
+ constructor(terraformResource, terraformAttribute) {
905
+ super(terraformResource, terraformAttribute, false, 0);
906
+ }
907
+ get internalValue() {
908
+ let hasAnyValues = this.isEmptyObject;
909
+ const internalValueResult = {};
910
+ if (this._awsRegions !== undefined) {
911
+ hasAnyValues = true;
912
+ internalValueResult.awsRegions = this._awsRegions;
913
+ }
914
+ if (this._fetchExtendedInventory !== undefined) {
915
+ hasAnyValues = true;
916
+ internalValueResult.fetchExtendedInventory = this._fetchExtendedInventory;
917
+ }
918
+ if (this._fetchTags !== undefined) {
919
+ hasAnyValues = true;
920
+ internalValueResult.fetchTags = this._fetchTags;
921
+ }
922
+ if (this._metricsPollingInterval !== undefined) {
923
+ hasAnyValues = true;
924
+ internalValueResult.metricsPollingInterval = this._metricsPollingInterval;
925
+ }
926
+ if (this._tagKey !== undefined) {
927
+ hasAnyValues = true;
928
+ internalValueResult.tagKey = this._tagKey;
929
+ }
930
+ if (this._tagValue !== undefined) {
931
+ hasAnyValues = true;
932
+ internalValueResult.tagValue = this._tagValue;
933
+ }
934
+ return hasAnyValues ? internalValueResult : undefined;
935
+ }
936
+ set internalValue(value) {
937
+ if (value === undefined) {
938
+ this.isEmptyObject = false;
939
+ this._awsRegions = undefined;
940
+ this._fetchExtendedInventory = undefined;
941
+ this._fetchTags = undefined;
942
+ this._metricsPollingInterval = undefined;
943
+ this._tagKey = undefined;
944
+ this._tagValue = undefined;
945
+ }
946
+ else {
947
+ this.isEmptyObject = Object.keys(value).length === 0;
948
+ this._awsRegions = value.awsRegions;
949
+ this._fetchExtendedInventory = value.fetchExtendedInventory;
950
+ this._fetchTags = value.fetchTags;
951
+ this._metricsPollingInterval = value.metricsPollingInterval;
952
+ this._tagKey = value.tagKey;
953
+ this._tagValue = value.tagValue;
954
+ }
955
+ }
956
+ // aws_regions - computed: false, optional: true, required: false
957
+ _awsRegions;
958
+ get awsRegions() {
959
+ return this.getListAttribute('aws_regions');
960
+ }
961
+ set awsRegions(value) {
962
+ this._awsRegions = value;
963
+ }
964
+ resetAwsRegions() {
965
+ this._awsRegions = undefined;
966
+ }
967
+ // Temporarily expose input value. Use with caution.
968
+ get awsRegionsInput() {
969
+ return this._awsRegions;
970
+ }
971
+ // fetch_extended_inventory - computed: false, optional: true, required: false
972
+ _fetchExtendedInventory;
973
+ get fetchExtendedInventory() {
974
+ return this.getBooleanAttribute('fetch_extended_inventory');
975
+ }
976
+ set fetchExtendedInventory(value) {
977
+ this._fetchExtendedInventory = value;
978
+ }
979
+ resetFetchExtendedInventory() {
980
+ this._fetchExtendedInventory = undefined;
981
+ }
982
+ // Temporarily expose input value. Use with caution.
983
+ get fetchExtendedInventoryInput() {
984
+ return this._fetchExtendedInventory;
985
+ }
986
+ // fetch_tags - computed: false, optional: true, required: false
987
+ _fetchTags;
988
+ get fetchTags() {
989
+ return this.getBooleanAttribute('fetch_tags');
990
+ }
991
+ set fetchTags(value) {
992
+ this._fetchTags = value;
993
+ }
994
+ resetFetchTags() {
995
+ this._fetchTags = undefined;
996
+ }
997
+ // Temporarily expose input value. Use with caution.
998
+ get fetchTagsInput() {
999
+ return this._fetchTags;
1000
+ }
1001
+ // metrics_polling_interval - computed: false, optional: true, required: false
1002
+ _metricsPollingInterval;
1003
+ get metricsPollingInterval() {
1004
+ return this.getNumberAttribute('metrics_polling_interval');
1005
+ }
1006
+ set metricsPollingInterval(value) {
1007
+ this._metricsPollingInterval = value;
1008
+ }
1009
+ resetMetricsPollingInterval() {
1010
+ this._metricsPollingInterval = undefined;
1011
+ }
1012
+ // Temporarily expose input value. Use with caution.
1013
+ get metricsPollingIntervalInput() {
1014
+ return this._metricsPollingInterval;
1015
+ }
1016
+ // tag_key - computed: false, optional: true, required: false
1017
+ _tagKey;
1018
+ get tagKey() {
1019
+ return this.getStringAttribute('tag_key');
1020
+ }
1021
+ set tagKey(value) {
1022
+ this._tagKey = value;
1023
+ }
1024
+ resetTagKey() {
1025
+ this._tagKey = undefined;
1026
+ }
1027
+ // Temporarily expose input value. Use with caution.
1028
+ get tagKeyInput() {
1029
+ return this._tagKey;
1030
+ }
1031
+ // tag_value - computed: false, optional: true, required: false
1032
+ _tagValue;
1033
+ get tagValue() {
1034
+ return this.getStringAttribute('tag_value');
1035
+ }
1036
+ set tagValue(value) {
1037
+ this._tagValue = value;
1038
+ }
1039
+ resetTagValue() {
1040
+ this._tagValue = undefined;
1041
+ }
1042
+ // Temporarily expose input value. Use with caution.
1043
+ get tagValueInput() {
1044
+ return this._tagValue;
1045
+ }
1046
+ }
1047
+ export function cloudAwsGovcloudIntegrationsEbsToTerraform(struct) {
1048
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
1049
+ return struct;
1050
+ }
1051
+ if (cdktf.isComplexElement(struct)) {
1052
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
1053
+ }
1054
+ return {
1055
+ aws_regions: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.awsRegions),
1056
+ fetch_extended_inventory: cdktf.booleanToTerraform(struct.fetchExtendedInventory),
1057
+ metrics_polling_interval: cdktf.numberToTerraform(struct.metricsPollingInterval),
1058
+ tag_key: cdktf.stringToTerraform(struct.tagKey),
1059
+ tag_value: cdktf.stringToTerraform(struct.tagValue),
1060
+ };
1061
+ }
1062
+ export function cloudAwsGovcloudIntegrationsEbsToHclTerraform(struct) {
1063
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
1064
+ return struct;
1065
+ }
1066
+ if (cdktf.isComplexElement(struct)) {
1067
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
1068
+ }
1069
+ const attrs = {
1070
+ aws_regions: {
1071
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.awsRegions),
1072
+ isBlock: false,
1073
+ type: "list",
1074
+ storageClassType: "stringList",
1075
+ },
1076
+ fetch_extended_inventory: {
1077
+ value: cdktf.booleanToHclTerraform(struct.fetchExtendedInventory),
1078
+ isBlock: false,
1079
+ type: "simple",
1080
+ storageClassType: "boolean",
1081
+ },
1082
+ metrics_polling_interval: {
1083
+ value: cdktf.numberToHclTerraform(struct.metricsPollingInterval),
1084
+ isBlock: false,
1085
+ type: "simple",
1086
+ storageClassType: "number",
1087
+ },
1088
+ tag_key: {
1089
+ value: cdktf.stringToHclTerraform(struct.tagKey),
1090
+ isBlock: false,
1091
+ type: "simple",
1092
+ storageClassType: "string",
1093
+ },
1094
+ tag_value: {
1095
+ value: cdktf.stringToHclTerraform(struct.tagValue),
1096
+ isBlock: false,
1097
+ type: "simple",
1098
+ storageClassType: "string",
1099
+ },
1100
+ };
1101
+ // remove undefined attributes
1102
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
1103
+ }
1104
+ export class CloudAwsGovcloudIntegrationsEbsOutputReference extends cdktf.ComplexObject {
1105
+ isEmptyObject = false;
1106
+ /**
1107
+ * @param terraformResource The parent resource
1108
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
1109
+ */
1110
+ constructor(terraformResource, terraformAttribute) {
1111
+ super(terraformResource, terraformAttribute, false, 0);
1112
+ }
1113
+ get internalValue() {
1114
+ let hasAnyValues = this.isEmptyObject;
1115
+ const internalValueResult = {};
1116
+ if (this._awsRegions !== undefined) {
1117
+ hasAnyValues = true;
1118
+ internalValueResult.awsRegions = this._awsRegions;
1119
+ }
1120
+ if (this._fetchExtendedInventory !== undefined) {
1121
+ hasAnyValues = true;
1122
+ internalValueResult.fetchExtendedInventory = this._fetchExtendedInventory;
1123
+ }
1124
+ if (this._metricsPollingInterval !== undefined) {
1125
+ hasAnyValues = true;
1126
+ internalValueResult.metricsPollingInterval = this._metricsPollingInterval;
1127
+ }
1128
+ if (this._tagKey !== undefined) {
1129
+ hasAnyValues = true;
1130
+ internalValueResult.tagKey = this._tagKey;
1131
+ }
1132
+ if (this._tagValue !== undefined) {
1133
+ hasAnyValues = true;
1134
+ internalValueResult.tagValue = this._tagValue;
1135
+ }
1136
+ return hasAnyValues ? internalValueResult : undefined;
1137
+ }
1138
+ set internalValue(value) {
1139
+ if (value === undefined) {
1140
+ this.isEmptyObject = false;
1141
+ this._awsRegions = undefined;
1142
+ this._fetchExtendedInventory = undefined;
1143
+ this._metricsPollingInterval = undefined;
1144
+ this._tagKey = undefined;
1145
+ this._tagValue = undefined;
1146
+ }
1147
+ else {
1148
+ this.isEmptyObject = Object.keys(value).length === 0;
1149
+ this._awsRegions = value.awsRegions;
1150
+ this._fetchExtendedInventory = value.fetchExtendedInventory;
1151
+ this._metricsPollingInterval = value.metricsPollingInterval;
1152
+ this._tagKey = value.tagKey;
1153
+ this._tagValue = value.tagValue;
1154
+ }
1155
+ }
1156
+ // aws_regions - computed: false, optional: true, required: false
1157
+ _awsRegions;
1158
+ get awsRegions() {
1159
+ return this.getListAttribute('aws_regions');
1160
+ }
1161
+ set awsRegions(value) {
1162
+ this._awsRegions = value;
1163
+ }
1164
+ resetAwsRegions() {
1165
+ this._awsRegions = undefined;
1166
+ }
1167
+ // Temporarily expose input value. Use with caution.
1168
+ get awsRegionsInput() {
1169
+ return this._awsRegions;
1170
+ }
1171
+ // fetch_extended_inventory - computed: false, optional: true, required: false
1172
+ _fetchExtendedInventory;
1173
+ get fetchExtendedInventory() {
1174
+ return this.getBooleanAttribute('fetch_extended_inventory');
1175
+ }
1176
+ set fetchExtendedInventory(value) {
1177
+ this._fetchExtendedInventory = value;
1178
+ }
1179
+ resetFetchExtendedInventory() {
1180
+ this._fetchExtendedInventory = undefined;
1181
+ }
1182
+ // Temporarily expose input value. Use with caution.
1183
+ get fetchExtendedInventoryInput() {
1184
+ return this._fetchExtendedInventory;
1185
+ }
1186
+ // metrics_polling_interval - computed: false, optional: true, required: false
1187
+ _metricsPollingInterval;
1188
+ get metricsPollingInterval() {
1189
+ return this.getNumberAttribute('metrics_polling_interval');
1190
+ }
1191
+ set metricsPollingInterval(value) {
1192
+ this._metricsPollingInterval = value;
1193
+ }
1194
+ resetMetricsPollingInterval() {
1195
+ this._metricsPollingInterval = undefined;
1196
+ }
1197
+ // Temporarily expose input value. Use with caution.
1198
+ get metricsPollingIntervalInput() {
1199
+ return this._metricsPollingInterval;
1200
+ }
1201
+ // tag_key - computed: false, optional: true, required: false
1202
+ _tagKey;
1203
+ get tagKey() {
1204
+ return this.getStringAttribute('tag_key');
1205
+ }
1206
+ set tagKey(value) {
1207
+ this._tagKey = value;
1208
+ }
1209
+ resetTagKey() {
1210
+ this._tagKey = undefined;
1211
+ }
1212
+ // Temporarily expose input value. Use with caution.
1213
+ get tagKeyInput() {
1214
+ return this._tagKey;
1215
+ }
1216
+ // tag_value - computed: false, optional: true, required: false
1217
+ _tagValue;
1218
+ get tagValue() {
1219
+ return this.getStringAttribute('tag_value');
1220
+ }
1221
+ set tagValue(value) {
1222
+ this._tagValue = value;
1223
+ }
1224
+ resetTagValue() {
1225
+ this._tagValue = undefined;
1226
+ }
1227
+ // Temporarily expose input value. Use with caution.
1228
+ get tagValueInput() {
1229
+ return this._tagValue;
1230
+ }
1231
+ }
1232
+ export function cloudAwsGovcloudIntegrationsEc2ToTerraform(struct) {
1233
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
1234
+ return struct;
1235
+ }
1236
+ if (cdktf.isComplexElement(struct)) {
1237
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
1238
+ }
1239
+ return {
1240
+ aws_regions: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.awsRegions),
1241
+ fetch_ip_addresses: cdktf.booleanToTerraform(struct.fetchIpAddresses),
1242
+ metrics_polling_interval: cdktf.numberToTerraform(struct.metricsPollingInterval),
1243
+ tag_key: cdktf.stringToTerraform(struct.tagKey),
1244
+ tag_value: cdktf.stringToTerraform(struct.tagValue),
1245
+ };
1246
+ }
1247
+ export function cloudAwsGovcloudIntegrationsEc2ToHclTerraform(struct) {
1248
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
1249
+ return struct;
1250
+ }
1251
+ if (cdktf.isComplexElement(struct)) {
1252
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
1253
+ }
1254
+ const attrs = {
1255
+ aws_regions: {
1256
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.awsRegions),
1257
+ isBlock: false,
1258
+ type: "list",
1259
+ storageClassType: "stringList",
1260
+ },
1261
+ fetch_ip_addresses: {
1262
+ value: cdktf.booleanToHclTerraform(struct.fetchIpAddresses),
1263
+ isBlock: false,
1264
+ type: "simple",
1265
+ storageClassType: "boolean",
1266
+ },
1267
+ metrics_polling_interval: {
1268
+ value: cdktf.numberToHclTerraform(struct.metricsPollingInterval),
1269
+ isBlock: false,
1270
+ type: "simple",
1271
+ storageClassType: "number",
1272
+ },
1273
+ tag_key: {
1274
+ value: cdktf.stringToHclTerraform(struct.tagKey),
1275
+ isBlock: false,
1276
+ type: "simple",
1277
+ storageClassType: "string",
1278
+ },
1279
+ tag_value: {
1280
+ value: cdktf.stringToHclTerraform(struct.tagValue),
1281
+ isBlock: false,
1282
+ type: "simple",
1283
+ storageClassType: "string",
1284
+ },
1285
+ };
1286
+ // remove undefined attributes
1287
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
1288
+ }
1289
+ export class CloudAwsGovcloudIntegrationsEc2OutputReference extends cdktf.ComplexObject {
1290
+ isEmptyObject = false;
1291
+ /**
1292
+ * @param terraformResource The parent resource
1293
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
1294
+ */
1295
+ constructor(terraformResource, terraformAttribute) {
1296
+ super(terraformResource, terraformAttribute, false, 0);
1297
+ }
1298
+ get internalValue() {
1299
+ let hasAnyValues = this.isEmptyObject;
1300
+ const internalValueResult = {};
1301
+ if (this._awsRegions !== undefined) {
1302
+ hasAnyValues = true;
1303
+ internalValueResult.awsRegions = this._awsRegions;
1304
+ }
1305
+ if (this._fetchIpAddresses !== undefined) {
1306
+ hasAnyValues = true;
1307
+ internalValueResult.fetchIpAddresses = this._fetchIpAddresses;
1308
+ }
1309
+ if (this._metricsPollingInterval !== undefined) {
1310
+ hasAnyValues = true;
1311
+ internalValueResult.metricsPollingInterval = this._metricsPollingInterval;
1312
+ }
1313
+ if (this._tagKey !== undefined) {
1314
+ hasAnyValues = true;
1315
+ internalValueResult.tagKey = this._tagKey;
1316
+ }
1317
+ if (this._tagValue !== undefined) {
1318
+ hasAnyValues = true;
1319
+ internalValueResult.tagValue = this._tagValue;
1320
+ }
1321
+ return hasAnyValues ? internalValueResult : undefined;
1322
+ }
1323
+ set internalValue(value) {
1324
+ if (value === undefined) {
1325
+ this.isEmptyObject = false;
1326
+ this._awsRegions = undefined;
1327
+ this._fetchIpAddresses = undefined;
1328
+ this._metricsPollingInterval = undefined;
1329
+ this._tagKey = undefined;
1330
+ this._tagValue = undefined;
1331
+ }
1332
+ else {
1333
+ this.isEmptyObject = Object.keys(value).length === 0;
1334
+ this._awsRegions = value.awsRegions;
1335
+ this._fetchIpAddresses = value.fetchIpAddresses;
1336
+ this._metricsPollingInterval = value.metricsPollingInterval;
1337
+ this._tagKey = value.tagKey;
1338
+ this._tagValue = value.tagValue;
1339
+ }
1340
+ }
1341
+ // aws_regions - computed: false, optional: true, required: false
1342
+ _awsRegions;
1343
+ get awsRegions() {
1344
+ return this.getListAttribute('aws_regions');
1345
+ }
1346
+ set awsRegions(value) {
1347
+ this._awsRegions = value;
1348
+ }
1349
+ resetAwsRegions() {
1350
+ this._awsRegions = undefined;
1351
+ }
1352
+ // Temporarily expose input value. Use with caution.
1353
+ get awsRegionsInput() {
1354
+ return this._awsRegions;
1355
+ }
1356
+ // fetch_ip_addresses - computed: false, optional: true, required: false
1357
+ _fetchIpAddresses;
1358
+ get fetchIpAddresses() {
1359
+ return this.getBooleanAttribute('fetch_ip_addresses');
1360
+ }
1361
+ set fetchIpAddresses(value) {
1362
+ this._fetchIpAddresses = value;
1363
+ }
1364
+ resetFetchIpAddresses() {
1365
+ this._fetchIpAddresses = undefined;
1366
+ }
1367
+ // Temporarily expose input value. Use with caution.
1368
+ get fetchIpAddressesInput() {
1369
+ return this._fetchIpAddresses;
1370
+ }
1371
+ // metrics_polling_interval - computed: false, optional: true, required: false
1372
+ _metricsPollingInterval;
1373
+ get metricsPollingInterval() {
1374
+ return this.getNumberAttribute('metrics_polling_interval');
1375
+ }
1376
+ set metricsPollingInterval(value) {
1377
+ this._metricsPollingInterval = value;
1378
+ }
1379
+ resetMetricsPollingInterval() {
1380
+ this._metricsPollingInterval = undefined;
1381
+ }
1382
+ // Temporarily expose input value. Use with caution.
1383
+ get metricsPollingIntervalInput() {
1384
+ return this._metricsPollingInterval;
1385
+ }
1386
+ // tag_key - computed: false, optional: true, required: false
1387
+ _tagKey;
1388
+ get tagKey() {
1389
+ return this.getStringAttribute('tag_key');
1390
+ }
1391
+ set tagKey(value) {
1392
+ this._tagKey = value;
1393
+ }
1394
+ resetTagKey() {
1395
+ this._tagKey = undefined;
1396
+ }
1397
+ // Temporarily expose input value. Use with caution.
1398
+ get tagKeyInput() {
1399
+ return this._tagKey;
1400
+ }
1401
+ // tag_value - computed: false, optional: true, required: false
1402
+ _tagValue;
1403
+ get tagValue() {
1404
+ return this.getStringAttribute('tag_value');
1405
+ }
1406
+ set tagValue(value) {
1407
+ this._tagValue = value;
1408
+ }
1409
+ resetTagValue() {
1410
+ this._tagValue = undefined;
1411
+ }
1412
+ // Temporarily expose input value. Use with caution.
1413
+ get tagValueInput() {
1414
+ return this._tagValue;
1415
+ }
1416
+ }
1417
+ export function cloudAwsGovcloudIntegrationsElasticSearchToTerraform(struct) {
1418
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
1419
+ return struct;
1420
+ }
1421
+ if (cdktf.isComplexElement(struct)) {
1422
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
1423
+ }
1424
+ return {
1425
+ aws_regions: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.awsRegions),
1426
+ fetch_nodes: cdktf.booleanToTerraform(struct.fetchNodes),
1427
+ metrics_polling_interval: cdktf.numberToTerraform(struct.metricsPollingInterval),
1428
+ tag_key: cdktf.stringToTerraform(struct.tagKey),
1429
+ tag_value: cdktf.stringToTerraform(struct.tagValue),
1430
+ };
1431
+ }
1432
+ export function cloudAwsGovcloudIntegrationsElasticSearchToHclTerraform(struct) {
1433
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
1434
+ return struct;
1435
+ }
1436
+ if (cdktf.isComplexElement(struct)) {
1437
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
1438
+ }
1439
+ const attrs = {
1440
+ aws_regions: {
1441
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.awsRegions),
1442
+ isBlock: false,
1443
+ type: "list",
1444
+ storageClassType: "stringList",
1445
+ },
1446
+ fetch_nodes: {
1447
+ value: cdktf.booleanToHclTerraform(struct.fetchNodes),
1448
+ isBlock: false,
1449
+ type: "simple",
1450
+ storageClassType: "boolean",
1451
+ },
1452
+ metrics_polling_interval: {
1453
+ value: cdktf.numberToHclTerraform(struct.metricsPollingInterval),
1454
+ isBlock: false,
1455
+ type: "simple",
1456
+ storageClassType: "number",
1457
+ },
1458
+ tag_key: {
1459
+ value: cdktf.stringToHclTerraform(struct.tagKey),
1460
+ isBlock: false,
1461
+ type: "simple",
1462
+ storageClassType: "string",
1463
+ },
1464
+ tag_value: {
1465
+ value: cdktf.stringToHclTerraform(struct.tagValue),
1466
+ isBlock: false,
1467
+ type: "simple",
1468
+ storageClassType: "string",
1469
+ },
1470
+ };
1471
+ // remove undefined attributes
1472
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
1473
+ }
1474
+ export class CloudAwsGovcloudIntegrationsElasticSearchOutputReference extends cdktf.ComplexObject {
1475
+ isEmptyObject = false;
1476
+ /**
1477
+ * @param terraformResource The parent resource
1478
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
1479
+ */
1480
+ constructor(terraformResource, terraformAttribute) {
1481
+ super(terraformResource, terraformAttribute, false, 0);
1482
+ }
1483
+ get internalValue() {
1484
+ let hasAnyValues = this.isEmptyObject;
1485
+ const internalValueResult = {};
1486
+ if (this._awsRegions !== undefined) {
1487
+ hasAnyValues = true;
1488
+ internalValueResult.awsRegions = this._awsRegions;
1489
+ }
1490
+ if (this._fetchNodes !== undefined) {
1491
+ hasAnyValues = true;
1492
+ internalValueResult.fetchNodes = this._fetchNodes;
1493
+ }
1494
+ if (this._metricsPollingInterval !== undefined) {
1495
+ hasAnyValues = true;
1496
+ internalValueResult.metricsPollingInterval = this._metricsPollingInterval;
1497
+ }
1498
+ if (this._tagKey !== undefined) {
1499
+ hasAnyValues = true;
1500
+ internalValueResult.tagKey = this._tagKey;
1501
+ }
1502
+ if (this._tagValue !== undefined) {
1503
+ hasAnyValues = true;
1504
+ internalValueResult.tagValue = this._tagValue;
1505
+ }
1506
+ return hasAnyValues ? internalValueResult : undefined;
1507
+ }
1508
+ set internalValue(value) {
1509
+ if (value === undefined) {
1510
+ this.isEmptyObject = false;
1511
+ this._awsRegions = undefined;
1512
+ this._fetchNodes = undefined;
1513
+ this._metricsPollingInterval = undefined;
1514
+ this._tagKey = undefined;
1515
+ this._tagValue = undefined;
1516
+ }
1517
+ else {
1518
+ this.isEmptyObject = Object.keys(value).length === 0;
1519
+ this._awsRegions = value.awsRegions;
1520
+ this._fetchNodes = value.fetchNodes;
1521
+ this._metricsPollingInterval = value.metricsPollingInterval;
1522
+ this._tagKey = value.tagKey;
1523
+ this._tagValue = value.tagValue;
1524
+ }
1525
+ }
1526
+ // aws_regions - computed: false, optional: true, required: false
1527
+ _awsRegions;
1528
+ get awsRegions() {
1529
+ return this.getListAttribute('aws_regions');
1530
+ }
1531
+ set awsRegions(value) {
1532
+ this._awsRegions = value;
1533
+ }
1534
+ resetAwsRegions() {
1535
+ this._awsRegions = undefined;
1536
+ }
1537
+ // Temporarily expose input value. Use with caution.
1538
+ get awsRegionsInput() {
1539
+ return this._awsRegions;
1540
+ }
1541
+ // fetch_nodes - computed: false, optional: true, required: false
1542
+ _fetchNodes;
1543
+ get fetchNodes() {
1544
+ return this.getBooleanAttribute('fetch_nodes');
1545
+ }
1546
+ set fetchNodes(value) {
1547
+ this._fetchNodes = value;
1548
+ }
1549
+ resetFetchNodes() {
1550
+ this._fetchNodes = undefined;
1551
+ }
1552
+ // Temporarily expose input value. Use with caution.
1553
+ get fetchNodesInput() {
1554
+ return this._fetchNodes;
1555
+ }
1556
+ // metrics_polling_interval - computed: false, optional: true, required: false
1557
+ _metricsPollingInterval;
1558
+ get metricsPollingInterval() {
1559
+ return this.getNumberAttribute('metrics_polling_interval');
1560
+ }
1561
+ set metricsPollingInterval(value) {
1562
+ this._metricsPollingInterval = value;
1563
+ }
1564
+ resetMetricsPollingInterval() {
1565
+ this._metricsPollingInterval = undefined;
1566
+ }
1567
+ // Temporarily expose input value. Use with caution.
1568
+ get metricsPollingIntervalInput() {
1569
+ return this._metricsPollingInterval;
1570
+ }
1571
+ // tag_key - computed: false, optional: true, required: false
1572
+ _tagKey;
1573
+ get tagKey() {
1574
+ return this.getStringAttribute('tag_key');
1575
+ }
1576
+ set tagKey(value) {
1577
+ this._tagKey = value;
1578
+ }
1579
+ resetTagKey() {
1580
+ this._tagKey = undefined;
1581
+ }
1582
+ // Temporarily expose input value. Use with caution.
1583
+ get tagKeyInput() {
1584
+ return this._tagKey;
1585
+ }
1586
+ // tag_value - computed: false, optional: true, required: false
1587
+ _tagValue;
1588
+ get tagValue() {
1589
+ return this.getStringAttribute('tag_value');
1590
+ }
1591
+ set tagValue(value) {
1592
+ this._tagValue = value;
1593
+ }
1594
+ resetTagValue() {
1595
+ this._tagValue = undefined;
1596
+ }
1597
+ // Temporarily expose input value. Use with caution.
1598
+ get tagValueInput() {
1599
+ return this._tagValue;
1600
+ }
1601
+ }
1602
+ export function cloudAwsGovcloudIntegrationsElbToTerraform(struct) {
1603
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
1604
+ return struct;
1605
+ }
1606
+ if (cdktf.isComplexElement(struct)) {
1607
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
1608
+ }
1609
+ return {
1610
+ aws_regions: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.awsRegions),
1611
+ fetch_extended_inventory: cdktf.booleanToTerraform(struct.fetchExtendedInventory),
1612
+ fetch_tags: cdktf.booleanToTerraform(struct.fetchTags),
1613
+ metrics_polling_interval: cdktf.numberToTerraform(struct.metricsPollingInterval),
1614
+ };
1615
+ }
1616
+ export function cloudAwsGovcloudIntegrationsElbToHclTerraform(struct) {
1617
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
1618
+ return struct;
1619
+ }
1620
+ if (cdktf.isComplexElement(struct)) {
1621
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
1622
+ }
1623
+ const attrs = {
1624
+ aws_regions: {
1625
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.awsRegions),
1626
+ isBlock: false,
1627
+ type: "list",
1628
+ storageClassType: "stringList",
1629
+ },
1630
+ fetch_extended_inventory: {
1631
+ value: cdktf.booleanToHclTerraform(struct.fetchExtendedInventory),
1632
+ isBlock: false,
1633
+ type: "simple",
1634
+ storageClassType: "boolean",
1635
+ },
1636
+ fetch_tags: {
1637
+ value: cdktf.booleanToHclTerraform(struct.fetchTags),
1638
+ isBlock: false,
1639
+ type: "simple",
1640
+ storageClassType: "boolean",
1641
+ },
1642
+ metrics_polling_interval: {
1643
+ value: cdktf.numberToHclTerraform(struct.metricsPollingInterval),
1644
+ isBlock: false,
1645
+ type: "simple",
1646
+ storageClassType: "number",
1647
+ },
1648
+ };
1649
+ // remove undefined attributes
1650
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
1651
+ }
1652
+ export class CloudAwsGovcloudIntegrationsElbOutputReference extends cdktf.ComplexObject {
1653
+ isEmptyObject = false;
1654
+ /**
1655
+ * @param terraformResource The parent resource
1656
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
1657
+ */
1658
+ constructor(terraformResource, terraformAttribute) {
1659
+ super(terraformResource, terraformAttribute, false, 0);
1660
+ }
1661
+ get internalValue() {
1662
+ let hasAnyValues = this.isEmptyObject;
1663
+ const internalValueResult = {};
1664
+ if (this._awsRegions !== undefined) {
1665
+ hasAnyValues = true;
1666
+ internalValueResult.awsRegions = this._awsRegions;
1667
+ }
1668
+ if (this._fetchExtendedInventory !== undefined) {
1669
+ hasAnyValues = true;
1670
+ internalValueResult.fetchExtendedInventory = this._fetchExtendedInventory;
1671
+ }
1672
+ if (this._fetchTags !== undefined) {
1673
+ hasAnyValues = true;
1674
+ internalValueResult.fetchTags = this._fetchTags;
1675
+ }
1676
+ if (this._metricsPollingInterval !== undefined) {
1677
+ hasAnyValues = true;
1678
+ internalValueResult.metricsPollingInterval = this._metricsPollingInterval;
1679
+ }
1680
+ return hasAnyValues ? internalValueResult : undefined;
1681
+ }
1682
+ set internalValue(value) {
1683
+ if (value === undefined) {
1684
+ this.isEmptyObject = false;
1685
+ this._awsRegions = undefined;
1686
+ this._fetchExtendedInventory = undefined;
1687
+ this._fetchTags = undefined;
1688
+ this._metricsPollingInterval = undefined;
1689
+ }
1690
+ else {
1691
+ this.isEmptyObject = Object.keys(value).length === 0;
1692
+ this._awsRegions = value.awsRegions;
1693
+ this._fetchExtendedInventory = value.fetchExtendedInventory;
1694
+ this._fetchTags = value.fetchTags;
1695
+ this._metricsPollingInterval = value.metricsPollingInterval;
1696
+ }
1697
+ }
1698
+ // aws_regions - computed: false, optional: true, required: false
1699
+ _awsRegions;
1700
+ get awsRegions() {
1701
+ return this.getListAttribute('aws_regions');
1702
+ }
1703
+ set awsRegions(value) {
1704
+ this._awsRegions = value;
1705
+ }
1706
+ resetAwsRegions() {
1707
+ this._awsRegions = undefined;
1708
+ }
1709
+ // Temporarily expose input value. Use with caution.
1710
+ get awsRegionsInput() {
1711
+ return this._awsRegions;
1712
+ }
1713
+ // fetch_extended_inventory - computed: false, optional: true, required: false
1714
+ _fetchExtendedInventory;
1715
+ get fetchExtendedInventory() {
1716
+ return this.getBooleanAttribute('fetch_extended_inventory');
1717
+ }
1718
+ set fetchExtendedInventory(value) {
1719
+ this._fetchExtendedInventory = value;
1720
+ }
1721
+ resetFetchExtendedInventory() {
1722
+ this._fetchExtendedInventory = undefined;
1723
+ }
1724
+ // Temporarily expose input value. Use with caution.
1725
+ get fetchExtendedInventoryInput() {
1726
+ return this._fetchExtendedInventory;
1727
+ }
1728
+ // fetch_tags - computed: false, optional: true, required: false
1729
+ _fetchTags;
1730
+ get fetchTags() {
1731
+ return this.getBooleanAttribute('fetch_tags');
1732
+ }
1733
+ set fetchTags(value) {
1734
+ this._fetchTags = value;
1735
+ }
1736
+ resetFetchTags() {
1737
+ this._fetchTags = undefined;
1738
+ }
1739
+ // Temporarily expose input value. Use with caution.
1740
+ get fetchTagsInput() {
1741
+ return this._fetchTags;
1742
+ }
1743
+ // metrics_polling_interval - computed: false, optional: true, required: false
1744
+ _metricsPollingInterval;
1745
+ get metricsPollingInterval() {
1746
+ return this.getNumberAttribute('metrics_polling_interval');
1747
+ }
1748
+ set metricsPollingInterval(value) {
1749
+ this._metricsPollingInterval = value;
1750
+ }
1751
+ resetMetricsPollingInterval() {
1752
+ this._metricsPollingInterval = undefined;
1753
+ }
1754
+ // Temporarily expose input value. Use with caution.
1755
+ get metricsPollingIntervalInput() {
1756
+ return this._metricsPollingInterval;
1757
+ }
1758
+ }
1759
+ export function cloudAwsGovcloudIntegrationsEmrToTerraform(struct) {
1760
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
1761
+ return struct;
1762
+ }
1763
+ if (cdktf.isComplexElement(struct)) {
1764
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
1765
+ }
1766
+ return {
1767
+ aws_regions: cdktf.stringToTerraform(struct.awsRegions),
1768
+ fetch_tags: cdktf.booleanToTerraform(struct.fetchTags),
1769
+ metrics_polling_interval: cdktf.numberToTerraform(struct.metricsPollingInterval),
1770
+ tag_key: cdktf.stringToTerraform(struct.tagKey),
1771
+ tag_value: cdktf.stringToTerraform(struct.tagValue),
1772
+ };
1773
+ }
1774
+ export function cloudAwsGovcloudIntegrationsEmrToHclTerraform(struct) {
1775
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
1776
+ return struct;
1777
+ }
1778
+ if (cdktf.isComplexElement(struct)) {
1779
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
1780
+ }
1781
+ const attrs = {
1782
+ aws_regions: {
1783
+ value: cdktf.stringToHclTerraform(struct.awsRegions),
1784
+ isBlock: false,
1785
+ type: "simple",
1786
+ storageClassType: "string",
1787
+ },
1788
+ fetch_tags: {
1789
+ value: cdktf.booleanToHclTerraform(struct.fetchTags),
1790
+ isBlock: false,
1791
+ type: "simple",
1792
+ storageClassType: "boolean",
1793
+ },
1794
+ metrics_polling_interval: {
1795
+ value: cdktf.numberToHclTerraform(struct.metricsPollingInterval),
1796
+ isBlock: false,
1797
+ type: "simple",
1798
+ storageClassType: "number",
1799
+ },
1800
+ tag_key: {
1801
+ value: cdktf.stringToHclTerraform(struct.tagKey),
1802
+ isBlock: false,
1803
+ type: "simple",
1804
+ storageClassType: "string",
1805
+ },
1806
+ tag_value: {
1807
+ value: cdktf.stringToHclTerraform(struct.tagValue),
1808
+ isBlock: false,
1809
+ type: "simple",
1810
+ storageClassType: "string",
1811
+ },
1812
+ };
1813
+ // remove undefined attributes
1814
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
1815
+ }
1816
+ export class CloudAwsGovcloudIntegrationsEmrOutputReference extends cdktf.ComplexObject {
1817
+ isEmptyObject = false;
1818
+ /**
1819
+ * @param terraformResource The parent resource
1820
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
1821
+ */
1822
+ constructor(terraformResource, terraformAttribute) {
1823
+ super(terraformResource, terraformAttribute, false, 0);
1824
+ }
1825
+ get internalValue() {
1826
+ let hasAnyValues = this.isEmptyObject;
1827
+ const internalValueResult = {};
1828
+ if (this._awsRegions !== undefined) {
1829
+ hasAnyValues = true;
1830
+ internalValueResult.awsRegions = this._awsRegions;
1831
+ }
1832
+ if (this._fetchTags !== undefined) {
1833
+ hasAnyValues = true;
1834
+ internalValueResult.fetchTags = this._fetchTags;
1835
+ }
1836
+ if (this._metricsPollingInterval !== undefined) {
1837
+ hasAnyValues = true;
1838
+ internalValueResult.metricsPollingInterval = this._metricsPollingInterval;
1839
+ }
1840
+ if (this._tagKey !== undefined) {
1841
+ hasAnyValues = true;
1842
+ internalValueResult.tagKey = this._tagKey;
1843
+ }
1844
+ if (this._tagValue !== undefined) {
1845
+ hasAnyValues = true;
1846
+ internalValueResult.tagValue = this._tagValue;
1847
+ }
1848
+ return hasAnyValues ? internalValueResult : undefined;
1849
+ }
1850
+ set internalValue(value) {
1851
+ if (value === undefined) {
1852
+ this.isEmptyObject = false;
1853
+ this._awsRegions = undefined;
1854
+ this._fetchTags = undefined;
1855
+ this._metricsPollingInterval = undefined;
1856
+ this._tagKey = undefined;
1857
+ this._tagValue = undefined;
1858
+ }
1859
+ else {
1860
+ this.isEmptyObject = Object.keys(value).length === 0;
1861
+ this._awsRegions = value.awsRegions;
1862
+ this._fetchTags = value.fetchTags;
1863
+ this._metricsPollingInterval = value.metricsPollingInterval;
1864
+ this._tagKey = value.tagKey;
1865
+ this._tagValue = value.tagValue;
1866
+ }
1867
+ }
1868
+ // aws_regions - computed: false, optional: true, required: false
1869
+ _awsRegions;
1870
+ get awsRegions() {
1871
+ return this.getStringAttribute('aws_regions');
1872
+ }
1873
+ set awsRegions(value) {
1874
+ this._awsRegions = value;
1875
+ }
1876
+ resetAwsRegions() {
1877
+ this._awsRegions = undefined;
1878
+ }
1879
+ // Temporarily expose input value. Use with caution.
1880
+ get awsRegionsInput() {
1881
+ return this._awsRegions;
1882
+ }
1883
+ // fetch_tags - computed: false, optional: true, required: false
1884
+ _fetchTags;
1885
+ get fetchTags() {
1886
+ return this.getBooleanAttribute('fetch_tags');
1887
+ }
1888
+ set fetchTags(value) {
1889
+ this._fetchTags = value;
1890
+ }
1891
+ resetFetchTags() {
1892
+ this._fetchTags = undefined;
1893
+ }
1894
+ // Temporarily expose input value. Use with caution.
1895
+ get fetchTagsInput() {
1896
+ return this._fetchTags;
1897
+ }
1898
+ // metrics_polling_interval - computed: false, optional: true, required: false
1899
+ _metricsPollingInterval;
1900
+ get metricsPollingInterval() {
1901
+ return this.getNumberAttribute('metrics_polling_interval');
1902
+ }
1903
+ set metricsPollingInterval(value) {
1904
+ this._metricsPollingInterval = value;
1905
+ }
1906
+ resetMetricsPollingInterval() {
1907
+ this._metricsPollingInterval = undefined;
1908
+ }
1909
+ // Temporarily expose input value. Use with caution.
1910
+ get metricsPollingIntervalInput() {
1911
+ return this._metricsPollingInterval;
1912
+ }
1913
+ // tag_key - computed: false, optional: true, required: false
1914
+ _tagKey;
1915
+ get tagKey() {
1916
+ return this.getStringAttribute('tag_key');
1917
+ }
1918
+ set tagKey(value) {
1919
+ this._tagKey = value;
1920
+ }
1921
+ resetTagKey() {
1922
+ this._tagKey = undefined;
1923
+ }
1924
+ // Temporarily expose input value. Use with caution.
1925
+ get tagKeyInput() {
1926
+ return this._tagKey;
1927
+ }
1928
+ // tag_value - computed: false, optional: true, required: false
1929
+ _tagValue;
1930
+ get tagValue() {
1931
+ return this.getStringAttribute('tag_value');
1932
+ }
1933
+ set tagValue(value) {
1934
+ this._tagValue = value;
1935
+ }
1936
+ resetTagValue() {
1937
+ this._tagValue = undefined;
1938
+ }
1939
+ // Temporarily expose input value. Use with caution.
1940
+ get tagValueInput() {
1941
+ return this._tagValue;
1942
+ }
1943
+ }
1944
+ export function cloudAwsGovcloudIntegrationsIamToTerraform(struct) {
1945
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
1946
+ return struct;
1947
+ }
1948
+ if (cdktf.isComplexElement(struct)) {
1949
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
1950
+ }
1951
+ return {
1952
+ metrics_polling_interval: cdktf.numberToTerraform(struct.metricsPollingInterval),
1953
+ tag_key: cdktf.stringToTerraform(struct.tagKey),
1954
+ tag_value: cdktf.stringToTerraform(struct.tagValue),
1955
+ };
1956
+ }
1957
+ export function cloudAwsGovcloudIntegrationsIamToHclTerraform(struct) {
1958
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
1959
+ return struct;
1960
+ }
1961
+ if (cdktf.isComplexElement(struct)) {
1962
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
1963
+ }
1964
+ const attrs = {
1965
+ metrics_polling_interval: {
1966
+ value: cdktf.numberToHclTerraform(struct.metricsPollingInterval),
1967
+ isBlock: false,
1968
+ type: "simple",
1969
+ storageClassType: "number",
1970
+ },
1971
+ tag_key: {
1972
+ value: cdktf.stringToHclTerraform(struct.tagKey),
1973
+ isBlock: false,
1974
+ type: "simple",
1975
+ storageClassType: "string",
1976
+ },
1977
+ tag_value: {
1978
+ value: cdktf.stringToHclTerraform(struct.tagValue),
1979
+ isBlock: false,
1980
+ type: "simple",
1981
+ storageClassType: "string",
1982
+ },
1983
+ };
1984
+ // remove undefined attributes
1985
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
1986
+ }
1987
+ export class CloudAwsGovcloudIntegrationsIamOutputReference extends cdktf.ComplexObject {
1988
+ isEmptyObject = false;
1989
+ /**
1990
+ * @param terraformResource The parent resource
1991
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
1992
+ */
1993
+ constructor(terraformResource, terraformAttribute) {
1994
+ super(terraformResource, terraformAttribute, false, 0);
1995
+ }
1996
+ get internalValue() {
1997
+ let hasAnyValues = this.isEmptyObject;
1998
+ const internalValueResult = {};
1999
+ if (this._metricsPollingInterval !== undefined) {
2000
+ hasAnyValues = true;
2001
+ internalValueResult.metricsPollingInterval = this._metricsPollingInterval;
2002
+ }
2003
+ if (this._tagKey !== undefined) {
2004
+ hasAnyValues = true;
2005
+ internalValueResult.tagKey = this._tagKey;
2006
+ }
2007
+ if (this._tagValue !== undefined) {
2008
+ hasAnyValues = true;
2009
+ internalValueResult.tagValue = this._tagValue;
2010
+ }
2011
+ return hasAnyValues ? internalValueResult : undefined;
2012
+ }
2013
+ set internalValue(value) {
2014
+ if (value === undefined) {
2015
+ this.isEmptyObject = false;
2016
+ this._metricsPollingInterval = undefined;
2017
+ this._tagKey = undefined;
2018
+ this._tagValue = undefined;
2019
+ }
2020
+ else {
2021
+ this.isEmptyObject = Object.keys(value).length === 0;
2022
+ this._metricsPollingInterval = value.metricsPollingInterval;
2023
+ this._tagKey = value.tagKey;
2024
+ this._tagValue = value.tagValue;
2025
+ }
2026
+ }
2027
+ // metrics_polling_interval - computed: false, optional: true, required: false
2028
+ _metricsPollingInterval;
2029
+ get metricsPollingInterval() {
2030
+ return this.getNumberAttribute('metrics_polling_interval');
2031
+ }
2032
+ set metricsPollingInterval(value) {
2033
+ this._metricsPollingInterval = value;
2034
+ }
2035
+ resetMetricsPollingInterval() {
2036
+ this._metricsPollingInterval = undefined;
2037
+ }
2038
+ // Temporarily expose input value. Use with caution.
2039
+ get metricsPollingIntervalInput() {
2040
+ return this._metricsPollingInterval;
2041
+ }
2042
+ // tag_key - computed: false, optional: true, required: false
2043
+ _tagKey;
2044
+ get tagKey() {
2045
+ return this.getStringAttribute('tag_key');
2046
+ }
2047
+ set tagKey(value) {
2048
+ this._tagKey = value;
2049
+ }
2050
+ resetTagKey() {
2051
+ this._tagKey = undefined;
2052
+ }
2053
+ // Temporarily expose input value. Use with caution.
2054
+ get tagKeyInput() {
2055
+ return this._tagKey;
2056
+ }
2057
+ // tag_value - computed: false, optional: true, required: false
2058
+ _tagValue;
2059
+ get tagValue() {
2060
+ return this.getStringAttribute('tag_value');
2061
+ }
2062
+ set tagValue(value) {
2063
+ this._tagValue = value;
2064
+ }
2065
+ resetTagValue() {
2066
+ this._tagValue = undefined;
2067
+ }
2068
+ // Temporarily expose input value. Use with caution.
2069
+ get tagValueInput() {
2070
+ return this._tagValue;
2071
+ }
2072
+ }
2073
+ export function cloudAwsGovcloudIntegrationsLambdaToTerraform(struct) {
2074
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
2075
+ return struct;
2076
+ }
2077
+ if (cdktf.isComplexElement(struct)) {
2078
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
2079
+ }
2080
+ return {
2081
+ aws_regions: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.awsRegions),
2082
+ fetch_tags: cdktf.booleanToTerraform(struct.fetchTags),
2083
+ metrics_polling_interval: cdktf.numberToTerraform(struct.metricsPollingInterval),
2084
+ tag_key: cdktf.stringToTerraform(struct.tagKey),
2085
+ tag_value: cdktf.stringToTerraform(struct.tagValue),
2086
+ };
2087
+ }
2088
+ export function cloudAwsGovcloudIntegrationsLambdaToHclTerraform(struct) {
2089
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
2090
+ return struct;
2091
+ }
2092
+ if (cdktf.isComplexElement(struct)) {
2093
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
2094
+ }
2095
+ const attrs = {
2096
+ aws_regions: {
2097
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.awsRegions),
2098
+ isBlock: false,
2099
+ type: "list",
2100
+ storageClassType: "stringList",
2101
+ },
2102
+ fetch_tags: {
2103
+ value: cdktf.booleanToHclTerraform(struct.fetchTags),
2104
+ isBlock: false,
2105
+ type: "simple",
2106
+ storageClassType: "boolean",
2107
+ },
2108
+ metrics_polling_interval: {
2109
+ value: cdktf.numberToHclTerraform(struct.metricsPollingInterval),
2110
+ isBlock: false,
2111
+ type: "simple",
2112
+ storageClassType: "number",
2113
+ },
2114
+ tag_key: {
2115
+ value: cdktf.stringToHclTerraform(struct.tagKey),
2116
+ isBlock: false,
2117
+ type: "simple",
2118
+ storageClassType: "string",
2119
+ },
2120
+ tag_value: {
2121
+ value: cdktf.stringToHclTerraform(struct.tagValue),
2122
+ isBlock: false,
2123
+ type: "simple",
2124
+ storageClassType: "string",
2125
+ },
2126
+ };
2127
+ // remove undefined attributes
2128
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
2129
+ }
2130
+ export class CloudAwsGovcloudIntegrationsLambdaOutputReference extends cdktf.ComplexObject {
2131
+ isEmptyObject = false;
2132
+ /**
2133
+ * @param terraformResource The parent resource
2134
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
2135
+ */
2136
+ constructor(terraformResource, terraformAttribute) {
2137
+ super(terraformResource, terraformAttribute, false, 0);
2138
+ }
2139
+ get internalValue() {
2140
+ let hasAnyValues = this.isEmptyObject;
2141
+ const internalValueResult = {};
2142
+ if (this._awsRegions !== undefined) {
2143
+ hasAnyValues = true;
2144
+ internalValueResult.awsRegions = this._awsRegions;
2145
+ }
2146
+ if (this._fetchTags !== undefined) {
2147
+ hasAnyValues = true;
2148
+ internalValueResult.fetchTags = this._fetchTags;
2149
+ }
2150
+ if (this._metricsPollingInterval !== undefined) {
2151
+ hasAnyValues = true;
2152
+ internalValueResult.metricsPollingInterval = this._metricsPollingInterval;
2153
+ }
2154
+ if (this._tagKey !== undefined) {
2155
+ hasAnyValues = true;
2156
+ internalValueResult.tagKey = this._tagKey;
2157
+ }
2158
+ if (this._tagValue !== undefined) {
2159
+ hasAnyValues = true;
2160
+ internalValueResult.tagValue = this._tagValue;
2161
+ }
2162
+ return hasAnyValues ? internalValueResult : undefined;
2163
+ }
2164
+ set internalValue(value) {
2165
+ if (value === undefined) {
2166
+ this.isEmptyObject = false;
2167
+ this._awsRegions = undefined;
2168
+ this._fetchTags = undefined;
2169
+ this._metricsPollingInterval = undefined;
2170
+ this._tagKey = undefined;
2171
+ this._tagValue = undefined;
2172
+ }
2173
+ else {
2174
+ this.isEmptyObject = Object.keys(value).length === 0;
2175
+ this._awsRegions = value.awsRegions;
2176
+ this._fetchTags = value.fetchTags;
2177
+ this._metricsPollingInterval = value.metricsPollingInterval;
2178
+ this._tagKey = value.tagKey;
2179
+ this._tagValue = value.tagValue;
2180
+ }
2181
+ }
2182
+ // aws_regions - computed: false, optional: true, required: false
2183
+ _awsRegions;
2184
+ get awsRegions() {
2185
+ return this.getListAttribute('aws_regions');
2186
+ }
2187
+ set awsRegions(value) {
2188
+ this._awsRegions = value;
2189
+ }
2190
+ resetAwsRegions() {
2191
+ this._awsRegions = undefined;
2192
+ }
2193
+ // Temporarily expose input value. Use with caution.
2194
+ get awsRegionsInput() {
2195
+ return this._awsRegions;
2196
+ }
2197
+ // fetch_tags - computed: false, optional: true, required: false
2198
+ _fetchTags;
2199
+ get fetchTags() {
2200
+ return this.getBooleanAttribute('fetch_tags');
2201
+ }
2202
+ set fetchTags(value) {
2203
+ this._fetchTags = value;
2204
+ }
2205
+ resetFetchTags() {
2206
+ this._fetchTags = undefined;
2207
+ }
2208
+ // Temporarily expose input value. Use with caution.
2209
+ get fetchTagsInput() {
2210
+ return this._fetchTags;
2211
+ }
2212
+ // metrics_polling_interval - computed: false, optional: true, required: false
2213
+ _metricsPollingInterval;
2214
+ get metricsPollingInterval() {
2215
+ return this.getNumberAttribute('metrics_polling_interval');
2216
+ }
2217
+ set metricsPollingInterval(value) {
2218
+ this._metricsPollingInterval = value;
2219
+ }
2220
+ resetMetricsPollingInterval() {
2221
+ this._metricsPollingInterval = undefined;
2222
+ }
2223
+ // Temporarily expose input value. Use with caution.
2224
+ get metricsPollingIntervalInput() {
2225
+ return this._metricsPollingInterval;
2226
+ }
2227
+ // tag_key - computed: false, optional: true, required: false
2228
+ _tagKey;
2229
+ get tagKey() {
2230
+ return this.getStringAttribute('tag_key');
2231
+ }
2232
+ set tagKey(value) {
2233
+ this._tagKey = value;
2234
+ }
2235
+ resetTagKey() {
2236
+ this._tagKey = undefined;
2237
+ }
2238
+ // Temporarily expose input value. Use with caution.
2239
+ get tagKeyInput() {
2240
+ return this._tagKey;
2241
+ }
2242
+ // tag_value - computed: false, optional: true, required: false
2243
+ _tagValue;
2244
+ get tagValue() {
2245
+ return this.getStringAttribute('tag_value');
2246
+ }
2247
+ set tagValue(value) {
2248
+ this._tagValue = value;
2249
+ }
2250
+ resetTagValue() {
2251
+ this._tagValue = undefined;
2252
+ }
2253
+ // Temporarily expose input value. Use with caution.
2254
+ get tagValueInput() {
2255
+ return this._tagValue;
2256
+ }
2257
+ }
2258
+ export function cloudAwsGovcloudIntegrationsRdsToTerraform(struct) {
2259
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
2260
+ return struct;
2261
+ }
2262
+ if (cdktf.isComplexElement(struct)) {
2263
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
2264
+ }
2265
+ return {
2266
+ aws_regions: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.awsRegions),
2267
+ fetch_tags: cdktf.booleanToTerraform(struct.fetchTags),
2268
+ metrics_polling_interval: cdktf.numberToTerraform(struct.metricsPollingInterval),
2269
+ tag_key: cdktf.stringToTerraform(struct.tagKey),
2270
+ tag_value: cdktf.stringToTerraform(struct.tagValue),
2271
+ };
2272
+ }
2273
+ export function cloudAwsGovcloudIntegrationsRdsToHclTerraform(struct) {
2274
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
2275
+ return struct;
2276
+ }
2277
+ if (cdktf.isComplexElement(struct)) {
2278
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
2279
+ }
2280
+ const attrs = {
2281
+ aws_regions: {
2282
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.awsRegions),
2283
+ isBlock: false,
2284
+ type: "list",
2285
+ storageClassType: "stringList",
2286
+ },
2287
+ fetch_tags: {
2288
+ value: cdktf.booleanToHclTerraform(struct.fetchTags),
2289
+ isBlock: false,
2290
+ type: "simple",
2291
+ storageClassType: "boolean",
2292
+ },
2293
+ metrics_polling_interval: {
2294
+ value: cdktf.numberToHclTerraform(struct.metricsPollingInterval),
2295
+ isBlock: false,
2296
+ type: "simple",
2297
+ storageClassType: "number",
2298
+ },
2299
+ tag_key: {
2300
+ value: cdktf.stringToHclTerraform(struct.tagKey),
2301
+ isBlock: false,
2302
+ type: "simple",
2303
+ storageClassType: "string",
2304
+ },
2305
+ tag_value: {
2306
+ value: cdktf.stringToHclTerraform(struct.tagValue),
2307
+ isBlock: false,
2308
+ type: "simple",
2309
+ storageClassType: "string",
2310
+ },
2311
+ };
2312
+ // remove undefined attributes
2313
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
2314
+ }
2315
+ export class CloudAwsGovcloudIntegrationsRdsOutputReference extends cdktf.ComplexObject {
2316
+ isEmptyObject = false;
2317
+ /**
2318
+ * @param terraformResource The parent resource
2319
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
2320
+ */
2321
+ constructor(terraformResource, terraformAttribute) {
2322
+ super(terraformResource, terraformAttribute, false, 0);
2323
+ }
2324
+ get internalValue() {
2325
+ let hasAnyValues = this.isEmptyObject;
2326
+ const internalValueResult = {};
2327
+ if (this._awsRegions !== undefined) {
2328
+ hasAnyValues = true;
2329
+ internalValueResult.awsRegions = this._awsRegions;
2330
+ }
2331
+ if (this._fetchTags !== undefined) {
2332
+ hasAnyValues = true;
2333
+ internalValueResult.fetchTags = this._fetchTags;
2334
+ }
2335
+ if (this._metricsPollingInterval !== undefined) {
2336
+ hasAnyValues = true;
2337
+ internalValueResult.metricsPollingInterval = this._metricsPollingInterval;
2338
+ }
2339
+ if (this._tagKey !== undefined) {
2340
+ hasAnyValues = true;
2341
+ internalValueResult.tagKey = this._tagKey;
2342
+ }
2343
+ if (this._tagValue !== undefined) {
2344
+ hasAnyValues = true;
2345
+ internalValueResult.tagValue = this._tagValue;
2346
+ }
2347
+ return hasAnyValues ? internalValueResult : undefined;
2348
+ }
2349
+ set internalValue(value) {
2350
+ if (value === undefined) {
2351
+ this.isEmptyObject = false;
2352
+ this._awsRegions = undefined;
2353
+ this._fetchTags = undefined;
2354
+ this._metricsPollingInterval = undefined;
2355
+ this._tagKey = undefined;
2356
+ this._tagValue = undefined;
2357
+ }
2358
+ else {
2359
+ this.isEmptyObject = Object.keys(value).length === 0;
2360
+ this._awsRegions = value.awsRegions;
2361
+ this._fetchTags = value.fetchTags;
2362
+ this._metricsPollingInterval = value.metricsPollingInterval;
2363
+ this._tagKey = value.tagKey;
2364
+ this._tagValue = value.tagValue;
2365
+ }
2366
+ }
2367
+ // aws_regions - computed: false, optional: true, required: false
2368
+ _awsRegions;
2369
+ get awsRegions() {
2370
+ return this.getListAttribute('aws_regions');
2371
+ }
2372
+ set awsRegions(value) {
2373
+ this._awsRegions = value;
2374
+ }
2375
+ resetAwsRegions() {
2376
+ this._awsRegions = undefined;
2377
+ }
2378
+ // Temporarily expose input value. Use with caution.
2379
+ get awsRegionsInput() {
2380
+ return this._awsRegions;
2381
+ }
2382
+ // fetch_tags - computed: false, optional: true, required: false
2383
+ _fetchTags;
2384
+ get fetchTags() {
2385
+ return this.getBooleanAttribute('fetch_tags');
2386
+ }
2387
+ set fetchTags(value) {
2388
+ this._fetchTags = value;
2389
+ }
2390
+ resetFetchTags() {
2391
+ this._fetchTags = undefined;
2392
+ }
2393
+ // Temporarily expose input value. Use with caution.
2394
+ get fetchTagsInput() {
2395
+ return this._fetchTags;
2396
+ }
2397
+ // metrics_polling_interval - computed: false, optional: true, required: false
2398
+ _metricsPollingInterval;
2399
+ get metricsPollingInterval() {
2400
+ return this.getNumberAttribute('metrics_polling_interval');
2401
+ }
2402
+ set metricsPollingInterval(value) {
2403
+ this._metricsPollingInterval = value;
2404
+ }
2405
+ resetMetricsPollingInterval() {
2406
+ this._metricsPollingInterval = undefined;
2407
+ }
2408
+ // Temporarily expose input value. Use with caution.
2409
+ get metricsPollingIntervalInput() {
2410
+ return this._metricsPollingInterval;
2411
+ }
2412
+ // tag_key - computed: false, optional: true, required: false
2413
+ _tagKey;
2414
+ get tagKey() {
2415
+ return this.getStringAttribute('tag_key');
2416
+ }
2417
+ set tagKey(value) {
2418
+ this._tagKey = value;
2419
+ }
2420
+ resetTagKey() {
2421
+ this._tagKey = undefined;
2422
+ }
2423
+ // Temporarily expose input value. Use with caution.
2424
+ get tagKeyInput() {
2425
+ return this._tagKey;
2426
+ }
2427
+ // tag_value - computed: false, optional: true, required: false
2428
+ _tagValue;
2429
+ get tagValue() {
2430
+ return this.getStringAttribute('tag_value');
2431
+ }
2432
+ set tagValue(value) {
2433
+ this._tagValue = value;
2434
+ }
2435
+ resetTagValue() {
2436
+ this._tagValue = undefined;
2437
+ }
2438
+ // Temporarily expose input value. Use with caution.
2439
+ get tagValueInput() {
2440
+ return this._tagValue;
2441
+ }
2442
+ }
2443
+ export function cloudAwsGovcloudIntegrationsRedShiftToTerraform(struct) {
2444
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
2445
+ return struct;
2446
+ }
2447
+ if (cdktf.isComplexElement(struct)) {
2448
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
2449
+ }
2450
+ return {
2451
+ aws_regions: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.awsRegions),
2452
+ metrics_polling_interval: cdktf.numberToTerraform(struct.metricsPollingInterval),
2453
+ tag_key: cdktf.stringToTerraform(struct.tagKey),
2454
+ tag_value: cdktf.stringToTerraform(struct.tagValue),
2455
+ };
2456
+ }
2457
+ export function cloudAwsGovcloudIntegrationsRedShiftToHclTerraform(struct) {
2458
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
2459
+ return struct;
2460
+ }
2461
+ if (cdktf.isComplexElement(struct)) {
2462
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
2463
+ }
2464
+ const attrs = {
2465
+ aws_regions: {
2466
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.awsRegions),
2467
+ isBlock: false,
2468
+ type: "list",
2469
+ storageClassType: "stringList",
2470
+ },
2471
+ metrics_polling_interval: {
2472
+ value: cdktf.numberToHclTerraform(struct.metricsPollingInterval),
2473
+ isBlock: false,
2474
+ type: "simple",
2475
+ storageClassType: "number",
2476
+ },
2477
+ tag_key: {
2478
+ value: cdktf.stringToHclTerraform(struct.tagKey),
2479
+ isBlock: false,
2480
+ type: "simple",
2481
+ storageClassType: "string",
2482
+ },
2483
+ tag_value: {
2484
+ value: cdktf.stringToHclTerraform(struct.tagValue),
2485
+ isBlock: false,
2486
+ type: "simple",
2487
+ storageClassType: "string",
2488
+ },
2489
+ };
2490
+ // remove undefined attributes
2491
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
2492
+ }
2493
+ export class CloudAwsGovcloudIntegrationsRedShiftOutputReference extends cdktf.ComplexObject {
2494
+ isEmptyObject = false;
2495
+ /**
2496
+ * @param terraformResource The parent resource
2497
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
2498
+ */
2499
+ constructor(terraformResource, terraformAttribute) {
2500
+ super(terraformResource, terraformAttribute, false, 0);
2501
+ }
2502
+ get internalValue() {
2503
+ let hasAnyValues = this.isEmptyObject;
2504
+ const internalValueResult = {};
2505
+ if (this._awsRegions !== undefined) {
2506
+ hasAnyValues = true;
2507
+ internalValueResult.awsRegions = this._awsRegions;
2508
+ }
2509
+ if (this._metricsPollingInterval !== undefined) {
2510
+ hasAnyValues = true;
2511
+ internalValueResult.metricsPollingInterval = this._metricsPollingInterval;
2512
+ }
2513
+ if (this._tagKey !== undefined) {
2514
+ hasAnyValues = true;
2515
+ internalValueResult.tagKey = this._tagKey;
2516
+ }
2517
+ if (this._tagValue !== undefined) {
2518
+ hasAnyValues = true;
2519
+ internalValueResult.tagValue = this._tagValue;
2520
+ }
2521
+ return hasAnyValues ? internalValueResult : undefined;
2522
+ }
2523
+ set internalValue(value) {
2524
+ if (value === undefined) {
2525
+ this.isEmptyObject = false;
2526
+ this._awsRegions = undefined;
2527
+ this._metricsPollingInterval = undefined;
2528
+ this._tagKey = undefined;
2529
+ this._tagValue = undefined;
2530
+ }
2531
+ else {
2532
+ this.isEmptyObject = Object.keys(value).length === 0;
2533
+ this._awsRegions = value.awsRegions;
2534
+ this._metricsPollingInterval = value.metricsPollingInterval;
2535
+ this._tagKey = value.tagKey;
2536
+ this._tagValue = value.tagValue;
2537
+ }
2538
+ }
2539
+ // aws_regions - computed: false, optional: true, required: false
2540
+ _awsRegions;
2541
+ get awsRegions() {
2542
+ return this.getListAttribute('aws_regions');
2543
+ }
2544
+ set awsRegions(value) {
2545
+ this._awsRegions = value;
2546
+ }
2547
+ resetAwsRegions() {
2548
+ this._awsRegions = undefined;
2549
+ }
2550
+ // Temporarily expose input value. Use with caution.
2551
+ get awsRegionsInput() {
2552
+ return this._awsRegions;
2553
+ }
2554
+ // metrics_polling_interval - computed: false, optional: true, required: false
2555
+ _metricsPollingInterval;
2556
+ get metricsPollingInterval() {
2557
+ return this.getNumberAttribute('metrics_polling_interval');
2558
+ }
2559
+ set metricsPollingInterval(value) {
2560
+ this._metricsPollingInterval = value;
2561
+ }
2562
+ resetMetricsPollingInterval() {
2563
+ this._metricsPollingInterval = undefined;
2564
+ }
2565
+ // Temporarily expose input value. Use with caution.
2566
+ get metricsPollingIntervalInput() {
2567
+ return this._metricsPollingInterval;
2568
+ }
2569
+ // tag_key - computed: false, optional: true, required: false
2570
+ _tagKey;
2571
+ get tagKey() {
2572
+ return this.getStringAttribute('tag_key');
2573
+ }
2574
+ set tagKey(value) {
2575
+ this._tagKey = value;
2576
+ }
2577
+ resetTagKey() {
2578
+ this._tagKey = undefined;
2579
+ }
2580
+ // Temporarily expose input value. Use with caution.
2581
+ get tagKeyInput() {
2582
+ return this._tagKey;
2583
+ }
2584
+ // tag_value - computed: false, optional: true, required: false
2585
+ _tagValue;
2586
+ get tagValue() {
2587
+ return this.getStringAttribute('tag_value');
2588
+ }
2589
+ set tagValue(value) {
2590
+ this._tagValue = value;
2591
+ }
2592
+ resetTagValue() {
2593
+ this._tagValue = undefined;
2594
+ }
2595
+ // Temporarily expose input value. Use with caution.
2596
+ get tagValueInput() {
2597
+ return this._tagValue;
2598
+ }
2599
+ }
2600
+ export function cloudAwsGovcloudIntegrationsRoute53ToTerraform(struct) {
2601
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
2602
+ return struct;
2603
+ }
2604
+ if (cdktf.isComplexElement(struct)) {
2605
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
2606
+ }
2607
+ return {
2608
+ fetch_extended_inventory: cdktf.booleanToTerraform(struct.fetchExtendedInventory),
2609
+ metrics_polling_interval: cdktf.numberToTerraform(struct.metricsPollingInterval),
2610
+ };
2611
+ }
2612
+ export function cloudAwsGovcloudIntegrationsRoute53ToHclTerraform(struct) {
2613
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
2614
+ return struct;
2615
+ }
2616
+ if (cdktf.isComplexElement(struct)) {
2617
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
2618
+ }
2619
+ const attrs = {
2620
+ fetch_extended_inventory: {
2621
+ value: cdktf.booleanToHclTerraform(struct.fetchExtendedInventory),
2622
+ isBlock: false,
2623
+ type: "simple",
2624
+ storageClassType: "boolean",
2625
+ },
2626
+ metrics_polling_interval: {
2627
+ value: cdktf.numberToHclTerraform(struct.metricsPollingInterval),
2628
+ isBlock: false,
2629
+ type: "simple",
2630
+ storageClassType: "number",
2631
+ },
2632
+ };
2633
+ // remove undefined attributes
2634
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
2635
+ }
2636
+ export class CloudAwsGovcloudIntegrationsRoute53OutputReference extends cdktf.ComplexObject {
2637
+ isEmptyObject = false;
2638
+ /**
2639
+ * @param terraformResource The parent resource
2640
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
2641
+ */
2642
+ constructor(terraformResource, terraformAttribute) {
2643
+ super(terraformResource, terraformAttribute, false, 0);
2644
+ }
2645
+ get internalValue() {
2646
+ let hasAnyValues = this.isEmptyObject;
2647
+ const internalValueResult = {};
2648
+ if (this._fetchExtendedInventory !== undefined) {
2649
+ hasAnyValues = true;
2650
+ internalValueResult.fetchExtendedInventory = this._fetchExtendedInventory;
2651
+ }
2652
+ if (this._metricsPollingInterval !== undefined) {
2653
+ hasAnyValues = true;
2654
+ internalValueResult.metricsPollingInterval = this._metricsPollingInterval;
2655
+ }
2656
+ return hasAnyValues ? internalValueResult : undefined;
2657
+ }
2658
+ set internalValue(value) {
2659
+ if (value === undefined) {
2660
+ this.isEmptyObject = false;
2661
+ this._fetchExtendedInventory = undefined;
2662
+ this._metricsPollingInterval = undefined;
2663
+ }
2664
+ else {
2665
+ this.isEmptyObject = Object.keys(value).length === 0;
2666
+ this._fetchExtendedInventory = value.fetchExtendedInventory;
2667
+ this._metricsPollingInterval = value.metricsPollingInterval;
2668
+ }
2669
+ }
2670
+ // fetch_extended_inventory - computed: false, optional: true, required: false
2671
+ _fetchExtendedInventory;
2672
+ get fetchExtendedInventory() {
2673
+ return this.getBooleanAttribute('fetch_extended_inventory');
2674
+ }
2675
+ set fetchExtendedInventory(value) {
2676
+ this._fetchExtendedInventory = value;
2677
+ }
2678
+ resetFetchExtendedInventory() {
2679
+ this._fetchExtendedInventory = undefined;
2680
+ }
2681
+ // Temporarily expose input value. Use with caution.
2682
+ get fetchExtendedInventoryInput() {
2683
+ return this._fetchExtendedInventory;
2684
+ }
2685
+ // metrics_polling_interval - computed: false, optional: true, required: false
2686
+ _metricsPollingInterval;
2687
+ get metricsPollingInterval() {
2688
+ return this.getNumberAttribute('metrics_polling_interval');
2689
+ }
2690
+ set metricsPollingInterval(value) {
2691
+ this._metricsPollingInterval = value;
2692
+ }
2693
+ resetMetricsPollingInterval() {
2694
+ this._metricsPollingInterval = undefined;
2695
+ }
2696
+ // Temporarily expose input value. Use with caution.
2697
+ get metricsPollingIntervalInput() {
2698
+ return this._metricsPollingInterval;
2699
+ }
2700
+ }
2701
+ export function cloudAwsGovcloudIntegrationsS3ToTerraform(struct) {
2702
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
2703
+ return struct;
2704
+ }
2705
+ if (cdktf.isComplexElement(struct)) {
2706
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
2707
+ }
2708
+ return {
2709
+ fetch_extended_inventory: cdktf.booleanToTerraform(struct.fetchExtendedInventory),
2710
+ fetch_tags: cdktf.booleanToTerraform(struct.fetchTags),
2711
+ metrics_polling_interval: cdktf.numberToTerraform(struct.metricsPollingInterval),
2712
+ tag_key: cdktf.stringToTerraform(struct.tagKey),
2713
+ tag_value: cdktf.stringToTerraform(struct.tagValue),
2714
+ };
2715
+ }
2716
+ export function cloudAwsGovcloudIntegrationsS3ToHclTerraform(struct) {
2717
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
2718
+ return struct;
2719
+ }
2720
+ if (cdktf.isComplexElement(struct)) {
2721
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
2722
+ }
2723
+ const attrs = {
2724
+ fetch_extended_inventory: {
2725
+ value: cdktf.booleanToHclTerraform(struct.fetchExtendedInventory),
2726
+ isBlock: false,
2727
+ type: "simple",
2728
+ storageClassType: "boolean",
2729
+ },
2730
+ fetch_tags: {
2731
+ value: cdktf.booleanToHclTerraform(struct.fetchTags),
2732
+ isBlock: false,
2733
+ type: "simple",
2734
+ storageClassType: "boolean",
2735
+ },
2736
+ metrics_polling_interval: {
2737
+ value: cdktf.numberToHclTerraform(struct.metricsPollingInterval),
2738
+ isBlock: false,
2739
+ type: "simple",
2740
+ storageClassType: "number",
2741
+ },
2742
+ tag_key: {
2743
+ value: cdktf.stringToHclTerraform(struct.tagKey),
2744
+ isBlock: false,
2745
+ type: "simple",
2746
+ storageClassType: "string",
2747
+ },
2748
+ tag_value: {
2749
+ value: cdktf.stringToHclTerraform(struct.tagValue),
2750
+ isBlock: false,
2751
+ type: "simple",
2752
+ storageClassType: "string",
2753
+ },
2754
+ };
2755
+ // remove undefined attributes
2756
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
2757
+ }
2758
+ export class CloudAwsGovcloudIntegrationsS3OutputReference extends cdktf.ComplexObject {
2759
+ isEmptyObject = false;
2760
+ /**
2761
+ * @param terraformResource The parent resource
2762
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
2763
+ */
2764
+ constructor(terraformResource, terraformAttribute) {
2765
+ super(terraformResource, terraformAttribute, false, 0);
2766
+ }
2767
+ get internalValue() {
2768
+ let hasAnyValues = this.isEmptyObject;
2769
+ const internalValueResult = {};
2770
+ if (this._fetchExtendedInventory !== undefined) {
2771
+ hasAnyValues = true;
2772
+ internalValueResult.fetchExtendedInventory = this._fetchExtendedInventory;
2773
+ }
2774
+ if (this._fetchTags !== undefined) {
2775
+ hasAnyValues = true;
2776
+ internalValueResult.fetchTags = this._fetchTags;
2777
+ }
2778
+ if (this._metricsPollingInterval !== undefined) {
2779
+ hasAnyValues = true;
2780
+ internalValueResult.metricsPollingInterval = this._metricsPollingInterval;
2781
+ }
2782
+ if (this._tagKey !== undefined) {
2783
+ hasAnyValues = true;
2784
+ internalValueResult.tagKey = this._tagKey;
2785
+ }
2786
+ if (this._tagValue !== undefined) {
2787
+ hasAnyValues = true;
2788
+ internalValueResult.tagValue = this._tagValue;
2789
+ }
2790
+ return hasAnyValues ? internalValueResult : undefined;
2791
+ }
2792
+ set internalValue(value) {
2793
+ if (value === undefined) {
2794
+ this.isEmptyObject = false;
2795
+ this._fetchExtendedInventory = undefined;
2796
+ this._fetchTags = undefined;
2797
+ this._metricsPollingInterval = undefined;
2798
+ this._tagKey = undefined;
2799
+ this._tagValue = undefined;
2800
+ }
2801
+ else {
2802
+ this.isEmptyObject = Object.keys(value).length === 0;
2803
+ this._fetchExtendedInventory = value.fetchExtendedInventory;
2804
+ this._fetchTags = value.fetchTags;
2805
+ this._metricsPollingInterval = value.metricsPollingInterval;
2806
+ this._tagKey = value.tagKey;
2807
+ this._tagValue = value.tagValue;
2808
+ }
2809
+ }
2810
+ // fetch_extended_inventory - computed: false, optional: true, required: false
2811
+ _fetchExtendedInventory;
2812
+ get fetchExtendedInventory() {
2813
+ return this.getBooleanAttribute('fetch_extended_inventory');
2814
+ }
2815
+ set fetchExtendedInventory(value) {
2816
+ this._fetchExtendedInventory = value;
2817
+ }
2818
+ resetFetchExtendedInventory() {
2819
+ this._fetchExtendedInventory = undefined;
2820
+ }
2821
+ // Temporarily expose input value. Use with caution.
2822
+ get fetchExtendedInventoryInput() {
2823
+ return this._fetchExtendedInventory;
2824
+ }
2825
+ // fetch_tags - computed: false, optional: true, required: false
2826
+ _fetchTags;
2827
+ get fetchTags() {
2828
+ return this.getBooleanAttribute('fetch_tags');
2829
+ }
2830
+ set fetchTags(value) {
2831
+ this._fetchTags = value;
2832
+ }
2833
+ resetFetchTags() {
2834
+ this._fetchTags = undefined;
2835
+ }
2836
+ // Temporarily expose input value. Use with caution.
2837
+ get fetchTagsInput() {
2838
+ return this._fetchTags;
2839
+ }
2840
+ // metrics_polling_interval - computed: false, optional: true, required: false
2841
+ _metricsPollingInterval;
2842
+ get metricsPollingInterval() {
2843
+ return this.getNumberAttribute('metrics_polling_interval');
2844
+ }
2845
+ set metricsPollingInterval(value) {
2846
+ this._metricsPollingInterval = value;
2847
+ }
2848
+ resetMetricsPollingInterval() {
2849
+ this._metricsPollingInterval = undefined;
2850
+ }
2851
+ // Temporarily expose input value. Use with caution.
2852
+ get metricsPollingIntervalInput() {
2853
+ return this._metricsPollingInterval;
2854
+ }
2855
+ // tag_key - computed: false, optional: true, required: false
2856
+ _tagKey;
2857
+ get tagKey() {
2858
+ return this.getStringAttribute('tag_key');
2859
+ }
2860
+ set tagKey(value) {
2861
+ this._tagKey = value;
2862
+ }
2863
+ resetTagKey() {
2864
+ this._tagKey = undefined;
2865
+ }
2866
+ // Temporarily expose input value. Use with caution.
2867
+ get tagKeyInput() {
2868
+ return this._tagKey;
2869
+ }
2870
+ // tag_value - computed: false, optional: true, required: false
2871
+ _tagValue;
2872
+ get tagValue() {
2873
+ return this.getStringAttribute('tag_value');
2874
+ }
2875
+ set tagValue(value) {
2876
+ this._tagValue = value;
2877
+ }
2878
+ resetTagValue() {
2879
+ this._tagValue = undefined;
2880
+ }
2881
+ // Temporarily expose input value. Use with caution.
2882
+ get tagValueInput() {
2883
+ return this._tagValue;
2884
+ }
2885
+ }
2886
+ export function cloudAwsGovcloudIntegrationsSnsToTerraform(struct) {
2887
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
2888
+ return struct;
2889
+ }
2890
+ if (cdktf.isComplexElement(struct)) {
2891
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
2892
+ }
2893
+ return {
2894
+ aws_regions: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.awsRegions),
2895
+ fetch_extended_inventory: cdktf.booleanToTerraform(struct.fetchExtendedInventory),
2896
+ metrics_polling_interval: cdktf.numberToTerraform(struct.metricsPollingInterval),
2897
+ };
2898
+ }
2899
+ export function cloudAwsGovcloudIntegrationsSnsToHclTerraform(struct) {
2900
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
2901
+ return struct;
2902
+ }
2903
+ if (cdktf.isComplexElement(struct)) {
2904
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
2905
+ }
2906
+ const attrs = {
2907
+ aws_regions: {
2908
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.awsRegions),
2909
+ isBlock: false,
2910
+ type: "list",
2911
+ storageClassType: "stringList",
2912
+ },
2913
+ fetch_extended_inventory: {
2914
+ value: cdktf.booleanToHclTerraform(struct.fetchExtendedInventory),
2915
+ isBlock: false,
2916
+ type: "simple",
2917
+ storageClassType: "boolean",
2918
+ },
2919
+ metrics_polling_interval: {
2920
+ value: cdktf.numberToHclTerraform(struct.metricsPollingInterval),
2921
+ isBlock: false,
2922
+ type: "simple",
2923
+ storageClassType: "number",
2924
+ },
2925
+ };
2926
+ // remove undefined attributes
2927
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
2928
+ }
2929
+ export class CloudAwsGovcloudIntegrationsSnsOutputReference extends cdktf.ComplexObject {
2930
+ isEmptyObject = false;
2931
+ /**
2932
+ * @param terraformResource The parent resource
2933
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
2934
+ */
2935
+ constructor(terraformResource, terraformAttribute) {
2936
+ super(terraformResource, terraformAttribute, false, 0);
2937
+ }
2938
+ get internalValue() {
2939
+ let hasAnyValues = this.isEmptyObject;
2940
+ const internalValueResult = {};
2941
+ if (this._awsRegions !== undefined) {
2942
+ hasAnyValues = true;
2943
+ internalValueResult.awsRegions = this._awsRegions;
2944
+ }
2945
+ if (this._fetchExtendedInventory !== undefined) {
2946
+ hasAnyValues = true;
2947
+ internalValueResult.fetchExtendedInventory = this._fetchExtendedInventory;
2948
+ }
2949
+ if (this._metricsPollingInterval !== undefined) {
2950
+ hasAnyValues = true;
2951
+ internalValueResult.metricsPollingInterval = this._metricsPollingInterval;
2952
+ }
2953
+ return hasAnyValues ? internalValueResult : undefined;
2954
+ }
2955
+ set internalValue(value) {
2956
+ if (value === undefined) {
2957
+ this.isEmptyObject = false;
2958
+ this._awsRegions = undefined;
2959
+ this._fetchExtendedInventory = undefined;
2960
+ this._metricsPollingInterval = undefined;
2961
+ }
2962
+ else {
2963
+ this.isEmptyObject = Object.keys(value).length === 0;
2964
+ this._awsRegions = value.awsRegions;
2965
+ this._fetchExtendedInventory = value.fetchExtendedInventory;
2966
+ this._metricsPollingInterval = value.metricsPollingInterval;
2967
+ }
2968
+ }
2969
+ // aws_regions - computed: false, optional: true, required: false
2970
+ _awsRegions;
2971
+ get awsRegions() {
2972
+ return this.getListAttribute('aws_regions');
2973
+ }
2974
+ set awsRegions(value) {
2975
+ this._awsRegions = value;
2976
+ }
2977
+ resetAwsRegions() {
2978
+ this._awsRegions = undefined;
2979
+ }
2980
+ // Temporarily expose input value. Use with caution.
2981
+ get awsRegionsInput() {
2982
+ return this._awsRegions;
2983
+ }
2984
+ // fetch_extended_inventory - computed: false, optional: true, required: false
2985
+ _fetchExtendedInventory;
2986
+ get fetchExtendedInventory() {
2987
+ return this.getBooleanAttribute('fetch_extended_inventory');
2988
+ }
2989
+ set fetchExtendedInventory(value) {
2990
+ this._fetchExtendedInventory = value;
2991
+ }
2992
+ resetFetchExtendedInventory() {
2993
+ this._fetchExtendedInventory = undefined;
2994
+ }
2995
+ // Temporarily expose input value. Use with caution.
2996
+ get fetchExtendedInventoryInput() {
2997
+ return this._fetchExtendedInventory;
2998
+ }
2999
+ // metrics_polling_interval - computed: false, optional: true, required: false
3000
+ _metricsPollingInterval;
3001
+ get metricsPollingInterval() {
3002
+ return this.getNumberAttribute('metrics_polling_interval');
3003
+ }
3004
+ set metricsPollingInterval(value) {
3005
+ this._metricsPollingInterval = value;
3006
+ }
3007
+ resetMetricsPollingInterval() {
3008
+ this._metricsPollingInterval = undefined;
3009
+ }
3010
+ // Temporarily expose input value. Use with caution.
3011
+ get metricsPollingIntervalInput() {
3012
+ return this._metricsPollingInterval;
3013
+ }
3014
+ }
3015
+ export function cloudAwsGovcloudIntegrationsSqsToTerraform(struct) {
3016
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
3017
+ return struct;
3018
+ }
3019
+ if (cdktf.isComplexElement(struct)) {
3020
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
3021
+ }
3022
+ return {
3023
+ aws_regions: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.awsRegions),
3024
+ fetch_extended_inventory: cdktf.booleanToTerraform(struct.fetchExtendedInventory),
3025
+ fetch_tags: cdktf.booleanToTerraform(struct.fetchTags),
3026
+ metrics_polling_interval: cdktf.numberToTerraform(struct.metricsPollingInterval),
3027
+ queue_prefixes: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.queuePrefixes),
3028
+ tag_key: cdktf.stringToTerraform(struct.tagKey),
3029
+ tag_value: cdktf.stringToTerraform(struct.tagValue),
3030
+ };
3031
+ }
3032
+ export function cloudAwsGovcloudIntegrationsSqsToHclTerraform(struct) {
3033
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
3034
+ return struct;
3035
+ }
3036
+ if (cdktf.isComplexElement(struct)) {
3037
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
3038
+ }
3039
+ const attrs = {
3040
+ aws_regions: {
3041
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.awsRegions),
3042
+ isBlock: false,
3043
+ type: "list",
3044
+ storageClassType: "stringList",
3045
+ },
3046
+ fetch_extended_inventory: {
3047
+ value: cdktf.booleanToHclTerraform(struct.fetchExtendedInventory),
3048
+ isBlock: false,
3049
+ type: "simple",
3050
+ storageClassType: "boolean",
3051
+ },
3052
+ fetch_tags: {
3053
+ value: cdktf.booleanToHclTerraform(struct.fetchTags),
3054
+ isBlock: false,
3055
+ type: "simple",
3056
+ storageClassType: "boolean",
3057
+ },
3058
+ metrics_polling_interval: {
3059
+ value: cdktf.numberToHclTerraform(struct.metricsPollingInterval),
3060
+ isBlock: false,
3061
+ type: "simple",
3062
+ storageClassType: "number",
3063
+ },
3064
+ queue_prefixes: {
3065
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.queuePrefixes),
3066
+ isBlock: false,
3067
+ type: "list",
3068
+ storageClassType: "stringList",
3069
+ },
3070
+ tag_key: {
3071
+ value: cdktf.stringToHclTerraform(struct.tagKey),
3072
+ isBlock: false,
3073
+ type: "simple",
3074
+ storageClassType: "string",
3075
+ },
3076
+ tag_value: {
3077
+ value: cdktf.stringToHclTerraform(struct.tagValue),
3078
+ isBlock: false,
3079
+ type: "simple",
3080
+ storageClassType: "string",
3081
+ },
3082
+ };
3083
+ // remove undefined attributes
3084
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
3085
+ }
3086
+ export class CloudAwsGovcloudIntegrationsSqsOutputReference extends cdktf.ComplexObject {
3087
+ isEmptyObject = false;
3088
+ /**
3089
+ * @param terraformResource The parent resource
3090
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
3091
+ */
3092
+ constructor(terraformResource, terraformAttribute) {
3093
+ super(terraformResource, terraformAttribute, false, 0);
3094
+ }
3095
+ get internalValue() {
3096
+ let hasAnyValues = this.isEmptyObject;
3097
+ const internalValueResult = {};
3098
+ if (this._awsRegions !== undefined) {
3099
+ hasAnyValues = true;
3100
+ internalValueResult.awsRegions = this._awsRegions;
3101
+ }
3102
+ if (this._fetchExtendedInventory !== undefined) {
3103
+ hasAnyValues = true;
3104
+ internalValueResult.fetchExtendedInventory = this._fetchExtendedInventory;
3105
+ }
3106
+ if (this._fetchTags !== undefined) {
3107
+ hasAnyValues = true;
3108
+ internalValueResult.fetchTags = this._fetchTags;
3109
+ }
3110
+ if (this._metricsPollingInterval !== undefined) {
3111
+ hasAnyValues = true;
3112
+ internalValueResult.metricsPollingInterval = this._metricsPollingInterval;
3113
+ }
3114
+ if (this._queuePrefixes !== undefined) {
3115
+ hasAnyValues = true;
3116
+ internalValueResult.queuePrefixes = this._queuePrefixes;
3117
+ }
3118
+ if (this._tagKey !== undefined) {
3119
+ hasAnyValues = true;
3120
+ internalValueResult.tagKey = this._tagKey;
3121
+ }
3122
+ if (this._tagValue !== undefined) {
3123
+ hasAnyValues = true;
3124
+ internalValueResult.tagValue = this._tagValue;
3125
+ }
3126
+ return hasAnyValues ? internalValueResult : undefined;
3127
+ }
3128
+ set internalValue(value) {
3129
+ if (value === undefined) {
3130
+ this.isEmptyObject = false;
3131
+ this._awsRegions = undefined;
3132
+ this._fetchExtendedInventory = undefined;
3133
+ this._fetchTags = undefined;
3134
+ this._metricsPollingInterval = undefined;
3135
+ this._queuePrefixes = undefined;
3136
+ this._tagKey = undefined;
3137
+ this._tagValue = undefined;
3138
+ }
3139
+ else {
3140
+ this.isEmptyObject = Object.keys(value).length === 0;
3141
+ this._awsRegions = value.awsRegions;
3142
+ this._fetchExtendedInventory = value.fetchExtendedInventory;
3143
+ this._fetchTags = value.fetchTags;
3144
+ this._metricsPollingInterval = value.metricsPollingInterval;
3145
+ this._queuePrefixes = value.queuePrefixes;
3146
+ this._tagKey = value.tagKey;
3147
+ this._tagValue = value.tagValue;
3148
+ }
3149
+ }
3150
+ // aws_regions - computed: false, optional: true, required: false
3151
+ _awsRegions;
3152
+ get awsRegions() {
3153
+ return this.getListAttribute('aws_regions');
3154
+ }
3155
+ set awsRegions(value) {
3156
+ this._awsRegions = value;
3157
+ }
3158
+ resetAwsRegions() {
3159
+ this._awsRegions = undefined;
3160
+ }
3161
+ // Temporarily expose input value. Use with caution.
3162
+ get awsRegionsInput() {
3163
+ return this._awsRegions;
3164
+ }
3165
+ // fetch_extended_inventory - computed: false, optional: true, required: false
3166
+ _fetchExtendedInventory;
3167
+ get fetchExtendedInventory() {
3168
+ return this.getBooleanAttribute('fetch_extended_inventory');
3169
+ }
3170
+ set fetchExtendedInventory(value) {
3171
+ this._fetchExtendedInventory = value;
3172
+ }
3173
+ resetFetchExtendedInventory() {
3174
+ this._fetchExtendedInventory = undefined;
3175
+ }
3176
+ // Temporarily expose input value. Use with caution.
3177
+ get fetchExtendedInventoryInput() {
3178
+ return this._fetchExtendedInventory;
3179
+ }
3180
+ // fetch_tags - computed: false, optional: true, required: false
3181
+ _fetchTags;
3182
+ get fetchTags() {
3183
+ return this.getBooleanAttribute('fetch_tags');
3184
+ }
3185
+ set fetchTags(value) {
3186
+ this._fetchTags = value;
3187
+ }
3188
+ resetFetchTags() {
3189
+ this._fetchTags = undefined;
3190
+ }
3191
+ // Temporarily expose input value. Use with caution.
3192
+ get fetchTagsInput() {
3193
+ return this._fetchTags;
3194
+ }
3195
+ // metrics_polling_interval - computed: false, optional: true, required: false
3196
+ _metricsPollingInterval;
3197
+ get metricsPollingInterval() {
3198
+ return this.getNumberAttribute('metrics_polling_interval');
3199
+ }
3200
+ set metricsPollingInterval(value) {
3201
+ this._metricsPollingInterval = value;
3202
+ }
3203
+ resetMetricsPollingInterval() {
3204
+ this._metricsPollingInterval = undefined;
3205
+ }
3206
+ // Temporarily expose input value. Use with caution.
3207
+ get metricsPollingIntervalInput() {
3208
+ return this._metricsPollingInterval;
3209
+ }
3210
+ // queue_prefixes - computed: false, optional: true, required: false
3211
+ _queuePrefixes;
3212
+ get queuePrefixes() {
3213
+ return this.getListAttribute('queue_prefixes');
3214
+ }
3215
+ set queuePrefixes(value) {
3216
+ this._queuePrefixes = value;
3217
+ }
3218
+ resetQueuePrefixes() {
3219
+ this._queuePrefixes = undefined;
3220
+ }
3221
+ // Temporarily expose input value. Use with caution.
3222
+ get queuePrefixesInput() {
3223
+ return this._queuePrefixes;
3224
+ }
3225
+ // tag_key - computed: false, optional: true, required: false
3226
+ _tagKey;
3227
+ get tagKey() {
3228
+ return this.getStringAttribute('tag_key');
3229
+ }
3230
+ set tagKey(value) {
3231
+ this._tagKey = value;
3232
+ }
3233
+ resetTagKey() {
3234
+ this._tagKey = undefined;
3235
+ }
3236
+ // Temporarily expose input value. Use with caution.
3237
+ get tagKeyInput() {
3238
+ return this._tagKey;
3239
+ }
3240
+ // tag_value - computed: false, optional: true, required: false
3241
+ _tagValue;
3242
+ get tagValue() {
3243
+ return this.getStringAttribute('tag_value');
3244
+ }
3245
+ set tagValue(value) {
3246
+ this._tagValue = value;
3247
+ }
3248
+ resetTagValue() {
3249
+ this._tagValue = undefined;
3250
+ }
3251
+ // Temporarily expose input value. Use with caution.
3252
+ get tagValueInput() {
3253
+ return this._tagValue;
3254
+ }
3255
+ }
3256
+ /**
3257
+ * Represents a {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/cloud_aws_govcloud_integrations newrelic_cloud_aws_govcloud_integrations}
3258
+ */
3259
+ export class CloudAwsGovcloudIntegrations extends cdktf.TerraformResource {
3260
+ // =================
3261
+ // STATIC PROPERTIES
3262
+ // =================
3263
+ static tfResourceType = "newrelic_cloud_aws_govcloud_integrations";
3264
+ // ==============
3265
+ // STATIC Methods
3266
+ // ==============
3267
+ /**
3268
+ * Generates CDKTF code for importing a CloudAwsGovcloudIntegrations resource upon running "cdktf plan <stack-name>"
3269
+ * @param scope The scope in which to define this construct
3270
+ * @param importToId The construct id used in the generated config for the CloudAwsGovcloudIntegrations to import
3271
+ * @param importFromId The id of the existing CloudAwsGovcloudIntegrations that should be imported. Refer to the {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/cloud_aws_govcloud_integrations#import import section} in the documentation of this resource for the id to use
3272
+ * @param provider? Optional instance of the provider where the CloudAwsGovcloudIntegrations to import is found
3273
+ */
3274
+ static generateConfigForImport(scope, importToId, importFromId, provider) {
3275
+ return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "newrelic_cloud_aws_govcloud_integrations", importId: importFromId, provider });
3276
+ }
3277
+ // ===========
3278
+ // INITIALIZER
3279
+ // ===========
3280
+ /**
3281
+ * Create a new {@link https://registry.terraform.io/providers/newrelic/newrelic/3.75.4/docs/resources/cloud_aws_govcloud_integrations newrelic_cloud_aws_govcloud_integrations} Resource
3282
+ *
3283
+ * @param scope The scope in which to define this construct
3284
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
3285
+ * @param options CloudAwsGovcloudIntegrationsConfig
3286
+ */
3287
+ constructor(scope, id, config) {
3288
+ super(scope, id, {
3289
+ terraformResourceType: 'newrelic_cloud_aws_govcloud_integrations',
3290
+ terraformGeneratorMetadata: {
3291
+ providerName: 'newrelic',
3292
+ providerVersion: '3.75.4',
3293
+ providerVersionConstraint: '3.75.4'
3294
+ },
3295
+ provider: config.provider,
3296
+ dependsOn: config.dependsOn,
3297
+ count: config.count,
3298
+ lifecycle: config.lifecycle,
3299
+ provisioners: config.provisioners,
3300
+ connection: config.connection,
3301
+ forEach: config.forEach
3302
+ });
3303
+ this._accountId = config.accountId;
3304
+ this._id = config.id;
3305
+ this._linkedAccountId = config.linkedAccountId;
3306
+ this._alb.internalValue = config.alb;
3307
+ this._apiGateway.internalValue = config.apiGateway;
3308
+ this._autoScaling.internalValue = config.autoScaling;
3309
+ this._awsDirectConnect.internalValue = config.awsDirectConnect;
3310
+ this._awsStates.internalValue = config.awsStates;
3311
+ this._cloudtrail.internalValue = config.cloudtrail;
3312
+ this._dynamoDb.internalValue = config.dynamoDb;
3313
+ this._ebs.internalValue = config.ebs;
3314
+ this._ec2.internalValue = config.ec2;
3315
+ this._elasticSearch.internalValue = config.elasticSearch;
3316
+ this._elb.internalValue = config.elb;
3317
+ this._emr.internalValue = config.emr;
3318
+ this._iam.internalValue = config.iam;
3319
+ this._lambda.internalValue = config.lambda;
3320
+ this._rds.internalValue = config.rds;
3321
+ this._redShift.internalValue = config.redShift;
3322
+ this._route53.internalValue = config.route53;
3323
+ this._s3.internalValue = config.s3;
3324
+ this._sns.internalValue = config.sns;
3325
+ this._sqs.internalValue = config.sqs;
3326
+ }
3327
+ // ==========
3328
+ // ATTRIBUTES
3329
+ // ==========
3330
+ // account_id - computed: true, optional: true, required: false
3331
+ _accountId;
3332
+ get accountId() {
3333
+ return this.getNumberAttribute('account_id');
3334
+ }
3335
+ set accountId(value) {
3336
+ this._accountId = value;
3337
+ }
3338
+ resetAccountId() {
3339
+ this._accountId = undefined;
3340
+ }
3341
+ // Temporarily expose input value. Use with caution.
3342
+ get accountIdInput() {
3343
+ return this._accountId;
3344
+ }
3345
+ // id - computed: true, optional: true, required: false
3346
+ _id;
3347
+ get id() {
3348
+ return this.getStringAttribute('id');
3349
+ }
3350
+ set id(value) {
3351
+ this._id = value;
3352
+ }
3353
+ resetId() {
3354
+ this._id = undefined;
3355
+ }
3356
+ // Temporarily expose input value. Use with caution.
3357
+ get idInput() {
3358
+ return this._id;
3359
+ }
3360
+ // linked_account_id - computed: false, optional: false, required: true
3361
+ _linkedAccountId;
3362
+ get linkedAccountId() {
3363
+ return this.getNumberAttribute('linked_account_id');
3364
+ }
3365
+ set linkedAccountId(value) {
3366
+ this._linkedAccountId = value;
3367
+ }
3368
+ // Temporarily expose input value. Use with caution.
3369
+ get linkedAccountIdInput() {
3370
+ return this._linkedAccountId;
3371
+ }
3372
+ // alb - computed: false, optional: true, required: false
3373
+ _alb = new CloudAwsGovcloudIntegrationsAlbOutputReference(this, "alb");
3374
+ get alb() {
3375
+ return this._alb;
3376
+ }
3377
+ putAlb(value) {
3378
+ this._alb.internalValue = value;
3379
+ }
3380
+ resetAlb() {
3381
+ this._alb.internalValue = undefined;
3382
+ }
3383
+ // Temporarily expose input value. Use with caution.
3384
+ get albInput() {
3385
+ return this._alb.internalValue;
3386
+ }
3387
+ // api_gateway - computed: false, optional: true, required: false
3388
+ _apiGateway = new CloudAwsGovcloudIntegrationsApiGatewayOutputReference(this, "api_gateway");
3389
+ get apiGateway() {
3390
+ return this._apiGateway;
3391
+ }
3392
+ putApiGateway(value) {
3393
+ this._apiGateway.internalValue = value;
3394
+ }
3395
+ resetApiGateway() {
3396
+ this._apiGateway.internalValue = undefined;
3397
+ }
3398
+ // Temporarily expose input value. Use with caution.
3399
+ get apiGatewayInput() {
3400
+ return this._apiGateway.internalValue;
3401
+ }
3402
+ // auto_scaling - computed: false, optional: true, required: false
3403
+ _autoScaling = new CloudAwsGovcloudIntegrationsAutoScalingOutputReference(this, "auto_scaling");
3404
+ get autoScaling() {
3405
+ return this._autoScaling;
3406
+ }
3407
+ putAutoScaling(value) {
3408
+ this._autoScaling.internalValue = value;
3409
+ }
3410
+ resetAutoScaling() {
3411
+ this._autoScaling.internalValue = undefined;
3412
+ }
3413
+ // Temporarily expose input value. Use with caution.
3414
+ get autoScalingInput() {
3415
+ return this._autoScaling.internalValue;
3416
+ }
3417
+ // aws_direct_connect - computed: false, optional: true, required: false
3418
+ _awsDirectConnect = new CloudAwsGovcloudIntegrationsAwsDirectConnectOutputReference(this, "aws_direct_connect");
3419
+ get awsDirectConnect() {
3420
+ return this._awsDirectConnect;
3421
+ }
3422
+ putAwsDirectConnect(value) {
3423
+ this._awsDirectConnect.internalValue = value;
3424
+ }
3425
+ resetAwsDirectConnect() {
3426
+ this._awsDirectConnect.internalValue = undefined;
3427
+ }
3428
+ // Temporarily expose input value. Use with caution.
3429
+ get awsDirectConnectInput() {
3430
+ return this._awsDirectConnect.internalValue;
3431
+ }
3432
+ // aws_states - computed: false, optional: true, required: false
3433
+ _awsStates = new CloudAwsGovcloudIntegrationsAwsStatesOutputReference(this, "aws_states");
3434
+ get awsStates() {
3435
+ return this._awsStates;
3436
+ }
3437
+ putAwsStates(value) {
3438
+ this._awsStates.internalValue = value;
3439
+ }
3440
+ resetAwsStates() {
3441
+ this._awsStates.internalValue = undefined;
3442
+ }
3443
+ // Temporarily expose input value. Use with caution.
3444
+ get awsStatesInput() {
3445
+ return this._awsStates.internalValue;
3446
+ }
3447
+ // cloudtrail - computed: false, optional: true, required: false
3448
+ _cloudtrail = new CloudAwsGovcloudIntegrationsCloudtrailOutputReference(this, "cloudtrail");
3449
+ get cloudtrail() {
3450
+ return this._cloudtrail;
3451
+ }
3452
+ putCloudtrail(value) {
3453
+ this._cloudtrail.internalValue = value;
3454
+ }
3455
+ resetCloudtrail() {
3456
+ this._cloudtrail.internalValue = undefined;
3457
+ }
3458
+ // Temporarily expose input value. Use with caution.
3459
+ get cloudtrailInput() {
3460
+ return this._cloudtrail.internalValue;
3461
+ }
3462
+ // dynamo_db - computed: false, optional: true, required: false
3463
+ _dynamoDb = new CloudAwsGovcloudIntegrationsDynamoDbOutputReference(this, "dynamo_db");
3464
+ get dynamoDb() {
3465
+ return this._dynamoDb;
3466
+ }
3467
+ putDynamoDb(value) {
3468
+ this._dynamoDb.internalValue = value;
3469
+ }
3470
+ resetDynamoDb() {
3471
+ this._dynamoDb.internalValue = undefined;
3472
+ }
3473
+ // Temporarily expose input value. Use with caution.
3474
+ get dynamoDbInput() {
3475
+ return this._dynamoDb.internalValue;
3476
+ }
3477
+ // ebs - computed: false, optional: true, required: false
3478
+ _ebs = new CloudAwsGovcloudIntegrationsEbsOutputReference(this, "ebs");
3479
+ get ebs() {
3480
+ return this._ebs;
3481
+ }
3482
+ putEbs(value) {
3483
+ this._ebs.internalValue = value;
3484
+ }
3485
+ resetEbs() {
3486
+ this._ebs.internalValue = undefined;
3487
+ }
3488
+ // Temporarily expose input value. Use with caution.
3489
+ get ebsInput() {
3490
+ return this._ebs.internalValue;
3491
+ }
3492
+ // ec2 - computed: false, optional: true, required: false
3493
+ _ec2 = new CloudAwsGovcloudIntegrationsEc2OutputReference(this, "ec2");
3494
+ get ec2() {
3495
+ return this._ec2;
3496
+ }
3497
+ putEc2(value) {
3498
+ this._ec2.internalValue = value;
3499
+ }
3500
+ resetEc2() {
3501
+ this._ec2.internalValue = undefined;
3502
+ }
3503
+ // Temporarily expose input value. Use with caution.
3504
+ get ec2Input() {
3505
+ return this._ec2.internalValue;
3506
+ }
3507
+ // elastic_search - computed: false, optional: true, required: false
3508
+ _elasticSearch = new CloudAwsGovcloudIntegrationsElasticSearchOutputReference(this, "elastic_search");
3509
+ get elasticSearch() {
3510
+ return this._elasticSearch;
3511
+ }
3512
+ putElasticSearch(value) {
3513
+ this._elasticSearch.internalValue = value;
3514
+ }
3515
+ resetElasticSearch() {
3516
+ this._elasticSearch.internalValue = undefined;
3517
+ }
3518
+ // Temporarily expose input value. Use with caution.
3519
+ get elasticSearchInput() {
3520
+ return this._elasticSearch.internalValue;
3521
+ }
3522
+ // elb - computed: false, optional: true, required: false
3523
+ _elb = new CloudAwsGovcloudIntegrationsElbOutputReference(this, "elb");
3524
+ get elb() {
3525
+ return this._elb;
3526
+ }
3527
+ putElb(value) {
3528
+ this._elb.internalValue = value;
3529
+ }
3530
+ resetElb() {
3531
+ this._elb.internalValue = undefined;
3532
+ }
3533
+ // Temporarily expose input value. Use with caution.
3534
+ get elbInput() {
3535
+ return this._elb.internalValue;
3536
+ }
3537
+ // emr - computed: false, optional: true, required: false
3538
+ _emr = new CloudAwsGovcloudIntegrationsEmrOutputReference(this, "emr");
3539
+ get emr() {
3540
+ return this._emr;
3541
+ }
3542
+ putEmr(value) {
3543
+ this._emr.internalValue = value;
3544
+ }
3545
+ resetEmr() {
3546
+ this._emr.internalValue = undefined;
3547
+ }
3548
+ // Temporarily expose input value. Use with caution.
3549
+ get emrInput() {
3550
+ return this._emr.internalValue;
3551
+ }
3552
+ // iam - computed: false, optional: true, required: false
3553
+ _iam = new CloudAwsGovcloudIntegrationsIamOutputReference(this, "iam");
3554
+ get iam() {
3555
+ return this._iam;
3556
+ }
3557
+ putIam(value) {
3558
+ this._iam.internalValue = value;
3559
+ }
3560
+ resetIam() {
3561
+ this._iam.internalValue = undefined;
3562
+ }
3563
+ // Temporarily expose input value. Use with caution.
3564
+ get iamInput() {
3565
+ return this._iam.internalValue;
3566
+ }
3567
+ // lambda - computed: false, optional: true, required: false
3568
+ _lambda = new CloudAwsGovcloudIntegrationsLambdaOutputReference(this, "lambda");
3569
+ get lambda() {
3570
+ return this._lambda;
3571
+ }
3572
+ putLambda(value) {
3573
+ this._lambda.internalValue = value;
3574
+ }
3575
+ resetLambda() {
3576
+ this._lambda.internalValue = undefined;
3577
+ }
3578
+ // Temporarily expose input value. Use with caution.
3579
+ get lambdaInput() {
3580
+ return this._lambda.internalValue;
3581
+ }
3582
+ // rds - computed: false, optional: true, required: false
3583
+ _rds = new CloudAwsGovcloudIntegrationsRdsOutputReference(this, "rds");
3584
+ get rds() {
3585
+ return this._rds;
3586
+ }
3587
+ putRds(value) {
3588
+ this._rds.internalValue = value;
3589
+ }
3590
+ resetRds() {
3591
+ this._rds.internalValue = undefined;
3592
+ }
3593
+ // Temporarily expose input value. Use with caution.
3594
+ get rdsInput() {
3595
+ return this._rds.internalValue;
3596
+ }
3597
+ // red_shift - computed: false, optional: true, required: false
3598
+ _redShift = new CloudAwsGovcloudIntegrationsRedShiftOutputReference(this, "red_shift");
3599
+ get redShift() {
3600
+ return this._redShift;
3601
+ }
3602
+ putRedShift(value) {
3603
+ this._redShift.internalValue = value;
3604
+ }
3605
+ resetRedShift() {
3606
+ this._redShift.internalValue = undefined;
3607
+ }
3608
+ // Temporarily expose input value. Use with caution.
3609
+ get redShiftInput() {
3610
+ return this._redShift.internalValue;
3611
+ }
3612
+ // route53 - computed: false, optional: true, required: false
3613
+ _route53 = new CloudAwsGovcloudIntegrationsRoute53OutputReference(this, "route53");
3614
+ get route53() {
3615
+ return this._route53;
3616
+ }
3617
+ putRoute53(value) {
3618
+ this._route53.internalValue = value;
3619
+ }
3620
+ resetRoute53() {
3621
+ this._route53.internalValue = undefined;
3622
+ }
3623
+ // Temporarily expose input value. Use with caution.
3624
+ get route53Input() {
3625
+ return this._route53.internalValue;
3626
+ }
3627
+ // s3 - computed: false, optional: true, required: false
3628
+ _s3 = new CloudAwsGovcloudIntegrationsS3OutputReference(this, "s3");
3629
+ get s3() {
3630
+ return this._s3;
3631
+ }
3632
+ putS3(value) {
3633
+ this._s3.internalValue = value;
3634
+ }
3635
+ resetS3() {
3636
+ this._s3.internalValue = undefined;
3637
+ }
3638
+ // Temporarily expose input value. Use with caution.
3639
+ get s3Input() {
3640
+ return this._s3.internalValue;
3641
+ }
3642
+ // sns - computed: false, optional: true, required: false
3643
+ _sns = new CloudAwsGovcloudIntegrationsSnsOutputReference(this, "sns");
3644
+ get sns() {
3645
+ return this._sns;
3646
+ }
3647
+ putSns(value) {
3648
+ this._sns.internalValue = value;
3649
+ }
3650
+ resetSns() {
3651
+ this._sns.internalValue = undefined;
3652
+ }
3653
+ // Temporarily expose input value. Use with caution.
3654
+ get snsInput() {
3655
+ return this._sns.internalValue;
3656
+ }
3657
+ // sqs - computed: false, optional: true, required: false
3658
+ _sqs = new CloudAwsGovcloudIntegrationsSqsOutputReference(this, "sqs");
3659
+ get sqs() {
3660
+ return this._sqs;
3661
+ }
3662
+ putSqs(value) {
3663
+ this._sqs.internalValue = value;
3664
+ }
3665
+ resetSqs() {
3666
+ this._sqs.internalValue = undefined;
3667
+ }
3668
+ // Temporarily expose input value. Use with caution.
3669
+ get sqsInput() {
3670
+ return this._sqs.internalValue;
3671
+ }
3672
+ // =========
3673
+ // SYNTHESIS
3674
+ // =========
3675
+ synthesizeAttributes() {
3676
+ return {
3677
+ account_id: cdktf.numberToTerraform(this._accountId),
3678
+ id: cdktf.stringToTerraform(this._id),
3679
+ linked_account_id: cdktf.numberToTerraform(this._linkedAccountId),
3680
+ alb: cloudAwsGovcloudIntegrationsAlbToTerraform(this._alb.internalValue),
3681
+ api_gateway: cloudAwsGovcloudIntegrationsApiGatewayToTerraform(this._apiGateway.internalValue),
3682
+ auto_scaling: cloudAwsGovcloudIntegrationsAutoScalingToTerraform(this._autoScaling.internalValue),
3683
+ aws_direct_connect: cloudAwsGovcloudIntegrationsAwsDirectConnectToTerraform(this._awsDirectConnect.internalValue),
3684
+ aws_states: cloudAwsGovcloudIntegrationsAwsStatesToTerraform(this._awsStates.internalValue),
3685
+ cloudtrail: cloudAwsGovcloudIntegrationsCloudtrailToTerraform(this._cloudtrail.internalValue),
3686
+ dynamo_db: cloudAwsGovcloudIntegrationsDynamoDbToTerraform(this._dynamoDb.internalValue),
3687
+ ebs: cloudAwsGovcloudIntegrationsEbsToTerraform(this._ebs.internalValue),
3688
+ ec2: cloudAwsGovcloudIntegrationsEc2ToTerraform(this._ec2.internalValue),
3689
+ elastic_search: cloudAwsGovcloudIntegrationsElasticSearchToTerraform(this._elasticSearch.internalValue),
3690
+ elb: cloudAwsGovcloudIntegrationsElbToTerraform(this._elb.internalValue),
3691
+ emr: cloudAwsGovcloudIntegrationsEmrToTerraform(this._emr.internalValue),
3692
+ iam: cloudAwsGovcloudIntegrationsIamToTerraform(this._iam.internalValue),
3693
+ lambda: cloudAwsGovcloudIntegrationsLambdaToTerraform(this._lambda.internalValue),
3694
+ rds: cloudAwsGovcloudIntegrationsRdsToTerraform(this._rds.internalValue),
3695
+ red_shift: cloudAwsGovcloudIntegrationsRedShiftToTerraform(this._redShift.internalValue),
3696
+ route53: cloudAwsGovcloudIntegrationsRoute53ToTerraform(this._route53.internalValue),
3697
+ s3: cloudAwsGovcloudIntegrationsS3ToTerraform(this._s3.internalValue),
3698
+ sns: cloudAwsGovcloudIntegrationsSnsToTerraform(this._sns.internalValue),
3699
+ sqs: cloudAwsGovcloudIntegrationsSqsToTerraform(this._sqs.internalValue),
3700
+ };
3701
+ }
3702
+ synthesizeHclAttributes() {
3703
+ const attrs = {
3704
+ account_id: {
3705
+ value: cdktf.numberToHclTerraform(this._accountId),
3706
+ isBlock: false,
3707
+ type: "simple",
3708
+ storageClassType: "number",
3709
+ },
3710
+ id: {
3711
+ value: cdktf.stringToHclTerraform(this._id),
3712
+ isBlock: false,
3713
+ type: "simple",
3714
+ storageClassType: "string",
3715
+ },
3716
+ linked_account_id: {
3717
+ value: cdktf.numberToHclTerraform(this._linkedAccountId),
3718
+ isBlock: false,
3719
+ type: "simple",
3720
+ storageClassType: "number",
3721
+ },
3722
+ alb: {
3723
+ value: cloudAwsGovcloudIntegrationsAlbToHclTerraform(this._alb.internalValue),
3724
+ isBlock: true,
3725
+ type: "list",
3726
+ storageClassType: "CloudAwsGovcloudIntegrationsAlbList",
3727
+ },
3728
+ api_gateway: {
3729
+ value: cloudAwsGovcloudIntegrationsApiGatewayToHclTerraform(this._apiGateway.internalValue),
3730
+ isBlock: true,
3731
+ type: "list",
3732
+ storageClassType: "CloudAwsGovcloudIntegrationsApiGatewayList",
3733
+ },
3734
+ auto_scaling: {
3735
+ value: cloudAwsGovcloudIntegrationsAutoScalingToHclTerraform(this._autoScaling.internalValue),
3736
+ isBlock: true,
3737
+ type: "list",
3738
+ storageClassType: "CloudAwsGovcloudIntegrationsAutoScalingList",
3739
+ },
3740
+ aws_direct_connect: {
3741
+ value: cloudAwsGovcloudIntegrationsAwsDirectConnectToHclTerraform(this._awsDirectConnect.internalValue),
3742
+ isBlock: true,
3743
+ type: "list",
3744
+ storageClassType: "CloudAwsGovcloudIntegrationsAwsDirectConnectList",
3745
+ },
3746
+ aws_states: {
3747
+ value: cloudAwsGovcloudIntegrationsAwsStatesToHclTerraform(this._awsStates.internalValue),
3748
+ isBlock: true,
3749
+ type: "list",
3750
+ storageClassType: "CloudAwsGovcloudIntegrationsAwsStatesList",
3751
+ },
3752
+ cloudtrail: {
3753
+ value: cloudAwsGovcloudIntegrationsCloudtrailToHclTerraform(this._cloudtrail.internalValue),
3754
+ isBlock: true,
3755
+ type: "list",
3756
+ storageClassType: "CloudAwsGovcloudIntegrationsCloudtrailList",
3757
+ },
3758
+ dynamo_db: {
3759
+ value: cloudAwsGovcloudIntegrationsDynamoDbToHclTerraform(this._dynamoDb.internalValue),
3760
+ isBlock: true,
3761
+ type: "list",
3762
+ storageClassType: "CloudAwsGovcloudIntegrationsDynamoDbList",
3763
+ },
3764
+ ebs: {
3765
+ value: cloudAwsGovcloudIntegrationsEbsToHclTerraform(this._ebs.internalValue),
3766
+ isBlock: true,
3767
+ type: "list",
3768
+ storageClassType: "CloudAwsGovcloudIntegrationsEbsList",
3769
+ },
3770
+ ec2: {
3771
+ value: cloudAwsGovcloudIntegrationsEc2ToHclTerraform(this._ec2.internalValue),
3772
+ isBlock: true,
3773
+ type: "list",
3774
+ storageClassType: "CloudAwsGovcloudIntegrationsEc2List",
3775
+ },
3776
+ elastic_search: {
3777
+ value: cloudAwsGovcloudIntegrationsElasticSearchToHclTerraform(this._elasticSearch.internalValue),
3778
+ isBlock: true,
3779
+ type: "list",
3780
+ storageClassType: "CloudAwsGovcloudIntegrationsElasticSearchList",
3781
+ },
3782
+ elb: {
3783
+ value: cloudAwsGovcloudIntegrationsElbToHclTerraform(this._elb.internalValue),
3784
+ isBlock: true,
3785
+ type: "list",
3786
+ storageClassType: "CloudAwsGovcloudIntegrationsElbList",
3787
+ },
3788
+ emr: {
3789
+ value: cloudAwsGovcloudIntegrationsEmrToHclTerraform(this._emr.internalValue),
3790
+ isBlock: true,
3791
+ type: "list",
3792
+ storageClassType: "CloudAwsGovcloudIntegrationsEmrList",
3793
+ },
3794
+ iam: {
3795
+ value: cloudAwsGovcloudIntegrationsIamToHclTerraform(this._iam.internalValue),
3796
+ isBlock: true,
3797
+ type: "list",
3798
+ storageClassType: "CloudAwsGovcloudIntegrationsIamList",
3799
+ },
3800
+ lambda: {
3801
+ value: cloudAwsGovcloudIntegrationsLambdaToHclTerraform(this._lambda.internalValue),
3802
+ isBlock: true,
3803
+ type: "list",
3804
+ storageClassType: "CloudAwsGovcloudIntegrationsLambdaList",
3805
+ },
3806
+ rds: {
3807
+ value: cloudAwsGovcloudIntegrationsRdsToHclTerraform(this._rds.internalValue),
3808
+ isBlock: true,
3809
+ type: "list",
3810
+ storageClassType: "CloudAwsGovcloudIntegrationsRdsList",
3811
+ },
3812
+ red_shift: {
3813
+ value: cloudAwsGovcloudIntegrationsRedShiftToHclTerraform(this._redShift.internalValue),
3814
+ isBlock: true,
3815
+ type: "list",
3816
+ storageClassType: "CloudAwsGovcloudIntegrationsRedShiftList",
3817
+ },
3818
+ route53: {
3819
+ value: cloudAwsGovcloudIntegrationsRoute53ToHclTerraform(this._route53.internalValue),
3820
+ isBlock: true,
3821
+ type: "list",
3822
+ storageClassType: "CloudAwsGovcloudIntegrationsRoute53List",
3823
+ },
3824
+ s3: {
3825
+ value: cloudAwsGovcloudIntegrationsS3ToHclTerraform(this._s3.internalValue),
3826
+ isBlock: true,
3827
+ type: "list",
3828
+ storageClassType: "CloudAwsGovcloudIntegrationsS3List",
3829
+ },
3830
+ sns: {
3831
+ value: cloudAwsGovcloudIntegrationsSnsToHclTerraform(this._sns.internalValue),
3832
+ isBlock: true,
3833
+ type: "list",
3834
+ storageClassType: "CloudAwsGovcloudIntegrationsSnsList",
3835
+ },
3836
+ sqs: {
3837
+ value: cloudAwsGovcloudIntegrationsSqsToHclTerraform(this._sqs.internalValue),
3838
+ isBlock: true,
3839
+ type: "list",
3840
+ storageClassType: "CloudAwsGovcloudIntegrationsSqsList",
3841
+ },
3842
+ };
3843
+ // remove undefined attributes
3844
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
3845
+ }
3846
+ }