@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,758 @@
1
+ // https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/vpc
2
+ // generated from terraform resource schema
3
+ import * as cdktf from 'cdktf';
4
+ export function vpcPrivateSubnetsToTerraform(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
+ }
13
+ export function vpcPrivateSubnetsToHclTerraform(struct) {
14
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
15
+ return struct;
16
+ }
17
+ if (cdktf.isComplexElement(struct)) {
18
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
19
+ }
20
+ const attrs = {};
21
+ return attrs;
22
+ }
23
+ export class VpcPrivateSubnetsOutputReference extends cdktf.ComplexObject {
24
+ isEmptyObject = false;
25
+ /**
26
+ * @param terraformResource The parent resource
27
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
28
+ * @param complexObjectIndex the index of this item in the list
29
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
30
+ */
31
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
32
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
33
+ }
34
+ get internalValue() {
35
+ let hasAnyValues = this.isEmptyObject;
36
+ const internalValueResult = {};
37
+ return hasAnyValues ? internalValueResult : undefined;
38
+ }
39
+ set internalValue(value) {
40
+ if (value === undefined) {
41
+ this.isEmptyObject = false;
42
+ }
43
+ else {
44
+ this.isEmptyObject = Object.keys(value).length === 0;
45
+ }
46
+ }
47
+ // cidr - computed: true, optional: false, required: false
48
+ get cidr() {
49
+ return this.getStringAttribute('cidr');
50
+ }
51
+ // name - computed: true, optional: false, required: false
52
+ get name() {
53
+ return this.getStringAttribute('name');
54
+ }
55
+ // subnet_id - computed: true, optional: false, required: false
56
+ get subnetId() {
57
+ return this.getStringAttribute('subnet_id');
58
+ }
59
+ }
60
+ export class VpcPrivateSubnetsList extends cdktf.ComplexList {
61
+ terraformResource;
62
+ terraformAttribute;
63
+ wrapsSet;
64
+ /**
65
+ * @param terraformResource The parent resource
66
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
67
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
68
+ */
69
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
70
+ super(terraformResource, terraformAttribute, wrapsSet);
71
+ this.terraformResource = terraformResource;
72
+ this.terraformAttribute = terraformAttribute;
73
+ this.wrapsSet = wrapsSet;
74
+ }
75
+ /**
76
+ * @param index the index of the item to return
77
+ */
78
+ get(index) {
79
+ return new VpcPrivateSubnetsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
80
+ }
81
+ }
82
+ export function vpcPublicSubnetsToTerraform(struct) {
83
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
84
+ return struct;
85
+ }
86
+ if (cdktf.isComplexElement(struct)) {
87
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
88
+ }
89
+ return {};
90
+ }
91
+ export function vpcPublicSubnetsToHclTerraform(struct) {
92
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
93
+ return struct;
94
+ }
95
+ if (cdktf.isComplexElement(struct)) {
96
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
97
+ }
98
+ const attrs = {};
99
+ return attrs;
100
+ }
101
+ export class VpcPublicSubnetsOutputReference extends cdktf.ComplexObject {
102
+ isEmptyObject = false;
103
+ /**
104
+ * @param terraformResource The parent resource
105
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
106
+ * @param complexObjectIndex the index of this item in the list
107
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
108
+ */
109
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
110
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
111
+ }
112
+ get internalValue() {
113
+ let hasAnyValues = this.isEmptyObject;
114
+ const internalValueResult = {};
115
+ return hasAnyValues ? internalValueResult : undefined;
116
+ }
117
+ set internalValue(value) {
118
+ if (value === undefined) {
119
+ this.isEmptyObject = false;
120
+ }
121
+ else {
122
+ this.isEmptyObject = Object.keys(value).length === 0;
123
+ }
124
+ }
125
+ // cidr - computed: true, optional: false, required: false
126
+ get cidr() {
127
+ return this.getStringAttribute('cidr');
128
+ }
129
+ // name - computed: true, optional: false, required: false
130
+ get name() {
131
+ return this.getStringAttribute('name');
132
+ }
133
+ // subnet_id - computed: true, optional: false, required: false
134
+ get subnetId() {
135
+ return this.getStringAttribute('subnet_id');
136
+ }
137
+ }
138
+ export class VpcPublicSubnetsList extends cdktf.ComplexList {
139
+ terraformResource;
140
+ terraformAttribute;
141
+ wrapsSet;
142
+ /**
143
+ * @param terraformResource The parent resource
144
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
145
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
146
+ */
147
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
148
+ super(terraformResource, terraformAttribute, wrapsSet);
149
+ this.terraformResource = terraformResource;
150
+ this.terraformAttribute = terraformAttribute;
151
+ this.wrapsSet = wrapsSet;
152
+ }
153
+ /**
154
+ * @param index the index of the item to return
155
+ */
156
+ get(index) {
157
+ return new VpcPublicSubnetsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
158
+ }
159
+ }
160
+ export function vpcSubnetsToTerraform(struct) {
161
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
162
+ return struct;
163
+ }
164
+ if (cdktf.isComplexElement(struct)) {
165
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
166
+ }
167
+ return {
168
+ cidr: cdktf.stringToTerraform(struct.cidr),
169
+ name: cdktf.stringToTerraform(struct.name),
170
+ region: cdktf.stringToTerraform(struct.region),
171
+ };
172
+ }
173
+ export function vpcSubnetsToHclTerraform(struct) {
174
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
175
+ return struct;
176
+ }
177
+ if (cdktf.isComplexElement(struct)) {
178
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
179
+ }
180
+ const attrs = {
181
+ cidr: {
182
+ value: cdktf.stringToHclTerraform(struct.cidr),
183
+ isBlock: false,
184
+ type: "simple",
185
+ storageClassType: "string",
186
+ },
187
+ name: {
188
+ value: cdktf.stringToHclTerraform(struct.name),
189
+ isBlock: false,
190
+ type: "simple",
191
+ storageClassType: "string",
192
+ },
193
+ region: {
194
+ value: cdktf.stringToHclTerraform(struct.region),
195
+ isBlock: false,
196
+ type: "simple",
197
+ storageClassType: "string",
198
+ },
199
+ };
200
+ // remove undefined attributes
201
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
202
+ }
203
+ export class VpcSubnetsOutputReference extends cdktf.ComplexObject {
204
+ isEmptyObject = false;
205
+ resolvableValue;
206
+ /**
207
+ * @param terraformResource The parent resource
208
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
209
+ * @param complexObjectIndex the index of this item in the list
210
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
211
+ */
212
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
213
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
214
+ }
215
+ get internalValue() {
216
+ if (this.resolvableValue) {
217
+ return this.resolvableValue;
218
+ }
219
+ let hasAnyValues = this.isEmptyObject;
220
+ const internalValueResult = {};
221
+ if (this._cidr !== undefined) {
222
+ hasAnyValues = true;
223
+ internalValueResult.cidr = this._cidr;
224
+ }
225
+ if (this._name !== undefined) {
226
+ hasAnyValues = true;
227
+ internalValueResult.name = this._name;
228
+ }
229
+ if (this._region !== undefined) {
230
+ hasAnyValues = true;
231
+ internalValueResult.region = this._region;
232
+ }
233
+ return hasAnyValues ? internalValueResult : undefined;
234
+ }
235
+ set internalValue(value) {
236
+ if (value === undefined) {
237
+ this.isEmptyObject = false;
238
+ this.resolvableValue = undefined;
239
+ this._cidr = undefined;
240
+ this._name = undefined;
241
+ this._region = undefined;
242
+ }
243
+ else if (cdktf.Tokenization.isResolvable(value)) {
244
+ this.isEmptyObject = false;
245
+ this.resolvableValue = value;
246
+ }
247
+ else {
248
+ this.isEmptyObject = Object.keys(value).length === 0;
249
+ this.resolvableValue = undefined;
250
+ this._cidr = value.cidr;
251
+ this._name = value.name;
252
+ this._region = value.region;
253
+ }
254
+ }
255
+ // cidr - computed: false, optional: true, required: false
256
+ _cidr;
257
+ get cidr() {
258
+ return this.getStringAttribute('cidr');
259
+ }
260
+ set cidr(value) {
261
+ this._cidr = value;
262
+ }
263
+ resetCidr() {
264
+ this._cidr = undefined;
265
+ }
266
+ // Temporarily expose input value. Use with caution.
267
+ get cidrInput() {
268
+ return this._cidr;
269
+ }
270
+ // name - computed: false, optional: true, required: false
271
+ _name;
272
+ get name() {
273
+ return this.getStringAttribute('name');
274
+ }
275
+ set name(value) {
276
+ this._name = value;
277
+ }
278
+ resetName() {
279
+ this._name = undefined;
280
+ }
281
+ // Temporarily expose input value. Use with caution.
282
+ get nameInput() {
283
+ return this._name;
284
+ }
285
+ // region - computed: false, optional: true, required: false
286
+ _region;
287
+ get region() {
288
+ return this.getStringAttribute('region');
289
+ }
290
+ set region(value) {
291
+ this._region = value;
292
+ }
293
+ resetRegion() {
294
+ this._region = undefined;
295
+ }
296
+ // Temporarily expose input value. Use with caution.
297
+ get regionInput() {
298
+ return this._region;
299
+ }
300
+ // subnet_id - computed: true, optional: false, required: false
301
+ get subnetId() {
302
+ return this.getStringAttribute('subnet_id');
303
+ }
304
+ }
305
+ export class VpcSubnetsList extends cdktf.ComplexList {
306
+ terraformResource;
307
+ terraformAttribute;
308
+ wrapsSet;
309
+ internalValue;
310
+ /**
311
+ * @param terraformResource The parent resource
312
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
313
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
314
+ */
315
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
316
+ super(terraformResource, terraformAttribute, wrapsSet);
317
+ this.terraformResource = terraformResource;
318
+ this.terraformAttribute = terraformAttribute;
319
+ this.wrapsSet = wrapsSet;
320
+ }
321
+ /**
322
+ * @param index the index of the item to return
323
+ */
324
+ get(index) {
325
+ return new VpcSubnetsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
326
+ }
327
+ }
328
+ /**
329
+ * Represents a {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/vpc aviatrix_vpc}
330
+ */
331
+ export class Vpc extends cdktf.TerraformResource {
332
+ // =================
333
+ // STATIC PROPERTIES
334
+ // =================
335
+ static tfResourceType = "aviatrix_vpc";
336
+ // ==============
337
+ // STATIC Methods
338
+ // ==============
339
+ /**
340
+ * Generates CDKTF code for importing a Vpc resource upon running "cdktf plan <stack-name>"
341
+ * @param scope The scope in which to define this construct
342
+ * @param importToId The construct id used in the generated config for the Vpc to import
343
+ * @param importFromId The id of the existing Vpc that should be imported. Refer to the {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/vpc#import import section} in the documentation of this resource for the id to use
344
+ * @param provider? Optional instance of the provider where the Vpc to import is found
345
+ */
346
+ static generateConfigForImport(scope, importToId, importFromId, provider) {
347
+ return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aviatrix_vpc", importId: importFromId, provider });
348
+ }
349
+ // ===========
350
+ // INITIALIZER
351
+ // ===========
352
+ /**
353
+ * Create a new {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/vpc aviatrix_vpc} Resource
354
+ *
355
+ * @param scope The scope in which to define this construct
356
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
357
+ * @param options VpcConfig
358
+ */
359
+ constructor(scope, id, config) {
360
+ super(scope, id, {
361
+ terraformResourceType: 'aviatrix_vpc',
362
+ terraformGeneratorMetadata: {
363
+ providerName: 'aviatrix',
364
+ providerVersion: '8.1.10',
365
+ providerVersionConstraint: '8.1.10'
366
+ },
367
+ provider: config.provider,
368
+ dependsOn: config.dependsOn,
369
+ count: config.count,
370
+ lifecycle: config.lifecycle,
371
+ provisioners: config.provisioners,
372
+ connection: config.connection,
373
+ forEach: config.forEach
374
+ });
375
+ this._accountName = config.accountName;
376
+ this._aviatrixFirenetVpc = config.aviatrixFirenetVpc;
377
+ this._aviatrixTransitVpc = config.aviatrixTransitVpc;
378
+ this._cidr = config.cidr;
379
+ this._cloudType = config.cloudType;
380
+ this._enableNativeGwlb = config.enableNativeGwlb;
381
+ this._enablePrivateOobSubnet = config.enablePrivateOobSubnet;
382
+ this._id = config.id;
383
+ this._name = config.name;
384
+ this._numOfSubnetPairs = config.numOfSubnetPairs;
385
+ this._privateModeSubnets = config.privateModeSubnets;
386
+ this._region = config.region;
387
+ this._resourceGroup = config.resourceGroup;
388
+ this._subnetSize = config.subnetSize;
389
+ this._subnets.internalValue = config.subnets;
390
+ }
391
+ // ==========
392
+ // ATTRIBUTES
393
+ // ==========
394
+ // account_name - computed: false, optional: false, required: true
395
+ _accountName;
396
+ get accountName() {
397
+ return this.getStringAttribute('account_name');
398
+ }
399
+ set accountName(value) {
400
+ this._accountName = value;
401
+ }
402
+ // Temporarily expose input value. Use with caution.
403
+ get accountNameInput() {
404
+ return this._accountName;
405
+ }
406
+ // availability_domains - computed: true, optional: false, required: false
407
+ get availabilityDomains() {
408
+ return this.getListAttribute('availability_domains');
409
+ }
410
+ // aviatrix_firenet_vpc - computed: false, optional: true, required: false
411
+ _aviatrixFirenetVpc;
412
+ get aviatrixFirenetVpc() {
413
+ return this.getBooleanAttribute('aviatrix_firenet_vpc');
414
+ }
415
+ set aviatrixFirenetVpc(value) {
416
+ this._aviatrixFirenetVpc = value;
417
+ }
418
+ resetAviatrixFirenetVpc() {
419
+ this._aviatrixFirenetVpc = undefined;
420
+ }
421
+ // Temporarily expose input value. Use with caution.
422
+ get aviatrixFirenetVpcInput() {
423
+ return this._aviatrixFirenetVpc;
424
+ }
425
+ // aviatrix_transit_vpc - computed: false, optional: true, required: false
426
+ _aviatrixTransitVpc;
427
+ get aviatrixTransitVpc() {
428
+ return this.getBooleanAttribute('aviatrix_transit_vpc');
429
+ }
430
+ set aviatrixTransitVpc(value) {
431
+ this._aviatrixTransitVpc = value;
432
+ }
433
+ resetAviatrixTransitVpc() {
434
+ this._aviatrixTransitVpc = undefined;
435
+ }
436
+ // Temporarily expose input value. Use with caution.
437
+ get aviatrixTransitVpcInput() {
438
+ return this._aviatrixTransitVpc;
439
+ }
440
+ // azure_vnet_resource_id - computed: true, optional: false, required: false
441
+ get azureVnetResourceId() {
442
+ return this.getStringAttribute('azure_vnet_resource_id');
443
+ }
444
+ // cidr - computed: false, optional: true, required: false
445
+ _cidr;
446
+ get cidr() {
447
+ return this.getStringAttribute('cidr');
448
+ }
449
+ set cidr(value) {
450
+ this._cidr = value;
451
+ }
452
+ resetCidr() {
453
+ this._cidr = undefined;
454
+ }
455
+ // Temporarily expose input value. Use with caution.
456
+ get cidrInput() {
457
+ return this._cidr;
458
+ }
459
+ // cloud_type - computed: false, optional: false, required: true
460
+ _cloudType;
461
+ get cloudType() {
462
+ return this.getNumberAttribute('cloud_type');
463
+ }
464
+ set cloudType(value) {
465
+ this._cloudType = value;
466
+ }
467
+ // Temporarily expose input value. Use with caution.
468
+ get cloudTypeInput() {
469
+ return this._cloudType;
470
+ }
471
+ // enable_native_gwlb - computed: false, optional: true, required: false
472
+ _enableNativeGwlb;
473
+ get enableNativeGwlb() {
474
+ return this.getBooleanAttribute('enable_native_gwlb');
475
+ }
476
+ set enableNativeGwlb(value) {
477
+ this._enableNativeGwlb = value;
478
+ }
479
+ resetEnableNativeGwlb() {
480
+ this._enableNativeGwlb = undefined;
481
+ }
482
+ // Temporarily expose input value. Use with caution.
483
+ get enableNativeGwlbInput() {
484
+ return this._enableNativeGwlb;
485
+ }
486
+ // enable_private_oob_subnet - computed: false, optional: true, required: false
487
+ _enablePrivateOobSubnet;
488
+ get enablePrivateOobSubnet() {
489
+ return this.getBooleanAttribute('enable_private_oob_subnet');
490
+ }
491
+ set enablePrivateOobSubnet(value) {
492
+ this._enablePrivateOobSubnet = value;
493
+ }
494
+ resetEnablePrivateOobSubnet() {
495
+ this._enablePrivateOobSubnet = undefined;
496
+ }
497
+ // Temporarily expose input value. Use with caution.
498
+ get enablePrivateOobSubnetInput() {
499
+ return this._enablePrivateOobSubnet;
500
+ }
501
+ // fault_domains - computed: true, optional: false, required: false
502
+ get faultDomains() {
503
+ return this.getListAttribute('fault_domains');
504
+ }
505
+ // id - computed: true, optional: true, required: false
506
+ _id;
507
+ get id() {
508
+ return this.getStringAttribute('id');
509
+ }
510
+ set id(value) {
511
+ this._id = value;
512
+ }
513
+ resetId() {
514
+ this._id = undefined;
515
+ }
516
+ // Temporarily expose input value. Use with caution.
517
+ get idInput() {
518
+ return this._id;
519
+ }
520
+ // name - computed: false, optional: false, required: true
521
+ _name;
522
+ get name() {
523
+ return this.getStringAttribute('name');
524
+ }
525
+ set name(value) {
526
+ this._name = value;
527
+ }
528
+ // Temporarily expose input value. Use with caution.
529
+ get nameInput() {
530
+ return this._name;
531
+ }
532
+ // num_of_subnet_pairs - computed: false, optional: true, required: false
533
+ _numOfSubnetPairs;
534
+ get numOfSubnetPairs() {
535
+ return this.getNumberAttribute('num_of_subnet_pairs');
536
+ }
537
+ set numOfSubnetPairs(value) {
538
+ this._numOfSubnetPairs = value;
539
+ }
540
+ resetNumOfSubnetPairs() {
541
+ this._numOfSubnetPairs = undefined;
542
+ }
543
+ // Temporarily expose input value. Use with caution.
544
+ get numOfSubnetPairsInput() {
545
+ return this._numOfSubnetPairs;
546
+ }
547
+ // private_mode_subnets - computed: false, optional: true, required: false
548
+ _privateModeSubnets;
549
+ get privateModeSubnets() {
550
+ return this.getBooleanAttribute('private_mode_subnets');
551
+ }
552
+ set privateModeSubnets(value) {
553
+ this._privateModeSubnets = value;
554
+ }
555
+ resetPrivateModeSubnets() {
556
+ this._privateModeSubnets = undefined;
557
+ }
558
+ // Temporarily expose input value. Use with caution.
559
+ get privateModeSubnetsInput() {
560
+ return this._privateModeSubnets;
561
+ }
562
+ // private_subnets - computed: true, optional: false, required: false
563
+ _privateSubnets = new VpcPrivateSubnetsList(this, "private_subnets", false);
564
+ get privateSubnets() {
565
+ return this._privateSubnets;
566
+ }
567
+ // public_subnets - computed: true, optional: false, required: false
568
+ _publicSubnets = new VpcPublicSubnetsList(this, "public_subnets", false);
569
+ get publicSubnets() {
570
+ return this._publicSubnets;
571
+ }
572
+ // region - computed: false, optional: true, required: false
573
+ _region;
574
+ get region() {
575
+ return this.getStringAttribute('region');
576
+ }
577
+ set region(value) {
578
+ this._region = value;
579
+ }
580
+ resetRegion() {
581
+ this._region = undefined;
582
+ }
583
+ // Temporarily expose input value. Use with caution.
584
+ get regionInput() {
585
+ return this._region;
586
+ }
587
+ // resource_group - computed: true, optional: true, required: false
588
+ _resourceGroup;
589
+ get resourceGroup() {
590
+ return this.getStringAttribute('resource_group');
591
+ }
592
+ set resourceGroup(value) {
593
+ this._resourceGroup = value;
594
+ }
595
+ resetResourceGroup() {
596
+ this._resourceGroup = undefined;
597
+ }
598
+ // Temporarily expose input value. Use with caution.
599
+ get resourceGroupInput() {
600
+ return this._resourceGroup;
601
+ }
602
+ // route_tables - computed: true, optional: false, required: false
603
+ get routeTables() {
604
+ return this.getListAttribute('route_tables');
605
+ }
606
+ // subnet_size - computed: false, optional: true, required: false
607
+ _subnetSize;
608
+ get subnetSize() {
609
+ return this.getNumberAttribute('subnet_size');
610
+ }
611
+ set subnetSize(value) {
612
+ this._subnetSize = value;
613
+ }
614
+ resetSubnetSize() {
615
+ this._subnetSize = undefined;
616
+ }
617
+ // Temporarily expose input value. Use with caution.
618
+ get subnetSizeInput() {
619
+ return this._subnetSize;
620
+ }
621
+ // vpc_id - computed: true, optional: false, required: false
622
+ get vpcId() {
623
+ return this.getStringAttribute('vpc_id');
624
+ }
625
+ // subnets - computed: false, optional: true, required: false
626
+ _subnets = new VpcSubnetsList(this, "subnets", false);
627
+ get subnets() {
628
+ return this._subnets;
629
+ }
630
+ putSubnets(value) {
631
+ this._subnets.internalValue = value;
632
+ }
633
+ resetSubnets() {
634
+ this._subnets.internalValue = undefined;
635
+ }
636
+ // Temporarily expose input value. Use with caution.
637
+ get subnetsInput() {
638
+ return this._subnets.internalValue;
639
+ }
640
+ // =========
641
+ // SYNTHESIS
642
+ // =========
643
+ synthesizeAttributes() {
644
+ return {
645
+ account_name: cdktf.stringToTerraform(this._accountName),
646
+ aviatrix_firenet_vpc: cdktf.booleanToTerraform(this._aviatrixFirenetVpc),
647
+ aviatrix_transit_vpc: cdktf.booleanToTerraform(this._aviatrixTransitVpc),
648
+ cidr: cdktf.stringToTerraform(this._cidr),
649
+ cloud_type: cdktf.numberToTerraform(this._cloudType),
650
+ enable_native_gwlb: cdktf.booleanToTerraform(this._enableNativeGwlb),
651
+ enable_private_oob_subnet: cdktf.booleanToTerraform(this._enablePrivateOobSubnet),
652
+ id: cdktf.stringToTerraform(this._id),
653
+ name: cdktf.stringToTerraform(this._name),
654
+ num_of_subnet_pairs: cdktf.numberToTerraform(this._numOfSubnetPairs),
655
+ private_mode_subnets: cdktf.booleanToTerraform(this._privateModeSubnets),
656
+ region: cdktf.stringToTerraform(this._region),
657
+ resource_group: cdktf.stringToTerraform(this._resourceGroup),
658
+ subnet_size: cdktf.numberToTerraform(this._subnetSize),
659
+ subnets: cdktf.listMapper(vpcSubnetsToTerraform, true)(this._subnets.internalValue),
660
+ };
661
+ }
662
+ synthesizeHclAttributes() {
663
+ const attrs = {
664
+ account_name: {
665
+ value: cdktf.stringToHclTerraform(this._accountName),
666
+ isBlock: false,
667
+ type: "simple",
668
+ storageClassType: "string",
669
+ },
670
+ aviatrix_firenet_vpc: {
671
+ value: cdktf.booleanToHclTerraform(this._aviatrixFirenetVpc),
672
+ isBlock: false,
673
+ type: "simple",
674
+ storageClassType: "boolean",
675
+ },
676
+ aviatrix_transit_vpc: {
677
+ value: cdktf.booleanToHclTerraform(this._aviatrixTransitVpc),
678
+ isBlock: false,
679
+ type: "simple",
680
+ storageClassType: "boolean",
681
+ },
682
+ cidr: {
683
+ value: cdktf.stringToHclTerraform(this._cidr),
684
+ isBlock: false,
685
+ type: "simple",
686
+ storageClassType: "string",
687
+ },
688
+ cloud_type: {
689
+ value: cdktf.numberToHclTerraform(this._cloudType),
690
+ isBlock: false,
691
+ type: "simple",
692
+ storageClassType: "number",
693
+ },
694
+ enable_native_gwlb: {
695
+ value: cdktf.booleanToHclTerraform(this._enableNativeGwlb),
696
+ isBlock: false,
697
+ type: "simple",
698
+ storageClassType: "boolean",
699
+ },
700
+ enable_private_oob_subnet: {
701
+ value: cdktf.booleanToHclTerraform(this._enablePrivateOobSubnet),
702
+ isBlock: false,
703
+ type: "simple",
704
+ storageClassType: "boolean",
705
+ },
706
+ id: {
707
+ value: cdktf.stringToHclTerraform(this._id),
708
+ isBlock: false,
709
+ type: "simple",
710
+ storageClassType: "string",
711
+ },
712
+ name: {
713
+ value: cdktf.stringToHclTerraform(this._name),
714
+ isBlock: false,
715
+ type: "simple",
716
+ storageClassType: "string",
717
+ },
718
+ num_of_subnet_pairs: {
719
+ value: cdktf.numberToHclTerraform(this._numOfSubnetPairs),
720
+ isBlock: false,
721
+ type: "simple",
722
+ storageClassType: "number",
723
+ },
724
+ private_mode_subnets: {
725
+ value: cdktf.booleanToHclTerraform(this._privateModeSubnets),
726
+ isBlock: false,
727
+ type: "simple",
728
+ storageClassType: "boolean",
729
+ },
730
+ region: {
731
+ value: cdktf.stringToHclTerraform(this._region),
732
+ isBlock: false,
733
+ type: "simple",
734
+ storageClassType: "string",
735
+ },
736
+ resource_group: {
737
+ value: cdktf.stringToHclTerraform(this._resourceGroup),
738
+ isBlock: false,
739
+ type: "simple",
740
+ storageClassType: "string",
741
+ },
742
+ subnet_size: {
743
+ value: cdktf.numberToHclTerraform(this._subnetSize),
744
+ isBlock: false,
745
+ type: "simple",
746
+ storageClassType: "number",
747
+ },
748
+ subnets: {
749
+ value: cdktf.listMapperHcl(vpcSubnetsToHclTerraform, true)(this._subnets.internalValue),
750
+ isBlock: true,
751
+ type: "list",
752
+ storageClassType: "VpcSubnetsList",
753
+ },
754
+ };
755
+ // remove undefined attributes
756
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
757
+ }
758
+ }