@cdktf-providers/aviatrixsystems-aviatrix 8.1.10

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 (307) hide show
  1. package/LICENSE +355 -0
  2. package/README.md +19 -0
  3. package/dist/account/index.d.ts +762 -0
  4. package/dist/account/index.js +1600 -0
  5. package/dist/account-user/index.d.ts +74 -0
  6. package/dist/account-user/index.js +151 -0
  7. package/dist/aws-guard-duty/index.d.ts +75 -0
  8. package/dist/aws-guard-duty/index.js +154 -0
  9. package/dist/aws-peer/index.d.ts +126 -0
  10. package/dist/aws-peer/index.js +257 -0
  11. package/dist/aws-tgw/index.d.ts +129 -0
  12. package/dist/aws-tgw/index.js +267 -0
  13. package/dist/aws-tgw-connect/index.d.ts +86 -0
  14. package/dist/aws-tgw-connect/index.js +179 -0
  15. package/dist/aws-tgw-connect-peer/index.d.ts +126 -0
  16. package/dist/aws-tgw-connect-peer/index.js +258 -0
  17. package/dist/aws-tgw-directconnect/index.d.ts +105 -0
  18. package/dist/aws-tgw-directconnect/index.js +214 -0
  19. package/dist/aws-tgw-intra-domain-inspection/index.d.ts +74 -0
  20. package/dist/aws-tgw-intra-domain-inspection/index.js +151 -0
  21. package/dist/aws-tgw-network-domain/index.d.ts +97 -0
  22. package/dist/aws-tgw-network-domain/index.js +200 -0
  23. package/dist/aws-tgw-peering/index.d.ts +64 -0
  24. package/dist/aws-tgw-peering/index.js +131 -0
  25. package/dist/aws-tgw-peering-domain-conn/index.d.ts +84 -0
  26. package/dist/aws-tgw-peering-domain-conn/index.js +171 -0
  27. package/dist/aws-tgw-transit-gateway-attachment/index.d.ts +94 -0
  28. package/dist/aws-tgw-transit-gateway-attachment/index.js +191 -0
  29. package/dist/aws-tgw-vpc-attachment/index.d.ts +160 -0
  30. package/dist/aws-tgw-vpc-attachment/index.js +329 -0
  31. package/dist/aws-tgw-vpn-conn/index.d.ts +225 -0
  32. package/dist/aws-tgw-vpn-conn/index.js +485 -0
  33. package/dist/azure-peer/index.d.ts +106 -0
  34. package/dist/azure-peer/index.js +219 -0
  35. package/dist/azure-spoke-native-peering/index.d.ts +84 -0
  36. package/dist/azure-spoke-native-peering/index.js +171 -0
  37. package/dist/azure-vng-conn/index.d.ts +67 -0
  38. package/dist/azure-vng-conn/index.js +143 -0
  39. package/dist/centralized-transit-firenet/index.d.ts +64 -0
  40. package/dist/centralized-transit-firenet/index.js +131 -0
  41. package/dist/cloudwatch-agent/index.d.ts +87 -0
  42. package/dist/cloudwatch-agent/index.js +181 -0
  43. package/dist/controller-access-allow-list-config/index.d.ts +119 -0
  44. package/dist/controller-access-allow-list-config/index.js +267 -0
  45. package/dist/controller-bgp-communities-auto-cloud-config/index.d.ts +64 -0
  46. package/dist/controller-bgp-communities-auto-cloud-config/index.js +131 -0
  47. package/dist/controller-bgp-communities-global-config/index.d.ts +54 -0
  48. package/dist/controller-bgp-communities-global-config/index.js +111 -0
  49. package/dist/controller-bgp-max-as-limit-config/index.d.ts +54 -0
  50. package/dist/controller-bgp-max-as-limit-config/index.js +111 -0
  51. package/dist/controller-cert-domain-config/index.d.ts +55 -0
  52. package/dist/controller-cert-domain-config/index.js +114 -0
  53. package/dist/controller-config/index.d.ts +267 -0
  54. package/dist/controller-config/index.js +563 -0
  55. package/dist/controller-email-config/index.d.ts +99 -0
  56. package/dist/controller-email-config/index.js +210 -0
  57. package/dist/controller-email-exception-notification-config/index.d.ts +55 -0
  58. package/dist/controller-email-exception-notification-config/index.js +114 -0
  59. package/dist/controller-gateway-keepalive-config/index.d.ts +54 -0
  60. package/dist/controller-gateway-keepalive-config/index.js +111 -0
  61. package/dist/controller-private-mode-config/index.d.ts +65 -0
  62. package/dist/controller-private-mode-config/index.js +134 -0
  63. package/dist/controller-private-oob/index.d.ts +55 -0
  64. package/dist/controller-private-oob/index.js +114 -0
  65. package/dist/controller-security-group-management-config/index.d.ts +65 -0
  66. package/dist/controller-security-group-management-config/index.js +134 -0
  67. package/dist/copilot-association/index.d.ts +54 -0
  68. package/dist/copilot-association/index.js +111 -0
  69. package/dist/copilot-fault-tolerant-deployment/index.d.ts +212 -0
  70. package/dist/copilot-fault-tolerant-deployment/index.js +468 -0
  71. package/dist/copilot-security-group-management-config/index.d.ts +120 -0
  72. package/dist/copilot-security-group-management-config/index.js +249 -0
  73. package/dist/copilot-simple-deployment/index.d.ts +138 -0
  74. package/dist/copilot-simple-deployment/index.js +285 -0
  75. package/dist/data-aviatrix-account/index.d.ts +73 -0
  76. package/dist/data-aviatrix-account/index.js +187 -0
  77. package/dist/data-aviatrix-caller-identity/index.d.ts +45 -0
  78. package/dist/data-aviatrix-caller-identity/index.js +95 -0
  79. package/dist/data-aviatrix-controller-metadata/index.d.ts +48 -0
  80. package/dist/data-aviatrix-controller-metadata/index.js +107 -0
  81. package/dist/data-aviatrix-device-interfaces/index.d.ts +89 -0
  82. package/dist/data-aviatrix-device-interfaces/index.js +190 -0
  83. package/dist/data-aviatrix-edge-gateway-wan-interface-discovery/index.d.ts +65 -0
  84. package/dist/data-aviatrix-edge-gateway-wan-interface-discovery/index.js +135 -0
  85. package/dist/data-aviatrix-firenet/index.d.ts +59 -0
  86. package/dist/data-aviatrix-firenet/index.js +131 -0
  87. package/dist/data-aviatrix-firenet-firewall-manager/index.d.ts +184 -0
  88. package/dist/data-aviatrix-firenet-firewall-manager/index.js +381 -0
  89. package/dist/data-aviatrix-firenet-vendor-integration/index.d.ts +195 -0
  90. package/dist/data-aviatrix-firenet-vendor-integration/index.js +404 -0
  91. package/dist/data-aviatrix-firewall/index.d.ts +96 -0
  92. package/dist/data-aviatrix-firewall/index.js +218 -0
  93. package/dist/data-aviatrix-firewall-instance-images/index.d.ts +90 -0
  94. package/dist/data-aviatrix-firewall-instance-images/index.js +194 -0
  95. package/dist/data-aviatrix-gateway/index.d.ts +135 -0
  96. package/dist/data-aviatrix-gateway/index.js +432 -0
  97. package/dist/data-aviatrix-gateway-image/index.d.ts +65 -0
  98. package/dist/data-aviatrix-gateway-image/index.js +135 -0
  99. package/dist/data-aviatrix-network-domains/index.d.ts +89 -0
  100. package/dist/data-aviatrix-network-domains/index.js +210 -0
  101. package/dist/data-aviatrix-smart-groups/index.d.ts +161 -0
  102. package/dist/data-aviatrix-smart-groups/index.js +373 -0
  103. package/dist/data-aviatrix-spoke-gateway/index.d.ts +125 -0
  104. package/dist/data-aviatrix-spoke-gateway/index.js +392 -0
  105. package/dist/data-aviatrix-spoke-gateway-inspection-subnets/index.d.ts +55 -0
  106. package/dist/data-aviatrix-spoke-gateway-inspection-subnets/index.js +115 -0
  107. package/dist/data-aviatrix-spoke-gateways/index.d.ts +130 -0
  108. package/dist/data-aviatrix-spoke-gateways/index.js +374 -0
  109. package/dist/data-aviatrix-transit-gateway/index.d.ts +208 -0
  110. package/dist/data-aviatrix-transit-gateway/index.js +602 -0
  111. package/dist/data-aviatrix-transit-gateways/index.d.ts +202 -0
  112. package/dist/data-aviatrix-transit-gateways/index.js +540 -0
  113. package/dist/data-aviatrix-vpc/index.d.ts +187 -0
  114. package/dist/data-aviatrix-vpc/index.js +439 -0
  115. package/dist/data-aviatrix-vpc-tracker/index.d.ts +165 -0
  116. package/dist/data-aviatrix-vpc-tracker/index.js +369 -0
  117. package/dist/datadog-agent/index.d.ts +88 -0
  118. package/dist/datadog-agent/index.js +184 -0
  119. package/dist/device-interface-config/index.d.ts +74 -0
  120. package/dist/device-interface-config/index.js +151 -0
  121. package/dist/distributed-firewalling-config/index.d.ts +55 -0
  122. package/dist/distributed-firewalling-config/index.js +114 -0
  123. package/dist/distributed-firewalling-default-action-rule/index.d.ts +64 -0
  124. package/dist/distributed-firewalling-default-action-rule/index.js +131 -0
  125. package/dist/distributed-firewalling-intra-vpc/index.d.ts +117 -0
  126. package/dist/distributed-firewalling-intra-vpc/index.js +266 -0
  127. package/dist/distributed-firewalling-origin-cert-enforcement-config/index.d.ts +55 -0
  128. package/dist/distributed-firewalling-origin-cert-enforcement-config/index.js +114 -0
  129. package/dist/distributed-firewalling-policy-list/index.d.ts +291 -0
  130. package/dist/distributed-firewalling-policy-list/index.js +705 -0
  131. package/dist/distributed-firewalling-proxy-ca-config/index.d.ts +69 -0
  132. package/dist/distributed-firewalling-proxy-ca-config/index.js +151 -0
  133. package/dist/edge-csp/index.d.ts +693 -0
  134. package/dist/edge-csp/index.js +1561 -0
  135. package/dist/edge-csp-ha/index.d.ts +227 -0
  136. package/dist/edge-csp-ha/index.js +532 -0
  137. package/dist/edge-equinix/index.d.ts +651 -0
  138. package/dist/edge-equinix/index.js +1475 -0
  139. package/dist/edge-equinix-ha/index.d.ts +227 -0
  140. package/dist/edge-equinix-ha/index.js +532 -0
  141. package/dist/edge-gateway-selfmanaged/index.d.ts +607 -0
  142. package/dist/edge-gateway-selfmanaged/index.js +1378 -0
  143. package/dist/edge-gateway-selfmanaged-ha/index.d.ts +246 -0
  144. package/dist/edge-gateway-selfmanaged-ha/index.js +558 -0
  145. package/dist/edge-megaport/index.d.ts +704 -0
  146. package/dist/edge-megaport/index.js +1600 -0
  147. package/dist/edge-megaport-ha/index.d.ts +206 -0
  148. package/dist/edge-megaport-ha/index.js +479 -0
  149. package/dist/edge-neo/index.d.ts +669 -0
  150. package/dist/edge-neo/index.js +1509 -0
  151. package/dist/edge-neo-device-onboarding/index.d.ts +216 -0
  152. package/dist/edge-neo-device-onboarding/index.js +489 -0
  153. package/dist/edge-neo-ha/index.d.ts +227 -0
  154. package/dist/edge-neo-ha/index.js +532 -0
  155. package/dist/edge-platform/index.d.ts +691 -0
  156. package/dist/edge-platform/index.js +1555 -0
  157. package/dist/edge-platform-device-onboarding/index.d.ts +216 -0
  158. package/dist/edge-platform-device-onboarding/index.js +489 -0
  159. package/dist/edge-platform-ha/index.d.ts +227 -0
  160. package/dist/edge-platform-ha/index.js +532 -0
  161. package/dist/edge-proxy-profile/index.d.ts +98 -0
  162. package/dist/edge-proxy-profile/index.js +204 -0
  163. package/dist/edge-spoke/index.d.ts +434 -0
  164. package/dist/edge-spoke/index.js +953 -0
  165. package/dist/edge-spoke-external-device-conn/index.d.ts +371 -0
  166. package/dist/edge-spoke-external-device-conn/index.js +800 -0
  167. package/dist/edge-spoke-transit-attachment/index.d.ts +197 -0
  168. package/dist/edge-spoke-transit-attachment/index.js +411 -0
  169. package/dist/edge-vm-selfmanaged/index.d.ts +423 -0
  170. package/dist/edge-vm-selfmanaged/index.js +930 -0
  171. package/dist/edge-vm-selfmanaged-ha/index.d.ts +202 -0
  172. package/dist/edge-vm-selfmanaged-ha/index.js +456 -0
  173. package/dist/edge-zededa/index.d.ts +693 -0
  174. package/dist/edge-zededa/index.js +1561 -0
  175. package/dist/edge-zededa-ha/index.d.ts +227 -0
  176. package/dist/edge-zededa-ha/index.js +532 -0
  177. package/dist/filebeat-forwarder/index.d.ts +98 -0
  178. package/dist/filebeat-forwarder/index.js +204 -0
  179. package/dist/firenet/index.d.ts +120 -0
  180. package/dist/firenet/index.js +249 -0
  181. package/dist/firewall/index.d.ts +204 -0
  182. package/dist/firewall/index.js +467 -0
  183. package/dist/firewall-instance/index.d.ts +384 -0
  184. package/dist/firewall-instance/index.js +794 -0
  185. package/dist/firewall-instance-association/index.d.ts +141 -0
  186. package/dist/firewall-instance-association/index.js +292 -0
  187. package/dist/firewall-management-access/index.d.ts +64 -0
  188. package/dist/firewall-management-access/index.js +131 -0
  189. package/dist/firewall-policy/index.d.ts +138 -0
  190. package/dist/firewall-policy/index.js +283 -0
  191. package/dist/firewall-tag/index.d.ts +118 -0
  192. package/dist/firewall-tag/index.js +264 -0
  193. package/dist/fqdn/index.d.ts +237 -0
  194. package/dist/fqdn/index.js +542 -0
  195. package/dist/fqdn-global-config/index.d.ts +110 -0
  196. package/dist/fqdn-global-config/index.js +229 -0
  197. package/dist/fqdn-pass-through/index.d.ts +64 -0
  198. package/dist/fqdn-pass-through/index.js +131 -0
  199. package/dist/fqdn-tag-rule/index.d.ts +95 -0
  200. package/dist/fqdn-tag-rule/index.js +194 -0
  201. package/dist/gateway/index.d.ts +913 -0
  202. package/dist/gateway/index.js +1904 -0
  203. package/dist/gateway-certificate-config/index.d.ts +64 -0
  204. package/dist/gateway-certificate-config/index.js +131 -0
  205. package/dist/gateway-dnat/index.d.ts +319 -0
  206. package/dist/gateway-dnat/index.js +785 -0
  207. package/dist/gateway-snat/index.d.ts +342 -0
  208. package/dist/gateway-snat/index.js +834 -0
  209. package/dist/geo-vpn/index.d.ts +94 -0
  210. package/dist/geo-vpn/index.js +191 -0
  211. package/dist/global-vpc-excluded-instance/index.d.ts +75 -0
  212. package/dist/global-vpc-excluded-instance/index.js +155 -0
  213. package/dist/global-vpc-tagging-settings/index.d.ts +64 -0
  214. package/dist/global-vpc-tagging-settings/index.js +131 -0
  215. package/dist/index.d.ts +150 -0
  216. package/dist/index.js +151 -0
  217. package/dist/kubernetes-cluster/index.d.ts +232 -0
  218. package/dist/kubernetes-cluster/index.js +534 -0
  219. package/dist/lazy-index.d.ts +0 -0
  220. package/dist/lazy-index.js +151 -0
  221. package/dist/link-hierarchy/index.d.ts +161 -0
  222. package/dist/link-hierarchy/index.js +370 -0
  223. package/dist/netflow-agent/index.d.ts +98 -0
  224. package/dist/netflow-agent/index.js +204 -0
  225. package/dist/periodic-ping/index.d.ts +74 -0
  226. package/dist/periodic-ping/index.js +151 -0
  227. package/dist/private-mode-lb/index.d.ts +159 -0
  228. package/dist/private-mode-lb/index.js +347 -0
  229. package/dist/private-mode-multicloud-endpoint/index.d.ts +85 -0
  230. package/dist/private-mode-multicloud-endpoint/index.js +175 -0
  231. package/dist/provider/index.d.ts +121 -0
  232. package/dist/provider/index.js +273 -0
  233. package/dist/proxy-config/index.d.ts +75 -0
  234. package/dist/proxy-config/index.js +154 -0
  235. package/dist/qos-class/index.d.ts +65 -0
  236. package/dist/qos-class/index.js +135 -0
  237. package/dist/qos-policy-list/index.d.ts +118 -0
  238. package/dist/qos-policy-list/index.js +270 -0
  239. package/dist/rbac-group/index.d.ts +65 -0
  240. package/dist/rbac-group/index.js +134 -0
  241. package/dist/rbac-group-access-account-attachment/index.d.ts +64 -0
  242. package/dist/rbac-group-access-account-attachment/index.js +131 -0
  243. package/dist/rbac-group-permission-attachment/index.d.ts +64 -0
  244. package/dist/rbac-group-permission-attachment/index.js +131 -0
  245. package/dist/rbac-group-user-attachment/index.d.ts +64 -0
  246. package/dist/rbac-group-user-attachment/index.js +131 -0
  247. package/dist/remote-syslog/index.d.ts +154 -0
  248. package/dist/remote-syslog/index.js +323 -0
  249. package/dist/saml-endpoint/index.d.ts +152 -0
  250. package/dist/saml-endpoint/index.js +315 -0
  251. package/dist/segmentation-network-domain/index.d.ts +54 -0
  252. package/dist/segmentation-network-domain/index.js +111 -0
  253. package/dist/segmentation-network-domain-association/index.d.ts +75 -0
  254. package/dist/segmentation-network-domain-association/index.js +154 -0
  255. package/dist/segmentation-network-domain-connection-policy/index.d.ts +64 -0
  256. package/dist/segmentation-network-domain-connection-policy/index.js +131 -0
  257. package/dist/site2cloud/index.d.ts +642 -0
  258. package/dist/site2cloud/index.js +1335 -0
  259. package/dist/site2cloud-ca-cert-tag/index.d.ts +112 -0
  260. package/dist/site2cloud-ca-cert-tag/index.js +256 -0
  261. package/dist/sla-class/index.d.ts +85 -0
  262. package/dist/sla-class/index.js +175 -0
  263. package/dist/smart-group/index.d.ts +336 -0
  264. package/dist/smart-group/index.js +789 -0
  265. package/dist/splunk-logging/index.d.ts +100 -0
  266. package/dist/splunk-logging/index.js +210 -0
  267. package/dist/spoke-external-device-conn/index.d.ts +638 -0
  268. package/dist/spoke-external-device-conn/index.js +1361 -0
  269. package/dist/spoke-gateway/index.d.ts +903 -0
  270. package/dist/spoke-gateway/index.js +1885 -0
  271. package/dist/spoke-gateway-subnet-group/index.d.ts +75 -0
  272. package/dist/spoke-gateway-subnet-group/index.js +154 -0
  273. package/dist/spoke-ha-gateway/index.d.ts +172 -0
  274. package/dist/spoke-ha-gateway/index.js +374 -0
  275. package/dist/spoke-transit-attachment/index.d.ts +131 -0
  276. package/dist/spoke-transit-attachment/index.js +273 -0
  277. package/dist/sumologic-forwarder/index.d.ts +98 -0
  278. package/dist/sumologic-forwarder/index.js +204 -0
  279. package/dist/traffic-classifier/index.d.ts +239 -0
  280. package/dist/traffic-classifier/index.js +574 -0
  281. package/dist/trans-peer/index.d.ts +74 -0
  282. package/dist/trans-peer/index.js +151 -0
  283. package/dist/transit-external-device-conn/index.d.ts +694 -0
  284. package/dist/transit-external-device-conn/index.js +1479 -0
  285. package/dist/transit-firenet-policy/index.d.ts +64 -0
  286. package/dist/transit-firenet-policy/index.js +131 -0
  287. package/dist/transit-gateway/index.d.ts +1566 -0
  288. package/dist/transit-gateway/index.js +3442 -0
  289. package/dist/transit-gateway-peering/index.d.ts +240 -0
  290. package/dist/transit-gateway-peering/index.js +499 -0
  291. package/dist/tunnel/index.d.ts +78 -0
  292. package/dist/tunnel/index.js +166 -0
  293. package/dist/vgw-conn/index.d.ts +158 -0
  294. package/dist/vgw-conn/index.js +323 -0
  295. package/dist/vpc/index.d.ts +339 -0
  296. package/dist/vpc/index.js +758 -0
  297. package/dist/vpn-cert-download/index.d.ts +66 -0
  298. package/dist/vpn-cert-download/index.js +137 -0
  299. package/dist/vpn-profile/index.d.ts +169 -0
  300. package/dist/vpn-profile/index.js +383 -0
  301. package/dist/vpn-user/index.d.ts +129 -0
  302. package/dist/vpn-user/index.js +272 -0
  303. package/dist/vpn-user-accelerator/index.d.ts +54 -0
  304. package/dist/vpn-user-accelerator/index.js +111 -0
  305. package/dist/web-group/index.d.ts +144 -0
  306. package/dist/web-group/index.js +341 -0
  307. package/package.json +51 -0
@@ -0,0 +1,3442 @@
1
+ // https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/transit_gateway
2
+ // generated from terraform resource schema
3
+ import * as cdktf from 'cdktf';
4
+ export function transitGatewayBgpLanInterfacesToTerraform(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
+ subnet: cdktf.stringToTerraform(struct.subnet),
13
+ vpc_id: cdktf.stringToTerraform(struct.vpcId),
14
+ };
15
+ }
16
+ export function transitGatewayBgpLanInterfacesToHclTerraform(struct) {
17
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
18
+ return struct;
19
+ }
20
+ if (cdktf.isComplexElement(struct)) {
21
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
22
+ }
23
+ const attrs = {
24
+ subnet: {
25
+ value: cdktf.stringToHclTerraform(struct.subnet),
26
+ isBlock: false,
27
+ type: "simple",
28
+ storageClassType: "string",
29
+ },
30
+ vpc_id: {
31
+ value: cdktf.stringToHclTerraform(struct.vpcId),
32
+ isBlock: false,
33
+ type: "simple",
34
+ storageClassType: "string",
35
+ },
36
+ };
37
+ // remove undefined attributes
38
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
39
+ }
40
+ export class TransitGatewayBgpLanInterfacesOutputReference extends cdktf.ComplexObject {
41
+ isEmptyObject = false;
42
+ resolvableValue;
43
+ /**
44
+ * @param terraformResource The parent resource
45
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
46
+ * @param complexObjectIndex the index of this item in the list
47
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
48
+ */
49
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
50
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
51
+ }
52
+ get internalValue() {
53
+ if (this.resolvableValue) {
54
+ return this.resolvableValue;
55
+ }
56
+ let hasAnyValues = this.isEmptyObject;
57
+ const internalValueResult = {};
58
+ if (this._subnet !== undefined) {
59
+ hasAnyValues = true;
60
+ internalValueResult.subnet = this._subnet;
61
+ }
62
+ if (this._vpcId !== undefined) {
63
+ hasAnyValues = true;
64
+ internalValueResult.vpcId = this._vpcId;
65
+ }
66
+ return hasAnyValues ? internalValueResult : undefined;
67
+ }
68
+ set internalValue(value) {
69
+ if (value === undefined) {
70
+ this.isEmptyObject = false;
71
+ this.resolvableValue = undefined;
72
+ this._subnet = undefined;
73
+ this._vpcId = undefined;
74
+ }
75
+ else if (cdktf.Tokenization.isResolvable(value)) {
76
+ this.isEmptyObject = false;
77
+ this.resolvableValue = value;
78
+ }
79
+ else {
80
+ this.isEmptyObject = Object.keys(value).length === 0;
81
+ this.resolvableValue = undefined;
82
+ this._subnet = value.subnet;
83
+ this._vpcId = value.vpcId;
84
+ }
85
+ }
86
+ // subnet - computed: false, optional: false, required: true
87
+ _subnet;
88
+ get subnet() {
89
+ return this.getStringAttribute('subnet');
90
+ }
91
+ set subnet(value) {
92
+ this._subnet = value;
93
+ }
94
+ // Temporarily expose input value. Use with caution.
95
+ get subnetInput() {
96
+ return this._subnet;
97
+ }
98
+ // vpc_id - computed: false, optional: false, required: true
99
+ _vpcId;
100
+ get vpcId() {
101
+ return this.getStringAttribute('vpc_id');
102
+ }
103
+ set vpcId(value) {
104
+ this._vpcId = value;
105
+ }
106
+ // Temporarily expose input value. Use with caution.
107
+ get vpcIdInput() {
108
+ return this._vpcId;
109
+ }
110
+ }
111
+ export class TransitGatewayBgpLanInterfacesList extends cdktf.ComplexList {
112
+ terraformResource;
113
+ terraformAttribute;
114
+ wrapsSet;
115
+ internalValue;
116
+ /**
117
+ * @param terraformResource The parent resource
118
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
119
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
120
+ */
121
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
122
+ super(terraformResource, terraformAttribute, wrapsSet);
123
+ this.terraformResource = terraformResource;
124
+ this.terraformAttribute = terraformAttribute;
125
+ this.wrapsSet = wrapsSet;
126
+ }
127
+ /**
128
+ * @param index the index of the item to return
129
+ */
130
+ get(index) {
131
+ return new TransitGatewayBgpLanInterfacesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
132
+ }
133
+ }
134
+ export function transitGatewayEipMapToTerraform(struct) {
135
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
136
+ return struct;
137
+ }
138
+ if (cdktf.isComplexElement(struct)) {
139
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
140
+ }
141
+ return {
142
+ logical_ifname: cdktf.stringToTerraform(struct.logicalIfname),
143
+ private_ip: cdktf.stringToTerraform(struct.privateIp),
144
+ public_ip: cdktf.stringToTerraform(struct.publicIp),
145
+ };
146
+ }
147
+ export function transitGatewayEipMapToHclTerraform(struct) {
148
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
149
+ return struct;
150
+ }
151
+ if (cdktf.isComplexElement(struct)) {
152
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
153
+ }
154
+ const attrs = {
155
+ logical_ifname: {
156
+ value: cdktf.stringToHclTerraform(struct.logicalIfname),
157
+ isBlock: false,
158
+ type: "simple",
159
+ storageClassType: "string",
160
+ },
161
+ private_ip: {
162
+ value: cdktf.stringToHclTerraform(struct.privateIp),
163
+ isBlock: false,
164
+ type: "simple",
165
+ storageClassType: "string",
166
+ },
167
+ public_ip: {
168
+ value: cdktf.stringToHclTerraform(struct.publicIp),
169
+ isBlock: false,
170
+ type: "simple",
171
+ storageClassType: "string",
172
+ },
173
+ };
174
+ // remove undefined attributes
175
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
176
+ }
177
+ export class TransitGatewayEipMapOutputReference extends cdktf.ComplexObject {
178
+ isEmptyObject = false;
179
+ resolvableValue;
180
+ /**
181
+ * @param terraformResource The parent resource
182
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
183
+ * @param complexObjectIndex the index of this item in the list
184
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
185
+ */
186
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
187
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
188
+ }
189
+ get internalValue() {
190
+ if (this.resolvableValue) {
191
+ return this.resolvableValue;
192
+ }
193
+ let hasAnyValues = this.isEmptyObject;
194
+ const internalValueResult = {};
195
+ if (this._logicalIfname !== undefined) {
196
+ hasAnyValues = true;
197
+ internalValueResult.logicalIfname = this._logicalIfname;
198
+ }
199
+ if (this._privateIp !== undefined) {
200
+ hasAnyValues = true;
201
+ internalValueResult.privateIp = this._privateIp;
202
+ }
203
+ if (this._publicIp !== undefined) {
204
+ hasAnyValues = true;
205
+ internalValueResult.publicIp = this._publicIp;
206
+ }
207
+ return hasAnyValues ? internalValueResult : undefined;
208
+ }
209
+ set internalValue(value) {
210
+ if (value === undefined) {
211
+ this.isEmptyObject = false;
212
+ this.resolvableValue = undefined;
213
+ this._logicalIfname = undefined;
214
+ this._privateIp = undefined;
215
+ this._publicIp = undefined;
216
+ }
217
+ else if (cdktf.Tokenization.isResolvable(value)) {
218
+ this.isEmptyObject = false;
219
+ this.resolvableValue = value;
220
+ }
221
+ else {
222
+ this.isEmptyObject = Object.keys(value).length === 0;
223
+ this.resolvableValue = undefined;
224
+ this._logicalIfname = value.logicalIfname;
225
+ this._privateIp = value.privateIp;
226
+ this._publicIp = value.publicIp;
227
+ }
228
+ }
229
+ // logical_ifname - computed: false, optional: false, required: true
230
+ _logicalIfname;
231
+ get logicalIfname() {
232
+ return this.getStringAttribute('logical_ifname');
233
+ }
234
+ set logicalIfname(value) {
235
+ this._logicalIfname = value;
236
+ }
237
+ // Temporarily expose input value. Use with caution.
238
+ get logicalIfnameInput() {
239
+ return this._logicalIfname;
240
+ }
241
+ // private_ip - computed: false, optional: false, required: true
242
+ _privateIp;
243
+ get privateIp() {
244
+ return this.getStringAttribute('private_ip');
245
+ }
246
+ set privateIp(value) {
247
+ this._privateIp = value;
248
+ }
249
+ // Temporarily expose input value. Use with caution.
250
+ get privateIpInput() {
251
+ return this._privateIp;
252
+ }
253
+ // public_ip - computed: false, optional: false, required: true
254
+ _publicIp;
255
+ get publicIp() {
256
+ return this.getStringAttribute('public_ip');
257
+ }
258
+ set publicIp(value) {
259
+ this._publicIp = value;
260
+ }
261
+ // Temporarily expose input value. Use with caution.
262
+ get publicIpInput() {
263
+ return this._publicIp;
264
+ }
265
+ }
266
+ export class TransitGatewayEipMapList extends cdktf.ComplexList {
267
+ terraformResource;
268
+ terraformAttribute;
269
+ wrapsSet;
270
+ internalValue;
271
+ /**
272
+ * @param terraformResource The parent resource
273
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
274
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
275
+ */
276
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
277
+ super(terraformResource, terraformAttribute, wrapsSet);
278
+ this.terraformResource = terraformResource;
279
+ this.terraformAttribute = terraformAttribute;
280
+ this.wrapsSet = wrapsSet;
281
+ }
282
+ /**
283
+ * @param index the index of the item to return
284
+ */
285
+ get(index) {
286
+ return new TransitGatewayEipMapOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
287
+ }
288
+ }
289
+ export function transitGatewayHaBgpLanInterfacesToTerraform(struct) {
290
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
291
+ return struct;
292
+ }
293
+ if (cdktf.isComplexElement(struct)) {
294
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
295
+ }
296
+ return {
297
+ subnet: cdktf.stringToTerraform(struct.subnet),
298
+ vpc_id: cdktf.stringToTerraform(struct.vpcId),
299
+ };
300
+ }
301
+ export function transitGatewayHaBgpLanInterfacesToHclTerraform(struct) {
302
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
303
+ return struct;
304
+ }
305
+ if (cdktf.isComplexElement(struct)) {
306
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
307
+ }
308
+ const attrs = {
309
+ subnet: {
310
+ value: cdktf.stringToHclTerraform(struct.subnet),
311
+ isBlock: false,
312
+ type: "simple",
313
+ storageClassType: "string",
314
+ },
315
+ vpc_id: {
316
+ value: cdktf.stringToHclTerraform(struct.vpcId),
317
+ isBlock: false,
318
+ type: "simple",
319
+ storageClassType: "string",
320
+ },
321
+ };
322
+ // remove undefined attributes
323
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
324
+ }
325
+ export class TransitGatewayHaBgpLanInterfacesOutputReference extends cdktf.ComplexObject {
326
+ isEmptyObject = false;
327
+ resolvableValue;
328
+ /**
329
+ * @param terraformResource The parent resource
330
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
331
+ * @param complexObjectIndex the index of this item in the list
332
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
333
+ */
334
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
335
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
336
+ }
337
+ get internalValue() {
338
+ if (this.resolvableValue) {
339
+ return this.resolvableValue;
340
+ }
341
+ let hasAnyValues = this.isEmptyObject;
342
+ const internalValueResult = {};
343
+ if (this._subnet !== undefined) {
344
+ hasAnyValues = true;
345
+ internalValueResult.subnet = this._subnet;
346
+ }
347
+ if (this._vpcId !== undefined) {
348
+ hasAnyValues = true;
349
+ internalValueResult.vpcId = this._vpcId;
350
+ }
351
+ return hasAnyValues ? internalValueResult : undefined;
352
+ }
353
+ set internalValue(value) {
354
+ if (value === undefined) {
355
+ this.isEmptyObject = false;
356
+ this.resolvableValue = undefined;
357
+ this._subnet = undefined;
358
+ this._vpcId = undefined;
359
+ }
360
+ else if (cdktf.Tokenization.isResolvable(value)) {
361
+ this.isEmptyObject = false;
362
+ this.resolvableValue = value;
363
+ }
364
+ else {
365
+ this.isEmptyObject = Object.keys(value).length === 0;
366
+ this.resolvableValue = undefined;
367
+ this._subnet = value.subnet;
368
+ this._vpcId = value.vpcId;
369
+ }
370
+ }
371
+ // subnet - computed: false, optional: false, required: true
372
+ _subnet;
373
+ get subnet() {
374
+ return this.getStringAttribute('subnet');
375
+ }
376
+ set subnet(value) {
377
+ this._subnet = value;
378
+ }
379
+ // Temporarily expose input value. Use with caution.
380
+ get subnetInput() {
381
+ return this._subnet;
382
+ }
383
+ // vpc_id - computed: false, optional: false, required: true
384
+ _vpcId;
385
+ get vpcId() {
386
+ return this.getStringAttribute('vpc_id');
387
+ }
388
+ set vpcId(value) {
389
+ this._vpcId = value;
390
+ }
391
+ // Temporarily expose input value. Use with caution.
392
+ get vpcIdInput() {
393
+ return this._vpcId;
394
+ }
395
+ }
396
+ export class TransitGatewayHaBgpLanInterfacesList extends cdktf.ComplexList {
397
+ terraformResource;
398
+ terraformAttribute;
399
+ wrapsSet;
400
+ internalValue;
401
+ /**
402
+ * @param terraformResource The parent resource
403
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
404
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
405
+ */
406
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
407
+ super(terraformResource, terraformAttribute, wrapsSet);
408
+ this.terraformResource = terraformResource;
409
+ this.terraformAttribute = terraformAttribute;
410
+ this.wrapsSet = wrapsSet;
411
+ }
412
+ /**
413
+ * @param index the index of the item to return
414
+ */
415
+ get(index) {
416
+ return new TransitGatewayHaBgpLanInterfacesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
417
+ }
418
+ }
419
+ export function transitGatewayHaInterfacesToTerraform(struct) {
420
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
421
+ return struct;
422
+ }
423
+ if (cdktf.isComplexElement(struct)) {
424
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
425
+ }
426
+ return {
427
+ dhcp: cdktf.booleanToTerraform(struct.dhcp),
428
+ gateway_ip: cdktf.stringToTerraform(struct.gatewayIp),
429
+ ip_address: cdktf.stringToTerraform(struct.ipAddress),
430
+ logical_ifname: cdktf.stringToTerraform(struct.logicalIfname),
431
+ public_ip: cdktf.stringToTerraform(struct.publicIp),
432
+ secondary_private_cidr_list: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.secondaryPrivateCidrList),
433
+ };
434
+ }
435
+ export function transitGatewayHaInterfacesToHclTerraform(struct) {
436
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
437
+ return struct;
438
+ }
439
+ if (cdktf.isComplexElement(struct)) {
440
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
441
+ }
442
+ const attrs = {
443
+ dhcp: {
444
+ value: cdktf.booleanToHclTerraform(struct.dhcp),
445
+ isBlock: false,
446
+ type: "simple",
447
+ storageClassType: "boolean",
448
+ },
449
+ gateway_ip: {
450
+ value: cdktf.stringToHclTerraform(struct.gatewayIp),
451
+ isBlock: false,
452
+ type: "simple",
453
+ storageClassType: "string",
454
+ },
455
+ ip_address: {
456
+ value: cdktf.stringToHclTerraform(struct.ipAddress),
457
+ isBlock: false,
458
+ type: "simple",
459
+ storageClassType: "string",
460
+ },
461
+ logical_ifname: {
462
+ value: cdktf.stringToHclTerraform(struct.logicalIfname),
463
+ isBlock: false,
464
+ type: "simple",
465
+ storageClassType: "string",
466
+ },
467
+ public_ip: {
468
+ value: cdktf.stringToHclTerraform(struct.publicIp),
469
+ isBlock: false,
470
+ type: "simple",
471
+ storageClassType: "string",
472
+ },
473
+ secondary_private_cidr_list: {
474
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.secondaryPrivateCidrList),
475
+ isBlock: false,
476
+ type: "list",
477
+ storageClassType: "stringList",
478
+ },
479
+ };
480
+ // remove undefined attributes
481
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
482
+ }
483
+ export class TransitGatewayHaInterfacesOutputReference extends cdktf.ComplexObject {
484
+ isEmptyObject = false;
485
+ resolvableValue;
486
+ /**
487
+ * @param terraformResource The parent resource
488
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
489
+ * @param complexObjectIndex the index of this item in the list
490
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
491
+ */
492
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
493
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
494
+ }
495
+ get internalValue() {
496
+ if (this.resolvableValue) {
497
+ return this.resolvableValue;
498
+ }
499
+ let hasAnyValues = this.isEmptyObject;
500
+ const internalValueResult = {};
501
+ if (this._dhcp !== undefined) {
502
+ hasAnyValues = true;
503
+ internalValueResult.dhcp = this._dhcp;
504
+ }
505
+ if (this._gatewayIp !== undefined) {
506
+ hasAnyValues = true;
507
+ internalValueResult.gatewayIp = this._gatewayIp;
508
+ }
509
+ if (this._ipAddress !== undefined) {
510
+ hasAnyValues = true;
511
+ internalValueResult.ipAddress = this._ipAddress;
512
+ }
513
+ if (this._logicalIfname !== undefined) {
514
+ hasAnyValues = true;
515
+ internalValueResult.logicalIfname = this._logicalIfname;
516
+ }
517
+ if (this._publicIp !== undefined) {
518
+ hasAnyValues = true;
519
+ internalValueResult.publicIp = this._publicIp;
520
+ }
521
+ if (this._secondaryPrivateCidrList !== undefined) {
522
+ hasAnyValues = true;
523
+ internalValueResult.secondaryPrivateCidrList = this._secondaryPrivateCidrList;
524
+ }
525
+ return hasAnyValues ? internalValueResult : undefined;
526
+ }
527
+ set internalValue(value) {
528
+ if (value === undefined) {
529
+ this.isEmptyObject = false;
530
+ this.resolvableValue = undefined;
531
+ this._dhcp = undefined;
532
+ this._gatewayIp = undefined;
533
+ this._ipAddress = undefined;
534
+ this._logicalIfname = undefined;
535
+ this._publicIp = undefined;
536
+ this._secondaryPrivateCidrList = undefined;
537
+ }
538
+ else if (cdktf.Tokenization.isResolvable(value)) {
539
+ this.isEmptyObject = false;
540
+ this.resolvableValue = value;
541
+ }
542
+ else {
543
+ this.isEmptyObject = Object.keys(value).length === 0;
544
+ this.resolvableValue = undefined;
545
+ this._dhcp = value.dhcp;
546
+ this._gatewayIp = value.gatewayIp;
547
+ this._ipAddress = value.ipAddress;
548
+ this._logicalIfname = value.logicalIfname;
549
+ this._publicIp = value.publicIp;
550
+ this._secondaryPrivateCidrList = value.secondaryPrivateCidrList;
551
+ }
552
+ }
553
+ // dhcp - computed: false, optional: true, required: false
554
+ _dhcp;
555
+ get dhcp() {
556
+ return this.getBooleanAttribute('dhcp');
557
+ }
558
+ set dhcp(value) {
559
+ this._dhcp = value;
560
+ }
561
+ resetDhcp() {
562
+ this._dhcp = undefined;
563
+ }
564
+ // Temporarily expose input value. Use with caution.
565
+ get dhcpInput() {
566
+ return this._dhcp;
567
+ }
568
+ // gateway_ip - computed: false, optional: true, required: false
569
+ _gatewayIp;
570
+ get gatewayIp() {
571
+ return this.getStringAttribute('gateway_ip');
572
+ }
573
+ set gatewayIp(value) {
574
+ this._gatewayIp = value;
575
+ }
576
+ resetGatewayIp() {
577
+ this._gatewayIp = undefined;
578
+ }
579
+ // Temporarily expose input value. Use with caution.
580
+ get gatewayIpInput() {
581
+ return this._gatewayIp;
582
+ }
583
+ // ip_address - computed: false, optional: true, required: false
584
+ _ipAddress;
585
+ get ipAddress() {
586
+ return this.getStringAttribute('ip_address');
587
+ }
588
+ set ipAddress(value) {
589
+ this._ipAddress = value;
590
+ }
591
+ resetIpAddress() {
592
+ this._ipAddress = undefined;
593
+ }
594
+ // Temporarily expose input value. Use with caution.
595
+ get ipAddressInput() {
596
+ return this._ipAddress;
597
+ }
598
+ // logical_ifname - computed: false, optional: false, required: true
599
+ _logicalIfname;
600
+ get logicalIfname() {
601
+ return this.getStringAttribute('logical_ifname');
602
+ }
603
+ set logicalIfname(value) {
604
+ this._logicalIfname = value;
605
+ }
606
+ // Temporarily expose input value. Use with caution.
607
+ get logicalIfnameInput() {
608
+ return this._logicalIfname;
609
+ }
610
+ // public_ip - computed: false, optional: true, required: false
611
+ _publicIp;
612
+ get publicIp() {
613
+ return this.getStringAttribute('public_ip');
614
+ }
615
+ set publicIp(value) {
616
+ this._publicIp = value;
617
+ }
618
+ resetPublicIp() {
619
+ this._publicIp = undefined;
620
+ }
621
+ // Temporarily expose input value. Use with caution.
622
+ get publicIpInput() {
623
+ return this._publicIp;
624
+ }
625
+ // secondary_private_cidr_list - computed: false, optional: true, required: false
626
+ _secondaryPrivateCidrList;
627
+ get secondaryPrivateCidrList() {
628
+ return this.getListAttribute('secondary_private_cidr_list');
629
+ }
630
+ set secondaryPrivateCidrList(value) {
631
+ this._secondaryPrivateCidrList = value;
632
+ }
633
+ resetSecondaryPrivateCidrList() {
634
+ this._secondaryPrivateCidrList = undefined;
635
+ }
636
+ // Temporarily expose input value. Use with caution.
637
+ get secondaryPrivateCidrListInput() {
638
+ return this._secondaryPrivateCidrList;
639
+ }
640
+ }
641
+ export class TransitGatewayHaInterfacesList extends cdktf.ComplexList {
642
+ terraformResource;
643
+ terraformAttribute;
644
+ wrapsSet;
645
+ internalValue;
646
+ /**
647
+ * @param terraformResource The parent resource
648
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
649
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
650
+ */
651
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
652
+ super(terraformResource, terraformAttribute, wrapsSet);
653
+ this.terraformResource = terraformResource;
654
+ this.terraformAttribute = terraformAttribute;
655
+ this.wrapsSet = wrapsSet;
656
+ }
657
+ /**
658
+ * @param index the index of the item to return
659
+ */
660
+ get(index) {
661
+ return new TransitGatewayHaInterfacesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
662
+ }
663
+ }
664
+ export function transitGatewayInterfaceMappingToTerraform(struct) {
665
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
666
+ return struct;
667
+ }
668
+ if (cdktf.isComplexElement(struct)) {
669
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
670
+ }
671
+ return {
672
+ index: cdktf.numberToTerraform(struct.index),
673
+ name: cdktf.stringToTerraform(struct.name),
674
+ type: cdktf.stringToTerraform(struct.type),
675
+ };
676
+ }
677
+ export function transitGatewayInterfaceMappingToHclTerraform(struct) {
678
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
679
+ return struct;
680
+ }
681
+ if (cdktf.isComplexElement(struct)) {
682
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
683
+ }
684
+ const attrs = {
685
+ index: {
686
+ value: cdktf.numberToHclTerraform(struct.index),
687
+ isBlock: false,
688
+ type: "simple",
689
+ storageClassType: "number",
690
+ },
691
+ name: {
692
+ value: cdktf.stringToHclTerraform(struct.name),
693
+ isBlock: false,
694
+ type: "simple",
695
+ storageClassType: "string",
696
+ },
697
+ type: {
698
+ value: cdktf.stringToHclTerraform(struct.type),
699
+ isBlock: false,
700
+ type: "simple",
701
+ storageClassType: "string",
702
+ },
703
+ };
704
+ // remove undefined attributes
705
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
706
+ }
707
+ export class TransitGatewayInterfaceMappingOutputReference extends cdktf.ComplexObject {
708
+ isEmptyObject = false;
709
+ resolvableValue;
710
+ /**
711
+ * @param terraformResource The parent resource
712
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
713
+ * @param complexObjectIndex the index of this item in the list
714
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
715
+ */
716
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
717
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
718
+ }
719
+ get internalValue() {
720
+ if (this.resolvableValue) {
721
+ return this.resolvableValue;
722
+ }
723
+ let hasAnyValues = this.isEmptyObject;
724
+ const internalValueResult = {};
725
+ if (this._index !== undefined) {
726
+ hasAnyValues = true;
727
+ internalValueResult.index = this._index;
728
+ }
729
+ if (this._name !== undefined) {
730
+ hasAnyValues = true;
731
+ internalValueResult.name = this._name;
732
+ }
733
+ if (this._type !== undefined) {
734
+ hasAnyValues = true;
735
+ internalValueResult.type = this._type;
736
+ }
737
+ return hasAnyValues ? internalValueResult : undefined;
738
+ }
739
+ set internalValue(value) {
740
+ if (value === undefined) {
741
+ this.isEmptyObject = false;
742
+ this.resolvableValue = undefined;
743
+ this._index = undefined;
744
+ this._name = undefined;
745
+ this._type = undefined;
746
+ }
747
+ else if (cdktf.Tokenization.isResolvable(value)) {
748
+ this.isEmptyObject = false;
749
+ this.resolvableValue = value;
750
+ }
751
+ else {
752
+ this.isEmptyObject = Object.keys(value).length === 0;
753
+ this.resolvableValue = undefined;
754
+ this._index = value.index;
755
+ this._name = value.name;
756
+ this._type = value.type;
757
+ }
758
+ }
759
+ // index - computed: false, optional: false, required: true
760
+ _index;
761
+ get index() {
762
+ return this.getNumberAttribute('index');
763
+ }
764
+ set index(value) {
765
+ this._index = value;
766
+ }
767
+ // Temporarily expose input value. Use with caution.
768
+ get indexInput() {
769
+ return this._index;
770
+ }
771
+ // name - computed: false, optional: false, required: true
772
+ _name;
773
+ get name() {
774
+ return this.getStringAttribute('name');
775
+ }
776
+ set name(value) {
777
+ this._name = value;
778
+ }
779
+ // Temporarily expose input value. Use with caution.
780
+ get nameInput() {
781
+ return this._name;
782
+ }
783
+ // type - computed: false, optional: false, required: true
784
+ _type;
785
+ get type() {
786
+ return this.getStringAttribute('type');
787
+ }
788
+ set type(value) {
789
+ this._type = value;
790
+ }
791
+ // Temporarily expose input value. Use with caution.
792
+ get typeInput() {
793
+ return this._type;
794
+ }
795
+ }
796
+ export class TransitGatewayInterfaceMappingList extends cdktf.ComplexList {
797
+ terraformResource;
798
+ terraformAttribute;
799
+ wrapsSet;
800
+ internalValue;
801
+ /**
802
+ * @param terraformResource The parent resource
803
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
804
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
805
+ */
806
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
807
+ super(terraformResource, terraformAttribute, wrapsSet);
808
+ this.terraformResource = terraformResource;
809
+ this.terraformAttribute = terraformAttribute;
810
+ this.wrapsSet = wrapsSet;
811
+ }
812
+ /**
813
+ * @param index the index of the item to return
814
+ */
815
+ get(index) {
816
+ return new TransitGatewayInterfaceMappingOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
817
+ }
818
+ }
819
+ export function transitGatewayInterfacesToTerraform(struct) {
820
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
821
+ return struct;
822
+ }
823
+ if (cdktf.isComplexElement(struct)) {
824
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
825
+ }
826
+ return {
827
+ dhcp: cdktf.booleanToTerraform(struct.dhcp),
828
+ gateway_ip: cdktf.stringToTerraform(struct.gatewayIp),
829
+ ip_address: cdktf.stringToTerraform(struct.ipAddress),
830
+ logical_ifname: cdktf.stringToTerraform(struct.logicalIfname),
831
+ public_ip: cdktf.stringToTerraform(struct.publicIp),
832
+ secondary_private_cidr_list: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.secondaryPrivateCidrList),
833
+ };
834
+ }
835
+ export function transitGatewayInterfacesToHclTerraform(struct) {
836
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
837
+ return struct;
838
+ }
839
+ if (cdktf.isComplexElement(struct)) {
840
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
841
+ }
842
+ const attrs = {
843
+ dhcp: {
844
+ value: cdktf.booleanToHclTerraform(struct.dhcp),
845
+ isBlock: false,
846
+ type: "simple",
847
+ storageClassType: "boolean",
848
+ },
849
+ gateway_ip: {
850
+ value: cdktf.stringToHclTerraform(struct.gatewayIp),
851
+ isBlock: false,
852
+ type: "simple",
853
+ storageClassType: "string",
854
+ },
855
+ ip_address: {
856
+ value: cdktf.stringToHclTerraform(struct.ipAddress),
857
+ isBlock: false,
858
+ type: "simple",
859
+ storageClassType: "string",
860
+ },
861
+ logical_ifname: {
862
+ value: cdktf.stringToHclTerraform(struct.logicalIfname),
863
+ isBlock: false,
864
+ type: "simple",
865
+ storageClassType: "string",
866
+ },
867
+ public_ip: {
868
+ value: cdktf.stringToHclTerraform(struct.publicIp),
869
+ isBlock: false,
870
+ type: "simple",
871
+ storageClassType: "string",
872
+ },
873
+ secondary_private_cidr_list: {
874
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.secondaryPrivateCidrList),
875
+ isBlock: false,
876
+ type: "list",
877
+ storageClassType: "stringList",
878
+ },
879
+ };
880
+ // remove undefined attributes
881
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
882
+ }
883
+ export class TransitGatewayInterfacesOutputReference extends cdktf.ComplexObject {
884
+ isEmptyObject = false;
885
+ resolvableValue;
886
+ /**
887
+ * @param terraformResource The parent resource
888
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
889
+ * @param complexObjectIndex the index of this item in the list
890
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
891
+ */
892
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
893
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
894
+ }
895
+ get internalValue() {
896
+ if (this.resolvableValue) {
897
+ return this.resolvableValue;
898
+ }
899
+ let hasAnyValues = this.isEmptyObject;
900
+ const internalValueResult = {};
901
+ if (this._dhcp !== undefined) {
902
+ hasAnyValues = true;
903
+ internalValueResult.dhcp = this._dhcp;
904
+ }
905
+ if (this._gatewayIp !== undefined) {
906
+ hasAnyValues = true;
907
+ internalValueResult.gatewayIp = this._gatewayIp;
908
+ }
909
+ if (this._ipAddress !== undefined) {
910
+ hasAnyValues = true;
911
+ internalValueResult.ipAddress = this._ipAddress;
912
+ }
913
+ if (this._logicalIfname !== undefined) {
914
+ hasAnyValues = true;
915
+ internalValueResult.logicalIfname = this._logicalIfname;
916
+ }
917
+ if (this._publicIp !== undefined) {
918
+ hasAnyValues = true;
919
+ internalValueResult.publicIp = this._publicIp;
920
+ }
921
+ if (this._secondaryPrivateCidrList !== undefined) {
922
+ hasAnyValues = true;
923
+ internalValueResult.secondaryPrivateCidrList = this._secondaryPrivateCidrList;
924
+ }
925
+ return hasAnyValues ? internalValueResult : undefined;
926
+ }
927
+ set internalValue(value) {
928
+ if (value === undefined) {
929
+ this.isEmptyObject = false;
930
+ this.resolvableValue = undefined;
931
+ this._dhcp = undefined;
932
+ this._gatewayIp = undefined;
933
+ this._ipAddress = undefined;
934
+ this._logicalIfname = undefined;
935
+ this._publicIp = undefined;
936
+ this._secondaryPrivateCidrList = undefined;
937
+ }
938
+ else if (cdktf.Tokenization.isResolvable(value)) {
939
+ this.isEmptyObject = false;
940
+ this.resolvableValue = value;
941
+ }
942
+ else {
943
+ this.isEmptyObject = Object.keys(value).length === 0;
944
+ this.resolvableValue = undefined;
945
+ this._dhcp = value.dhcp;
946
+ this._gatewayIp = value.gatewayIp;
947
+ this._ipAddress = value.ipAddress;
948
+ this._logicalIfname = value.logicalIfname;
949
+ this._publicIp = value.publicIp;
950
+ this._secondaryPrivateCidrList = value.secondaryPrivateCidrList;
951
+ }
952
+ }
953
+ // dhcp - computed: false, optional: true, required: false
954
+ _dhcp;
955
+ get dhcp() {
956
+ return this.getBooleanAttribute('dhcp');
957
+ }
958
+ set dhcp(value) {
959
+ this._dhcp = value;
960
+ }
961
+ resetDhcp() {
962
+ this._dhcp = undefined;
963
+ }
964
+ // Temporarily expose input value. Use with caution.
965
+ get dhcpInput() {
966
+ return this._dhcp;
967
+ }
968
+ // gateway_ip - computed: false, optional: true, required: false
969
+ _gatewayIp;
970
+ get gatewayIp() {
971
+ return this.getStringAttribute('gateway_ip');
972
+ }
973
+ set gatewayIp(value) {
974
+ this._gatewayIp = value;
975
+ }
976
+ resetGatewayIp() {
977
+ this._gatewayIp = undefined;
978
+ }
979
+ // Temporarily expose input value. Use with caution.
980
+ get gatewayIpInput() {
981
+ return this._gatewayIp;
982
+ }
983
+ // ip_address - computed: false, optional: true, required: false
984
+ _ipAddress;
985
+ get ipAddress() {
986
+ return this.getStringAttribute('ip_address');
987
+ }
988
+ set ipAddress(value) {
989
+ this._ipAddress = value;
990
+ }
991
+ resetIpAddress() {
992
+ this._ipAddress = undefined;
993
+ }
994
+ // Temporarily expose input value. Use with caution.
995
+ get ipAddressInput() {
996
+ return this._ipAddress;
997
+ }
998
+ // logical_ifname - computed: false, optional: false, required: true
999
+ _logicalIfname;
1000
+ get logicalIfname() {
1001
+ return this.getStringAttribute('logical_ifname');
1002
+ }
1003
+ set logicalIfname(value) {
1004
+ this._logicalIfname = value;
1005
+ }
1006
+ // Temporarily expose input value. Use with caution.
1007
+ get logicalIfnameInput() {
1008
+ return this._logicalIfname;
1009
+ }
1010
+ // public_ip - computed: false, optional: true, required: false
1011
+ _publicIp;
1012
+ get publicIp() {
1013
+ return this.getStringAttribute('public_ip');
1014
+ }
1015
+ set publicIp(value) {
1016
+ this._publicIp = value;
1017
+ }
1018
+ resetPublicIp() {
1019
+ this._publicIp = undefined;
1020
+ }
1021
+ // Temporarily expose input value. Use with caution.
1022
+ get publicIpInput() {
1023
+ return this._publicIp;
1024
+ }
1025
+ // secondary_private_cidr_list - computed: false, optional: true, required: false
1026
+ _secondaryPrivateCidrList;
1027
+ get secondaryPrivateCidrList() {
1028
+ return this.getListAttribute('secondary_private_cidr_list');
1029
+ }
1030
+ set secondaryPrivateCidrList(value) {
1031
+ this._secondaryPrivateCidrList = value;
1032
+ }
1033
+ resetSecondaryPrivateCidrList() {
1034
+ this._secondaryPrivateCidrList = undefined;
1035
+ }
1036
+ // Temporarily expose input value. Use with caution.
1037
+ get secondaryPrivateCidrListInput() {
1038
+ return this._secondaryPrivateCidrList;
1039
+ }
1040
+ }
1041
+ export class TransitGatewayInterfacesList extends cdktf.ComplexList {
1042
+ terraformResource;
1043
+ terraformAttribute;
1044
+ wrapsSet;
1045
+ internalValue;
1046
+ /**
1047
+ * @param terraformResource The parent resource
1048
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
1049
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
1050
+ */
1051
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
1052
+ super(terraformResource, terraformAttribute, wrapsSet);
1053
+ this.terraformResource = terraformResource;
1054
+ this.terraformAttribute = terraformAttribute;
1055
+ this.wrapsSet = wrapsSet;
1056
+ }
1057
+ /**
1058
+ * @param index the index of the item to return
1059
+ */
1060
+ get(index) {
1061
+ return new TransitGatewayInterfacesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
1062
+ }
1063
+ }
1064
+ /**
1065
+ * Represents a {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/transit_gateway aviatrix_transit_gateway}
1066
+ */
1067
+ export class TransitGateway extends cdktf.TerraformResource {
1068
+ // =================
1069
+ // STATIC PROPERTIES
1070
+ // =================
1071
+ static tfResourceType = "aviatrix_transit_gateway";
1072
+ // ==============
1073
+ // STATIC Methods
1074
+ // ==============
1075
+ /**
1076
+ * Generates CDKTF code for importing a TransitGateway resource upon running "cdktf plan <stack-name>"
1077
+ * @param scope The scope in which to define this construct
1078
+ * @param importToId The construct id used in the generated config for the TransitGateway to import
1079
+ * @param importFromId The id of the existing TransitGateway that should be imported. Refer to the {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/transit_gateway#import import section} in the documentation of this resource for the id to use
1080
+ * @param provider? Optional instance of the provider where the TransitGateway to import is found
1081
+ */
1082
+ static generateConfigForImport(scope, importToId, importFromId, provider) {
1083
+ return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aviatrix_transit_gateway", importId: importFromId, provider });
1084
+ }
1085
+ // ===========
1086
+ // INITIALIZER
1087
+ // ===========
1088
+ /**
1089
+ * Create a new {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/transit_gateway aviatrix_transit_gateway} Resource
1090
+ *
1091
+ * @param scope The scope in which to define this construct
1092
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
1093
+ * @param options TransitGatewayConfig
1094
+ */
1095
+ constructor(scope, id, config) {
1096
+ super(scope, id, {
1097
+ terraformResourceType: 'aviatrix_transit_gateway',
1098
+ terraformGeneratorMetadata: {
1099
+ providerName: 'aviatrix',
1100
+ providerVersion: '8.1.10',
1101
+ providerVersionConstraint: '8.1.10'
1102
+ },
1103
+ provider: config.provider,
1104
+ dependsOn: config.dependsOn,
1105
+ count: config.count,
1106
+ lifecycle: config.lifecycle,
1107
+ provisioners: config.provisioners,
1108
+ connection: config.connection,
1109
+ forEach: config.forEach
1110
+ });
1111
+ this._accountName = config.accountName;
1112
+ this._allocateNewEip = config.allocateNewEip;
1113
+ this._approvedLearnedCidrs = config.approvedLearnedCidrs;
1114
+ this._availabilityDomain = config.availabilityDomain;
1115
+ this._azureEipNameResourceGroup = config.azureEipNameResourceGroup;
1116
+ this._bgpAcceptCommunities = config.bgpAcceptCommunities;
1117
+ this._bgpEcmp = config.bgpEcmp;
1118
+ this._bgpHoldTime = config.bgpHoldTime;
1119
+ this._bgpLanInterfacesCount = config.bgpLanInterfacesCount;
1120
+ this._bgpManualSpokeAdvertiseCidrs = config.bgpManualSpokeAdvertiseCidrs;
1121
+ this._bgpNeighborStatusPollingTime = config.bgpNeighborStatusPollingTime;
1122
+ this._bgpPollingTime = config.bgpPollingTime;
1123
+ this._bgpSendCommunities = config.bgpSendCommunities;
1124
+ this._cloudType = config.cloudType;
1125
+ this._connectedTransit = config.connectedTransit;
1126
+ this._customerManagedKeys = config.customerManagedKeys;
1127
+ this._customizedSpokeVpcRoutes = config.customizedSpokeVpcRoutes;
1128
+ this._customizedTransitVpcRoutes = config.customizedTransitVpcRoutes;
1129
+ this._deleteSpot = config.deleteSpot;
1130
+ this._deviceId = config.deviceId;
1131
+ this._eip = config.eip;
1132
+ this._enableActiveStandby = config.enableActiveStandby;
1133
+ this._enableActiveStandbyPreemptive = config.enableActiveStandbyPreemptive;
1134
+ this._enableAdvertiseTransitCidr = config.enableAdvertiseTransitCidr;
1135
+ this._enableBgpOverLan = config.enableBgpOverLan;
1136
+ this._enableEgressTransitFirenet = config.enableEgressTransitFirenet;
1137
+ this._enableEncryptVolume = config.enableEncryptVolume;
1138
+ this._enableFirenet = config.enableFirenet;
1139
+ this._enableGatewayLoadBalancer = config.enableGatewayLoadBalancer;
1140
+ this._enableGroGso = config.enableGroGso;
1141
+ this._enableHybridConnection = config.enableHybridConnection;
1142
+ this._enableJumboFrame = config.enableJumboFrame;
1143
+ this._enableLearnedCidrsApproval = config.enableLearnedCidrsApproval;
1144
+ this._enableMonitorGatewaySubnets = config.enableMonitorGatewaySubnets;
1145
+ this._enableMultiTierTransit = config.enableMultiTierTransit;
1146
+ this._enablePreserveAsPath = config.enablePreserveAsPath;
1147
+ this._enablePrivateOob = config.enablePrivateOob;
1148
+ this._enableS2CRxBalancing = config.enableS2CRxBalancing;
1149
+ this._enableSegmentation = config.enableSegmentation;
1150
+ this._enableSpotInstance = config.enableSpotInstance;
1151
+ this._enableTransitFirenet = config.enableTransitFirenet;
1152
+ this._enableTransitSummarizeCidrToTgw = config.enableTransitSummarizeCidrToTgw;
1153
+ this._enableVpcDnsServer = config.enableVpcDnsServer;
1154
+ this._excludedAdvertisedSpokeRoutes = config.excludedAdvertisedSpokeRoutes;
1155
+ this._faultDomain = config.faultDomain;
1156
+ this._filteredSpokeVpcRoutes = config.filteredSpokeVpcRoutes;
1157
+ this._gwName = config.gwName;
1158
+ this._gwSize = config.gwSize;
1159
+ this._haAvailabilityDomain = config.haAvailabilityDomain;
1160
+ this._haAzureEipNameResourceGroup = config.haAzureEipNameResourceGroup;
1161
+ this._haDeviceId = config.haDeviceId;
1162
+ this._haEip = config.haEip;
1163
+ this._haFaultDomain = config.haFaultDomain;
1164
+ this._haGwSize = config.haGwSize;
1165
+ this._haImageVersion = config.haImageVersion;
1166
+ this._haInsaneModeAz = config.haInsaneModeAz;
1167
+ this._haManagementEgressIpPrefixList = config.haManagementEgressIpPrefixList;
1168
+ this._haOobAvailabilityZone = config.haOobAvailabilityZone;
1169
+ this._haOobManagementSubnet = config.haOobManagementSubnet;
1170
+ this._haPrivateModeSubnetZone = config.haPrivateModeSubnetZone;
1171
+ this._haSoftwareVersion = config.haSoftwareVersion;
1172
+ this._haSubnet = config.haSubnet;
1173
+ this._haZone = config.haZone;
1174
+ this._id = config.id;
1175
+ this._imageVersion = config.imageVersion;
1176
+ this._insaneMode = config.insaneMode;
1177
+ this._insaneModeAz = config.insaneModeAz;
1178
+ this._lanPrivateSubnet = config.lanPrivateSubnet;
1179
+ this._lanVpcId = config.lanVpcId;
1180
+ this._learnedCidrsApprovalMode = config.learnedCidrsApprovalMode;
1181
+ this._localAsNumber = config.localAsNumber;
1182
+ this._managementEgressIpPrefixList = config.managementEgressIpPrefixList;
1183
+ this._monitorExcludeList = config.monitorExcludeList;
1184
+ this._oobAvailabilityZone = config.oobAvailabilityZone;
1185
+ this._oobManagementSubnet = config.oobManagementSubnet;
1186
+ this._peerBackupLogicalIfname = config.peerBackupLogicalIfname;
1187
+ this._peerConnectionType = config.peerConnectionType;
1188
+ this._prependAsPath = config.prependAsPath;
1189
+ this._privateModeLbVpcId = config.privateModeLbVpcId;
1190
+ this._privateModeSubnetZone = config.privateModeSubnetZone;
1191
+ this._rxQueueSize = config.rxQueueSize;
1192
+ this._singleAzHa = config.singleAzHa;
1193
+ this._singleIpSnat = config.singleIpSnat;
1194
+ this._softwareVersion = config.softwareVersion;
1195
+ this._spotPrice = config.spotPrice;
1196
+ this._subnet = config.subnet;
1197
+ this._tags = config.tags;
1198
+ this._tunnelDetectionTime = config.tunnelDetectionTime;
1199
+ this._vpcId = config.vpcId;
1200
+ this._vpcReg = config.vpcReg;
1201
+ this._zone = config.zone;
1202
+ this._ztpFileDownloadPath = config.ztpFileDownloadPath;
1203
+ this._ztpFileType = config.ztpFileType;
1204
+ this._bgpLanInterfaces.internalValue = config.bgpLanInterfaces;
1205
+ this._eipMap.internalValue = config.eipMap;
1206
+ this._haBgpLanInterfaces.internalValue = config.haBgpLanInterfaces;
1207
+ this._haInterfaces.internalValue = config.haInterfaces;
1208
+ this._interfaceMapping.internalValue = config.interfaceMapping;
1209
+ this._interfaces.internalValue = config.interfaces;
1210
+ }
1211
+ // ==========
1212
+ // ATTRIBUTES
1213
+ // ==========
1214
+ // account_name - computed: false, optional: false, required: true
1215
+ _accountName;
1216
+ get accountName() {
1217
+ return this.getStringAttribute('account_name');
1218
+ }
1219
+ set accountName(value) {
1220
+ this._accountName = value;
1221
+ }
1222
+ // Temporarily expose input value. Use with caution.
1223
+ get accountNameInput() {
1224
+ return this._accountName;
1225
+ }
1226
+ // allocate_new_eip - computed: false, optional: true, required: false
1227
+ _allocateNewEip;
1228
+ get allocateNewEip() {
1229
+ return this.getBooleanAttribute('allocate_new_eip');
1230
+ }
1231
+ set allocateNewEip(value) {
1232
+ this._allocateNewEip = value;
1233
+ }
1234
+ resetAllocateNewEip() {
1235
+ this._allocateNewEip = undefined;
1236
+ }
1237
+ // Temporarily expose input value. Use with caution.
1238
+ get allocateNewEipInput() {
1239
+ return this._allocateNewEip;
1240
+ }
1241
+ // approved_learned_cidrs - computed: false, optional: true, required: false
1242
+ _approvedLearnedCidrs;
1243
+ get approvedLearnedCidrs() {
1244
+ return cdktf.Fn.tolist(this.getListAttribute('approved_learned_cidrs'));
1245
+ }
1246
+ set approvedLearnedCidrs(value) {
1247
+ this._approvedLearnedCidrs = value;
1248
+ }
1249
+ resetApprovedLearnedCidrs() {
1250
+ this._approvedLearnedCidrs = undefined;
1251
+ }
1252
+ // Temporarily expose input value. Use with caution.
1253
+ get approvedLearnedCidrsInput() {
1254
+ return this._approvedLearnedCidrs;
1255
+ }
1256
+ // availability_domain - computed: true, optional: true, required: false
1257
+ _availabilityDomain;
1258
+ get availabilityDomain() {
1259
+ return this.getStringAttribute('availability_domain');
1260
+ }
1261
+ set availabilityDomain(value) {
1262
+ this._availabilityDomain = value;
1263
+ }
1264
+ resetAvailabilityDomain() {
1265
+ this._availabilityDomain = undefined;
1266
+ }
1267
+ // Temporarily expose input value. Use with caution.
1268
+ get availabilityDomainInput() {
1269
+ return this._availabilityDomain;
1270
+ }
1271
+ // azure_eip_name_resource_group - computed: true, optional: true, required: false
1272
+ _azureEipNameResourceGroup;
1273
+ get azureEipNameResourceGroup() {
1274
+ return this.getStringAttribute('azure_eip_name_resource_group');
1275
+ }
1276
+ set azureEipNameResourceGroup(value) {
1277
+ this._azureEipNameResourceGroup = value;
1278
+ }
1279
+ resetAzureEipNameResourceGroup() {
1280
+ this._azureEipNameResourceGroup = undefined;
1281
+ }
1282
+ // Temporarily expose input value. Use with caution.
1283
+ get azureEipNameResourceGroupInput() {
1284
+ return this._azureEipNameResourceGroup;
1285
+ }
1286
+ // bgp_accept_communities - computed: false, optional: true, required: false
1287
+ _bgpAcceptCommunities;
1288
+ get bgpAcceptCommunities() {
1289
+ return this.getBooleanAttribute('bgp_accept_communities');
1290
+ }
1291
+ set bgpAcceptCommunities(value) {
1292
+ this._bgpAcceptCommunities = value;
1293
+ }
1294
+ resetBgpAcceptCommunities() {
1295
+ this._bgpAcceptCommunities = undefined;
1296
+ }
1297
+ // Temporarily expose input value. Use with caution.
1298
+ get bgpAcceptCommunitiesInput() {
1299
+ return this._bgpAcceptCommunities;
1300
+ }
1301
+ // bgp_ecmp - computed: false, optional: true, required: false
1302
+ _bgpEcmp;
1303
+ get bgpEcmp() {
1304
+ return this.getBooleanAttribute('bgp_ecmp');
1305
+ }
1306
+ set bgpEcmp(value) {
1307
+ this._bgpEcmp = value;
1308
+ }
1309
+ resetBgpEcmp() {
1310
+ this._bgpEcmp = undefined;
1311
+ }
1312
+ // Temporarily expose input value. Use with caution.
1313
+ get bgpEcmpInput() {
1314
+ return this._bgpEcmp;
1315
+ }
1316
+ // bgp_hold_time - computed: false, optional: true, required: false
1317
+ _bgpHoldTime;
1318
+ get bgpHoldTime() {
1319
+ return this.getNumberAttribute('bgp_hold_time');
1320
+ }
1321
+ set bgpHoldTime(value) {
1322
+ this._bgpHoldTime = value;
1323
+ }
1324
+ resetBgpHoldTime() {
1325
+ this._bgpHoldTime = undefined;
1326
+ }
1327
+ // Temporarily expose input value. Use with caution.
1328
+ get bgpHoldTimeInput() {
1329
+ return this._bgpHoldTime;
1330
+ }
1331
+ // bgp_lan_interfaces_count - computed: false, optional: true, required: false
1332
+ _bgpLanInterfacesCount;
1333
+ get bgpLanInterfacesCount() {
1334
+ return this.getNumberAttribute('bgp_lan_interfaces_count');
1335
+ }
1336
+ set bgpLanInterfacesCount(value) {
1337
+ this._bgpLanInterfacesCount = value;
1338
+ }
1339
+ resetBgpLanInterfacesCount() {
1340
+ this._bgpLanInterfacesCount = undefined;
1341
+ }
1342
+ // Temporarily expose input value. Use with caution.
1343
+ get bgpLanInterfacesCountInput() {
1344
+ return this._bgpLanInterfacesCount;
1345
+ }
1346
+ // bgp_lan_ip_list - computed: true, optional: false, required: false
1347
+ get bgpLanIpList() {
1348
+ return this.getListAttribute('bgp_lan_ip_list');
1349
+ }
1350
+ // bgp_manual_spoke_advertise_cidrs - computed: false, optional: true, required: false
1351
+ _bgpManualSpokeAdvertiseCidrs;
1352
+ get bgpManualSpokeAdvertiseCidrs() {
1353
+ return this.getStringAttribute('bgp_manual_spoke_advertise_cidrs');
1354
+ }
1355
+ set bgpManualSpokeAdvertiseCidrs(value) {
1356
+ this._bgpManualSpokeAdvertiseCidrs = value;
1357
+ }
1358
+ resetBgpManualSpokeAdvertiseCidrs() {
1359
+ this._bgpManualSpokeAdvertiseCidrs = undefined;
1360
+ }
1361
+ // Temporarily expose input value. Use with caution.
1362
+ get bgpManualSpokeAdvertiseCidrsInput() {
1363
+ return this._bgpManualSpokeAdvertiseCidrs;
1364
+ }
1365
+ // bgp_neighbor_status_polling_time - computed: false, optional: true, required: false
1366
+ _bgpNeighborStatusPollingTime;
1367
+ get bgpNeighborStatusPollingTime() {
1368
+ return this.getNumberAttribute('bgp_neighbor_status_polling_time');
1369
+ }
1370
+ set bgpNeighborStatusPollingTime(value) {
1371
+ this._bgpNeighborStatusPollingTime = value;
1372
+ }
1373
+ resetBgpNeighborStatusPollingTime() {
1374
+ this._bgpNeighborStatusPollingTime = undefined;
1375
+ }
1376
+ // Temporarily expose input value. Use with caution.
1377
+ get bgpNeighborStatusPollingTimeInput() {
1378
+ return this._bgpNeighborStatusPollingTime;
1379
+ }
1380
+ // bgp_polling_time - computed: false, optional: true, required: false
1381
+ _bgpPollingTime;
1382
+ get bgpPollingTime() {
1383
+ return this.getNumberAttribute('bgp_polling_time');
1384
+ }
1385
+ set bgpPollingTime(value) {
1386
+ this._bgpPollingTime = value;
1387
+ }
1388
+ resetBgpPollingTime() {
1389
+ this._bgpPollingTime = undefined;
1390
+ }
1391
+ // Temporarily expose input value. Use with caution.
1392
+ get bgpPollingTimeInput() {
1393
+ return this._bgpPollingTime;
1394
+ }
1395
+ // bgp_send_communities - computed: false, optional: true, required: false
1396
+ _bgpSendCommunities;
1397
+ get bgpSendCommunities() {
1398
+ return this.getBooleanAttribute('bgp_send_communities');
1399
+ }
1400
+ set bgpSendCommunities(value) {
1401
+ this._bgpSendCommunities = value;
1402
+ }
1403
+ resetBgpSendCommunities() {
1404
+ this._bgpSendCommunities = undefined;
1405
+ }
1406
+ // Temporarily expose input value. Use with caution.
1407
+ get bgpSendCommunitiesInput() {
1408
+ return this._bgpSendCommunities;
1409
+ }
1410
+ // cloud_instance_id - computed: true, optional: false, required: false
1411
+ get cloudInstanceId() {
1412
+ return this.getStringAttribute('cloud_instance_id');
1413
+ }
1414
+ // cloud_type - computed: false, optional: false, required: true
1415
+ _cloudType;
1416
+ get cloudType() {
1417
+ return this.getNumberAttribute('cloud_type');
1418
+ }
1419
+ set cloudType(value) {
1420
+ this._cloudType = value;
1421
+ }
1422
+ // Temporarily expose input value. Use with caution.
1423
+ get cloudTypeInput() {
1424
+ return this._cloudType;
1425
+ }
1426
+ // connected_transit - computed: false, optional: true, required: false
1427
+ _connectedTransit;
1428
+ get connectedTransit() {
1429
+ return this.getBooleanAttribute('connected_transit');
1430
+ }
1431
+ set connectedTransit(value) {
1432
+ this._connectedTransit = value;
1433
+ }
1434
+ resetConnectedTransit() {
1435
+ this._connectedTransit = undefined;
1436
+ }
1437
+ // Temporarily expose input value. Use with caution.
1438
+ get connectedTransitInput() {
1439
+ return this._connectedTransit;
1440
+ }
1441
+ // customer_managed_keys - computed: false, optional: true, required: false
1442
+ _customerManagedKeys;
1443
+ get customerManagedKeys() {
1444
+ return this.getStringAttribute('customer_managed_keys');
1445
+ }
1446
+ set customerManagedKeys(value) {
1447
+ this._customerManagedKeys = value;
1448
+ }
1449
+ resetCustomerManagedKeys() {
1450
+ this._customerManagedKeys = undefined;
1451
+ }
1452
+ // Temporarily expose input value. Use with caution.
1453
+ get customerManagedKeysInput() {
1454
+ return this._customerManagedKeys;
1455
+ }
1456
+ // customized_spoke_vpc_routes - computed: false, optional: true, required: false
1457
+ _customizedSpokeVpcRoutes;
1458
+ get customizedSpokeVpcRoutes() {
1459
+ return this.getStringAttribute('customized_spoke_vpc_routes');
1460
+ }
1461
+ set customizedSpokeVpcRoutes(value) {
1462
+ this._customizedSpokeVpcRoutes = value;
1463
+ }
1464
+ resetCustomizedSpokeVpcRoutes() {
1465
+ this._customizedSpokeVpcRoutes = undefined;
1466
+ }
1467
+ // Temporarily expose input value. Use with caution.
1468
+ get customizedSpokeVpcRoutesInput() {
1469
+ return this._customizedSpokeVpcRoutes;
1470
+ }
1471
+ // customized_transit_vpc_routes - computed: false, optional: true, required: false
1472
+ _customizedTransitVpcRoutes;
1473
+ get customizedTransitVpcRoutes() {
1474
+ return cdktf.Fn.tolist(this.getListAttribute('customized_transit_vpc_routes'));
1475
+ }
1476
+ set customizedTransitVpcRoutes(value) {
1477
+ this._customizedTransitVpcRoutes = value;
1478
+ }
1479
+ resetCustomizedTransitVpcRoutes() {
1480
+ this._customizedTransitVpcRoutes = undefined;
1481
+ }
1482
+ // Temporarily expose input value. Use with caution.
1483
+ get customizedTransitVpcRoutesInput() {
1484
+ return this._customizedTransitVpcRoutes;
1485
+ }
1486
+ // delete_spot - computed: false, optional: true, required: false
1487
+ _deleteSpot;
1488
+ get deleteSpot() {
1489
+ return this.getBooleanAttribute('delete_spot');
1490
+ }
1491
+ set deleteSpot(value) {
1492
+ this._deleteSpot = value;
1493
+ }
1494
+ resetDeleteSpot() {
1495
+ this._deleteSpot = undefined;
1496
+ }
1497
+ // Temporarily expose input value. Use with caution.
1498
+ get deleteSpotInput() {
1499
+ return this._deleteSpot;
1500
+ }
1501
+ // device_id - computed: false, optional: true, required: false
1502
+ _deviceId;
1503
+ get deviceId() {
1504
+ return this.getStringAttribute('device_id');
1505
+ }
1506
+ set deviceId(value) {
1507
+ this._deviceId = value;
1508
+ }
1509
+ resetDeviceId() {
1510
+ this._deviceId = undefined;
1511
+ }
1512
+ // Temporarily expose input value. Use with caution.
1513
+ get deviceIdInput() {
1514
+ return this._deviceId;
1515
+ }
1516
+ // eip - computed: true, optional: true, required: false
1517
+ _eip;
1518
+ get eip() {
1519
+ return this.getStringAttribute('eip');
1520
+ }
1521
+ set eip(value) {
1522
+ this._eip = value;
1523
+ }
1524
+ resetEip() {
1525
+ this._eip = undefined;
1526
+ }
1527
+ // Temporarily expose input value. Use with caution.
1528
+ get eipInput() {
1529
+ return this._eip;
1530
+ }
1531
+ // enable_active_standby - computed: false, optional: true, required: false
1532
+ _enableActiveStandby;
1533
+ get enableActiveStandby() {
1534
+ return this.getBooleanAttribute('enable_active_standby');
1535
+ }
1536
+ set enableActiveStandby(value) {
1537
+ this._enableActiveStandby = value;
1538
+ }
1539
+ resetEnableActiveStandby() {
1540
+ this._enableActiveStandby = undefined;
1541
+ }
1542
+ // Temporarily expose input value. Use with caution.
1543
+ get enableActiveStandbyInput() {
1544
+ return this._enableActiveStandby;
1545
+ }
1546
+ // enable_active_standby_preemptive - computed: false, optional: true, required: false
1547
+ _enableActiveStandbyPreemptive;
1548
+ get enableActiveStandbyPreemptive() {
1549
+ return this.getBooleanAttribute('enable_active_standby_preemptive');
1550
+ }
1551
+ set enableActiveStandbyPreemptive(value) {
1552
+ this._enableActiveStandbyPreemptive = value;
1553
+ }
1554
+ resetEnableActiveStandbyPreemptive() {
1555
+ this._enableActiveStandbyPreemptive = undefined;
1556
+ }
1557
+ // Temporarily expose input value. Use with caution.
1558
+ get enableActiveStandbyPreemptiveInput() {
1559
+ return this._enableActiveStandbyPreemptive;
1560
+ }
1561
+ // enable_advertise_transit_cidr - computed: false, optional: true, required: false
1562
+ _enableAdvertiseTransitCidr;
1563
+ get enableAdvertiseTransitCidr() {
1564
+ return this.getBooleanAttribute('enable_advertise_transit_cidr');
1565
+ }
1566
+ set enableAdvertiseTransitCidr(value) {
1567
+ this._enableAdvertiseTransitCidr = value;
1568
+ }
1569
+ resetEnableAdvertiseTransitCidr() {
1570
+ this._enableAdvertiseTransitCidr = undefined;
1571
+ }
1572
+ // Temporarily expose input value. Use with caution.
1573
+ get enableAdvertiseTransitCidrInput() {
1574
+ return this._enableAdvertiseTransitCidr;
1575
+ }
1576
+ // enable_bgp_over_lan - computed: false, optional: true, required: false
1577
+ _enableBgpOverLan;
1578
+ get enableBgpOverLan() {
1579
+ return this.getBooleanAttribute('enable_bgp_over_lan');
1580
+ }
1581
+ set enableBgpOverLan(value) {
1582
+ this._enableBgpOverLan = value;
1583
+ }
1584
+ resetEnableBgpOverLan() {
1585
+ this._enableBgpOverLan = undefined;
1586
+ }
1587
+ // Temporarily expose input value. Use with caution.
1588
+ get enableBgpOverLanInput() {
1589
+ return this._enableBgpOverLan;
1590
+ }
1591
+ // enable_egress_transit_firenet - computed: false, optional: true, required: false
1592
+ _enableEgressTransitFirenet;
1593
+ get enableEgressTransitFirenet() {
1594
+ return this.getBooleanAttribute('enable_egress_transit_firenet');
1595
+ }
1596
+ set enableEgressTransitFirenet(value) {
1597
+ this._enableEgressTransitFirenet = value;
1598
+ }
1599
+ resetEnableEgressTransitFirenet() {
1600
+ this._enableEgressTransitFirenet = undefined;
1601
+ }
1602
+ // Temporarily expose input value. Use with caution.
1603
+ get enableEgressTransitFirenetInput() {
1604
+ return this._enableEgressTransitFirenet;
1605
+ }
1606
+ // enable_encrypt_volume - computed: false, optional: true, required: false
1607
+ _enableEncryptVolume;
1608
+ get enableEncryptVolume() {
1609
+ return this.getBooleanAttribute('enable_encrypt_volume');
1610
+ }
1611
+ set enableEncryptVolume(value) {
1612
+ this._enableEncryptVolume = value;
1613
+ }
1614
+ resetEnableEncryptVolume() {
1615
+ this._enableEncryptVolume = undefined;
1616
+ }
1617
+ // Temporarily expose input value. Use with caution.
1618
+ get enableEncryptVolumeInput() {
1619
+ return this._enableEncryptVolume;
1620
+ }
1621
+ // enable_firenet - computed: false, optional: true, required: false
1622
+ _enableFirenet;
1623
+ get enableFirenet() {
1624
+ return this.getBooleanAttribute('enable_firenet');
1625
+ }
1626
+ set enableFirenet(value) {
1627
+ this._enableFirenet = value;
1628
+ }
1629
+ resetEnableFirenet() {
1630
+ this._enableFirenet = undefined;
1631
+ }
1632
+ // Temporarily expose input value. Use with caution.
1633
+ get enableFirenetInput() {
1634
+ return this._enableFirenet;
1635
+ }
1636
+ // enable_gateway_load_balancer - computed: false, optional: true, required: false
1637
+ _enableGatewayLoadBalancer;
1638
+ get enableGatewayLoadBalancer() {
1639
+ return this.getBooleanAttribute('enable_gateway_load_balancer');
1640
+ }
1641
+ set enableGatewayLoadBalancer(value) {
1642
+ this._enableGatewayLoadBalancer = value;
1643
+ }
1644
+ resetEnableGatewayLoadBalancer() {
1645
+ this._enableGatewayLoadBalancer = undefined;
1646
+ }
1647
+ // Temporarily expose input value. Use with caution.
1648
+ get enableGatewayLoadBalancerInput() {
1649
+ return this._enableGatewayLoadBalancer;
1650
+ }
1651
+ // enable_gro_gso - computed: false, optional: true, required: false
1652
+ _enableGroGso;
1653
+ get enableGroGso() {
1654
+ return this.getBooleanAttribute('enable_gro_gso');
1655
+ }
1656
+ set enableGroGso(value) {
1657
+ this._enableGroGso = value;
1658
+ }
1659
+ resetEnableGroGso() {
1660
+ this._enableGroGso = undefined;
1661
+ }
1662
+ // Temporarily expose input value. Use with caution.
1663
+ get enableGroGsoInput() {
1664
+ return this._enableGroGso;
1665
+ }
1666
+ // enable_hybrid_connection - computed: false, optional: true, required: false
1667
+ _enableHybridConnection;
1668
+ get enableHybridConnection() {
1669
+ return this.getBooleanAttribute('enable_hybrid_connection');
1670
+ }
1671
+ set enableHybridConnection(value) {
1672
+ this._enableHybridConnection = value;
1673
+ }
1674
+ resetEnableHybridConnection() {
1675
+ this._enableHybridConnection = undefined;
1676
+ }
1677
+ // Temporarily expose input value. Use with caution.
1678
+ get enableHybridConnectionInput() {
1679
+ return this._enableHybridConnection;
1680
+ }
1681
+ // enable_jumbo_frame - computed: true, optional: true, required: false
1682
+ _enableJumboFrame;
1683
+ get enableJumboFrame() {
1684
+ return this.getBooleanAttribute('enable_jumbo_frame');
1685
+ }
1686
+ set enableJumboFrame(value) {
1687
+ this._enableJumboFrame = value;
1688
+ }
1689
+ resetEnableJumboFrame() {
1690
+ this._enableJumboFrame = undefined;
1691
+ }
1692
+ // Temporarily expose input value. Use with caution.
1693
+ get enableJumboFrameInput() {
1694
+ return this._enableJumboFrame;
1695
+ }
1696
+ // enable_learned_cidrs_approval - computed: false, optional: true, required: false
1697
+ _enableLearnedCidrsApproval;
1698
+ get enableLearnedCidrsApproval() {
1699
+ return this.getBooleanAttribute('enable_learned_cidrs_approval');
1700
+ }
1701
+ set enableLearnedCidrsApproval(value) {
1702
+ this._enableLearnedCidrsApproval = value;
1703
+ }
1704
+ resetEnableLearnedCidrsApproval() {
1705
+ this._enableLearnedCidrsApproval = undefined;
1706
+ }
1707
+ // Temporarily expose input value. Use with caution.
1708
+ get enableLearnedCidrsApprovalInput() {
1709
+ return this._enableLearnedCidrsApproval;
1710
+ }
1711
+ // enable_monitor_gateway_subnets - computed: false, optional: true, required: false
1712
+ _enableMonitorGatewaySubnets;
1713
+ get enableMonitorGatewaySubnets() {
1714
+ return this.getBooleanAttribute('enable_monitor_gateway_subnets');
1715
+ }
1716
+ set enableMonitorGatewaySubnets(value) {
1717
+ this._enableMonitorGatewaySubnets = value;
1718
+ }
1719
+ resetEnableMonitorGatewaySubnets() {
1720
+ this._enableMonitorGatewaySubnets = undefined;
1721
+ }
1722
+ // Temporarily expose input value. Use with caution.
1723
+ get enableMonitorGatewaySubnetsInput() {
1724
+ return this._enableMonitorGatewaySubnets;
1725
+ }
1726
+ // enable_multi_tier_transit - computed: false, optional: true, required: false
1727
+ _enableMultiTierTransit;
1728
+ get enableMultiTierTransit() {
1729
+ return this.getBooleanAttribute('enable_multi_tier_transit');
1730
+ }
1731
+ set enableMultiTierTransit(value) {
1732
+ this._enableMultiTierTransit = value;
1733
+ }
1734
+ resetEnableMultiTierTransit() {
1735
+ this._enableMultiTierTransit = undefined;
1736
+ }
1737
+ // Temporarily expose input value. Use with caution.
1738
+ get enableMultiTierTransitInput() {
1739
+ return this._enableMultiTierTransit;
1740
+ }
1741
+ // enable_preserve_as_path - computed: false, optional: true, required: false
1742
+ _enablePreserveAsPath;
1743
+ get enablePreserveAsPath() {
1744
+ return this.getBooleanAttribute('enable_preserve_as_path');
1745
+ }
1746
+ set enablePreserveAsPath(value) {
1747
+ this._enablePreserveAsPath = value;
1748
+ }
1749
+ resetEnablePreserveAsPath() {
1750
+ this._enablePreserveAsPath = undefined;
1751
+ }
1752
+ // Temporarily expose input value. Use with caution.
1753
+ get enablePreserveAsPathInput() {
1754
+ return this._enablePreserveAsPath;
1755
+ }
1756
+ // enable_private_oob - computed: false, optional: true, required: false
1757
+ _enablePrivateOob;
1758
+ get enablePrivateOob() {
1759
+ return this.getBooleanAttribute('enable_private_oob');
1760
+ }
1761
+ set enablePrivateOob(value) {
1762
+ this._enablePrivateOob = value;
1763
+ }
1764
+ resetEnablePrivateOob() {
1765
+ this._enablePrivateOob = undefined;
1766
+ }
1767
+ // Temporarily expose input value. Use with caution.
1768
+ get enablePrivateOobInput() {
1769
+ return this._enablePrivateOob;
1770
+ }
1771
+ // enable_s2c_rx_balancing - computed: false, optional: true, required: false
1772
+ _enableS2CRxBalancing;
1773
+ get enableS2CRxBalancing() {
1774
+ return this.getBooleanAttribute('enable_s2c_rx_balancing');
1775
+ }
1776
+ set enableS2CRxBalancing(value) {
1777
+ this._enableS2CRxBalancing = value;
1778
+ }
1779
+ resetEnableS2CRxBalancing() {
1780
+ this._enableS2CRxBalancing = undefined;
1781
+ }
1782
+ // Temporarily expose input value. Use with caution.
1783
+ get enableS2CRxBalancingInput() {
1784
+ return this._enableS2CRxBalancing;
1785
+ }
1786
+ // enable_segmentation - computed: false, optional: true, required: false
1787
+ _enableSegmentation;
1788
+ get enableSegmentation() {
1789
+ return this.getBooleanAttribute('enable_segmentation');
1790
+ }
1791
+ set enableSegmentation(value) {
1792
+ this._enableSegmentation = value;
1793
+ }
1794
+ resetEnableSegmentation() {
1795
+ this._enableSegmentation = undefined;
1796
+ }
1797
+ // Temporarily expose input value. Use with caution.
1798
+ get enableSegmentationInput() {
1799
+ return this._enableSegmentation;
1800
+ }
1801
+ // enable_spot_instance - computed: false, optional: true, required: false
1802
+ _enableSpotInstance;
1803
+ get enableSpotInstance() {
1804
+ return this.getBooleanAttribute('enable_spot_instance');
1805
+ }
1806
+ set enableSpotInstance(value) {
1807
+ this._enableSpotInstance = value;
1808
+ }
1809
+ resetEnableSpotInstance() {
1810
+ this._enableSpotInstance = undefined;
1811
+ }
1812
+ // Temporarily expose input value. Use with caution.
1813
+ get enableSpotInstanceInput() {
1814
+ return this._enableSpotInstance;
1815
+ }
1816
+ // enable_transit_firenet - computed: false, optional: true, required: false
1817
+ _enableTransitFirenet;
1818
+ get enableTransitFirenet() {
1819
+ return this.getBooleanAttribute('enable_transit_firenet');
1820
+ }
1821
+ set enableTransitFirenet(value) {
1822
+ this._enableTransitFirenet = value;
1823
+ }
1824
+ resetEnableTransitFirenet() {
1825
+ this._enableTransitFirenet = undefined;
1826
+ }
1827
+ // Temporarily expose input value. Use with caution.
1828
+ get enableTransitFirenetInput() {
1829
+ return this._enableTransitFirenet;
1830
+ }
1831
+ // enable_transit_summarize_cidr_to_tgw - computed: false, optional: true, required: false
1832
+ _enableTransitSummarizeCidrToTgw;
1833
+ get enableTransitSummarizeCidrToTgw() {
1834
+ return this.getBooleanAttribute('enable_transit_summarize_cidr_to_tgw');
1835
+ }
1836
+ set enableTransitSummarizeCidrToTgw(value) {
1837
+ this._enableTransitSummarizeCidrToTgw = value;
1838
+ }
1839
+ resetEnableTransitSummarizeCidrToTgw() {
1840
+ this._enableTransitSummarizeCidrToTgw = undefined;
1841
+ }
1842
+ // Temporarily expose input value. Use with caution.
1843
+ get enableTransitSummarizeCidrToTgwInput() {
1844
+ return this._enableTransitSummarizeCidrToTgw;
1845
+ }
1846
+ // enable_vpc_dns_server - computed: false, optional: true, required: false
1847
+ _enableVpcDnsServer;
1848
+ get enableVpcDnsServer() {
1849
+ return this.getBooleanAttribute('enable_vpc_dns_server');
1850
+ }
1851
+ set enableVpcDnsServer(value) {
1852
+ this._enableVpcDnsServer = value;
1853
+ }
1854
+ resetEnableVpcDnsServer() {
1855
+ this._enableVpcDnsServer = undefined;
1856
+ }
1857
+ // Temporarily expose input value. Use with caution.
1858
+ get enableVpcDnsServerInput() {
1859
+ return this._enableVpcDnsServer;
1860
+ }
1861
+ // excluded_advertised_spoke_routes - computed: false, optional: true, required: false
1862
+ _excludedAdvertisedSpokeRoutes;
1863
+ get excludedAdvertisedSpokeRoutes() {
1864
+ return this.getStringAttribute('excluded_advertised_spoke_routes');
1865
+ }
1866
+ set excludedAdvertisedSpokeRoutes(value) {
1867
+ this._excludedAdvertisedSpokeRoutes = value;
1868
+ }
1869
+ resetExcludedAdvertisedSpokeRoutes() {
1870
+ this._excludedAdvertisedSpokeRoutes = undefined;
1871
+ }
1872
+ // Temporarily expose input value. Use with caution.
1873
+ get excludedAdvertisedSpokeRoutesInput() {
1874
+ return this._excludedAdvertisedSpokeRoutes;
1875
+ }
1876
+ // fault_domain - computed: true, optional: true, required: false
1877
+ _faultDomain;
1878
+ get faultDomain() {
1879
+ return this.getStringAttribute('fault_domain');
1880
+ }
1881
+ set faultDomain(value) {
1882
+ this._faultDomain = value;
1883
+ }
1884
+ resetFaultDomain() {
1885
+ this._faultDomain = undefined;
1886
+ }
1887
+ // Temporarily expose input value. Use with caution.
1888
+ get faultDomainInput() {
1889
+ return this._faultDomain;
1890
+ }
1891
+ // filtered_spoke_vpc_routes - computed: false, optional: true, required: false
1892
+ _filteredSpokeVpcRoutes;
1893
+ get filteredSpokeVpcRoutes() {
1894
+ return this.getStringAttribute('filtered_spoke_vpc_routes');
1895
+ }
1896
+ set filteredSpokeVpcRoutes(value) {
1897
+ this._filteredSpokeVpcRoutes = value;
1898
+ }
1899
+ resetFilteredSpokeVpcRoutes() {
1900
+ this._filteredSpokeVpcRoutes = undefined;
1901
+ }
1902
+ // Temporarily expose input value. Use with caution.
1903
+ get filteredSpokeVpcRoutesInput() {
1904
+ return this._filteredSpokeVpcRoutes;
1905
+ }
1906
+ // gw_name - computed: false, optional: false, required: true
1907
+ _gwName;
1908
+ get gwName() {
1909
+ return this.getStringAttribute('gw_name');
1910
+ }
1911
+ set gwName(value) {
1912
+ this._gwName = value;
1913
+ }
1914
+ // Temporarily expose input value. Use with caution.
1915
+ get gwNameInput() {
1916
+ return this._gwName;
1917
+ }
1918
+ // gw_size - computed: false, optional: false, required: true
1919
+ _gwSize;
1920
+ get gwSize() {
1921
+ return this.getStringAttribute('gw_size');
1922
+ }
1923
+ set gwSize(value) {
1924
+ this._gwSize = value;
1925
+ }
1926
+ // Temporarily expose input value. Use with caution.
1927
+ get gwSizeInput() {
1928
+ return this._gwSize;
1929
+ }
1930
+ // ha_availability_domain - computed: true, optional: true, required: false
1931
+ _haAvailabilityDomain;
1932
+ get haAvailabilityDomain() {
1933
+ return this.getStringAttribute('ha_availability_domain');
1934
+ }
1935
+ set haAvailabilityDomain(value) {
1936
+ this._haAvailabilityDomain = value;
1937
+ }
1938
+ resetHaAvailabilityDomain() {
1939
+ this._haAvailabilityDomain = undefined;
1940
+ }
1941
+ // Temporarily expose input value. Use with caution.
1942
+ get haAvailabilityDomainInput() {
1943
+ return this._haAvailabilityDomain;
1944
+ }
1945
+ // ha_azure_eip_name_resource_group - computed: true, optional: true, required: false
1946
+ _haAzureEipNameResourceGroup;
1947
+ get haAzureEipNameResourceGroup() {
1948
+ return this.getStringAttribute('ha_azure_eip_name_resource_group');
1949
+ }
1950
+ set haAzureEipNameResourceGroup(value) {
1951
+ this._haAzureEipNameResourceGroup = value;
1952
+ }
1953
+ resetHaAzureEipNameResourceGroup() {
1954
+ this._haAzureEipNameResourceGroup = undefined;
1955
+ }
1956
+ // Temporarily expose input value. Use with caution.
1957
+ get haAzureEipNameResourceGroupInput() {
1958
+ return this._haAzureEipNameResourceGroup;
1959
+ }
1960
+ // ha_bgp_lan_ip_list - computed: true, optional: false, required: false
1961
+ get haBgpLanIpList() {
1962
+ return this.getListAttribute('ha_bgp_lan_ip_list');
1963
+ }
1964
+ // ha_cloud_instance_id - computed: true, optional: false, required: false
1965
+ get haCloudInstanceId() {
1966
+ return this.getStringAttribute('ha_cloud_instance_id');
1967
+ }
1968
+ // ha_device_id - computed: false, optional: true, required: false
1969
+ _haDeviceId;
1970
+ get haDeviceId() {
1971
+ return this.getStringAttribute('ha_device_id');
1972
+ }
1973
+ set haDeviceId(value) {
1974
+ this._haDeviceId = value;
1975
+ }
1976
+ resetHaDeviceId() {
1977
+ this._haDeviceId = undefined;
1978
+ }
1979
+ // Temporarily expose input value. Use with caution.
1980
+ get haDeviceIdInput() {
1981
+ return this._haDeviceId;
1982
+ }
1983
+ // ha_eip - computed: true, optional: true, required: false
1984
+ _haEip;
1985
+ get haEip() {
1986
+ return this.getStringAttribute('ha_eip');
1987
+ }
1988
+ set haEip(value) {
1989
+ this._haEip = value;
1990
+ }
1991
+ resetHaEip() {
1992
+ this._haEip = undefined;
1993
+ }
1994
+ // Temporarily expose input value. Use with caution.
1995
+ get haEipInput() {
1996
+ return this._haEip;
1997
+ }
1998
+ // ha_fault_domain - computed: true, optional: true, required: false
1999
+ _haFaultDomain;
2000
+ get haFaultDomain() {
2001
+ return this.getStringAttribute('ha_fault_domain');
2002
+ }
2003
+ set haFaultDomain(value) {
2004
+ this._haFaultDomain = value;
2005
+ }
2006
+ resetHaFaultDomain() {
2007
+ this._haFaultDomain = undefined;
2008
+ }
2009
+ // Temporarily expose input value. Use with caution.
2010
+ get haFaultDomainInput() {
2011
+ return this._haFaultDomain;
2012
+ }
2013
+ // ha_gw_name - computed: true, optional: false, required: false
2014
+ get haGwName() {
2015
+ return this.getStringAttribute('ha_gw_name');
2016
+ }
2017
+ // ha_gw_size - computed: false, optional: true, required: false
2018
+ _haGwSize;
2019
+ get haGwSize() {
2020
+ return this.getStringAttribute('ha_gw_size');
2021
+ }
2022
+ set haGwSize(value) {
2023
+ this._haGwSize = value;
2024
+ }
2025
+ resetHaGwSize() {
2026
+ this._haGwSize = undefined;
2027
+ }
2028
+ // Temporarily expose input value. Use with caution.
2029
+ get haGwSizeInput() {
2030
+ return this._haGwSize;
2031
+ }
2032
+ // ha_image_version - computed: true, optional: true, required: false
2033
+ _haImageVersion;
2034
+ get haImageVersion() {
2035
+ return this.getStringAttribute('ha_image_version');
2036
+ }
2037
+ set haImageVersion(value) {
2038
+ this._haImageVersion = value;
2039
+ }
2040
+ resetHaImageVersion() {
2041
+ this._haImageVersion = undefined;
2042
+ }
2043
+ // Temporarily expose input value. Use with caution.
2044
+ get haImageVersionInput() {
2045
+ return this._haImageVersion;
2046
+ }
2047
+ // ha_insane_mode_az - computed: false, optional: true, required: false
2048
+ _haInsaneModeAz;
2049
+ get haInsaneModeAz() {
2050
+ return this.getStringAttribute('ha_insane_mode_az');
2051
+ }
2052
+ set haInsaneModeAz(value) {
2053
+ this._haInsaneModeAz = value;
2054
+ }
2055
+ resetHaInsaneModeAz() {
2056
+ this._haInsaneModeAz = undefined;
2057
+ }
2058
+ // Temporarily expose input value. Use with caution.
2059
+ get haInsaneModeAzInput() {
2060
+ return this._haInsaneModeAz;
2061
+ }
2062
+ // ha_lan_interface_cidr - computed: true, optional: false, required: false
2063
+ get haLanInterfaceCidr() {
2064
+ return this.getStringAttribute('ha_lan_interface_cidr');
2065
+ }
2066
+ // ha_management_egress_ip_prefix_list - computed: false, optional: true, required: false
2067
+ _haManagementEgressIpPrefixList;
2068
+ get haManagementEgressIpPrefixList() {
2069
+ return cdktf.Fn.tolist(this.getListAttribute('ha_management_egress_ip_prefix_list'));
2070
+ }
2071
+ set haManagementEgressIpPrefixList(value) {
2072
+ this._haManagementEgressIpPrefixList = value;
2073
+ }
2074
+ resetHaManagementEgressIpPrefixList() {
2075
+ this._haManagementEgressIpPrefixList = undefined;
2076
+ }
2077
+ // Temporarily expose input value. Use with caution.
2078
+ get haManagementEgressIpPrefixListInput() {
2079
+ return this._haManagementEgressIpPrefixList;
2080
+ }
2081
+ // ha_oob_availability_zone - computed: false, optional: true, required: false
2082
+ _haOobAvailabilityZone;
2083
+ get haOobAvailabilityZone() {
2084
+ return this.getStringAttribute('ha_oob_availability_zone');
2085
+ }
2086
+ set haOobAvailabilityZone(value) {
2087
+ this._haOobAvailabilityZone = value;
2088
+ }
2089
+ resetHaOobAvailabilityZone() {
2090
+ this._haOobAvailabilityZone = undefined;
2091
+ }
2092
+ // Temporarily expose input value. Use with caution.
2093
+ get haOobAvailabilityZoneInput() {
2094
+ return this._haOobAvailabilityZone;
2095
+ }
2096
+ // ha_oob_management_subnet - computed: false, optional: true, required: false
2097
+ _haOobManagementSubnet;
2098
+ get haOobManagementSubnet() {
2099
+ return this.getStringAttribute('ha_oob_management_subnet');
2100
+ }
2101
+ set haOobManagementSubnet(value) {
2102
+ this._haOobManagementSubnet = value;
2103
+ }
2104
+ resetHaOobManagementSubnet() {
2105
+ this._haOobManagementSubnet = undefined;
2106
+ }
2107
+ // Temporarily expose input value. Use with caution.
2108
+ get haOobManagementSubnetInput() {
2109
+ return this._haOobManagementSubnet;
2110
+ }
2111
+ // ha_private_ip - computed: true, optional: false, required: false
2112
+ get haPrivateIp() {
2113
+ return this.getStringAttribute('ha_private_ip');
2114
+ }
2115
+ // ha_private_mode_subnet_zone - computed: false, optional: true, required: false
2116
+ _haPrivateModeSubnetZone;
2117
+ get haPrivateModeSubnetZone() {
2118
+ return this.getStringAttribute('ha_private_mode_subnet_zone');
2119
+ }
2120
+ set haPrivateModeSubnetZone(value) {
2121
+ this._haPrivateModeSubnetZone = value;
2122
+ }
2123
+ resetHaPrivateModeSubnetZone() {
2124
+ this._haPrivateModeSubnetZone = undefined;
2125
+ }
2126
+ // Temporarily expose input value. Use with caution.
2127
+ get haPrivateModeSubnetZoneInput() {
2128
+ return this._haPrivateModeSubnetZone;
2129
+ }
2130
+ // ha_public_ip - computed: true, optional: false, required: false
2131
+ get haPublicIp() {
2132
+ return this.getStringAttribute('ha_public_ip');
2133
+ }
2134
+ // ha_security_group_id - computed: true, optional: false, required: false
2135
+ get haSecurityGroupId() {
2136
+ return this.getStringAttribute('ha_security_group_id');
2137
+ }
2138
+ // ha_software_version - computed: true, optional: true, required: false
2139
+ _haSoftwareVersion;
2140
+ get haSoftwareVersion() {
2141
+ return this.getStringAttribute('ha_software_version');
2142
+ }
2143
+ set haSoftwareVersion(value) {
2144
+ this._haSoftwareVersion = value;
2145
+ }
2146
+ resetHaSoftwareVersion() {
2147
+ this._haSoftwareVersion = undefined;
2148
+ }
2149
+ // Temporarily expose input value. Use with caution.
2150
+ get haSoftwareVersionInput() {
2151
+ return this._haSoftwareVersion;
2152
+ }
2153
+ // ha_subnet - computed: false, optional: true, required: false
2154
+ _haSubnet;
2155
+ get haSubnet() {
2156
+ return this.getStringAttribute('ha_subnet');
2157
+ }
2158
+ set haSubnet(value) {
2159
+ this._haSubnet = value;
2160
+ }
2161
+ resetHaSubnet() {
2162
+ this._haSubnet = undefined;
2163
+ }
2164
+ // Temporarily expose input value. Use with caution.
2165
+ get haSubnetInput() {
2166
+ return this._haSubnet;
2167
+ }
2168
+ // ha_zone - computed: false, optional: true, required: false
2169
+ _haZone;
2170
+ get haZone() {
2171
+ return this.getStringAttribute('ha_zone');
2172
+ }
2173
+ set haZone(value) {
2174
+ this._haZone = value;
2175
+ }
2176
+ resetHaZone() {
2177
+ this._haZone = undefined;
2178
+ }
2179
+ // Temporarily expose input value. Use with caution.
2180
+ get haZoneInput() {
2181
+ return this._haZone;
2182
+ }
2183
+ // id - computed: true, optional: true, required: false
2184
+ _id;
2185
+ get id() {
2186
+ return this.getStringAttribute('id');
2187
+ }
2188
+ set id(value) {
2189
+ this._id = value;
2190
+ }
2191
+ resetId() {
2192
+ this._id = undefined;
2193
+ }
2194
+ // Temporarily expose input value. Use with caution.
2195
+ get idInput() {
2196
+ return this._id;
2197
+ }
2198
+ // image_version - computed: true, optional: true, required: false
2199
+ _imageVersion;
2200
+ get imageVersion() {
2201
+ return this.getStringAttribute('image_version');
2202
+ }
2203
+ set imageVersion(value) {
2204
+ this._imageVersion = value;
2205
+ }
2206
+ resetImageVersion() {
2207
+ this._imageVersion = undefined;
2208
+ }
2209
+ // Temporarily expose input value. Use with caution.
2210
+ get imageVersionInput() {
2211
+ return this._imageVersion;
2212
+ }
2213
+ // insane_mode - computed: false, optional: true, required: false
2214
+ _insaneMode;
2215
+ get insaneMode() {
2216
+ return this.getBooleanAttribute('insane_mode');
2217
+ }
2218
+ set insaneMode(value) {
2219
+ this._insaneMode = value;
2220
+ }
2221
+ resetInsaneMode() {
2222
+ this._insaneMode = undefined;
2223
+ }
2224
+ // Temporarily expose input value. Use with caution.
2225
+ get insaneModeInput() {
2226
+ return this._insaneMode;
2227
+ }
2228
+ // insane_mode_az - computed: false, optional: true, required: false
2229
+ _insaneModeAz;
2230
+ get insaneModeAz() {
2231
+ return this.getStringAttribute('insane_mode_az');
2232
+ }
2233
+ set insaneModeAz(value) {
2234
+ this._insaneModeAz = value;
2235
+ }
2236
+ resetInsaneModeAz() {
2237
+ this._insaneModeAz = undefined;
2238
+ }
2239
+ // Temporarily expose input value. Use with caution.
2240
+ get insaneModeAzInput() {
2241
+ return this._insaneModeAz;
2242
+ }
2243
+ // lan_interface_cidr - computed: true, optional: false, required: false
2244
+ get lanInterfaceCidr() {
2245
+ return this.getStringAttribute('lan_interface_cidr');
2246
+ }
2247
+ // lan_private_subnet - computed: false, optional: true, required: false
2248
+ _lanPrivateSubnet;
2249
+ get lanPrivateSubnet() {
2250
+ return this.getStringAttribute('lan_private_subnet');
2251
+ }
2252
+ set lanPrivateSubnet(value) {
2253
+ this._lanPrivateSubnet = value;
2254
+ }
2255
+ resetLanPrivateSubnet() {
2256
+ this._lanPrivateSubnet = undefined;
2257
+ }
2258
+ // Temporarily expose input value. Use with caution.
2259
+ get lanPrivateSubnetInput() {
2260
+ return this._lanPrivateSubnet;
2261
+ }
2262
+ // lan_vpc_id - computed: false, optional: true, required: false
2263
+ _lanVpcId;
2264
+ get lanVpcId() {
2265
+ return this.getStringAttribute('lan_vpc_id');
2266
+ }
2267
+ set lanVpcId(value) {
2268
+ this._lanVpcId = value;
2269
+ }
2270
+ resetLanVpcId() {
2271
+ this._lanVpcId = undefined;
2272
+ }
2273
+ // Temporarily expose input value. Use with caution.
2274
+ get lanVpcIdInput() {
2275
+ return this._lanVpcId;
2276
+ }
2277
+ // learned_cidrs_approval_mode - computed: false, optional: true, required: false
2278
+ _learnedCidrsApprovalMode;
2279
+ get learnedCidrsApprovalMode() {
2280
+ return this.getStringAttribute('learned_cidrs_approval_mode');
2281
+ }
2282
+ set learnedCidrsApprovalMode(value) {
2283
+ this._learnedCidrsApprovalMode = value;
2284
+ }
2285
+ resetLearnedCidrsApprovalMode() {
2286
+ this._learnedCidrsApprovalMode = undefined;
2287
+ }
2288
+ // Temporarily expose input value. Use with caution.
2289
+ get learnedCidrsApprovalModeInput() {
2290
+ return this._learnedCidrsApprovalMode;
2291
+ }
2292
+ // local_as_number - computed: true, optional: true, required: false
2293
+ _localAsNumber;
2294
+ get localAsNumber() {
2295
+ return this.getStringAttribute('local_as_number');
2296
+ }
2297
+ set localAsNumber(value) {
2298
+ this._localAsNumber = value;
2299
+ }
2300
+ resetLocalAsNumber() {
2301
+ this._localAsNumber = undefined;
2302
+ }
2303
+ // Temporarily expose input value. Use with caution.
2304
+ get localAsNumberInput() {
2305
+ return this._localAsNumber;
2306
+ }
2307
+ // management_egress_ip_prefix_list - computed: false, optional: true, required: false
2308
+ _managementEgressIpPrefixList;
2309
+ get managementEgressIpPrefixList() {
2310
+ return cdktf.Fn.tolist(this.getListAttribute('management_egress_ip_prefix_list'));
2311
+ }
2312
+ set managementEgressIpPrefixList(value) {
2313
+ this._managementEgressIpPrefixList = value;
2314
+ }
2315
+ resetManagementEgressIpPrefixList() {
2316
+ this._managementEgressIpPrefixList = undefined;
2317
+ }
2318
+ // Temporarily expose input value. Use with caution.
2319
+ get managementEgressIpPrefixListInput() {
2320
+ return this._managementEgressIpPrefixList;
2321
+ }
2322
+ // monitor_exclude_list - computed: false, optional: true, required: false
2323
+ _monitorExcludeList;
2324
+ get monitorExcludeList() {
2325
+ return cdktf.Fn.tolist(this.getListAttribute('monitor_exclude_list'));
2326
+ }
2327
+ set monitorExcludeList(value) {
2328
+ this._monitorExcludeList = value;
2329
+ }
2330
+ resetMonitorExcludeList() {
2331
+ this._monitorExcludeList = undefined;
2332
+ }
2333
+ // Temporarily expose input value. Use with caution.
2334
+ get monitorExcludeListInput() {
2335
+ return this._monitorExcludeList;
2336
+ }
2337
+ // oob_availability_zone - computed: false, optional: true, required: false
2338
+ _oobAvailabilityZone;
2339
+ get oobAvailabilityZone() {
2340
+ return this.getStringAttribute('oob_availability_zone');
2341
+ }
2342
+ set oobAvailabilityZone(value) {
2343
+ this._oobAvailabilityZone = value;
2344
+ }
2345
+ resetOobAvailabilityZone() {
2346
+ this._oobAvailabilityZone = undefined;
2347
+ }
2348
+ // Temporarily expose input value. Use with caution.
2349
+ get oobAvailabilityZoneInput() {
2350
+ return this._oobAvailabilityZone;
2351
+ }
2352
+ // oob_management_subnet - computed: false, optional: true, required: false
2353
+ _oobManagementSubnet;
2354
+ get oobManagementSubnet() {
2355
+ return this.getStringAttribute('oob_management_subnet');
2356
+ }
2357
+ set oobManagementSubnet(value) {
2358
+ this._oobManagementSubnet = value;
2359
+ }
2360
+ resetOobManagementSubnet() {
2361
+ this._oobManagementSubnet = undefined;
2362
+ }
2363
+ // Temporarily expose input value. Use with caution.
2364
+ get oobManagementSubnetInput() {
2365
+ return this._oobManagementSubnet;
2366
+ }
2367
+ // peer_backup_logical_ifname - computed: false, optional: true, required: false
2368
+ _peerBackupLogicalIfname;
2369
+ get peerBackupLogicalIfname() {
2370
+ return this.getListAttribute('peer_backup_logical_ifname');
2371
+ }
2372
+ set peerBackupLogicalIfname(value) {
2373
+ this._peerBackupLogicalIfname = value;
2374
+ }
2375
+ resetPeerBackupLogicalIfname() {
2376
+ this._peerBackupLogicalIfname = undefined;
2377
+ }
2378
+ // Temporarily expose input value. Use with caution.
2379
+ get peerBackupLogicalIfnameInput() {
2380
+ return this._peerBackupLogicalIfname;
2381
+ }
2382
+ // peer_connection_type - computed: false, optional: true, required: false
2383
+ _peerConnectionType;
2384
+ get peerConnectionType() {
2385
+ return this.getStringAttribute('peer_connection_type');
2386
+ }
2387
+ set peerConnectionType(value) {
2388
+ this._peerConnectionType = value;
2389
+ }
2390
+ resetPeerConnectionType() {
2391
+ this._peerConnectionType = undefined;
2392
+ }
2393
+ // Temporarily expose input value. Use with caution.
2394
+ get peerConnectionTypeInput() {
2395
+ return this._peerConnectionType;
2396
+ }
2397
+ // prepend_as_path - computed: false, optional: true, required: false
2398
+ _prependAsPath;
2399
+ get prependAsPath() {
2400
+ return this.getListAttribute('prepend_as_path');
2401
+ }
2402
+ set prependAsPath(value) {
2403
+ this._prependAsPath = value;
2404
+ }
2405
+ resetPrependAsPath() {
2406
+ this._prependAsPath = undefined;
2407
+ }
2408
+ // Temporarily expose input value. Use with caution.
2409
+ get prependAsPathInput() {
2410
+ return this._prependAsPath;
2411
+ }
2412
+ // private_ip - computed: true, optional: false, required: false
2413
+ get privateIp() {
2414
+ return this.getStringAttribute('private_ip');
2415
+ }
2416
+ // private_mode_lb_vpc_id - computed: false, optional: true, required: false
2417
+ _privateModeLbVpcId;
2418
+ get privateModeLbVpcId() {
2419
+ return this.getStringAttribute('private_mode_lb_vpc_id');
2420
+ }
2421
+ set privateModeLbVpcId(value) {
2422
+ this._privateModeLbVpcId = value;
2423
+ }
2424
+ resetPrivateModeLbVpcId() {
2425
+ this._privateModeLbVpcId = undefined;
2426
+ }
2427
+ // Temporarily expose input value. Use with caution.
2428
+ get privateModeLbVpcIdInput() {
2429
+ return this._privateModeLbVpcId;
2430
+ }
2431
+ // private_mode_subnet_zone - computed: false, optional: true, required: false
2432
+ _privateModeSubnetZone;
2433
+ get privateModeSubnetZone() {
2434
+ return this.getStringAttribute('private_mode_subnet_zone');
2435
+ }
2436
+ set privateModeSubnetZone(value) {
2437
+ this._privateModeSubnetZone = value;
2438
+ }
2439
+ resetPrivateModeSubnetZone() {
2440
+ this._privateModeSubnetZone = undefined;
2441
+ }
2442
+ // Temporarily expose input value. Use with caution.
2443
+ get privateModeSubnetZoneInput() {
2444
+ return this._privateModeSubnetZone;
2445
+ }
2446
+ // public_ip - computed: true, optional: false, required: false
2447
+ get publicIp() {
2448
+ return this.getStringAttribute('public_ip');
2449
+ }
2450
+ // rx_queue_size - computed: false, optional: true, required: false
2451
+ _rxQueueSize;
2452
+ get rxQueueSize() {
2453
+ return this.getStringAttribute('rx_queue_size');
2454
+ }
2455
+ set rxQueueSize(value) {
2456
+ this._rxQueueSize = value;
2457
+ }
2458
+ resetRxQueueSize() {
2459
+ this._rxQueueSize = undefined;
2460
+ }
2461
+ // Temporarily expose input value. Use with caution.
2462
+ get rxQueueSizeInput() {
2463
+ return this._rxQueueSize;
2464
+ }
2465
+ // security_group_id - computed: true, optional: false, required: false
2466
+ get securityGroupId() {
2467
+ return this.getStringAttribute('security_group_id');
2468
+ }
2469
+ // single_az_ha - computed: false, optional: true, required: false
2470
+ _singleAzHa;
2471
+ get singleAzHa() {
2472
+ return this.getBooleanAttribute('single_az_ha');
2473
+ }
2474
+ set singleAzHa(value) {
2475
+ this._singleAzHa = value;
2476
+ }
2477
+ resetSingleAzHa() {
2478
+ this._singleAzHa = undefined;
2479
+ }
2480
+ // Temporarily expose input value. Use with caution.
2481
+ get singleAzHaInput() {
2482
+ return this._singleAzHa;
2483
+ }
2484
+ // single_ip_snat - computed: false, optional: true, required: false
2485
+ _singleIpSnat;
2486
+ get singleIpSnat() {
2487
+ return this.getBooleanAttribute('single_ip_snat');
2488
+ }
2489
+ set singleIpSnat(value) {
2490
+ this._singleIpSnat = value;
2491
+ }
2492
+ resetSingleIpSnat() {
2493
+ this._singleIpSnat = undefined;
2494
+ }
2495
+ // Temporarily expose input value. Use with caution.
2496
+ get singleIpSnatInput() {
2497
+ return this._singleIpSnat;
2498
+ }
2499
+ // software_version - computed: true, optional: true, required: false
2500
+ _softwareVersion;
2501
+ get softwareVersion() {
2502
+ return this.getStringAttribute('software_version');
2503
+ }
2504
+ set softwareVersion(value) {
2505
+ this._softwareVersion = value;
2506
+ }
2507
+ resetSoftwareVersion() {
2508
+ this._softwareVersion = undefined;
2509
+ }
2510
+ // Temporarily expose input value. Use with caution.
2511
+ get softwareVersionInput() {
2512
+ return this._softwareVersion;
2513
+ }
2514
+ // spot_price - computed: false, optional: true, required: false
2515
+ _spotPrice;
2516
+ get spotPrice() {
2517
+ return this.getStringAttribute('spot_price');
2518
+ }
2519
+ set spotPrice(value) {
2520
+ this._spotPrice = value;
2521
+ }
2522
+ resetSpotPrice() {
2523
+ this._spotPrice = undefined;
2524
+ }
2525
+ // Temporarily expose input value. Use with caution.
2526
+ get spotPriceInput() {
2527
+ return this._spotPrice;
2528
+ }
2529
+ // subnet - computed: false, optional: true, required: false
2530
+ _subnet;
2531
+ get subnet() {
2532
+ return this.getStringAttribute('subnet');
2533
+ }
2534
+ set subnet(value) {
2535
+ this._subnet = value;
2536
+ }
2537
+ resetSubnet() {
2538
+ this._subnet = undefined;
2539
+ }
2540
+ // Temporarily expose input value. Use with caution.
2541
+ get subnetInput() {
2542
+ return this._subnet;
2543
+ }
2544
+ // tags - computed: false, optional: true, required: false
2545
+ _tags;
2546
+ get tags() {
2547
+ return this.getStringMapAttribute('tags');
2548
+ }
2549
+ set tags(value) {
2550
+ this._tags = value;
2551
+ }
2552
+ resetTags() {
2553
+ this._tags = undefined;
2554
+ }
2555
+ // Temporarily expose input value. Use with caution.
2556
+ get tagsInput() {
2557
+ return this._tags;
2558
+ }
2559
+ // tunnel_detection_time - computed: true, optional: true, required: false
2560
+ _tunnelDetectionTime;
2561
+ get tunnelDetectionTime() {
2562
+ return this.getNumberAttribute('tunnel_detection_time');
2563
+ }
2564
+ set tunnelDetectionTime(value) {
2565
+ this._tunnelDetectionTime = value;
2566
+ }
2567
+ resetTunnelDetectionTime() {
2568
+ this._tunnelDetectionTime = undefined;
2569
+ }
2570
+ // Temporarily expose input value. Use with caution.
2571
+ get tunnelDetectionTimeInput() {
2572
+ return this._tunnelDetectionTime;
2573
+ }
2574
+ // vpc_id - computed: false, optional: false, required: true
2575
+ _vpcId;
2576
+ get vpcId() {
2577
+ return this.getStringAttribute('vpc_id');
2578
+ }
2579
+ set vpcId(value) {
2580
+ this._vpcId = value;
2581
+ }
2582
+ // Temporarily expose input value. Use with caution.
2583
+ get vpcIdInput() {
2584
+ return this._vpcId;
2585
+ }
2586
+ // vpc_reg - computed: false, optional: true, required: false
2587
+ _vpcReg;
2588
+ get vpcReg() {
2589
+ return this.getStringAttribute('vpc_reg');
2590
+ }
2591
+ set vpcReg(value) {
2592
+ this._vpcReg = value;
2593
+ }
2594
+ resetVpcReg() {
2595
+ this._vpcReg = undefined;
2596
+ }
2597
+ // Temporarily expose input value. Use with caution.
2598
+ get vpcRegInput() {
2599
+ return this._vpcReg;
2600
+ }
2601
+ // zone - computed: false, optional: true, required: false
2602
+ _zone;
2603
+ get zone() {
2604
+ return this.getStringAttribute('zone');
2605
+ }
2606
+ set zone(value) {
2607
+ this._zone = value;
2608
+ }
2609
+ resetZone() {
2610
+ this._zone = undefined;
2611
+ }
2612
+ // Temporarily expose input value. Use with caution.
2613
+ get zoneInput() {
2614
+ return this._zone;
2615
+ }
2616
+ // ztp_file_download_path - computed: false, optional: true, required: false
2617
+ _ztpFileDownloadPath;
2618
+ get ztpFileDownloadPath() {
2619
+ return this.getStringAttribute('ztp_file_download_path');
2620
+ }
2621
+ set ztpFileDownloadPath(value) {
2622
+ this._ztpFileDownloadPath = value;
2623
+ }
2624
+ resetZtpFileDownloadPath() {
2625
+ this._ztpFileDownloadPath = undefined;
2626
+ }
2627
+ // Temporarily expose input value. Use with caution.
2628
+ get ztpFileDownloadPathInput() {
2629
+ return this._ztpFileDownloadPath;
2630
+ }
2631
+ // ztp_file_type - computed: false, optional: true, required: false
2632
+ _ztpFileType;
2633
+ get ztpFileType() {
2634
+ return this.getStringAttribute('ztp_file_type');
2635
+ }
2636
+ set ztpFileType(value) {
2637
+ this._ztpFileType = value;
2638
+ }
2639
+ resetZtpFileType() {
2640
+ this._ztpFileType = undefined;
2641
+ }
2642
+ // Temporarily expose input value. Use with caution.
2643
+ get ztpFileTypeInput() {
2644
+ return this._ztpFileType;
2645
+ }
2646
+ // bgp_lan_interfaces - computed: false, optional: true, required: false
2647
+ _bgpLanInterfaces = new TransitGatewayBgpLanInterfacesList(this, "bgp_lan_interfaces", false);
2648
+ get bgpLanInterfaces() {
2649
+ return this._bgpLanInterfaces;
2650
+ }
2651
+ putBgpLanInterfaces(value) {
2652
+ this._bgpLanInterfaces.internalValue = value;
2653
+ }
2654
+ resetBgpLanInterfaces() {
2655
+ this._bgpLanInterfaces.internalValue = undefined;
2656
+ }
2657
+ // Temporarily expose input value. Use with caution.
2658
+ get bgpLanInterfacesInput() {
2659
+ return this._bgpLanInterfaces.internalValue;
2660
+ }
2661
+ // eip_map - computed: false, optional: true, required: false
2662
+ _eipMap = new TransitGatewayEipMapList(this, "eip_map", false);
2663
+ get eipMap() {
2664
+ return this._eipMap;
2665
+ }
2666
+ putEipMap(value) {
2667
+ this._eipMap.internalValue = value;
2668
+ }
2669
+ resetEipMap() {
2670
+ this._eipMap.internalValue = undefined;
2671
+ }
2672
+ // Temporarily expose input value. Use with caution.
2673
+ get eipMapInput() {
2674
+ return this._eipMap.internalValue;
2675
+ }
2676
+ // ha_bgp_lan_interfaces - computed: false, optional: true, required: false
2677
+ _haBgpLanInterfaces = new TransitGatewayHaBgpLanInterfacesList(this, "ha_bgp_lan_interfaces", false);
2678
+ get haBgpLanInterfaces() {
2679
+ return this._haBgpLanInterfaces;
2680
+ }
2681
+ putHaBgpLanInterfaces(value) {
2682
+ this._haBgpLanInterfaces.internalValue = value;
2683
+ }
2684
+ resetHaBgpLanInterfaces() {
2685
+ this._haBgpLanInterfaces.internalValue = undefined;
2686
+ }
2687
+ // Temporarily expose input value. Use with caution.
2688
+ get haBgpLanInterfacesInput() {
2689
+ return this._haBgpLanInterfaces.internalValue;
2690
+ }
2691
+ // ha_interfaces - computed: false, optional: true, required: false
2692
+ _haInterfaces = new TransitGatewayHaInterfacesList(this, "ha_interfaces", false);
2693
+ get haInterfaces() {
2694
+ return this._haInterfaces;
2695
+ }
2696
+ putHaInterfaces(value) {
2697
+ this._haInterfaces.internalValue = value;
2698
+ }
2699
+ resetHaInterfaces() {
2700
+ this._haInterfaces.internalValue = undefined;
2701
+ }
2702
+ // Temporarily expose input value. Use with caution.
2703
+ get haInterfacesInput() {
2704
+ return this._haInterfaces.internalValue;
2705
+ }
2706
+ // interface_mapping - computed: false, optional: true, required: false
2707
+ _interfaceMapping = new TransitGatewayInterfaceMappingList(this, "interface_mapping", false);
2708
+ get interfaceMapping() {
2709
+ return this._interfaceMapping;
2710
+ }
2711
+ putInterfaceMapping(value) {
2712
+ this._interfaceMapping.internalValue = value;
2713
+ }
2714
+ resetInterfaceMapping() {
2715
+ this._interfaceMapping.internalValue = undefined;
2716
+ }
2717
+ // Temporarily expose input value. Use with caution.
2718
+ get interfaceMappingInput() {
2719
+ return this._interfaceMapping.internalValue;
2720
+ }
2721
+ // interfaces - computed: false, optional: true, required: false
2722
+ _interfaces = new TransitGatewayInterfacesList(this, "interfaces", false);
2723
+ get interfaces() {
2724
+ return this._interfaces;
2725
+ }
2726
+ putInterfaces(value) {
2727
+ this._interfaces.internalValue = value;
2728
+ }
2729
+ resetInterfaces() {
2730
+ this._interfaces.internalValue = undefined;
2731
+ }
2732
+ // Temporarily expose input value. Use with caution.
2733
+ get interfacesInput() {
2734
+ return this._interfaces.internalValue;
2735
+ }
2736
+ // =========
2737
+ // SYNTHESIS
2738
+ // =========
2739
+ synthesizeAttributes() {
2740
+ return {
2741
+ account_name: cdktf.stringToTerraform(this._accountName),
2742
+ allocate_new_eip: cdktf.booleanToTerraform(this._allocateNewEip),
2743
+ approved_learned_cidrs: cdktf.listMapper(cdktf.stringToTerraform, false)(this._approvedLearnedCidrs),
2744
+ availability_domain: cdktf.stringToTerraform(this._availabilityDomain),
2745
+ azure_eip_name_resource_group: cdktf.stringToTerraform(this._azureEipNameResourceGroup),
2746
+ bgp_accept_communities: cdktf.booleanToTerraform(this._bgpAcceptCommunities),
2747
+ bgp_ecmp: cdktf.booleanToTerraform(this._bgpEcmp),
2748
+ bgp_hold_time: cdktf.numberToTerraform(this._bgpHoldTime),
2749
+ bgp_lan_interfaces_count: cdktf.numberToTerraform(this._bgpLanInterfacesCount),
2750
+ bgp_manual_spoke_advertise_cidrs: cdktf.stringToTerraform(this._bgpManualSpokeAdvertiseCidrs),
2751
+ bgp_neighbor_status_polling_time: cdktf.numberToTerraform(this._bgpNeighborStatusPollingTime),
2752
+ bgp_polling_time: cdktf.numberToTerraform(this._bgpPollingTime),
2753
+ bgp_send_communities: cdktf.booleanToTerraform(this._bgpSendCommunities),
2754
+ cloud_type: cdktf.numberToTerraform(this._cloudType),
2755
+ connected_transit: cdktf.booleanToTerraform(this._connectedTransit),
2756
+ customer_managed_keys: cdktf.stringToTerraform(this._customerManagedKeys),
2757
+ customized_spoke_vpc_routes: cdktf.stringToTerraform(this._customizedSpokeVpcRoutes),
2758
+ customized_transit_vpc_routes: cdktf.listMapper(cdktf.stringToTerraform, false)(this._customizedTransitVpcRoutes),
2759
+ delete_spot: cdktf.booleanToTerraform(this._deleteSpot),
2760
+ device_id: cdktf.stringToTerraform(this._deviceId),
2761
+ eip: cdktf.stringToTerraform(this._eip),
2762
+ enable_active_standby: cdktf.booleanToTerraform(this._enableActiveStandby),
2763
+ enable_active_standby_preemptive: cdktf.booleanToTerraform(this._enableActiveStandbyPreemptive),
2764
+ enable_advertise_transit_cidr: cdktf.booleanToTerraform(this._enableAdvertiseTransitCidr),
2765
+ enable_bgp_over_lan: cdktf.booleanToTerraform(this._enableBgpOverLan),
2766
+ enable_egress_transit_firenet: cdktf.booleanToTerraform(this._enableEgressTransitFirenet),
2767
+ enable_encrypt_volume: cdktf.booleanToTerraform(this._enableEncryptVolume),
2768
+ enable_firenet: cdktf.booleanToTerraform(this._enableFirenet),
2769
+ enable_gateway_load_balancer: cdktf.booleanToTerraform(this._enableGatewayLoadBalancer),
2770
+ enable_gro_gso: cdktf.booleanToTerraform(this._enableGroGso),
2771
+ enable_hybrid_connection: cdktf.booleanToTerraform(this._enableHybridConnection),
2772
+ enable_jumbo_frame: cdktf.booleanToTerraform(this._enableJumboFrame),
2773
+ enable_learned_cidrs_approval: cdktf.booleanToTerraform(this._enableLearnedCidrsApproval),
2774
+ enable_monitor_gateway_subnets: cdktf.booleanToTerraform(this._enableMonitorGatewaySubnets),
2775
+ enable_multi_tier_transit: cdktf.booleanToTerraform(this._enableMultiTierTransit),
2776
+ enable_preserve_as_path: cdktf.booleanToTerraform(this._enablePreserveAsPath),
2777
+ enable_private_oob: cdktf.booleanToTerraform(this._enablePrivateOob),
2778
+ enable_s2c_rx_balancing: cdktf.booleanToTerraform(this._enableS2CRxBalancing),
2779
+ enable_segmentation: cdktf.booleanToTerraform(this._enableSegmentation),
2780
+ enable_spot_instance: cdktf.booleanToTerraform(this._enableSpotInstance),
2781
+ enable_transit_firenet: cdktf.booleanToTerraform(this._enableTransitFirenet),
2782
+ enable_transit_summarize_cidr_to_tgw: cdktf.booleanToTerraform(this._enableTransitSummarizeCidrToTgw),
2783
+ enable_vpc_dns_server: cdktf.booleanToTerraform(this._enableVpcDnsServer),
2784
+ excluded_advertised_spoke_routes: cdktf.stringToTerraform(this._excludedAdvertisedSpokeRoutes),
2785
+ fault_domain: cdktf.stringToTerraform(this._faultDomain),
2786
+ filtered_spoke_vpc_routes: cdktf.stringToTerraform(this._filteredSpokeVpcRoutes),
2787
+ gw_name: cdktf.stringToTerraform(this._gwName),
2788
+ gw_size: cdktf.stringToTerraform(this._gwSize),
2789
+ ha_availability_domain: cdktf.stringToTerraform(this._haAvailabilityDomain),
2790
+ ha_azure_eip_name_resource_group: cdktf.stringToTerraform(this._haAzureEipNameResourceGroup),
2791
+ ha_device_id: cdktf.stringToTerraform(this._haDeviceId),
2792
+ ha_eip: cdktf.stringToTerraform(this._haEip),
2793
+ ha_fault_domain: cdktf.stringToTerraform(this._haFaultDomain),
2794
+ ha_gw_size: cdktf.stringToTerraform(this._haGwSize),
2795
+ ha_image_version: cdktf.stringToTerraform(this._haImageVersion),
2796
+ ha_insane_mode_az: cdktf.stringToTerraform(this._haInsaneModeAz),
2797
+ ha_management_egress_ip_prefix_list: cdktf.listMapper(cdktf.stringToTerraform, false)(this._haManagementEgressIpPrefixList),
2798
+ ha_oob_availability_zone: cdktf.stringToTerraform(this._haOobAvailabilityZone),
2799
+ ha_oob_management_subnet: cdktf.stringToTerraform(this._haOobManagementSubnet),
2800
+ ha_private_mode_subnet_zone: cdktf.stringToTerraform(this._haPrivateModeSubnetZone),
2801
+ ha_software_version: cdktf.stringToTerraform(this._haSoftwareVersion),
2802
+ ha_subnet: cdktf.stringToTerraform(this._haSubnet),
2803
+ ha_zone: cdktf.stringToTerraform(this._haZone),
2804
+ id: cdktf.stringToTerraform(this._id),
2805
+ image_version: cdktf.stringToTerraform(this._imageVersion),
2806
+ insane_mode: cdktf.booleanToTerraform(this._insaneMode),
2807
+ insane_mode_az: cdktf.stringToTerraform(this._insaneModeAz),
2808
+ lan_private_subnet: cdktf.stringToTerraform(this._lanPrivateSubnet),
2809
+ lan_vpc_id: cdktf.stringToTerraform(this._lanVpcId),
2810
+ learned_cidrs_approval_mode: cdktf.stringToTerraform(this._learnedCidrsApprovalMode),
2811
+ local_as_number: cdktf.stringToTerraform(this._localAsNumber),
2812
+ management_egress_ip_prefix_list: cdktf.listMapper(cdktf.stringToTerraform, false)(this._managementEgressIpPrefixList),
2813
+ monitor_exclude_list: cdktf.listMapper(cdktf.stringToTerraform, false)(this._monitorExcludeList),
2814
+ oob_availability_zone: cdktf.stringToTerraform(this._oobAvailabilityZone),
2815
+ oob_management_subnet: cdktf.stringToTerraform(this._oobManagementSubnet),
2816
+ peer_backup_logical_ifname: cdktf.listMapper(cdktf.stringToTerraform, false)(this._peerBackupLogicalIfname),
2817
+ peer_connection_type: cdktf.stringToTerraform(this._peerConnectionType),
2818
+ prepend_as_path: cdktf.listMapper(cdktf.stringToTerraform, false)(this._prependAsPath),
2819
+ private_mode_lb_vpc_id: cdktf.stringToTerraform(this._privateModeLbVpcId),
2820
+ private_mode_subnet_zone: cdktf.stringToTerraform(this._privateModeSubnetZone),
2821
+ rx_queue_size: cdktf.stringToTerraform(this._rxQueueSize),
2822
+ single_az_ha: cdktf.booleanToTerraform(this._singleAzHa),
2823
+ single_ip_snat: cdktf.booleanToTerraform(this._singleIpSnat),
2824
+ software_version: cdktf.stringToTerraform(this._softwareVersion),
2825
+ spot_price: cdktf.stringToTerraform(this._spotPrice),
2826
+ subnet: cdktf.stringToTerraform(this._subnet),
2827
+ tags: cdktf.hashMapper(cdktf.stringToTerraform)(this._tags),
2828
+ tunnel_detection_time: cdktf.numberToTerraform(this._tunnelDetectionTime),
2829
+ vpc_id: cdktf.stringToTerraform(this._vpcId),
2830
+ vpc_reg: cdktf.stringToTerraform(this._vpcReg),
2831
+ zone: cdktf.stringToTerraform(this._zone),
2832
+ ztp_file_download_path: cdktf.stringToTerraform(this._ztpFileDownloadPath),
2833
+ ztp_file_type: cdktf.stringToTerraform(this._ztpFileType),
2834
+ bgp_lan_interfaces: cdktf.listMapper(transitGatewayBgpLanInterfacesToTerraform, true)(this._bgpLanInterfaces.internalValue),
2835
+ eip_map: cdktf.listMapper(transitGatewayEipMapToTerraform, true)(this._eipMap.internalValue),
2836
+ ha_bgp_lan_interfaces: cdktf.listMapper(transitGatewayHaBgpLanInterfacesToTerraform, true)(this._haBgpLanInterfaces.internalValue),
2837
+ ha_interfaces: cdktf.listMapper(transitGatewayHaInterfacesToTerraform, true)(this._haInterfaces.internalValue),
2838
+ interface_mapping: cdktf.listMapper(transitGatewayInterfaceMappingToTerraform, true)(this._interfaceMapping.internalValue),
2839
+ interfaces: cdktf.listMapper(transitGatewayInterfacesToTerraform, true)(this._interfaces.internalValue),
2840
+ };
2841
+ }
2842
+ synthesizeHclAttributes() {
2843
+ const attrs = {
2844
+ account_name: {
2845
+ value: cdktf.stringToHclTerraform(this._accountName),
2846
+ isBlock: false,
2847
+ type: "simple",
2848
+ storageClassType: "string",
2849
+ },
2850
+ allocate_new_eip: {
2851
+ value: cdktf.booleanToHclTerraform(this._allocateNewEip),
2852
+ isBlock: false,
2853
+ type: "simple",
2854
+ storageClassType: "boolean",
2855
+ },
2856
+ approved_learned_cidrs: {
2857
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._approvedLearnedCidrs),
2858
+ isBlock: false,
2859
+ type: "set",
2860
+ storageClassType: "stringList",
2861
+ },
2862
+ availability_domain: {
2863
+ value: cdktf.stringToHclTerraform(this._availabilityDomain),
2864
+ isBlock: false,
2865
+ type: "simple",
2866
+ storageClassType: "string",
2867
+ },
2868
+ azure_eip_name_resource_group: {
2869
+ value: cdktf.stringToHclTerraform(this._azureEipNameResourceGroup),
2870
+ isBlock: false,
2871
+ type: "simple",
2872
+ storageClassType: "string",
2873
+ },
2874
+ bgp_accept_communities: {
2875
+ value: cdktf.booleanToHclTerraform(this._bgpAcceptCommunities),
2876
+ isBlock: false,
2877
+ type: "simple",
2878
+ storageClassType: "boolean",
2879
+ },
2880
+ bgp_ecmp: {
2881
+ value: cdktf.booleanToHclTerraform(this._bgpEcmp),
2882
+ isBlock: false,
2883
+ type: "simple",
2884
+ storageClassType: "boolean",
2885
+ },
2886
+ bgp_hold_time: {
2887
+ value: cdktf.numberToHclTerraform(this._bgpHoldTime),
2888
+ isBlock: false,
2889
+ type: "simple",
2890
+ storageClassType: "number",
2891
+ },
2892
+ bgp_lan_interfaces_count: {
2893
+ value: cdktf.numberToHclTerraform(this._bgpLanInterfacesCount),
2894
+ isBlock: false,
2895
+ type: "simple",
2896
+ storageClassType: "number",
2897
+ },
2898
+ bgp_manual_spoke_advertise_cidrs: {
2899
+ value: cdktf.stringToHclTerraform(this._bgpManualSpokeAdvertiseCidrs),
2900
+ isBlock: false,
2901
+ type: "simple",
2902
+ storageClassType: "string",
2903
+ },
2904
+ bgp_neighbor_status_polling_time: {
2905
+ value: cdktf.numberToHclTerraform(this._bgpNeighborStatusPollingTime),
2906
+ isBlock: false,
2907
+ type: "simple",
2908
+ storageClassType: "number",
2909
+ },
2910
+ bgp_polling_time: {
2911
+ value: cdktf.numberToHclTerraform(this._bgpPollingTime),
2912
+ isBlock: false,
2913
+ type: "simple",
2914
+ storageClassType: "number",
2915
+ },
2916
+ bgp_send_communities: {
2917
+ value: cdktf.booleanToHclTerraform(this._bgpSendCommunities),
2918
+ isBlock: false,
2919
+ type: "simple",
2920
+ storageClassType: "boolean",
2921
+ },
2922
+ cloud_type: {
2923
+ value: cdktf.numberToHclTerraform(this._cloudType),
2924
+ isBlock: false,
2925
+ type: "simple",
2926
+ storageClassType: "number",
2927
+ },
2928
+ connected_transit: {
2929
+ value: cdktf.booleanToHclTerraform(this._connectedTransit),
2930
+ isBlock: false,
2931
+ type: "simple",
2932
+ storageClassType: "boolean",
2933
+ },
2934
+ customer_managed_keys: {
2935
+ value: cdktf.stringToHclTerraform(this._customerManagedKeys),
2936
+ isBlock: false,
2937
+ type: "simple",
2938
+ storageClassType: "string",
2939
+ },
2940
+ customized_spoke_vpc_routes: {
2941
+ value: cdktf.stringToHclTerraform(this._customizedSpokeVpcRoutes),
2942
+ isBlock: false,
2943
+ type: "simple",
2944
+ storageClassType: "string",
2945
+ },
2946
+ customized_transit_vpc_routes: {
2947
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._customizedTransitVpcRoutes),
2948
+ isBlock: false,
2949
+ type: "set",
2950
+ storageClassType: "stringList",
2951
+ },
2952
+ delete_spot: {
2953
+ value: cdktf.booleanToHclTerraform(this._deleteSpot),
2954
+ isBlock: false,
2955
+ type: "simple",
2956
+ storageClassType: "boolean",
2957
+ },
2958
+ device_id: {
2959
+ value: cdktf.stringToHclTerraform(this._deviceId),
2960
+ isBlock: false,
2961
+ type: "simple",
2962
+ storageClassType: "string",
2963
+ },
2964
+ eip: {
2965
+ value: cdktf.stringToHclTerraform(this._eip),
2966
+ isBlock: false,
2967
+ type: "simple",
2968
+ storageClassType: "string",
2969
+ },
2970
+ enable_active_standby: {
2971
+ value: cdktf.booleanToHclTerraform(this._enableActiveStandby),
2972
+ isBlock: false,
2973
+ type: "simple",
2974
+ storageClassType: "boolean",
2975
+ },
2976
+ enable_active_standby_preemptive: {
2977
+ value: cdktf.booleanToHclTerraform(this._enableActiveStandbyPreemptive),
2978
+ isBlock: false,
2979
+ type: "simple",
2980
+ storageClassType: "boolean",
2981
+ },
2982
+ enable_advertise_transit_cidr: {
2983
+ value: cdktf.booleanToHclTerraform(this._enableAdvertiseTransitCidr),
2984
+ isBlock: false,
2985
+ type: "simple",
2986
+ storageClassType: "boolean",
2987
+ },
2988
+ enable_bgp_over_lan: {
2989
+ value: cdktf.booleanToHclTerraform(this._enableBgpOverLan),
2990
+ isBlock: false,
2991
+ type: "simple",
2992
+ storageClassType: "boolean",
2993
+ },
2994
+ enable_egress_transit_firenet: {
2995
+ value: cdktf.booleanToHclTerraform(this._enableEgressTransitFirenet),
2996
+ isBlock: false,
2997
+ type: "simple",
2998
+ storageClassType: "boolean",
2999
+ },
3000
+ enable_encrypt_volume: {
3001
+ value: cdktf.booleanToHclTerraform(this._enableEncryptVolume),
3002
+ isBlock: false,
3003
+ type: "simple",
3004
+ storageClassType: "boolean",
3005
+ },
3006
+ enable_firenet: {
3007
+ value: cdktf.booleanToHclTerraform(this._enableFirenet),
3008
+ isBlock: false,
3009
+ type: "simple",
3010
+ storageClassType: "boolean",
3011
+ },
3012
+ enable_gateway_load_balancer: {
3013
+ value: cdktf.booleanToHclTerraform(this._enableGatewayLoadBalancer),
3014
+ isBlock: false,
3015
+ type: "simple",
3016
+ storageClassType: "boolean",
3017
+ },
3018
+ enable_gro_gso: {
3019
+ value: cdktf.booleanToHclTerraform(this._enableGroGso),
3020
+ isBlock: false,
3021
+ type: "simple",
3022
+ storageClassType: "boolean",
3023
+ },
3024
+ enable_hybrid_connection: {
3025
+ value: cdktf.booleanToHclTerraform(this._enableHybridConnection),
3026
+ isBlock: false,
3027
+ type: "simple",
3028
+ storageClassType: "boolean",
3029
+ },
3030
+ enable_jumbo_frame: {
3031
+ value: cdktf.booleanToHclTerraform(this._enableJumboFrame),
3032
+ isBlock: false,
3033
+ type: "simple",
3034
+ storageClassType: "boolean",
3035
+ },
3036
+ enable_learned_cidrs_approval: {
3037
+ value: cdktf.booleanToHclTerraform(this._enableLearnedCidrsApproval),
3038
+ isBlock: false,
3039
+ type: "simple",
3040
+ storageClassType: "boolean",
3041
+ },
3042
+ enable_monitor_gateway_subnets: {
3043
+ value: cdktf.booleanToHclTerraform(this._enableMonitorGatewaySubnets),
3044
+ isBlock: false,
3045
+ type: "simple",
3046
+ storageClassType: "boolean",
3047
+ },
3048
+ enable_multi_tier_transit: {
3049
+ value: cdktf.booleanToHclTerraform(this._enableMultiTierTransit),
3050
+ isBlock: false,
3051
+ type: "simple",
3052
+ storageClassType: "boolean",
3053
+ },
3054
+ enable_preserve_as_path: {
3055
+ value: cdktf.booleanToHclTerraform(this._enablePreserveAsPath),
3056
+ isBlock: false,
3057
+ type: "simple",
3058
+ storageClassType: "boolean",
3059
+ },
3060
+ enable_private_oob: {
3061
+ value: cdktf.booleanToHclTerraform(this._enablePrivateOob),
3062
+ isBlock: false,
3063
+ type: "simple",
3064
+ storageClassType: "boolean",
3065
+ },
3066
+ enable_s2c_rx_balancing: {
3067
+ value: cdktf.booleanToHclTerraform(this._enableS2CRxBalancing),
3068
+ isBlock: false,
3069
+ type: "simple",
3070
+ storageClassType: "boolean",
3071
+ },
3072
+ enable_segmentation: {
3073
+ value: cdktf.booleanToHclTerraform(this._enableSegmentation),
3074
+ isBlock: false,
3075
+ type: "simple",
3076
+ storageClassType: "boolean",
3077
+ },
3078
+ enable_spot_instance: {
3079
+ value: cdktf.booleanToHclTerraform(this._enableSpotInstance),
3080
+ isBlock: false,
3081
+ type: "simple",
3082
+ storageClassType: "boolean",
3083
+ },
3084
+ enable_transit_firenet: {
3085
+ value: cdktf.booleanToHclTerraform(this._enableTransitFirenet),
3086
+ isBlock: false,
3087
+ type: "simple",
3088
+ storageClassType: "boolean",
3089
+ },
3090
+ enable_transit_summarize_cidr_to_tgw: {
3091
+ value: cdktf.booleanToHclTerraform(this._enableTransitSummarizeCidrToTgw),
3092
+ isBlock: false,
3093
+ type: "simple",
3094
+ storageClassType: "boolean",
3095
+ },
3096
+ enable_vpc_dns_server: {
3097
+ value: cdktf.booleanToHclTerraform(this._enableVpcDnsServer),
3098
+ isBlock: false,
3099
+ type: "simple",
3100
+ storageClassType: "boolean",
3101
+ },
3102
+ excluded_advertised_spoke_routes: {
3103
+ value: cdktf.stringToHclTerraform(this._excludedAdvertisedSpokeRoutes),
3104
+ isBlock: false,
3105
+ type: "simple",
3106
+ storageClassType: "string",
3107
+ },
3108
+ fault_domain: {
3109
+ value: cdktf.stringToHclTerraform(this._faultDomain),
3110
+ isBlock: false,
3111
+ type: "simple",
3112
+ storageClassType: "string",
3113
+ },
3114
+ filtered_spoke_vpc_routes: {
3115
+ value: cdktf.stringToHclTerraform(this._filteredSpokeVpcRoutes),
3116
+ isBlock: false,
3117
+ type: "simple",
3118
+ storageClassType: "string",
3119
+ },
3120
+ gw_name: {
3121
+ value: cdktf.stringToHclTerraform(this._gwName),
3122
+ isBlock: false,
3123
+ type: "simple",
3124
+ storageClassType: "string",
3125
+ },
3126
+ gw_size: {
3127
+ value: cdktf.stringToHclTerraform(this._gwSize),
3128
+ isBlock: false,
3129
+ type: "simple",
3130
+ storageClassType: "string",
3131
+ },
3132
+ ha_availability_domain: {
3133
+ value: cdktf.stringToHclTerraform(this._haAvailabilityDomain),
3134
+ isBlock: false,
3135
+ type: "simple",
3136
+ storageClassType: "string",
3137
+ },
3138
+ ha_azure_eip_name_resource_group: {
3139
+ value: cdktf.stringToHclTerraform(this._haAzureEipNameResourceGroup),
3140
+ isBlock: false,
3141
+ type: "simple",
3142
+ storageClassType: "string",
3143
+ },
3144
+ ha_device_id: {
3145
+ value: cdktf.stringToHclTerraform(this._haDeviceId),
3146
+ isBlock: false,
3147
+ type: "simple",
3148
+ storageClassType: "string",
3149
+ },
3150
+ ha_eip: {
3151
+ value: cdktf.stringToHclTerraform(this._haEip),
3152
+ isBlock: false,
3153
+ type: "simple",
3154
+ storageClassType: "string",
3155
+ },
3156
+ ha_fault_domain: {
3157
+ value: cdktf.stringToHclTerraform(this._haFaultDomain),
3158
+ isBlock: false,
3159
+ type: "simple",
3160
+ storageClassType: "string",
3161
+ },
3162
+ ha_gw_size: {
3163
+ value: cdktf.stringToHclTerraform(this._haGwSize),
3164
+ isBlock: false,
3165
+ type: "simple",
3166
+ storageClassType: "string",
3167
+ },
3168
+ ha_image_version: {
3169
+ value: cdktf.stringToHclTerraform(this._haImageVersion),
3170
+ isBlock: false,
3171
+ type: "simple",
3172
+ storageClassType: "string",
3173
+ },
3174
+ ha_insane_mode_az: {
3175
+ value: cdktf.stringToHclTerraform(this._haInsaneModeAz),
3176
+ isBlock: false,
3177
+ type: "simple",
3178
+ storageClassType: "string",
3179
+ },
3180
+ ha_management_egress_ip_prefix_list: {
3181
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._haManagementEgressIpPrefixList),
3182
+ isBlock: false,
3183
+ type: "set",
3184
+ storageClassType: "stringList",
3185
+ },
3186
+ ha_oob_availability_zone: {
3187
+ value: cdktf.stringToHclTerraform(this._haOobAvailabilityZone),
3188
+ isBlock: false,
3189
+ type: "simple",
3190
+ storageClassType: "string",
3191
+ },
3192
+ ha_oob_management_subnet: {
3193
+ value: cdktf.stringToHclTerraform(this._haOobManagementSubnet),
3194
+ isBlock: false,
3195
+ type: "simple",
3196
+ storageClassType: "string",
3197
+ },
3198
+ ha_private_mode_subnet_zone: {
3199
+ value: cdktf.stringToHclTerraform(this._haPrivateModeSubnetZone),
3200
+ isBlock: false,
3201
+ type: "simple",
3202
+ storageClassType: "string",
3203
+ },
3204
+ ha_software_version: {
3205
+ value: cdktf.stringToHclTerraform(this._haSoftwareVersion),
3206
+ isBlock: false,
3207
+ type: "simple",
3208
+ storageClassType: "string",
3209
+ },
3210
+ ha_subnet: {
3211
+ value: cdktf.stringToHclTerraform(this._haSubnet),
3212
+ isBlock: false,
3213
+ type: "simple",
3214
+ storageClassType: "string",
3215
+ },
3216
+ ha_zone: {
3217
+ value: cdktf.stringToHclTerraform(this._haZone),
3218
+ isBlock: false,
3219
+ type: "simple",
3220
+ storageClassType: "string",
3221
+ },
3222
+ id: {
3223
+ value: cdktf.stringToHclTerraform(this._id),
3224
+ isBlock: false,
3225
+ type: "simple",
3226
+ storageClassType: "string",
3227
+ },
3228
+ image_version: {
3229
+ value: cdktf.stringToHclTerraform(this._imageVersion),
3230
+ isBlock: false,
3231
+ type: "simple",
3232
+ storageClassType: "string",
3233
+ },
3234
+ insane_mode: {
3235
+ value: cdktf.booleanToHclTerraform(this._insaneMode),
3236
+ isBlock: false,
3237
+ type: "simple",
3238
+ storageClassType: "boolean",
3239
+ },
3240
+ insane_mode_az: {
3241
+ value: cdktf.stringToHclTerraform(this._insaneModeAz),
3242
+ isBlock: false,
3243
+ type: "simple",
3244
+ storageClassType: "string",
3245
+ },
3246
+ lan_private_subnet: {
3247
+ value: cdktf.stringToHclTerraform(this._lanPrivateSubnet),
3248
+ isBlock: false,
3249
+ type: "simple",
3250
+ storageClassType: "string",
3251
+ },
3252
+ lan_vpc_id: {
3253
+ value: cdktf.stringToHclTerraform(this._lanVpcId),
3254
+ isBlock: false,
3255
+ type: "simple",
3256
+ storageClassType: "string",
3257
+ },
3258
+ learned_cidrs_approval_mode: {
3259
+ value: cdktf.stringToHclTerraform(this._learnedCidrsApprovalMode),
3260
+ isBlock: false,
3261
+ type: "simple",
3262
+ storageClassType: "string",
3263
+ },
3264
+ local_as_number: {
3265
+ value: cdktf.stringToHclTerraform(this._localAsNumber),
3266
+ isBlock: false,
3267
+ type: "simple",
3268
+ storageClassType: "string",
3269
+ },
3270
+ management_egress_ip_prefix_list: {
3271
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._managementEgressIpPrefixList),
3272
+ isBlock: false,
3273
+ type: "set",
3274
+ storageClassType: "stringList",
3275
+ },
3276
+ monitor_exclude_list: {
3277
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._monitorExcludeList),
3278
+ isBlock: false,
3279
+ type: "set",
3280
+ storageClassType: "stringList",
3281
+ },
3282
+ oob_availability_zone: {
3283
+ value: cdktf.stringToHclTerraform(this._oobAvailabilityZone),
3284
+ isBlock: false,
3285
+ type: "simple",
3286
+ storageClassType: "string",
3287
+ },
3288
+ oob_management_subnet: {
3289
+ value: cdktf.stringToHclTerraform(this._oobManagementSubnet),
3290
+ isBlock: false,
3291
+ type: "simple",
3292
+ storageClassType: "string",
3293
+ },
3294
+ peer_backup_logical_ifname: {
3295
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._peerBackupLogicalIfname),
3296
+ isBlock: false,
3297
+ type: "list",
3298
+ storageClassType: "stringList",
3299
+ },
3300
+ peer_connection_type: {
3301
+ value: cdktf.stringToHclTerraform(this._peerConnectionType),
3302
+ isBlock: false,
3303
+ type: "simple",
3304
+ storageClassType: "string",
3305
+ },
3306
+ prepend_as_path: {
3307
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._prependAsPath),
3308
+ isBlock: false,
3309
+ type: "list",
3310
+ storageClassType: "stringList",
3311
+ },
3312
+ private_mode_lb_vpc_id: {
3313
+ value: cdktf.stringToHclTerraform(this._privateModeLbVpcId),
3314
+ isBlock: false,
3315
+ type: "simple",
3316
+ storageClassType: "string",
3317
+ },
3318
+ private_mode_subnet_zone: {
3319
+ value: cdktf.stringToHclTerraform(this._privateModeSubnetZone),
3320
+ isBlock: false,
3321
+ type: "simple",
3322
+ storageClassType: "string",
3323
+ },
3324
+ rx_queue_size: {
3325
+ value: cdktf.stringToHclTerraform(this._rxQueueSize),
3326
+ isBlock: false,
3327
+ type: "simple",
3328
+ storageClassType: "string",
3329
+ },
3330
+ single_az_ha: {
3331
+ value: cdktf.booleanToHclTerraform(this._singleAzHa),
3332
+ isBlock: false,
3333
+ type: "simple",
3334
+ storageClassType: "boolean",
3335
+ },
3336
+ single_ip_snat: {
3337
+ value: cdktf.booleanToHclTerraform(this._singleIpSnat),
3338
+ isBlock: false,
3339
+ type: "simple",
3340
+ storageClassType: "boolean",
3341
+ },
3342
+ software_version: {
3343
+ value: cdktf.stringToHclTerraform(this._softwareVersion),
3344
+ isBlock: false,
3345
+ type: "simple",
3346
+ storageClassType: "string",
3347
+ },
3348
+ spot_price: {
3349
+ value: cdktf.stringToHclTerraform(this._spotPrice),
3350
+ isBlock: false,
3351
+ type: "simple",
3352
+ storageClassType: "string",
3353
+ },
3354
+ subnet: {
3355
+ value: cdktf.stringToHclTerraform(this._subnet),
3356
+ isBlock: false,
3357
+ type: "simple",
3358
+ storageClassType: "string",
3359
+ },
3360
+ tags: {
3361
+ value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._tags),
3362
+ isBlock: false,
3363
+ type: "map",
3364
+ storageClassType: "stringMap",
3365
+ },
3366
+ tunnel_detection_time: {
3367
+ value: cdktf.numberToHclTerraform(this._tunnelDetectionTime),
3368
+ isBlock: false,
3369
+ type: "simple",
3370
+ storageClassType: "number",
3371
+ },
3372
+ vpc_id: {
3373
+ value: cdktf.stringToHclTerraform(this._vpcId),
3374
+ isBlock: false,
3375
+ type: "simple",
3376
+ storageClassType: "string",
3377
+ },
3378
+ vpc_reg: {
3379
+ value: cdktf.stringToHclTerraform(this._vpcReg),
3380
+ isBlock: false,
3381
+ type: "simple",
3382
+ storageClassType: "string",
3383
+ },
3384
+ zone: {
3385
+ value: cdktf.stringToHclTerraform(this._zone),
3386
+ isBlock: false,
3387
+ type: "simple",
3388
+ storageClassType: "string",
3389
+ },
3390
+ ztp_file_download_path: {
3391
+ value: cdktf.stringToHclTerraform(this._ztpFileDownloadPath),
3392
+ isBlock: false,
3393
+ type: "simple",
3394
+ storageClassType: "string",
3395
+ },
3396
+ ztp_file_type: {
3397
+ value: cdktf.stringToHclTerraform(this._ztpFileType),
3398
+ isBlock: false,
3399
+ type: "simple",
3400
+ storageClassType: "string",
3401
+ },
3402
+ bgp_lan_interfaces: {
3403
+ value: cdktf.listMapperHcl(transitGatewayBgpLanInterfacesToHclTerraform, true)(this._bgpLanInterfaces.internalValue),
3404
+ isBlock: true,
3405
+ type: "list",
3406
+ storageClassType: "TransitGatewayBgpLanInterfacesList",
3407
+ },
3408
+ eip_map: {
3409
+ value: cdktf.listMapperHcl(transitGatewayEipMapToHclTerraform, true)(this._eipMap.internalValue),
3410
+ isBlock: true,
3411
+ type: "list",
3412
+ storageClassType: "TransitGatewayEipMapList",
3413
+ },
3414
+ ha_bgp_lan_interfaces: {
3415
+ value: cdktf.listMapperHcl(transitGatewayHaBgpLanInterfacesToHclTerraform, true)(this._haBgpLanInterfaces.internalValue),
3416
+ isBlock: true,
3417
+ type: "list",
3418
+ storageClassType: "TransitGatewayHaBgpLanInterfacesList",
3419
+ },
3420
+ ha_interfaces: {
3421
+ value: cdktf.listMapperHcl(transitGatewayHaInterfacesToHclTerraform, true)(this._haInterfaces.internalValue),
3422
+ isBlock: true,
3423
+ type: "list",
3424
+ storageClassType: "TransitGatewayHaInterfacesList",
3425
+ },
3426
+ interface_mapping: {
3427
+ value: cdktf.listMapperHcl(transitGatewayInterfaceMappingToHclTerraform, true)(this._interfaceMapping.internalValue),
3428
+ isBlock: true,
3429
+ type: "list",
3430
+ storageClassType: "TransitGatewayInterfaceMappingList",
3431
+ },
3432
+ interfaces: {
3433
+ value: cdktf.listMapperHcl(transitGatewayInterfacesToHclTerraform, true)(this._interfaces.internalValue),
3434
+ isBlock: true,
3435
+ type: "list",
3436
+ storageClassType: "TransitGatewayInterfacesList",
3437
+ },
3438
+ };
3439
+ // remove undefined attributes
3440
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
3441
+ }
3442
+ }