@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,532 @@
1
+ // https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/edge_equinix_ha
2
+ // generated from terraform resource schema
3
+ import * as cdktf from 'cdktf';
4
+ export function edgeEquinixHaInterfacesToTerraform(struct) {
5
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
6
+ return struct;
7
+ }
8
+ if (cdktf.isComplexElement(struct)) {
9
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
10
+ }
11
+ return {
12
+ bandwidth: cdktf.numberToTerraform(struct.bandwidth),
13
+ dns_server_ip: cdktf.stringToTerraform(struct.dnsServerIp),
14
+ enable_dhcp: cdktf.booleanToTerraform(struct.enableDhcp),
15
+ 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
+ wan_public_ip: cdktf.stringToTerraform(struct.wanPublicIp),
22
+ };
23
+ }
24
+ export function edgeEquinixHaInterfacesToHclTerraform(struct) {
25
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
26
+ return struct;
27
+ }
28
+ if (cdktf.isComplexElement(struct)) {
29
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
30
+ }
31
+ const attrs = {
32
+ bandwidth: {
33
+ value: cdktf.numberToHclTerraform(struct.bandwidth),
34
+ isBlock: false,
35
+ type: "simple",
36
+ storageClassType: "number",
37
+ },
38
+ dns_server_ip: {
39
+ value: cdktf.stringToHclTerraform(struct.dnsServerIp),
40
+ isBlock: false,
41
+ type: "simple",
42
+ storageClassType: "string",
43
+ },
44
+ enable_dhcp: {
45
+ value: cdktf.booleanToHclTerraform(struct.enableDhcp),
46
+ isBlock: false,
47
+ type: "simple",
48
+ storageClassType: "boolean",
49
+ },
50
+ gateway_ip: {
51
+ value: cdktf.stringToHclTerraform(struct.gatewayIp),
52
+ isBlock: false,
53
+ type: "simple",
54
+ storageClassType: "string",
55
+ },
56
+ ip_address: {
57
+ value: cdktf.stringToHclTerraform(struct.ipAddress),
58
+ isBlock: false,
59
+ type: "simple",
60
+ storageClassType: "string",
61
+ },
62
+ name: {
63
+ value: cdktf.stringToHclTerraform(struct.name),
64
+ isBlock: false,
65
+ type: "simple",
66
+ storageClassType: "string",
67
+ },
68
+ secondary_dns_server_ip: {
69
+ value: cdktf.stringToHclTerraform(struct.secondaryDnsServerIp),
70
+ isBlock: false,
71
+ type: "simple",
72
+ storageClassType: "string",
73
+ },
74
+ tag: {
75
+ value: cdktf.stringToHclTerraform(struct.tag),
76
+ isBlock: false,
77
+ type: "simple",
78
+ storageClassType: "string",
79
+ },
80
+ type: {
81
+ value: cdktf.stringToHclTerraform(struct.type),
82
+ isBlock: false,
83
+ type: "simple",
84
+ storageClassType: "string",
85
+ },
86
+ wan_public_ip: {
87
+ value: cdktf.stringToHclTerraform(struct.wanPublicIp),
88
+ isBlock: false,
89
+ type: "simple",
90
+ storageClassType: "string",
91
+ },
92
+ };
93
+ // remove undefined attributes
94
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
95
+ }
96
+ export class EdgeEquinixHaInterfacesOutputReference extends cdktf.ComplexObject {
97
+ isEmptyObject = false;
98
+ resolvableValue;
99
+ /**
100
+ * @param terraformResource The parent resource
101
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
102
+ * @param complexObjectIndex the index of this item in the list
103
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
104
+ */
105
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
106
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
107
+ }
108
+ get internalValue() {
109
+ if (this.resolvableValue) {
110
+ return this.resolvableValue;
111
+ }
112
+ let hasAnyValues = this.isEmptyObject;
113
+ const internalValueResult = {};
114
+ if (this._bandwidth !== undefined) {
115
+ hasAnyValues = true;
116
+ internalValueResult.bandwidth = this._bandwidth;
117
+ }
118
+ if (this._dnsServerIp !== undefined) {
119
+ hasAnyValues = true;
120
+ internalValueResult.dnsServerIp = this._dnsServerIp;
121
+ }
122
+ if (this._enableDhcp !== undefined) {
123
+ hasAnyValues = true;
124
+ internalValueResult.enableDhcp = this._enableDhcp;
125
+ }
126
+ if (this._gatewayIp !== undefined) {
127
+ hasAnyValues = true;
128
+ internalValueResult.gatewayIp = this._gatewayIp;
129
+ }
130
+ if (this._ipAddress !== undefined) {
131
+ hasAnyValues = true;
132
+ internalValueResult.ipAddress = this._ipAddress;
133
+ }
134
+ if (this._name !== undefined) {
135
+ hasAnyValues = true;
136
+ internalValueResult.name = this._name;
137
+ }
138
+ if (this._secondaryDnsServerIp !== undefined) {
139
+ hasAnyValues = true;
140
+ internalValueResult.secondaryDnsServerIp = this._secondaryDnsServerIp;
141
+ }
142
+ if (this._tag !== undefined) {
143
+ hasAnyValues = true;
144
+ internalValueResult.tag = this._tag;
145
+ }
146
+ if (this._type !== undefined) {
147
+ hasAnyValues = true;
148
+ internalValueResult.type = this._type;
149
+ }
150
+ if (this._wanPublicIp !== undefined) {
151
+ hasAnyValues = true;
152
+ internalValueResult.wanPublicIp = this._wanPublicIp;
153
+ }
154
+ return hasAnyValues ? internalValueResult : undefined;
155
+ }
156
+ set internalValue(value) {
157
+ if (value === undefined) {
158
+ this.isEmptyObject = false;
159
+ this.resolvableValue = undefined;
160
+ this._bandwidth = undefined;
161
+ this._dnsServerIp = undefined;
162
+ this._enableDhcp = undefined;
163
+ this._gatewayIp = undefined;
164
+ this._ipAddress = undefined;
165
+ this._name = undefined;
166
+ this._secondaryDnsServerIp = undefined;
167
+ this._tag = undefined;
168
+ this._type = undefined;
169
+ this._wanPublicIp = undefined;
170
+ }
171
+ else if (cdktf.Tokenization.isResolvable(value)) {
172
+ this.isEmptyObject = false;
173
+ this.resolvableValue = value;
174
+ }
175
+ else {
176
+ this.isEmptyObject = Object.keys(value).length === 0;
177
+ this.resolvableValue = undefined;
178
+ this._bandwidth = value.bandwidth;
179
+ this._dnsServerIp = value.dnsServerIp;
180
+ this._enableDhcp = value.enableDhcp;
181
+ this._gatewayIp = value.gatewayIp;
182
+ this._ipAddress = value.ipAddress;
183
+ this._name = value.name;
184
+ this._secondaryDnsServerIp = value.secondaryDnsServerIp;
185
+ this._tag = value.tag;
186
+ this._type = value.type;
187
+ this._wanPublicIp = value.wanPublicIp;
188
+ }
189
+ }
190
+ // bandwidth - computed: false, optional: true, required: false
191
+ _bandwidth;
192
+ get bandwidth() {
193
+ return this.getNumberAttribute('bandwidth');
194
+ }
195
+ set bandwidth(value) {
196
+ this._bandwidth = value;
197
+ }
198
+ resetBandwidth() {
199
+ this._bandwidth = undefined;
200
+ }
201
+ // Temporarily expose input value. Use with caution.
202
+ get bandwidthInput() {
203
+ return this._bandwidth;
204
+ }
205
+ // dns_server_ip - computed: false, optional: true, required: false
206
+ _dnsServerIp;
207
+ get dnsServerIp() {
208
+ return this.getStringAttribute('dns_server_ip');
209
+ }
210
+ set dnsServerIp(value) {
211
+ this._dnsServerIp = value;
212
+ }
213
+ resetDnsServerIp() {
214
+ this._dnsServerIp = undefined;
215
+ }
216
+ // Temporarily expose input value. Use with caution.
217
+ get dnsServerIpInput() {
218
+ return this._dnsServerIp;
219
+ }
220
+ // enable_dhcp - computed: false, optional: true, required: false
221
+ _enableDhcp;
222
+ get enableDhcp() {
223
+ return this.getBooleanAttribute('enable_dhcp');
224
+ }
225
+ set enableDhcp(value) {
226
+ this._enableDhcp = value;
227
+ }
228
+ resetEnableDhcp() {
229
+ this._enableDhcp = undefined;
230
+ }
231
+ // Temporarily expose input value. Use with caution.
232
+ get enableDhcpInput() {
233
+ return this._enableDhcp;
234
+ }
235
+ // gateway_ip - computed: false, optional: true, required: false
236
+ _gatewayIp;
237
+ get gatewayIp() {
238
+ return this.getStringAttribute('gateway_ip');
239
+ }
240
+ set gatewayIp(value) {
241
+ this._gatewayIp = value;
242
+ }
243
+ resetGatewayIp() {
244
+ this._gatewayIp = undefined;
245
+ }
246
+ // Temporarily expose input value. Use with caution.
247
+ get gatewayIpInput() {
248
+ return this._gatewayIp;
249
+ }
250
+ // ip_address - computed: false, optional: true, required: false
251
+ _ipAddress;
252
+ get ipAddress() {
253
+ return this.getStringAttribute('ip_address');
254
+ }
255
+ set ipAddress(value) {
256
+ this._ipAddress = value;
257
+ }
258
+ resetIpAddress() {
259
+ this._ipAddress = undefined;
260
+ }
261
+ // Temporarily expose input value. Use with caution.
262
+ get ipAddressInput() {
263
+ return this._ipAddress;
264
+ }
265
+ // name - computed: false, optional: false, required: true
266
+ _name;
267
+ get name() {
268
+ return this.getStringAttribute('name');
269
+ }
270
+ set name(value) {
271
+ this._name = value;
272
+ }
273
+ // Temporarily expose input value. Use with caution.
274
+ get nameInput() {
275
+ return this._name;
276
+ }
277
+ // secondary_dns_server_ip - computed: false, optional: true, required: false
278
+ _secondaryDnsServerIp;
279
+ get secondaryDnsServerIp() {
280
+ return this.getStringAttribute('secondary_dns_server_ip');
281
+ }
282
+ set secondaryDnsServerIp(value) {
283
+ this._secondaryDnsServerIp = value;
284
+ }
285
+ resetSecondaryDnsServerIp() {
286
+ this._secondaryDnsServerIp = undefined;
287
+ }
288
+ // Temporarily expose input value. Use with caution.
289
+ get secondaryDnsServerIpInput() {
290
+ return this._secondaryDnsServerIp;
291
+ }
292
+ // tag - computed: false, optional: true, required: false
293
+ _tag;
294
+ get tag() {
295
+ return this.getStringAttribute('tag');
296
+ }
297
+ set tag(value) {
298
+ this._tag = value;
299
+ }
300
+ resetTag() {
301
+ this._tag = undefined;
302
+ }
303
+ // Temporarily expose input value. Use with caution.
304
+ get tagInput() {
305
+ return this._tag;
306
+ }
307
+ // type - computed: false, optional: false, required: true
308
+ _type;
309
+ get type() {
310
+ return this.getStringAttribute('type');
311
+ }
312
+ set type(value) {
313
+ this._type = value;
314
+ }
315
+ // Temporarily expose input value. Use with caution.
316
+ get typeInput() {
317
+ return this._type;
318
+ }
319
+ // wan_public_ip - computed: false, optional: true, required: false
320
+ _wanPublicIp;
321
+ get wanPublicIp() {
322
+ return this.getStringAttribute('wan_public_ip');
323
+ }
324
+ set wanPublicIp(value) {
325
+ this._wanPublicIp = value;
326
+ }
327
+ resetWanPublicIp() {
328
+ this._wanPublicIp = undefined;
329
+ }
330
+ // Temporarily expose input value. Use with caution.
331
+ get wanPublicIpInput() {
332
+ return this._wanPublicIp;
333
+ }
334
+ }
335
+ export class EdgeEquinixHaInterfacesList extends cdktf.ComplexList {
336
+ terraformResource;
337
+ terraformAttribute;
338
+ wrapsSet;
339
+ internalValue;
340
+ /**
341
+ * @param terraformResource The parent resource
342
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
343
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
344
+ */
345
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
346
+ super(terraformResource, terraformAttribute, wrapsSet);
347
+ this.terraformResource = terraformResource;
348
+ this.terraformAttribute = terraformAttribute;
349
+ this.wrapsSet = wrapsSet;
350
+ }
351
+ /**
352
+ * @param index the index of the item to return
353
+ */
354
+ get(index) {
355
+ return new EdgeEquinixHaInterfacesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
356
+ }
357
+ }
358
+ /**
359
+ * Represents a {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/edge_equinix_ha aviatrix_edge_equinix_ha}
360
+ */
361
+ export class EdgeEquinixHa extends cdktf.TerraformResource {
362
+ // =================
363
+ // STATIC PROPERTIES
364
+ // =================
365
+ static tfResourceType = "aviatrix_edge_equinix_ha";
366
+ // ==============
367
+ // STATIC Methods
368
+ // ==============
369
+ /**
370
+ * Generates CDKTF code for importing a EdgeEquinixHa resource upon running "cdktf plan <stack-name>"
371
+ * @param scope The scope in which to define this construct
372
+ * @param importToId The construct id used in the generated config for the EdgeEquinixHa to import
373
+ * @param importFromId The id of the existing EdgeEquinixHa that should be imported. Refer to the {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/edge_equinix_ha#import import section} in the documentation of this resource for the id to use
374
+ * @param provider? Optional instance of the provider where the EdgeEquinixHa to import is found
375
+ */
376
+ static generateConfigForImport(scope, importToId, importFromId, provider) {
377
+ return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aviatrix_edge_equinix_ha", importId: importFromId, provider });
378
+ }
379
+ // ===========
380
+ // INITIALIZER
381
+ // ===========
382
+ /**
383
+ * Create a new {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/edge_equinix_ha aviatrix_edge_equinix_ha} Resource
384
+ *
385
+ * @param scope The scope in which to define this construct
386
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
387
+ * @param options EdgeEquinixHaConfig
388
+ */
389
+ constructor(scope, id, config) {
390
+ super(scope, id, {
391
+ terraformResourceType: 'aviatrix_edge_equinix_ha',
392
+ terraformGeneratorMetadata: {
393
+ providerName: 'aviatrix',
394
+ providerVersion: '8.1.10',
395
+ providerVersionConstraint: '8.1.10'
396
+ },
397
+ provider: config.provider,
398
+ dependsOn: config.dependsOn,
399
+ count: config.count,
400
+ lifecycle: config.lifecycle,
401
+ provisioners: config.provisioners,
402
+ connection: config.connection,
403
+ forEach: config.forEach
404
+ });
405
+ this._id = config.id;
406
+ this._managementEgressIpPrefixList = config.managementEgressIpPrefixList;
407
+ this._primaryGwName = config.primaryGwName;
408
+ this._ztpFileDownloadPath = config.ztpFileDownloadPath;
409
+ this._interfaces.internalValue = config.interfaces;
410
+ }
411
+ // ==========
412
+ // ATTRIBUTES
413
+ // ==========
414
+ // account_name - computed: true, optional: false, required: false
415
+ get accountName() {
416
+ return this.getStringAttribute('account_name');
417
+ }
418
+ // id - computed: true, optional: true, required: false
419
+ _id;
420
+ get id() {
421
+ return this.getStringAttribute('id');
422
+ }
423
+ set id(value) {
424
+ this._id = value;
425
+ }
426
+ resetId() {
427
+ this._id = undefined;
428
+ }
429
+ // Temporarily expose input value. Use with caution.
430
+ get idInput() {
431
+ return this._id;
432
+ }
433
+ // management_egress_ip_prefix_list - computed: false, optional: true, required: false
434
+ _managementEgressIpPrefixList;
435
+ get managementEgressIpPrefixList() {
436
+ return cdktf.Fn.tolist(this.getListAttribute('management_egress_ip_prefix_list'));
437
+ }
438
+ set managementEgressIpPrefixList(value) {
439
+ this._managementEgressIpPrefixList = value;
440
+ }
441
+ resetManagementEgressIpPrefixList() {
442
+ this._managementEgressIpPrefixList = undefined;
443
+ }
444
+ // Temporarily expose input value. Use with caution.
445
+ get managementEgressIpPrefixListInput() {
446
+ return this._managementEgressIpPrefixList;
447
+ }
448
+ // primary_gw_name - computed: false, optional: false, required: true
449
+ _primaryGwName;
450
+ get primaryGwName() {
451
+ return this.getStringAttribute('primary_gw_name');
452
+ }
453
+ set primaryGwName(value) {
454
+ this._primaryGwName = value;
455
+ }
456
+ // Temporarily expose input value. Use with caution.
457
+ get primaryGwNameInput() {
458
+ return this._primaryGwName;
459
+ }
460
+ // ztp_file_download_path - computed: false, optional: false, required: true
461
+ _ztpFileDownloadPath;
462
+ get ztpFileDownloadPath() {
463
+ return this.getStringAttribute('ztp_file_download_path');
464
+ }
465
+ set ztpFileDownloadPath(value) {
466
+ this._ztpFileDownloadPath = value;
467
+ }
468
+ // Temporarily expose input value. Use with caution.
469
+ get ztpFileDownloadPathInput() {
470
+ return this._ztpFileDownloadPath;
471
+ }
472
+ // interfaces - computed: false, optional: false, required: true
473
+ _interfaces = new EdgeEquinixHaInterfacesList(this, "interfaces", true);
474
+ get interfaces() {
475
+ return this._interfaces;
476
+ }
477
+ putInterfaces(value) {
478
+ this._interfaces.internalValue = value;
479
+ }
480
+ // Temporarily expose input value. Use with caution.
481
+ get interfacesInput() {
482
+ return this._interfaces.internalValue;
483
+ }
484
+ // =========
485
+ // SYNTHESIS
486
+ // =========
487
+ synthesizeAttributes() {
488
+ return {
489
+ id: cdktf.stringToTerraform(this._id),
490
+ management_egress_ip_prefix_list: cdktf.listMapper(cdktf.stringToTerraform, false)(this._managementEgressIpPrefixList),
491
+ primary_gw_name: cdktf.stringToTerraform(this._primaryGwName),
492
+ ztp_file_download_path: cdktf.stringToTerraform(this._ztpFileDownloadPath),
493
+ interfaces: cdktf.listMapper(edgeEquinixHaInterfacesToTerraform, true)(this._interfaces.internalValue),
494
+ };
495
+ }
496
+ synthesizeHclAttributes() {
497
+ const attrs = {
498
+ id: {
499
+ value: cdktf.stringToHclTerraform(this._id),
500
+ isBlock: false,
501
+ type: "simple",
502
+ storageClassType: "string",
503
+ },
504
+ management_egress_ip_prefix_list: {
505
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._managementEgressIpPrefixList),
506
+ isBlock: false,
507
+ type: "set",
508
+ storageClassType: "stringList",
509
+ },
510
+ primary_gw_name: {
511
+ value: cdktf.stringToHclTerraform(this._primaryGwName),
512
+ isBlock: false,
513
+ type: "simple",
514
+ storageClassType: "string",
515
+ },
516
+ ztp_file_download_path: {
517
+ value: cdktf.stringToHclTerraform(this._ztpFileDownloadPath),
518
+ isBlock: false,
519
+ type: "simple",
520
+ storageClassType: "string",
521
+ },
522
+ interfaces: {
523
+ value: cdktf.listMapperHcl(edgeEquinixHaInterfacesToHclTerraform, true)(this._interfaces.internalValue),
524
+ isBlock: true,
525
+ type: "set",
526
+ storageClassType: "EdgeEquinixHaInterfacesList",
527
+ },
528
+ };
529
+ // remove undefined attributes
530
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
531
+ }
532
+ }