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