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