@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,1561 @@
1
+ // https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/edge_zededa
2
+ // generated from terraform resource schema
3
+ import * as cdktf from 'cdktf';
4
+ export function edgeZededaInterfacesToTerraform(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
+ bandwidth: cdktf.numberToTerraform(struct.bandwidth),
13
+ dns_server_ip: cdktf.stringToTerraform(struct.dnsServerIp),
14
+ enable_dhcp: cdktf.booleanToTerraform(struct.enableDhcp),
15
+ enable_vrrp: cdktf.booleanToTerraform(struct.enableVrrp),
16
+ gateway_ip: cdktf.stringToTerraform(struct.gatewayIp),
17
+ ip_address: cdktf.stringToTerraform(struct.ipAddress),
18
+ name: cdktf.stringToTerraform(struct.name),
19
+ secondary_dns_server_ip: cdktf.stringToTerraform(struct.secondaryDnsServerIp),
20
+ tag: cdktf.stringToTerraform(struct.tag),
21
+ type: cdktf.stringToTerraform(struct.type),
22
+ vrrp_virtual_ip: cdktf.stringToTerraform(struct.vrrpVirtualIp),
23
+ wan_public_ip: cdktf.stringToTerraform(struct.wanPublicIp),
24
+ };
25
+ }
26
+ export function edgeZededaInterfacesToHclTerraform(struct) {
27
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
28
+ return struct;
29
+ }
30
+ if (cdktf.isComplexElement(struct)) {
31
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
32
+ }
33
+ const attrs = {
34
+ bandwidth: {
35
+ value: cdktf.numberToHclTerraform(struct.bandwidth),
36
+ isBlock: false,
37
+ type: "simple",
38
+ storageClassType: "number",
39
+ },
40
+ dns_server_ip: {
41
+ value: cdktf.stringToHclTerraform(struct.dnsServerIp),
42
+ isBlock: false,
43
+ type: "simple",
44
+ storageClassType: "string",
45
+ },
46
+ enable_dhcp: {
47
+ value: cdktf.booleanToHclTerraform(struct.enableDhcp),
48
+ isBlock: false,
49
+ type: "simple",
50
+ storageClassType: "boolean",
51
+ },
52
+ enable_vrrp: {
53
+ value: cdktf.booleanToHclTerraform(struct.enableVrrp),
54
+ isBlock: false,
55
+ type: "simple",
56
+ storageClassType: "boolean",
57
+ },
58
+ gateway_ip: {
59
+ value: cdktf.stringToHclTerraform(struct.gatewayIp),
60
+ isBlock: false,
61
+ type: "simple",
62
+ storageClassType: "string",
63
+ },
64
+ ip_address: {
65
+ value: cdktf.stringToHclTerraform(struct.ipAddress),
66
+ isBlock: false,
67
+ type: "simple",
68
+ storageClassType: "string",
69
+ },
70
+ name: {
71
+ value: cdktf.stringToHclTerraform(struct.name),
72
+ isBlock: false,
73
+ type: "simple",
74
+ storageClassType: "string",
75
+ },
76
+ secondary_dns_server_ip: {
77
+ value: cdktf.stringToHclTerraform(struct.secondaryDnsServerIp),
78
+ isBlock: false,
79
+ type: "simple",
80
+ storageClassType: "string",
81
+ },
82
+ tag: {
83
+ value: cdktf.stringToHclTerraform(struct.tag),
84
+ isBlock: false,
85
+ type: "simple",
86
+ storageClassType: "string",
87
+ },
88
+ type: {
89
+ value: cdktf.stringToHclTerraform(struct.type),
90
+ isBlock: false,
91
+ type: "simple",
92
+ storageClassType: "string",
93
+ },
94
+ vrrp_virtual_ip: {
95
+ value: cdktf.stringToHclTerraform(struct.vrrpVirtualIp),
96
+ isBlock: false,
97
+ type: "simple",
98
+ storageClassType: "string",
99
+ },
100
+ wan_public_ip: {
101
+ value: cdktf.stringToHclTerraform(struct.wanPublicIp),
102
+ isBlock: false,
103
+ type: "simple",
104
+ storageClassType: "string",
105
+ },
106
+ };
107
+ // remove undefined attributes
108
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
109
+ }
110
+ export class EdgeZededaInterfacesOutputReference extends cdktf.ComplexObject {
111
+ isEmptyObject = false;
112
+ resolvableValue;
113
+ /**
114
+ * @param terraformResource The parent resource
115
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
116
+ * @param complexObjectIndex the index of this item in the list
117
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
118
+ */
119
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
120
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
121
+ }
122
+ get internalValue() {
123
+ if (this.resolvableValue) {
124
+ return this.resolvableValue;
125
+ }
126
+ let hasAnyValues = this.isEmptyObject;
127
+ const internalValueResult = {};
128
+ if (this._bandwidth !== undefined) {
129
+ hasAnyValues = true;
130
+ internalValueResult.bandwidth = this._bandwidth;
131
+ }
132
+ if (this._dnsServerIp !== undefined) {
133
+ hasAnyValues = true;
134
+ internalValueResult.dnsServerIp = this._dnsServerIp;
135
+ }
136
+ if (this._enableDhcp !== undefined) {
137
+ hasAnyValues = true;
138
+ internalValueResult.enableDhcp = this._enableDhcp;
139
+ }
140
+ if (this._enableVrrp !== undefined) {
141
+ hasAnyValues = true;
142
+ internalValueResult.enableVrrp = this._enableVrrp;
143
+ }
144
+ if (this._gatewayIp !== undefined) {
145
+ hasAnyValues = true;
146
+ internalValueResult.gatewayIp = this._gatewayIp;
147
+ }
148
+ if (this._ipAddress !== undefined) {
149
+ hasAnyValues = true;
150
+ internalValueResult.ipAddress = this._ipAddress;
151
+ }
152
+ if (this._name !== undefined) {
153
+ hasAnyValues = true;
154
+ internalValueResult.name = this._name;
155
+ }
156
+ if (this._secondaryDnsServerIp !== undefined) {
157
+ hasAnyValues = true;
158
+ internalValueResult.secondaryDnsServerIp = this._secondaryDnsServerIp;
159
+ }
160
+ if (this._tag !== undefined) {
161
+ hasAnyValues = true;
162
+ internalValueResult.tag = this._tag;
163
+ }
164
+ if (this._type !== undefined) {
165
+ hasAnyValues = true;
166
+ internalValueResult.type = this._type;
167
+ }
168
+ if (this._vrrpVirtualIp !== undefined) {
169
+ hasAnyValues = true;
170
+ internalValueResult.vrrpVirtualIp = this._vrrpVirtualIp;
171
+ }
172
+ if (this._wanPublicIp !== undefined) {
173
+ hasAnyValues = true;
174
+ internalValueResult.wanPublicIp = this._wanPublicIp;
175
+ }
176
+ return hasAnyValues ? internalValueResult : undefined;
177
+ }
178
+ set internalValue(value) {
179
+ if (value === undefined) {
180
+ this.isEmptyObject = false;
181
+ this.resolvableValue = undefined;
182
+ this._bandwidth = undefined;
183
+ this._dnsServerIp = undefined;
184
+ this._enableDhcp = undefined;
185
+ this._enableVrrp = undefined;
186
+ this._gatewayIp = undefined;
187
+ this._ipAddress = undefined;
188
+ this._name = undefined;
189
+ this._secondaryDnsServerIp = undefined;
190
+ this._tag = undefined;
191
+ this._type = undefined;
192
+ this._vrrpVirtualIp = undefined;
193
+ this._wanPublicIp = undefined;
194
+ }
195
+ else if (cdktf.Tokenization.isResolvable(value)) {
196
+ this.isEmptyObject = false;
197
+ this.resolvableValue = value;
198
+ }
199
+ else {
200
+ this.isEmptyObject = Object.keys(value).length === 0;
201
+ this.resolvableValue = undefined;
202
+ this._bandwidth = value.bandwidth;
203
+ this._dnsServerIp = value.dnsServerIp;
204
+ this._enableDhcp = value.enableDhcp;
205
+ this._enableVrrp = value.enableVrrp;
206
+ this._gatewayIp = value.gatewayIp;
207
+ this._ipAddress = value.ipAddress;
208
+ this._name = value.name;
209
+ this._secondaryDnsServerIp = value.secondaryDnsServerIp;
210
+ this._tag = value.tag;
211
+ this._type = value.type;
212
+ this._vrrpVirtualIp = value.vrrpVirtualIp;
213
+ this._wanPublicIp = value.wanPublicIp;
214
+ }
215
+ }
216
+ // bandwidth - computed: false, optional: true, required: false
217
+ _bandwidth;
218
+ get bandwidth() {
219
+ return this.getNumberAttribute('bandwidth');
220
+ }
221
+ set bandwidth(value) {
222
+ this._bandwidth = value;
223
+ }
224
+ resetBandwidth() {
225
+ this._bandwidth = undefined;
226
+ }
227
+ // Temporarily expose input value. Use with caution.
228
+ get bandwidthInput() {
229
+ return this._bandwidth;
230
+ }
231
+ // dns_server_ip - computed: false, optional: true, required: false
232
+ _dnsServerIp;
233
+ get dnsServerIp() {
234
+ return this.getStringAttribute('dns_server_ip');
235
+ }
236
+ set dnsServerIp(value) {
237
+ this._dnsServerIp = value;
238
+ }
239
+ resetDnsServerIp() {
240
+ this._dnsServerIp = undefined;
241
+ }
242
+ // Temporarily expose input value. Use with caution.
243
+ get dnsServerIpInput() {
244
+ return this._dnsServerIp;
245
+ }
246
+ // enable_dhcp - computed: false, optional: true, required: false
247
+ _enableDhcp;
248
+ get enableDhcp() {
249
+ return this.getBooleanAttribute('enable_dhcp');
250
+ }
251
+ set enableDhcp(value) {
252
+ this._enableDhcp = value;
253
+ }
254
+ resetEnableDhcp() {
255
+ this._enableDhcp = undefined;
256
+ }
257
+ // Temporarily expose input value. Use with caution.
258
+ get enableDhcpInput() {
259
+ return this._enableDhcp;
260
+ }
261
+ // enable_vrrp - computed: false, optional: true, required: false
262
+ _enableVrrp;
263
+ get enableVrrp() {
264
+ return this.getBooleanAttribute('enable_vrrp');
265
+ }
266
+ set enableVrrp(value) {
267
+ this._enableVrrp = value;
268
+ }
269
+ resetEnableVrrp() {
270
+ this._enableVrrp = undefined;
271
+ }
272
+ // Temporarily expose input value. Use with caution.
273
+ get enableVrrpInput() {
274
+ return this._enableVrrp;
275
+ }
276
+ // gateway_ip - computed: false, optional: true, required: false
277
+ _gatewayIp;
278
+ get gatewayIp() {
279
+ return this.getStringAttribute('gateway_ip');
280
+ }
281
+ set gatewayIp(value) {
282
+ this._gatewayIp = value;
283
+ }
284
+ resetGatewayIp() {
285
+ this._gatewayIp = undefined;
286
+ }
287
+ // Temporarily expose input value. Use with caution.
288
+ get gatewayIpInput() {
289
+ return this._gatewayIp;
290
+ }
291
+ // ip_address - computed: false, optional: true, required: false
292
+ _ipAddress;
293
+ get ipAddress() {
294
+ return this.getStringAttribute('ip_address');
295
+ }
296
+ set ipAddress(value) {
297
+ this._ipAddress = value;
298
+ }
299
+ resetIpAddress() {
300
+ this._ipAddress = undefined;
301
+ }
302
+ // Temporarily expose input value. Use with caution.
303
+ get ipAddressInput() {
304
+ return this._ipAddress;
305
+ }
306
+ // name - computed: false, optional: false, required: true
307
+ _name;
308
+ get name() {
309
+ return this.getStringAttribute('name');
310
+ }
311
+ set name(value) {
312
+ this._name = value;
313
+ }
314
+ // Temporarily expose input value. Use with caution.
315
+ get nameInput() {
316
+ return this._name;
317
+ }
318
+ // secondary_dns_server_ip - computed: false, optional: true, required: false
319
+ _secondaryDnsServerIp;
320
+ get secondaryDnsServerIp() {
321
+ return this.getStringAttribute('secondary_dns_server_ip');
322
+ }
323
+ set secondaryDnsServerIp(value) {
324
+ this._secondaryDnsServerIp = value;
325
+ }
326
+ resetSecondaryDnsServerIp() {
327
+ this._secondaryDnsServerIp = undefined;
328
+ }
329
+ // Temporarily expose input value. Use with caution.
330
+ get secondaryDnsServerIpInput() {
331
+ return this._secondaryDnsServerIp;
332
+ }
333
+ // tag - computed: false, optional: true, required: false
334
+ _tag;
335
+ get tag() {
336
+ return this.getStringAttribute('tag');
337
+ }
338
+ set tag(value) {
339
+ this._tag = value;
340
+ }
341
+ resetTag() {
342
+ this._tag = undefined;
343
+ }
344
+ // Temporarily expose input value. Use with caution.
345
+ get tagInput() {
346
+ return this._tag;
347
+ }
348
+ // type - computed: false, optional: false, required: true
349
+ _type;
350
+ get type() {
351
+ return this.getStringAttribute('type');
352
+ }
353
+ set type(value) {
354
+ this._type = value;
355
+ }
356
+ // Temporarily expose input value. Use with caution.
357
+ get typeInput() {
358
+ return this._type;
359
+ }
360
+ // vrrp_virtual_ip - computed: false, optional: true, required: false
361
+ _vrrpVirtualIp;
362
+ get vrrpVirtualIp() {
363
+ return this.getStringAttribute('vrrp_virtual_ip');
364
+ }
365
+ set vrrpVirtualIp(value) {
366
+ this._vrrpVirtualIp = value;
367
+ }
368
+ resetVrrpVirtualIp() {
369
+ this._vrrpVirtualIp = undefined;
370
+ }
371
+ // Temporarily expose input value. Use with caution.
372
+ get vrrpVirtualIpInput() {
373
+ return this._vrrpVirtualIp;
374
+ }
375
+ // wan_public_ip - computed: false, optional: true, required: false
376
+ _wanPublicIp;
377
+ get wanPublicIp() {
378
+ return this.getStringAttribute('wan_public_ip');
379
+ }
380
+ set wanPublicIp(value) {
381
+ this._wanPublicIp = value;
382
+ }
383
+ resetWanPublicIp() {
384
+ this._wanPublicIp = undefined;
385
+ }
386
+ // Temporarily expose input value. Use with caution.
387
+ get wanPublicIpInput() {
388
+ return this._wanPublicIp;
389
+ }
390
+ }
391
+ export class EdgeZededaInterfacesList extends cdktf.ComplexList {
392
+ terraformResource;
393
+ terraformAttribute;
394
+ wrapsSet;
395
+ internalValue;
396
+ /**
397
+ * @param terraformResource The parent resource
398
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
399
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
400
+ */
401
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
402
+ super(terraformResource, terraformAttribute, wrapsSet);
403
+ this.terraformResource = terraformResource;
404
+ this.terraformAttribute = terraformAttribute;
405
+ this.wrapsSet = wrapsSet;
406
+ }
407
+ /**
408
+ * @param index the index of the item to return
409
+ */
410
+ get(index) {
411
+ return new EdgeZededaInterfacesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
412
+ }
413
+ }
414
+ export function edgeZededaVlanToTerraform(struct) {
415
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
416
+ return struct;
417
+ }
418
+ if (cdktf.isComplexElement(struct)) {
419
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
420
+ }
421
+ return {
422
+ gateway_ip: cdktf.stringToTerraform(struct.gatewayIp),
423
+ ip_address: cdktf.stringToTerraform(struct.ipAddress),
424
+ parent_interface_name: cdktf.stringToTerraform(struct.parentInterfaceName),
425
+ peer_gateway_ip: cdktf.stringToTerraform(struct.peerGatewayIp),
426
+ peer_ip_address: cdktf.stringToTerraform(struct.peerIpAddress),
427
+ tag: cdktf.stringToTerraform(struct.tag),
428
+ vlan_id: cdktf.numberToTerraform(struct.vlanId),
429
+ vrrp_virtual_ip: cdktf.stringToTerraform(struct.vrrpVirtualIp),
430
+ };
431
+ }
432
+ export function edgeZededaVlanToHclTerraform(struct) {
433
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
434
+ return struct;
435
+ }
436
+ if (cdktf.isComplexElement(struct)) {
437
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
438
+ }
439
+ const attrs = {
440
+ gateway_ip: {
441
+ value: cdktf.stringToHclTerraform(struct.gatewayIp),
442
+ isBlock: false,
443
+ type: "simple",
444
+ storageClassType: "string",
445
+ },
446
+ ip_address: {
447
+ value: cdktf.stringToHclTerraform(struct.ipAddress),
448
+ isBlock: false,
449
+ type: "simple",
450
+ storageClassType: "string",
451
+ },
452
+ parent_interface_name: {
453
+ value: cdktf.stringToHclTerraform(struct.parentInterfaceName),
454
+ isBlock: false,
455
+ type: "simple",
456
+ storageClassType: "string",
457
+ },
458
+ peer_gateway_ip: {
459
+ value: cdktf.stringToHclTerraform(struct.peerGatewayIp),
460
+ isBlock: false,
461
+ type: "simple",
462
+ storageClassType: "string",
463
+ },
464
+ peer_ip_address: {
465
+ value: cdktf.stringToHclTerraform(struct.peerIpAddress),
466
+ isBlock: false,
467
+ type: "simple",
468
+ storageClassType: "string",
469
+ },
470
+ tag: {
471
+ value: cdktf.stringToHclTerraform(struct.tag),
472
+ isBlock: false,
473
+ type: "simple",
474
+ storageClassType: "string",
475
+ },
476
+ vlan_id: {
477
+ value: cdktf.numberToHclTerraform(struct.vlanId),
478
+ isBlock: false,
479
+ type: "simple",
480
+ storageClassType: "number",
481
+ },
482
+ vrrp_virtual_ip: {
483
+ value: cdktf.stringToHclTerraform(struct.vrrpVirtualIp),
484
+ isBlock: false,
485
+ type: "simple",
486
+ storageClassType: "string",
487
+ },
488
+ };
489
+ // remove undefined attributes
490
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
491
+ }
492
+ export class EdgeZededaVlanOutputReference extends cdktf.ComplexObject {
493
+ isEmptyObject = false;
494
+ resolvableValue;
495
+ /**
496
+ * @param terraformResource The parent resource
497
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
498
+ * @param complexObjectIndex the index of this item in the list
499
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
500
+ */
501
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
502
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
503
+ }
504
+ get internalValue() {
505
+ if (this.resolvableValue) {
506
+ return this.resolvableValue;
507
+ }
508
+ let hasAnyValues = this.isEmptyObject;
509
+ const internalValueResult = {};
510
+ if (this._gatewayIp !== undefined) {
511
+ hasAnyValues = true;
512
+ internalValueResult.gatewayIp = this._gatewayIp;
513
+ }
514
+ if (this._ipAddress !== undefined) {
515
+ hasAnyValues = true;
516
+ internalValueResult.ipAddress = this._ipAddress;
517
+ }
518
+ if (this._parentInterfaceName !== undefined) {
519
+ hasAnyValues = true;
520
+ internalValueResult.parentInterfaceName = this._parentInterfaceName;
521
+ }
522
+ if (this._peerGatewayIp !== undefined) {
523
+ hasAnyValues = true;
524
+ internalValueResult.peerGatewayIp = this._peerGatewayIp;
525
+ }
526
+ if (this._peerIpAddress !== undefined) {
527
+ hasAnyValues = true;
528
+ internalValueResult.peerIpAddress = this._peerIpAddress;
529
+ }
530
+ if (this._tag !== undefined) {
531
+ hasAnyValues = true;
532
+ internalValueResult.tag = this._tag;
533
+ }
534
+ if (this._vlanId !== undefined) {
535
+ hasAnyValues = true;
536
+ internalValueResult.vlanId = this._vlanId;
537
+ }
538
+ if (this._vrrpVirtualIp !== undefined) {
539
+ hasAnyValues = true;
540
+ internalValueResult.vrrpVirtualIp = this._vrrpVirtualIp;
541
+ }
542
+ return hasAnyValues ? internalValueResult : undefined;
543
+ }
544
+ set internalValue(value) {
545
+ if (value === undefined) {
546
+ this.isEmptyObject = false;
547
+ this.resolvableValue = undefined;
548
+ this._gatewayIp = undefined;
549
+ this._ipAddress = undefined;
550
+ this._parentInterfaceName = undefined;
551
+ this._peerGatewayIp = undefined;
552
+ this._peerIpAddress = undefined;
553
+ this._tag = undefined;
554
+ this._vlanId = undefined;
555
+ this._vrrpVirtualIp = undefined;
556
+ }
557
+ else if (cdktf.Tokenization.isResolvable(value)) {
558
+ this.isEmptyObject = false;
559
+ this.resolvableValue = value;
560
+ }
561
+ else {
562
+ this.isEmptyObject = Object.keys(value).length === 0;
563
+ this.resolvableValue = undefined;
564
+ this._gatewayIp = value.gatewayIp;
565
+ this._ipAddress = value.ipAddress;
566
+ this._parentInterfaceName = value.parentInterfaceName;
567
+ this._peerGatewayIp = value.peerGatewayIp;
568
+ this._peerIpAddress = value.peerIpAddress;
569
+ this._tag = value.tag;
570
+ this._vlanId = value.vlanId;
571
+ this._vrrpVirtualIp = value.vrrpVirtualIp;
572
+ }
573
+ }
574
+ // gateway_ip - computed: false, optional: true, required: false
575
+ _gatewayIp;
576
+ get gatewayIp() {
577
+ return this.getStringAttribute('gateway_ip');
578
+ }
579
+ set gatewayIp(value) {
580
+ this._gatewayIp = value;
581
+ }
582
+ resetGatewayIp() {
583
+ this._gatewayIp = undefined;
584
+ }
585
+ // Temporarily expose input value. Use with caution.
586
+ get gatewayIpInput() {
587
+ return this._gatewayIp;
588
+ }
589
+ // ip_address - computed: false, optional: false, required: true
590
+ _ipAddress;
591
+ get ipAddress() {
592
+ return this.getStringAttribute('ip_address');
593
+ }
594
+ set ipAddress(value) {
595
+ this._ipAddress = value;
596
+ }
597
+ // Temporarily expose input value. Use with caution.
598
+ get ipAddressInput() {
599
+ return this._ipAddress;
600
+ }
601
+ // parent_interface_name - computed: false, optional: false, required: true
602
+ _parentInterfaceName;
603
+ get parentInterfaceName() {
604
+ return this.getStringAttribute('parent_interface_name');
605
+ }
606
+ set parentInterfaceName(value) {
607
+ this._parentInterfaceName = value;
608
+ }
609
+ // Temporarily expose input value. Use with caution.
610
+ get parentInterfaceNameInput() {
611
+ return this._parentInterfaceName;
612
+ }
613
+ // peer_gateway_ip - computed: false, optional: true, required: false
614
+ _peerGatewayIp;
615
+ get peerGatewayIp() {
616
+ return this.getStringAttribute('peer_gateway_ip');
617
+ }
618
+ set peerGatewayIp(value) {
619
+ this._peerGatewayIp = value;
620
+ }
621
+ resetPeerGatewayIp() {
622
+ this._peerGatewayIp = undefined;
623
+ }
624
+ // Temporarily expose input value. Use with caution.
625
+ get peerGatewayIpInput() {
626
+ return this._peerGatewayIp;
627
+ }
628
+ // peer_ip_address - computed: false, optional: true, required: false
629
+ _peerIpAddress;
630
+ get peerIpAddress() {
631
+ return this.getStringAttribute('peer_ip_address');
632
+ }
633
+ set peerIpAddress(value) {
634
+ this._peerIpAddress = value;
635
+ }
636
+ resetPeerIpAddress() {
637
+ this._peerIpAddress = undefined;
638
+ }
639
+ // Temporarily expose input value. Use with caution.
640
+ get peerIpAddressInput() {
641
+ return this._peerIpAddress;
642
+ }
643
+ // tag - computed: false, optional: true, required: false
644
+ _tag;
645
+ get tag() {
646
+ return this.getStringAttribute('tag');
647
+ }
648
+ set tag(value) {
649
+ this._tag = value;
650
+ }
651
+ resetTag() {
652
+ this._tag = undefined;
653
+ }
654
+ // Temporarily expose input value. Use with caution.
655
+ get tagInput() {
656
+ return this._tag;
657
+ }
658
+ // vlan_id - computed: false, optional: false, required: true
659
+ _vlanId;
660
+ get vlanId() {
661
+ return this.getNumberAttribute('vlan_id');
662
+ }
663
+ set vlanId(value) {
664
+ this._vlanId = value;
665
+ }
666
+ // Temporarily expose input value. Use with caution.
667
+ get vlanIdInput() {
668
+ return this._vlanId;
669
+ }
670
+ // vrrp_virtual_ip - computed: false, optional: true, required: false
671
+ _vrrpVirtualIp;
672
+ get vrrpVirtualIp() {
673
+ return this.getStringAttribute('vrrp_virtual_ip');
674
+ }
675
+ set vrrpVirtualIp(value) {
676
+ this._vrrpVirtualIp = value;
677
+ }
678
+ resetVrrpVirtualIp() {
679
+ this._vrrpVirtualIp = undefined;
680
+ }
681
+ // Temporarily expose input value. Use with caution.
682
+ get vrrpVirtualIpInput() {
683
+ return this._vrrpVirtualIp;
684
+ }
685
+ }
686
+ export class EdgeZededaVlanList extends cdktf.ComplexList {
687
+ terraformResource;
688
+ terraformAttribute;
689
+ wrapsSet;
690
+ internalValue;
691
+ /**
692
+ * @param terraformResource The parent resource
693
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
694
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
695
+ */
696
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
697
+ super(terraformResource, terraformAttribute, wrapsSet);
698
+ this.terraformResource = terraformResource;
699
+ this.terraformAttribute = terraformAttribute;
700
+ this.wrapsSet = wrapsSet;
701
+ }
702
+ /**
703
+ * @param index the index of the item to return
704
+ */
705
+ get(index) {
706
+ return new EdgeZededaVlanOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
707
+ }
708
+ }
709
+ /**
710
+ * Represents a {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/edge_zededa aviatrix_edge_zededa}
711
+ */
712
+ export class EdgeZededa extends cdktf.TerraformResource {
713
+ // =================
714
+ // STATIC PROPERTIES
715
+ // =================
716
+ static tfResourceType = "aviatrix_edge_zededa";
717
+ // ==============
718
+ // STATIC Methods
719
+ // ==============
720
+ /**
721
+ * Generates CDKTF code for importing a EdgeZededa resource upon running "cdktf plan <stack-name>"
722
+ * @param scope The scope in which to define this construct
723
+ * @param importToId The construct id used in the generated config for the EdgeZededa to import
724
+ * @param importFromId The id of the existing EdgeZededa that should be imported. Refer to the {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/edge_zededa#import import section} in the documentation of this resource for the id to use
725
+ * @param provider? Optional instance of the provider where the EdgeZededa to import is found
726
+ */
727
+ static generateConfigForImport(scope, importToId, importFromId, provider) {
728
+ return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aviatrix_edge_zededa", importId: importFromId, provider });
729
+ }
730
+ // ===========
731
+ // INITIALIZER
732
+ // ===========
733
+ /**
734
+ * Create a new {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/edge_zededa aviatrix_edge_zededa} Resource
735
+ *
736
+ * @param scope The scope in which to define this construct
737
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
738
+ * @param options EdgeZededaConfig
739
+ */
740
+ constructor(scope, id, config) {
741
+ super(scope, id, {
742
+ terraformResourceType: 'aviatrix_edge_zededa',
743
+ terraformGeneratorMetadata: {
744
+ providerName: 'aviatrix',
745
+ providerVersion: '8.1.10',
746
+ providerVersionConstraint: '8.1.10'
747
+ },
748
+ provider: config.provider,
749
+ dependsOn: config.dependsOn,
750
+ count: config.count,
751
+ lifecycle: config.lifecycle,
752
+ provisioners: config.provisioners,
753
+ connection: config.connection,
754
+ forEach: config.forEach
755
+ });
756
+ this._accountName = config.accountName;
757
+ this._approvedLearnedCidrs = config.approvedLearnedCidrs;
758
+ this._bgpHoldTime = config.bgpHoldTime;
759
+ this._bgpNeighborStatusPollingTime = config.bgpNeighborStatusPollingTime;
760
+ this._bgpPollingTime = config.bgpPollingTime;
761
+ this._computeNodeUuid = config.computeNodeUuid;
762
+ this._dnsProfileName = config.dnsProfileName;
763
+ this._dnsServerIp = config.dnsServerIp;
764
+ this._enableAutoAdvertiseLanCidrs = config.enableAutoAdvertiseLanCidrs;
765
+ this._enableEdgeActiveStandby = config.enableEdgeActiveStandby;
766
+ this._enableEdgeActiveStandbyPreemptive = config.enableEdgeActiveStandbyPreemptive;
767
+ this._enableEdgeTransitiveRouting = config.enableEdgeTransitiveRouting;
768
+ this._enableJumboFrame = config.enableJumboFrame;
769
+ this._enableLearnedCidrsApproval = config.enableLearnedCidrsApproval;
770
+ this._enableManagementOverPrivateNetwork = config.enableManagementOverPrivateNetwork;
771
+ this._enablePreserveAsPath = config.enablePreserveAsPath;
772
+ this._enableSingleIpSnat = config.enableSingleIpSnat;
773
+ this._gwName = config.gwName;
774
+ this._id = config.id;
775
+ this._lanInterfaceNames = config.lanInterfaceNames;
776
+ this._latitude = config.latitude;
777
+ this._localAsNumber = config.localAsNumber;
778
+ this._longitude = config.longitude;
779
+ this._managementEgressIpPrefixList = config.managementEgressIpPrefixList;
780
+ this._managementInterfaceNames = config.managementInterfaceNames;
781
+ this._prependAsPath = config.prependAsPath;
782
+ this._projectUuid = config.projectUuid;
783
+ this._rxQueueSize = config.rxQueueSize;
784
+ this._secondaryDnsServerIp = config.secondaryDnsServerIp;
785
+ this._siteId = config.siteId;
786
+ this._spokeBgpManualAdvertiseCidrs = config.spokeBgpManualAdvertiseCidrs;
787
+ this._templateUuid = config.templateUuid;
788
+ this._wanInterfaceNames = config.wanInterfaceNames;
789
+ this._interfaces.internalValue = config.interfaces;
790
+ this._vlan.internalValue = config.vlan;
791
+ }
792
+ // ==========
793
+ // ATTRIBUTES
794
+ // ==========
795
+ // account_name - computed: false, optional: false, required: true
796
+ _accountName;
797
+ get accountName() {
798
+ return this.getStringAttribute('account_name');
799
+ }
800
+ set accountName(value) {
801
+ this._accountName = value;
802
+ }
803
+ // Temporarily expose input value. Use with caution.
804
+ get accountNameInput() {
805
+ return this._accountName;
806
+ }
807
+ // approved_learned_cidrs - computed: false, optional: true, required: false
808
+ _approvedLearnedCidrs;
809
+ get approvedLearnedCidrs() {
810
+ return cdktf.Fn.tolist(this.getListAttribute('approved_learned_cidrs'));
811
+ }
812
+ set approvedLearnedCidrs(value) {
813
+ this._approvedLearnedCidrs = value;
814
+ }
815
+ resetApprovedLearnedCidrs() {
816
+ this._approvedLearnedCidrs = undefined;
817
+ }
818
+ // Temporarily expose input value. Use with caution.
819
+ get approvedLearnedCidrsInput() {
820
+ return this._approvedLearnedCidrs;
821
+ }
822
+ // bgp_hold_time - computed: false, optional: true, required: false
823
+ _bgpHoldTime;
824
+ get bgpHoldTime() {
825
+ return this.getNumberAttribute('bgp_hold_time');
826
+ }
827
+ set bgpHoldTime(value) {
828
+ this._bgpHoldTime = value;
829
+ }
830
+ resetBgpHoldTime() {
831
+ this._bgpHoldTime = undefined;
832
+ }
833
+ // Temporarily expose input value. Use with caution.
834
+ get bgpHoldTimeInput() {
835
+ return this._bgpHoldTime;
836
+ }
837
+ // bgp_neighbor_status_polling_time - computed: false, optional: true, required: false
838
+ _bgpNeighborStatusPollingTime;
839
+ get bgpNeighborStatusPollingTime() {
840
+ return this.getNumberAttribute('bgp_neighbor_status_polling_time');
841
+ }
842
+ set bgpNeighborStatusPollingTime(value) {
843
+ this._bgpNeighborStatusPollingTime = value;
844
+ }
845
+ resetBgpNeighborStatusPollingTime() {
846
+ this._bgpNeighborStatusPollingTime = undefined;
847
+ }
848
+ // Temporarily expose input value. Use with caution.
849
+ get bgpNeighborStatusPollingTimeInput() {
850
+ return this._bgpNeighborStatusPollingTime;
851
+ }
852
+ // bgp_polling_time - computed: false, optional: true, required: false
853
+ _bgpPollingTime;
854
+ get bgpPollingTime() {
855
+ return this.getNumberAttribute('bgp_polling_time');
856
+ }
857
+ set bgpPollingTime(value) {
858
+ this._bgpPollingTime = value;
859
+ }
860
+ resetBgpPollingTime() {
861
+ this._bgpPollingTime = undefined;
862
+ }
863
+ // Temporarily expose input value. Use with caution.
864
+ get bgpPollingTimeInput() {
865
+ return this._bgpPollingTime;
866
+ }
867
+ // compute_node_uuid - computed: false, optional: false, required: true
868
+ _computeNodeUuid;
869
+ get computeNodeUuid() {
870
+ return this.getStringAttribute('compute_node_uuid');
871
+ }
872
+ set computeNodeUuid(value) {
873
+ this._computeNodeUuid = value;
874
+ }
875
+ // Temporarily expose input value. Use with caution.
876
+ get computeNodeUuidInput() {
877
+ return this._computeNodeUuid;
878
+ }
879
+ // dns_profile_name - computed: false, optional: true, required: false
880
+ _dnsProfileName;
881
+ get dnsProfileName() {
882
+ return this.getStringAttribute('dns_profile_name');
883
+ }
884
+ set dnsProfileName(value) {
885
+ this._dnsProfileName = value;
886
+ }
887
+ resetDnsProfileName() {
888
+ this._dnsProfileName = undefined;
889
+ }
890
+ // Temporarily expose input value. Use with caution.
891
+ get dnsProfileNameInput() {
892
+ return this._dnsProfileName;
893
+ }
894
+ // dns_server_ip - computed: false, optional: true, required: false
895
+ _dnsServerIp;
896
+ get dnsServerIp() {
897
+ return this.getStringAttribute('dns_server_ip');
898
+ }
899
+ set dnsServerIp(value) {
900
+ this._dnsServerIp = value;
901
+ }
902
+ resetDnsServerIp() {
903
+ this._dnsServerIp = undefined;
904
+ }
905
+ // Temporarily expose input value. Use with caution.
906
+ get dnsServerIpInput() {
907
+ return this._dnsServerIp;
908
+ }
909
+ // enable_auto_advertise_lan_cidrs - computed: false, optional: true, required: false
910
+ _enableAutoAdvertiseLanCidrs;
911
+ get enableAutoAdvertiseLanCidrs() {
912
+ return this.getBooleanAttribute('enable_auto_advertise_lan_cidrs');
913
+ }
914
+ set enableAutoAdvertiseLanCidrs(value) {
915
+ this._enableAutoAdvertiseLanCidrs = value;
916
+ }
917
+ resetEnableAutoAdvertiseLanCidrs() {
918
+ this._enableAutoAdvertiseLanCidrs = undefined;
919
+ }
920
+ // Temporarily expose input value. Use with caution.
921
+ get enableAutoAdvertiseLanCidrsInput() {
922
+ return this._enableAutoAdvertiseLanCidrs;
923
+ }
924
+ // enable_edge_active_standby - computed: false, optional: true, required: false
925
+ _enableEdgeActiveStandby;
926
+ get enableEdgeActiveStandby() {
927
+ return this.getBooleanAttribute('enable_edge_active_standby');
928
+ }
929
+ set enableEdgeActiveStandby(value) {
930
+ this._enableEdgeActiveStandby = value;
931
+ }
932
+ resetEnableEdgeActiveStandby() {
933
+ this._enableEdgeActiveStandby = undefined;
934
+ }
935
+ // Temporarily expose input value. Use with caution.
936
+ get enableEdgeActiveStandbyInput() {
937
+ return this._enableEdgeActiveStandby;
938
+ }
939
+ // enable_edge_active_standby_preemptive - computed: false, optional: true, required: false
940
+ _enableEdgeActiveStandbyPreemptive;
941
+ get enableEdgeActiveStandbyPreemptive() {
942
+ return this.getBooleanAttribute('enable_edge_active_standby_preemptive');
943
+ }
944
+ set enableEdgeActiveStandbyPreemptive(value) {
945
+ this._enableEdgeActiveStandbyPreemptive = value;
946
+ }
947
+ resetEnableEdgeActiveStandbyPreemptive() {
948
+ this._enableEdgeActiveStandbyPreemptive = undefined;
949
+ }
950
+ // Temporarily expose input value. Use with caution.
951
+ get enableEdgeActiveStandbyPreemptiveInput() {
952
+ return this._enableEdgeActiveStandbyPreemptive;
953
+ }
954
+ // enable_edge_transitive_routing - computed: false, optional: true, required: false
955
+ _enableEdgeTransitiveRouting;
956
+ get enableEdgeTransitiveRouting() {
957
+ return this.getBooleanAttribute('enable_edge_transitive_routing');
958
+ }
959
+ set enableEdgeTransitiveRouting(value) {
960
+ this._enableEdgeTransitiveRouting = value;
961
+ }
962
+ resetEnableEdgeTransitiveRouting() {
963
+ this._enableEdgeTransitiveRouting = undefined;
964
+ }
965
+ // Temporarily expose input value. Use with caution.
966
+ get enableEdgeTransitiveRoutingInput() {
967
+ return this._enableEdgeTransitiveRouting;
968
+ }
969
+ // enable_jumbo_frame - computed: false, optional: true, required: false
970
+ _enableJumboFrame;
971
+ get enableJumboFrame() {
972
+ return this.getBooleanAttribute('enable_jumbo_frame');
973
+ }
974
+ set enableJumboFrame(value) {
975
+ this._enableJumboFrame = value;
976
+ }
977
+ resetEnableJumboFrame() {
978
+ this._enableJumboFrame = undefined;
979
+ }
980
+ // Temporarily expose input value. Use with caution.
981
+ get enableJumboFrameInput() {
982
+ return this._enableJumboFrame;
983
+ }
984
+ // enable_learned_cidrs_approval - computed: false, optional: true, required: false
985
+ _enableLearnedCidrsApproval;
986
+ get enableLearnedCidrsApproval() {
987
+ return this.getBooleanAttribute('enable_learned_cidrs_approval');
988
+ }
989
+ set enableLearnedCidrsApproval(value) {
990
+ this._enableLearnedCidrsApproval = value;
991
+ }
992
+ resetEnableLearnedCidrsApproval() {
993
+ this._enableLearnedCidrsApproval = undefined;
994
+ }
995
+ // Temporarily expose input value. Use with caution.
996
+ get enableLearnedCidrsApprovalInput() {
997
+ return this._enableLearnedCidrsApproval;
998
+ }
999
+ // enable_management_over_private_network - computed: false, optional: true, required: false
1000
+ _enableManagementOverPrivateNetwork;
1001
+ get enableManagementOverPrivateNetwork() {
1002
+ return this.getBooleanAttribute('enable_management_over_private_network');
1003
+ }
1004
+ set enableManagementOverPrivateNetwork(value) {
1005
+ this._enableManagementOverPrivateNetwork = value;
1006
+ }
1007
+ resetEnableManagementOverPrivateNetwork() {
1008
+ this._enableManagementOverPrivateNetwork = undefined;
1009
+ }
1010
+ // Temporarily expose input value. Use with caution.
1011
+ get enableManagementOverPrivateNetworkInput() {
1012
+ return this._enableManagementOverPrivateNetwork;
1013
+ }
1014
+ // enable_preserve_as_path - computed: false, optional: true, required: false
1015
+ _enablePreserveAsPath;
1016
+ get enablePreserveAsPath() {
1017
+ return this.getBooleanAttribute('enable_preserve_as_path');
1018
+ }
1019
+ set enablePreserveAsPath(value) {
1020
+ this._enablePreserveAsPath = value;
1021
+ }
1022
+ resetEnablePreserveAsPath() {
1023
+ this._enablePreserveAsPath = undefined;
1024
+ }
1025
+ // Temporarily expose input value. Use with caution.
1026
+ get enablePreserveAsPathInput() {
1027
+ return this._enablePreserveAsPath;
1028
+ }
1029
+ // enable_single_ip_snat - computed: false, optional: true, required: false
1030
+ _enableSingleIpSnat;
1031
+ get enableSingleIpSnat() {
1032
+ return this.getBooleanAttribute('enable_single_ip_snat');
1033
+ }
1034
+ set enableSingleIpSnat(value) {
1035
+ this._enableSingleIpSnat = value;
1036
+ }
1037
+ resetEnableSingleIpSnat() {
1038
+ this._enableSingleIpSnat = undefined;
1039
+ }
1040
+ // Temporarily expose input value. Use with caution.
1041
+ get enableSingleIpSnatInput() {
1042
+ return this._enableSingleIpSnat;
1043
+ }
1044
+ // gw_name - computed: false, optional: false, required: true
1045
+ _gwName;
1046
+ get gwName() {
1047
+ return this.getStringAttribute('gw_name');
1048
+ }
1049
+ set gwName(value) {
1050
+ this._gwName = value;
1051
+ }
1052
+ // Temporarily expose input value. Use with caution.
1053
+ get gwNameInput() {
1054
+ return this._gwName;
1055
+ }
1056
+ // id - computed: true, optional: true, required: false
1057
+ _id;
1058
+ get id() {
1059
+ return this.getStringAttribute('id');
1060
+ }
1061
+ set id(value) {
1062
+ this._id = value;
1063
+ }
1064
+ resetId() {
1065
+ this._id = undefined;
1066
+ }
1067
+ // Temporarily expose input value. Use with caution.
1068
+ get idInput() {
1069
+ return this._id;
1070
+ }
1071
+ // lan_interface_names - computed: false, optional: true, required: false
1072
+ _lanInterfaceNames;
1073
+ get lanInterfaceNames() {
1074
+ return this.getListAttribute('lan_interface_names');
1075
+ }
1076
+ set lanInterfaceNames(value) {
1077
+ this._lanInterfaceNames = value;
1078
+ }
1079
+ resetLanInterfaceNames() {
1080
+ this._lanInterfaceNames = undefined;
1081
+ }
1082
+ // Temporarily expose input value. Use with caution.
1083
+ get lanInterfaceNamesInput() {
1084
+ return this._lanInterfaceNames;
1085
+ }
1086
+ // latitude - computed: true, optional: true, required: false
1087
+ _latitude;
1088
+ get latitude() {
1089
+ return this.getStringAttribute('latitude');
1090
+ }
1091
+ set latitude(value) {
1092
+ this._latitude = value;
1093
+ }
1094
+ resetLatitude() {
1095
+ this._latitude = undefined;
1096
+ }
1097
+ // Temporarily expose input value. Use with caution.
1098
+ get latitudeInput() {
1099
+ return this._latitude;
1100
+ }
1101
+ // local_as_number - computed: true, optional: true, required: false
1102
+ _localAsNumber;
1103
+ get localAsNumber() {
1104
+ return this.getStringAttribute('local_as_number');
1105
+ }
1106
+ set localAsNumber(value) {
1107
+ this._localAsNumber = value;
1108
+ }
1109
+ resetLocalAsNumber() {
1110
+ this._localAsNumber = undefined;
1111
+ }
1112
+ // Temporarily expose input value. Use with caution.
1113
+ get localAsNumberInput() {
1114
+ return this._localAsNumber;
1115
+ }
1116
+ // longitude - computed: true, optional: true, required: false
1117
+ _longitude;
1118
+ get longitude() {
1119
+ return this.getStringAttribute('longitude');
1120
+ }
1121
+ set longitude(value) {
1122
+ this._longitude = value;
1123
+ }
1124
+ resetLongitude() {
1125
+ this._longitude = undefined;
1126
+ }
1127
+ // Temporarily expose input value. Use with caution.
1128
+ get longitudeInput() {
1129
+ return this._longitude;
1130
+ }
1131
+ // management_egress_ip_prefix_list - computed: false, optional: true, required: false
1132
+ _managementEgressIpPrefixList;
1133
+ get managementEgressIpPrefixList() {
1134
+ return cdktf.Fn.tolist(this.getListAttribute('management_egress_ip_prefix_list'));
1135
+ }
1136
+ set managementEgressIpPrefixList(value) {
1137
+ this._managementEgressIpPrefixList = value;
1138
+ }
1139
+ resetManagementEgressIpPrefixList() {
1140
+ this._managementEgressIpPrefixList = undefined;
1141
+ }
1142
+ // Temporarily expose input value. Use with caution.
1143
+ get managementEgressIpPrefixListInput() {
1144
+ return this._managementEgressIpPrefixList;
1145
+ }
1146
+ // management_interface_names - computed: false, optional: true, required: false
1147
+ _managementInterfaceNames;
1148
+ get managementInterfaceNames() {
1149
+ return this.getListAttribute('management_interface_names');
1150
+ }
1151
+ set managementInterfaceNames(value) {
1152
+ this._managementInterfaceNames = value;
1153
+ }
1154
+ resetManagementInterfaceNames() {
1155
+ this._managementInterfaceNames = undefined;
1156
+ }
1157
+ // Temporarily expose input value. Use with caution.
1158
+ get managementInterfaceNamesInput() {
1159
+ return this._managementInterfaceNames;
1160
+ }
1161
+ // prepend_as_path - computed: false, optional: true, required: false
1162
+ _prependAsPath;
1163
+ get prependAsPath() {
1164
+ return this.getListAttribute('prepend_as_path');
1165
+ }
1166
+ set prependAsPath(value) {
1167
+ this._prependAsPath = value;
1168
+ }
1169
+ resetPrependAsPath() {
1170
+ this._prependAsPath = undefined;
1171
+ }
1172
+ // Temporarily expose input value. Use with caution.
1173
+ get prependAsPathInput() {
1174
+ return this._prependAsPath;
1175
+ }
1176
+ // project_uuid - computed: false, optional: false, required: true
1177
+ _projectUuid;
1178
+ get projectUuid() {
1179
+ return this.getStringAttribute('project_uuid');
1180
+ }
1181
+ set projectUuid(value) {
1182
+ this._projectUuid = value;
1183
+ }
1184
+ // Temporarily expose input value. Use with caution.
1185
+ get projectUuidInput() {
1186
+ return this._projectUuid;
1187
+ }
1188
+ // rx_queue_size - computed: false, optional: true, required: false
1189
+ _rxQueueSize;
1190
+ get rxQueueSize() {
1191
+ return this.getStringAttribute('rx_queue_size');
1192
+ }
1193
+ set rxQueueSize(value) {
1194
+ this._rxQueueSize = value;
1195
+ }
1196
+ resetRxQueueSize() {
1197
+ this._rxQueueSize = undefined;
1198
+ }
1199
+ // Temporarily expose input value. Use with caution.
1200
+ get rxQueueSizeInput() {
1201
+ return this._rxQueueSize;
1202
+ }
1203
+ // secondary_dns_server_ip - computed: false, optional: true, required: false
1204
+ _secondaryDnsServerIp;
1205
+ get secondaryDnsServerIp() {
1206
+ return this.getStringAttribute('secondary_dns_server_ip');
1207
+ }
1208
+ set secondaryDnsServerIp(value) {
1209
+ this._secondaryDnsServerIp = value;
1210
+ }
1211
+ resetSecondaryDnsServerIp() {
1212
+ this._secondaryDnsServerIp = undefined;
1213
+ }
1214
+ // Temporarily expose input value. Use with caution.
1215
+ get secondaryDnsServerIpInput() {
1216
+ return this._secondaryDnsServerIp;
1217
+ }
1218
+ // site_id - computed: false, optional: false, required: true
1219
+ _siteId;
1220
+ get siteId() {
1221
+ return this.getStringAttribute('site_id');
1222
+ }
1223
+ set siteId(value) {
1224
+ this._siteId = value;
1225
+ }
1226
+ // Temporarily expose input value. Use with caution.
1227
+ get siteIdInput() {
1228
+ return this._siteId;
1229
+ }
1230
+ // spoke_bgp_manual_advertise_cidrs - computed: false, optional: true, required: false
1231
+ _spokeBgpManualAdvertiseCidrs;
1232
+ get spokeBgpManualAdvertiseCidrs() {
1233
+ return cdktf.Fn.tolist(this.getListAttribute('spoke_bgp_manual_advertise_cidrs'));
1234
+ }
1235
+ set spokeBgpManualAdvertiseCidrs(value) {
1236
+ this._spokeBgpManualAdvertiseCidrs = value;
1237
+ }
1238
+ resetSpokeBgpManualAdvertiseCidrs() {
1239
+ this._spokeBgpManualAdvertiseCidrs = undefined;
1240
+ }
1241
+ // Temporarily expose input value. Use with caution.
1242
+ get spokeBgpManualAdvertiseCidrsInput() {
1243
+ return this._spokeBgpManualAdvertiseCidrs;
1244
+ }
1245
+ // state - computed: true, optional: false, required: false
1246
+ get state() {
1247
+ return this.getStringAttribute('state');
1248
+ }
1249
+ // template_uuid - computed: false, optional: false, required: true
1250
+ _templateUuid;
1251
+ get templateUuid() {
1252
+ return this.getStringAttribute('template_uuid');
1253
+ }
1254
+ set templateUuid(value) {
1255
+ this._templateUuid = value;
1256
+ }
1257
+ // Temporarily expose input value. Use with caution.
1258
+ get templateUuidInput() {
1259
+ return this._templateUuid;
1260
+ }
1261
+ // wan_interface_names - computed: false, optional: true, required: false
1262
+ _wanInterfaceNames;
1263
+ get wanInterfaceNames() {
1264
+ return this.getListAttribute('wan_interface_names');
1265
+ }
1266
+ set wanInterfaceNames(value) {
1267
+ this._wanInterfaceNames = value;
1268
+ }
1269
+ resetWanInterfaceNames() {
1270
+ this._wanInterfaceNames = undefined;
1271
+ }
1272
+ // Temporarily expose input value. Use with caution.
1273
+ get wanInterfaceNamesInput() {
1274
+ return this._wanInterfaceNames;
1275
+ }
1276
+ // interfaces - computed: false, optional: false, required: true
1277
+ _interfaces = new EdgeZededaInterfacesList(this, "interfaces", true);
1278
+ get interfaces() {
1279
+ return this._interfaces;
1280
+ }
1281
+ putInterfaces(value) {
1282
+ this._interfaces.internalValue = value;
1283
+ }
1284
+ // Temporarily expose input value. Use with caution.
1285
+ get interfacesInput() {
1286
+ return this._interfaces.internalValue;
1287
+ }
1288
+ // vlan - computed: false, optional: true, required: false
1289
+ _vlan = new EdgeZededaVlanList(this, "vlan", true);
1290
+ get vlan() {
1291
+ return this._vlan;
1292
+ }
1293
+ putVlan(value) {
1294
+ this._vlan.internalValue = value;
1295
+ }
1296
+ resetVlan() {
1297
+ this._vlan.internalValue = undefined;
1298
+ }
1299
+ // Temporarily expose input value. Use with caution.
1300
+ get vlanInput() {
1301
+ return this._vlan.internalValue;
1302
+ }
1303
+ // =========
1304
+ // SYNTHESIS
1305
+ // =========
1306
+ synthesizeAttributes() {
1307
+ return {
1308
+ account_name: cdktf.stringToTerraform(this._accountName),
1309
+ approved_learned_cidrs: cdktf.listMapper(cdktf.stringToTerraform, false)(this._approvedLearnedCidrs),
1310
+ bgp_hold_time: cdktf.numberToTerraform(this._bgpHoldTime),
1311
+ bgp_neighbor_status_polling_time: cdktf.numberToTerraform(this._bgpNeighborStatusPollingTime),
1312
+ bgp_polling_time: cdktf.numberToTerraform(this._bgpPollingTime),
1313
+ compute_node_uuid: cdktf.stringToTerraform(this._computeNodeUuid),
1314
+ dns_profile_name: cdktf.stringToTerraform(this._dnsProfileName),
1315
+ dns_server_ip: cdktf.stringToTerraform(this._dnsServerIp),
1316
+ enable_auto_advertise_lan_cidrs: cdktf.booleanToTerraform(this._enableAutoAdvertiseLanCidrs),
1317
+ enable_edge_active_standby: cdktf.booleanToTerraform(this._enableEdgeActiveStandby),
1318
+ enable_edge_active_standby_preemptive: cdktf.booleanToTerraform(this._enableEdgeActiveStandbyPreemptive),
1319
+ enable_edge_transitive_routing: cdktf.booleanToTerraform(this._enableEdgeTransitiveRouting),
1320
+ enable_jumbo_frame: cdktf.booleanToTerraform(this._enableJumboFrame),
1321
+ enable_learned_cidrs_approval: cdktf.booleanToTerraform(this._enableLearnedCidrsApproval),
1322
+ enable_management_over_private_network: cdktf.booleanToTerraform(this._enableManagementOverPrivateNetwork),
1323
+ enable_preserve_as_path: cdktf.booleanToTerraform(this._enablePreserveAsPath),
1324
+ enable_single_ip_snat: cdktf.booleanToTerraform(this._enableSingleIpSnat),
1325
+ gw_name: cdktf.stringToTerraform(this._gwName),
1326
+ id: cdktf.stringToTerraform(this._id),
1327
+ lan_interface_names: cdktf.listMapper(cdktf.stringToTerraform, false)(this._lanInterfaceNames),
1328
+ latitude: cdktf.stringToTerraform(this._latitude),
1329
+ local_as_number: cdktf.stringToTerraform(this._localAsNumber),
1330
+ longitude: cdktf.stringToTerraform(this._longitude),
1331
+ management_egress_ip_prefix_list: cdktf.listMapper(cdktf.stringToTerraform, false)(this._managementEgressIpPrefixList),
1332
+ management_interface_names: cdktf.listMapper(cdktf.stringToTerraform, false)(this._managementInterfaceNames),
1333
+ prepend_as_path: cdktf.listMapper(cdktf.stringToTerraform, false)(this._prependAsPath),
1334
+ project_uuid: cdktf.stringToTerraform(this._projectUuid),
1335
+ rx_queue_size: cdktf.stringToTerraform(this._rxQueueSize),
1336
+ secondary_dns_server_ip: cdktf.stringToTerraform(this._secondaryDnsServerIp),
1337
+ site_id: cdktf.stringToTerraform(this._siteId),
1338
+ spoke_bgp_manual_advertise_cidrs: cdktf.listMapper(cdktf.stringToTerraform, false)(this._spokeBgpManualAdvertiseCidrs),
1339
+ template_uuid: cdktf.stringToTerraform(this._templateUuid),
1340
+ wan_interface_names: cdktf.listMapper(cdktf.stringToTerraform, false)(this._wanInterfaceNames),
1341
+ interfaces: cdktf.listMapper(edgeZededaInterfacesToTerraform, true)(this._interfaces.internalValue),
1342
+ vlan: cdktf.listMapper(edgeZededaVlanToTerraform, true)(this._vlan.internalValue),
1343
+ };
1344
+ }
1345
+ synthesizeHclAttributes() {
1346
+ const attrs = {
1347
+ account_name: {
1348
+ value: cdktf.stringToHclTerraform(this._accountName),
1349
+ isBlock: false,
1350
+ type: "simple",
1351
+ storageClassType: "string",
1352
+ },
1353
+ approved_learned_cidrs: {
1354
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._approvedLearnedCidrs),
1355
+ isBlock: false,
1356
+ type: "set",
1357
+ storageClassType: "stringList",
1358
+ },
1359
+ bgp_hold_time: {
1360
+ value: cdktf.numberToHclTerraform(this._bgpHoldTime),
1361
+ isBlock: false,
1362
+ type: "simple",
1363
+ storageClassType: "number",
1364
+ },
1365
+ bgp_neighbor_status_polling_time: {
1366
+ value: cdktf.numberToHclTerraform(this._bgpNeighborStatusPollingTime),
1367
+ isBlock: false,
1368
+ type: "simple",
1369
+ storageClassType: "number",
1370
+ },
1371
+ bgp_polling_time: {
1372
+ value: cdktf.numberToHclTerraform(this._bgpPollingTime),
1373
+ isBlock: false,
1374
+ type: "simple",
1375
+ storageClassType: "number",
1376
+ },
1377
+ compute_node_uuid: {
1378
+ value: cdktf.stringToHclTerraform(this._computeNodeUuid),
1379
+ isBlock: false,
1380
+ type: "simple",
1381
+ storageClassType: "string",
1382
+ },
1383
+ dns_profile_name: {
1384
+ value: cdktf.stringToHclTerraform(this._dnsProfileName),
1385
+ isBlock: false,
1386
+ type: "simple",
1387
+ storageClassType: "string",
1388
+ },
1389
+ dns_server_ip: {
1390
+ value: cdktf.stringToHclTerraform(this._dnsServerIp),
1391
+ isBlock: false,
1392
+ type: "simple",
1393
+ storageClassType: "string",
1394
+ },
1395
+ enable_auto_advertise_lan_cidrs: {
1396
+ value: cdktf.booleanToHclTerraform(this._enableAutoAdvertiseLanCidrs),
1397
+ isBlock: false,
1398
+ type: "simple",
1399
+ storageClassType: "boolean",
1400
+ },
1401
+ enable_edge_active_standby: {
1402
+ value: cdktf.booleanToHclTerraform(this._enableEdgeActiveStandby),
1403
+ isBlock: false,
1404
+ type: "simple",
1405
+ storageClassType: "boolean",
1406
+ },
1407
+ enable_edge_active_standby_preemptive: {
1408
+ value: cdktf.booleanToHclTerraform(this._enableEdgeActiveStandbyPreemptive),
1409
+ isBlock: false,
1410
+ type: "simple",
1411
+ storageClassType: "boolean",
1412
+ },
1413
+ enable_edge_transitive_routing: {
1414
+ value: cdktf.booleanToHclTerraform(this._enableEdgeTransitiveRouting),
1415
+ isBlock: false,
1416
+ type: "simple",
1417
+ storageClassType: "boolean",
1418
+ },
1419
+ enable_jumbo_frame: {
1420
+ value: cdktf.booleanToHclTerraform(this._enableJumboFrame),
1421
+ isBlock: false,
1422
+ type: "simple",
1423
+ storageClassType: "boolean",
1424
+ },
1425
+ enable_learned_cidrs_approval: {
1426
+ value: cdktf.booleanToHclTerraform(this._enableLearnedCidrsApproval),
1427
+ isBlock: false,
1428
+ type: "simple",
1429
+ storageClassType: "boolean",
1430
+ },
1431
+ enable_management_over_private_network: {
1432
+ value: cdktf.booleanToHclTerraform(this._enableManagementOverPrivateNetwork),
1433
+ isBlock: false,
1434
+ type: "simple",
1435
+ storageClassType: "boolean",
1436
+ },
1437
+ enable_preserve_as_path: {
1438
+ value: cdktf.booleanToHclTerraform(this._enablePreserveAsPath),
1439
+ isBlock: false,
1440
+ type: "simple",
1441
+ storageClassType: "boolean",
1442
+ },
1443
+ enable_single_ip_snat: {
1444
+ value: cdktf.booleanToHclTerraform(this._enableSingleIpSnat),
1445
+ isBlock: false,
1446
+ type: "simple",
1447
+ storageClassType: "boolean",
1448
+ },
1449
+ gw_name: {
1450
+ value: cdktf.stringToHclTerraform(this._gwName),
1451
+ isBlock: false,
1452
+ type: "simple",
1453
+ storageClassType: "string",
1454
+ },
1455
+ id: {
1456
+ value: cdktf.stringToHclTerraform(this._id),
1457
+ isBlock: false,
1458
+ type: "simple",
1459
+ storageClassType: "string",
1460
+ },
1461
+ lan_interface_names: {
1462
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._lanInterfaceNames),
1463
+ isBlock: false,
1464
+ type: "list",
1465
+ storageClassType: "stringList",
1466
+ },
1467
+ latitude: {
1468
+ value: cdktf.stringToHclTerraform(this._latitude),
1469
+ isBlock: false,
1470
+ type: "simple",
1471
+ storageClassType: "string",
1472
+ },
1473
+ local_as_number: {
1474
+ value: cdktf.stringToHclTerraform(this._localAsNumber),
1475
+ isBlock: false,
1476
+ type: "simple",
1477
+ storageClassType: "string",
1478
+ },
1479
+ longitude: {
1480
+ value: cdktf.stringToHclTerraform(this._longitude),
1481
+ isBlock: false,
1482
+ type: "simple",
1483
+ storageClassType: "string",
1484
+ },
1485
+ management_egress_ip_prefix_list: {
1486
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._managementEgressIpPrefixList),
1487
+ isBlock: false,
1488
+ type: "set",
1489
+ storageClassType: "stringList",
1490
+ },
1491
+ management_interface_names: {
1492
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._managementInterfaceNames),
1493
+ isBlock: false,
1494
+ type: "list",
1495
+ storageClassType: "stringList",
1496
+ },
1497
+ prepend_as_path: {
1498
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._prependAsPath),
1499
+ isBlock: false,
1500
+ type: "list",
1501
+ storageClassType: "stringList",
1502
+ },
1503
+ project_uuid: {
1504
+ value: cdktf.stringToHclTerraform(this._projectUuid),
1505
+ isBlock: false,
1506
+ type: "simple",
1507
+ storageClassType: "string",
1508
+ },
1509
+ rx_queue_size: {
1510
+ value: cdktf.stringToHclTerraform(this._rxQueueSize),
1511
+ isBlock: false,
1512
+ type: "simple",
1513
+ storageClassType: "string",
1514
+ },
1515
+ secondary_dns_server_ip: {
1516
+ value: cdktf.stringToHclTerraform(this._secondaryDnsServerIp),
1517
+ isBlock: false,
1518
+ type: "simple",
1519
+ storageClassType: "string",
1520
+ },
1521
+ site_id: {
1522
+ value: cdktf.stringToHclTerraform(this._siteId),
1523
+ isBlock: false,
1524
+ type: "simple",
1525
+ storageClassType: "string",
1526
+ },
1527
+ spoke_bgp_manual_advertise_cidrs: {
1528
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._spokeBgpManualAdvertiseCidrs),
1529
+ isBlock: false,
1530
+ type: "set",
1531
+ storageClassType: "stringList",
1532
+ },
1533
+ template_uuid: {
1534
+ value: cdktf.stringToHclTerraform(this._templateUuid),
1535
+ isBlock: false,
1536
+ type: "simple",
1537
+ storageClassType: "string",
1538
+ },
1539
+ wan_interface_names: {
1540
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._wanInterfaceNames),
1541
+ isBlock: false,
1542
+ type: "list",
1543
+ storageClassType: "stringList",
1544
+ },
1545
+ interfaces: {
1546
+ value: cdktf.listMapperHcl(edgeZededaInterfacesToHclTerraform, true)(this._interfaces.internalValue),
1547
+ isBlock: true,
1548
+ type: "set",
1549
+ storageClassType: "EdgeZededaInterfacesList",
1550
+ },
1551
+ vlan: {
1552
+ value: cdktf.listMapperHcl(edgeZededaVlanToHclTerraform, true)(this._vlan.internalValue),
1553
+ isBlock: true,
1554
+ type: "set",
1555
+ storageClassType: "EdgeZededaVlanList",
1556
+ },
1557
+ };
1558
+ // remove undefined attributes
1559
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
1560
+ }
1561
+ }