@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,953 @@
1
+ // https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/edge_spoke
2
+ // generated from terraform resource schema
3
+ import * as cdktf from 'cdktf';
4
+ export function edgeSpokeInterfacesToTerraform(struct) {
5
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
6
+ return struct;
7
+ }
8
+ if (cdktf.isComplexElement(struct)) {
9
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
10
+ }
11
+ return {
12
+ dns_server_ip: cdktf.stringToTerraform(struct.dnsServerIp),
13
+ enable_dhcp: cdktf.booleanToTerraform(struct.enableDhcp),
14
+ gateway_ip: cdktf.stringToTerraform(struct.gatewayIp),
15
+ ip_address: cdktf.stringToTerraform(struct.ipAddress),
16
+ name: cdktf.stringToTerraform(struct.name),
17
+ secondary_dns_server_ip: cdktf.stringToTerraform(struct.secondaryDnsServerIp),
18
+ type: cdktf.stringToTerraform(struct.type),
19
+ wan_public_ip: cdktf.stringToTerraform(struct.wanPublicIp),
20
+ };
21
+ }
22
+ export function edgeSpokeInterfacesToHclTerraform(struct) {
23
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
24
+ return struct;
25
+ }
26
+ if (cdktf.isComplexElement(struct)) {
27
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
28
+ }
29
+ const attrs = {
30
+ dns_server_ip: {
31
+ value: cdktf.stringToHclTerraform(struct.dnsServerIp),
32
+ isBlock: false,
33
+ type: "simple",
34
+ storageClassType: "string",
35
+ },
36
+ enable_dhcp: {
37
+ value: cdktf.booleanToHclTerraform(struct.enableDhcp),
38
+ isBlock: false,
39
+ type: "simple",
40
+ storageClassType: "boolean",
41
+ },
42
+ gateway_ip: {
43
+ value: cdktf.stringToHclTerraform(struct.gatewayIp),
44
+ isBlock: false,
45
+ type: "simple",
46
+ storageClassType: "string",
47
+ },
48
+ ip_address: {
49
+ value: cdktf.stringToHclTerraform(struct.ipAddress),
50
+ isBlock: false,
51
+ type: "simple",
52
+ storageClassType: "string",
53
+ },
54
+ name: {
55
+ value: cdktf.stringToHclTerraform(struct.name),
56
+ isBlock: false,
57
+ type: "simple",
58
+ storageClassType: "string",
59
+ },
60
+ secondary_dns_server_ip: {
61
+ value: cdktf.stringToHclTerraform(struct.secondaryDnsServerIp),
62
+ isBlock: false,
63
+ type: "simple",
64
+ storageClassType: "string",
65
+ },
66
+ type: {
67
+ value: cdktf.stringToHclTerraform(struct.type),
68
+ isBlock: false,
69
+ type: "simple",
70
+ storageClassType: "string",
71
+ },
72
+ wan_public_ip: {
73
+ value: cdktf.stringToHclTerraform(struct.wanPublicIp),
74
+ isBlock: false,
75
+ type: "simple",
76
+ storageClassType: "string",
77
+ },
78
+ };
79
+ // remove undefined attributes
80
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
81
+ }
82
+ export class EdgeSpokeInterfacesOutputReference extends cdktf.ComplexObject {
83
+ isEmptyObject = false;
84
+ resolvableValue;
85
+ /**
86
+ * @param terraformResource The parent resource
87
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
88
+ * @param complexObjectIndex the index of this item in the list
89
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
90
+ */
91
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
92
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
93
+ }
94
+ get internalValue() {
95
+ if (this.resolvableValue) {
96
+ return this.resolvableValue;
97
+ }
98
+ let hasAnyValues = this.isEmptyObject;
99
+ const internalValueResult = {};
100
+ if (this._dnsServerIp !== undefined) {
101
+ hasAnyValues = true;
102
+ internalValueResult.dnsServerIp = this._dnsServerIp;
103
+ }
104
+ if (this._enableDhcp !== undefined) {
105
+ hasAnyValues = true;
106
+ internalValueResult.enableDhcp = this._enableDhcp;
107
+ }
108
+ if (this._gatewayIp !== undefined) {
109
+ hasAnyValues = true;
110
+ internalValueResult.gatewayIp = this._gatewayIp;
111
+ }
112
+ if (this._ipAddress !== undefined) {
113
+ hasAnyValues = true;
114
+ internalValueResult.ipAddress = this._ipAddress;
115
+ }
116
+ if (this._name !== undefined) {
117
+ hasAnyValues = true;
118
+ internalValueResult.name = this._name;
119
+ }
120
+ if (this._secondaryDnsServerIp !== undefined) {
121
+ hasAnyValues = true;
122
+ internalValueResult.secondaryDnsServerIp = this._secondaryDnsServerIp;
123
+ }
124
+ if (this._type !== undefined) {
125
+ hasAnyValues = true;
126
+ internalValueResult.type = this._type;
127
+ }
128
+ if (this._wanPublicIp !== undefined) {
129
+ hasAnyValues = true;
130
+ internalValueResult.wanPublicIp = this._wanPublicIp;
131
+ }
132
+ return hasAnyValues ? internalValueResult : undefined;
133
+ }
134
+ set internalValue(value) {
135
+ if (value === undefined) {
136
+ this.isEmptyObject = false;
137
+ this.resolvableValue = undefined;
138
+ this._dnsServerIp = undefined;
139
+ this._enableDhcp = undefined;
140
+ this._gatewayIp = undefined;
141
+ this._ipAddress = undefined;
142
+ this._name = undefined;
143
+ this._secondaryDnsServerIp = undefined;
144
+ this._type = undefined;
145
+ this._wanPublicIp = undefined;
146
+ }
147
+ else if (cdktf.Tokenization.isResolvable(value)) {
148
+ this.isEmptyObject = false;
149
+ this.resolvableValue = value;
150
+ }
151
+ else {
152
+ this.isEmptyObject = Object.keys(value).length === 0;
153
+ this.resolvableValue = undefined;
154
+ this._dnsServerIp = value.dnsServerIp;
155
+ this._enableDhcp = value.enableDhcp;
156
+ this._gatewayIp = value.gatewayIp;
157
+ this._ipAddress = value.ipAddress;
158
+ this._name = value.name;
159
+ this._secondaryDnsServerIp = value.secondaryDnsServerIp;
160
+ this._type = value.type;
161
+ this._wanPublicIp = value.wanPublicIp;
162
+ }
163
+ }
164
+ // dns_server_ip - computed: false, optional: true, required: false
165
+ _dnsServerIp;
166
+ get dnsServerIp() {
167
+ return this.getStringAttribute('dns_server_ip');
168
+ }
169
+ set dnsServerIp(value) {
170
+ this._dnsServerIp = value;
171
+ }
172
+ resetDnsServerIp() {
173
+ this._dnsServerIp = undefined;
174
+ }
175
+ // Temporarily expose input value. Use with caution.
176
+ get dnsServerIpInput() {
177
+ return this._dnsServerIp;
178
+ }
179
+ // enable_dhcp - computed: false, optional: true, required: false
180
+ _enableDhcp;
181
+ get enableDhcp() {
182
+ return this.getBooleanAttribute('enable_dhcp');
183
+ }
184
+ set enableDhcp(value) {
185
+ this._enableDhcp = value;
186
+ }
187
+ resetEnableDhcp() {
188
+ this._enableDhcp = undefined;
189
+ }
190
+ // Temporarily expose input value. Use with caution.
191
+ get enableDhcpInput() {
192
+ return this._enableDhcp;
193
+ }
194
+ // gateway_ip - computed: false, optional: true, required: false
195
+ _gatewayIp;
196
+ get gatewayIp() {
197
+ return this.getStringAttribute('gateway_ip');
198
+ }
199
+ set gatewayIp(value) {
200
+ this._gatewayIp = value;
201
+ }
202
+ resetGatewayIp() {
203
+ this._gatewayIp = undefined;
204
+ }
205
+ // Temporarily expose input value. Use with caution.
206
+ get gatewayIpInput() {
207
+ return this._gatewayIp;
208
+ }
209
+ // ip_address - computed: false, optional: true, required: false
210
+ _ipAddress;
211
+ get ipAddress() {
212
+ return this.getStringAttribute('ip_address');
213
+ }
214
+ set ipAddress(value) {
215
+ this._ipAddress = value;
216
+ }
217
+ resetIpAddress() {
218
+ this._ipAddress = undefined;
219
+ }
220
+ // Temporarily expose input value. Use with caution.
221
+ get ipAddressInput() {
222
+ return this._ipAddress;
223
+ }
224
+ // name - computed: false, optional: false, required: true
225
+ _name;
226
+ get name() {
227
+ return this.getStringAttribute('name');
228
+ }
229
+ set name(value) {
230
+ this._name = value;
231
+ }
232
+ // Temporarily expose input value. Use with caution.
233
+ get nameInput() {
234
+ return this._name;
235
+ }
236
+ // secondary_dns_server_ip - computed: false, optional: true, required: false
237
+ _secondaryDnsServerIp;
238
+ get secondaryDnsServerIp() {
239
+ return this.getStringAttribute('secondary_dns_server_ip');
240
+ }
241
+ set secondaryDnsServerIp(value) {
242
+ this._secondaryDnsServerIp = value;
243
+ }
244
+ resetSecondaryDnsServerIp() {
245
+ this._secondaryDnsServerIp = undefined;
246
+ }
247
+ // Temporarily expose input value. Use with caution.
248
+ get secondaryDnsServerIpInput() {
249
+ return this._secondaryDnsServerIp;
250
+ }
251
+ // type - computed: false, optional: false, required: true
252
+ _type;
253
+ get type() {
254
+ return this.getStringAttribute('type');
255
+ }
256
+ set type(value) {
257
+ this._type = value;
258
+ }
259
+ // Temporarily expose input value. Use with caution.
260
+ get typeInput() {
261
+ return this._type;
262
+ }
263
+ // wan_public_ip - computed: false, optional: true, required: false
264
+ _wanPublicIp;
265
+ get wanPublicIp() {
266
+ return this.getStringAttribute('wan_public_ip');
267
+ }
268
+ set wanPublicIp(value) {
269
+ this._wanPublicIp = value;
270
+ }
271
+ resetWanPublicIp() {
272
+ this._wanPublicIp = undefined;
273
+ }
274
+ // Temporarily expose input value. Use with caution.
275
+ get wanPublicIpInput() {
276
+ return this._wanPublicIp;
277
+ }
278
+ }
279
+ export class EdgeSpokeInterfacesList extends cdktf.ComplexList {
280
+ terraformResource;
281
+ terraformAttribute;
282
+ wrapsSet;
283
+ internalValue;
284
+ /**
285
+ * @param terraformResource The parent resource
286
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
287
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
288
+ */
289
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
290
+ super(terraformResource, terraformAttribute, wrapsSet);
291
+ this.terraformResource = terraformResource;
292
+ this.terraformAttribute = terraformAttribute;
293
+ this.wrapsSet = wrapsSet;
294
+ }
295
+ /**
296
+ * @param index the index of the item to return
297
+ */
298
+ get(index) {
299
+ return new EdgeSpokeInterfacesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
300
+ }
301
+ }
302
+ /**
303
+ * Represents a {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/edge_spoke aviatrix_edge_spoke}
304
+ */
305
+ export class EdgeSpoke extends cdktf.TerraformResource {
306
+ // =================
307
+ // STATIC PROPERTIES
308
+ // =================
309
+ static tfResourceType = "aviatrix_edge_spoke";
310
+ // ==============
311
+ // STATIC Methods
312
+ // ==============
313
+ /**
314
+ * Generates CDKTF code for importing a EdgeSpoke resource upon running "cdktf plan <stack-name>"
315
+ * @param scope The scope in which to define this construct
316
+ * @param importToId The construct id used in the generated config for the EdgeSpoke to import
317
+ * @param importFromId The id of the existing EdgeSpoke that should be imported. Refer to the {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/edge_spoke#import import section} in the documentation of this resource for the id to use
318
+ * @param provider? Optional instance of the provider where the EdgeSpoke to import is found
319
+ */
320
+ static generateConfigForImport(scope, importToId, importFromId, provider) {
321
+ return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aviatrix_edge_spoke", importId: importFromId, provider });
322
+ }
323
+ // ===========
324
+ // INITIALIZER
325
+ // ===========
326
+ /**
327
+ * Create a new {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/edge_spoke aviatrix_edge_spoke} Resource
328
+ *
329
+ * @param scope The scope in which to define this construct
330
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
331
+ * @param options EdgeSpokeConfig
332
+ */
333
+ constructor(scope, id, config) {
334
+ super(scope, id, {
335
+ terraformResourceType: 'aviatrix_edge_spoke',
336
+ terraformGeneratorMetadata: {
337
+ providerName: 'aviatrix',
338
+ providerVersion: '8.1.10',
339
+ providerVersionConstraint: '8.1.10'
340
+ },
341
+ provider: config.provider,
342
+ dependsOn: config.dependsOn,
343
+ count: config.count,
344
+ lifecycle: config.lifecycle,
345
+ provisioners: config.provisioners,
346
+ connection: config.connection,
347
+ forEach: config.forEach
348
+ });
349
+ this._approvedLearnedCidrs = config.approvedLearnedCidrs;
350
+ this._bgpHoldTime = config.bgpHoldTime;
351
+ this._bgpNeighborStatusPollingTime = config.bgpNeighborStatusPollingTime;
352
+ this._bgpPollingTime = config.bgpPollingTime;
353
+ this._dnsServerIp = config.dnsServerIp;
354
+ this._enableEdgeActiveStandby = config.enableEdgeActiveStandby;
355
+ this._enableEdgeActiveStandbyPreemptive = config.enableEdgeActiveStandbyPreemptive;
356
+ this._enableEdgeTransitiveRouting = config.enableEdgeTransitiveRouting;
357
+ this._enableJumboFrame = config.enableJumboFrame;
358
+ this._enableLearnedCidrsApproval = config.enableLearnedCidrsApproval;
359
+ this._enableManagementOverPrivateNetwork = config.enableManagementOverPrivateNetwork;
360
+ this._enablePreserveAsPath = config.enablePreserveAsPath;
361
+ this._gwName = config.gwName;
362
+ this._id = config.id;
363
+ this._latitude = config.latitude;
364
+ this._localAsNumber = config.localAsNumber;
365
+ this._longitude = config.longitude;
366
+ this._managementEgressIpPrefixList = config.managementEgressIpPrefixList;
367
+ this._prependAsPath = config.prependAsPath;
368
+ this._rxQueueSize = config.rxQueueSize;
369
+ this._secondaryDnsServerIp = config.secondaryDnsServerIp;
370
+ this._siteId = config.siteId;
371
+ this._spokeBgpManualAdvertiseCidrs = config.spokeBgpManualAdvertiseCidrs;
372
+ this._ztpFileDownloadPath = config.ztpFileDownloadPath;
373
+ this._ztpFileType = config.ztpFileType;
374
+ this._interfaces.internalValue = config.interfaces;
375
+ }
376
+ // ==========
377
+ // ATTRIBUTES
378
+ // ==========
379
+ // approved_learned_cidrs - computed: false, optional: true, required: false
380
+ _approvedLearnedCidrs;
381
+ get approvedLearnedCidrs() {
382
+ return cdktf.Fn.tolist(this.getListAttribute('approved_learned_cidrs'));
383
+ }
384
+ set approvedLearnedCidrs(value) {
385
+ this._approvedLearnedCidrs = value;
386
+ }
387
+ resetApprovedLearnedCidrs() {
388
+ this._approvedLearnedCidrs = undefined;
389
+ }
390
+ // Temporarily expose input value. Use with caution.
391
+ get approvedLearnedCidrsInput() {
392
+ return this._approvedLearnedCidrs;
393
+ }
394
+ // bgp_hold_time - computed: false, optional: true, required: false
395
+ _bgpHoldTime;
396
+ get bgpHoldTime() {
397
+ return this.getNumberAttribute('bgp_hold_time');
398
+ }
399
+ set bgpHoldTime(value) {
400
+ this._bgpHoldTime = value;
401
+ }
402
+ resetBgpHoldTime() {
403
+ this._bgpHoldTime = undefined;
404
+ }
405
+ // Temporarily expose input value. Use with caution.
406
+ get bgpHoldTimeInput() {
407
+ return this._bgpHoldTime;
408
+ }
409
+ // bgp_neighbor_status_polling_time - computed: false, optional: true, required: false
410
+ _bgpNeighborStatusPollingTime;
411
+ get bgpNeighborStatusPollingTime() {
412
+ return this.getNumberAttribute('bgp_neighbor_status_polling_time');
413
+ }
414
+ set bgpNeighborStatusPollingTime(value) {
415
+ this._bgpNeighborStatusPollingTime = value;
416
+ }
417
+ resetBgpNeighborStatusPollingTime() {
418
+ this._bgpNeighborStatusPollingTime = undefined;
419
+ }
420
+ // Temporarily expose input value. Use with caution.
421
+ get bgpNeighborStatusPollingTimeInput() {
422
+ return this._bgpNeighborStatusPollingTime;
423
+ }
424
+ // bgp_polling_time - computed: false, optional: true, required: false
425
+ _bgpPollingTime;
426
+ get bgpPollingTime() {
427
+ return this.getNumberAttribute('bgp_polling_time');
428
+ }
429
+ set bgpPollingTime(value) {
430
+ this._bgpPollingTime = value;
431
+ }
432
+ resetBgpPollingTime() {
433
+ this._bgpPollingTime = undefined;
434
+ }
435
+ // Temporarily expose input value. Use with caution.
436
+ get bgpPollingTimeInput() {
437
+ return this._bgpPollingTime;
438
+ }
439
+ // dns_server_ip - computed: false, optional: true, required: false
440
+ _dnsServerIp;
441
+ get dnsServerIp() {
442
+ return this.getStringAttribute('dns_server_ip');
443
+ }
444
+ set dnsServerIp(value) {
445
+ this._dnsServerIp = value;
446
+ }
447
+ resetDnsServerIp() {
448
+ this._dnsServerIp = undefined;
449
+ }
450
+ // Temporarily expose input value. Use with caution.
451
+ get dnsServerIpInput() {
452
+ return this._dnsServerIp;
453
+ }
454
+ // enable_edge_active_standby - computed: false, optional: true, required: false
455
+ _enableEdgeActiveStandby;
456
+ get enableEdgeActiveStandby() {
457
+ return this.getBooleanAttribute('enable_edge_active_standby');
458
+ }
459
+ set enableEdgeActiveStandby(value) {
460
+ this._enableEdgeActiveStandby = value;
461
+ }
462
+ resetEnableEdgeActiveStandby() {
463
+ this._enableEdgeActiveStandby = undefined;
464
+ }
465
+ // Temporarily expose input value. Use with caution.
466
+ get enableEdgeActiveStandbyInput() {
467
+ return this._enableEdgeActiveStandby;
468
+ }
469
+ // enable_edge_active_standby_preemptive - computed: false, optional: true, required: false
470
+ _enableEdgeActiveStandbyPreemptive;
471
+ get enableEdgeActiveStandbyPreemptive() {
472
+ return this.getBooleanAttribute('enable_edge_active_standby_preemptive');
473
+ }
474
+ set enableEdgeActiveStandbyPreemptive(value) {
475
+ this._enableEdgeActiveStandbyPreemptive = value;
476
+ }
477
+ resetEnableEdgeActiveStandbyPreemptive() {
478
+ this._enableEdgeActiveStandbyPreemptive = undefined;
479
+ }
480
+ // Temporarily expose input value. Use with caution.
481
+ get enableEdgeActiveStandbyPreemptiveInput() {
482
+ return this._enableEdgeActiveStandbyPreemptive;
483
+ }
484
+ // enable_edge_transitive_routing - computed: false, optional: true, required: false
485
+ _enableEdgeTransitiveRouting;
486
+ get enableEdgeTransitiveRouting() {
487
+ return this.getBooleanAttribute('enable_edge_transitive_routing');
488
+ }
489
+ set enableEdgeTransitiveRouting(value) {
490
+ this._enableEdgeTransitiveRouting = value;
491
+ }
492
+ resetEnableEdgeTransitiveRouting() {
493
+ this._enableEdgeTransitiveRouting = undefined;
494
+ }
495
+ // Temporarily expose input value. Use with caution.
496
+ get enableEdgeTransitiveRoutingInput() {
497
+ return this._enableEdgeTransitiveRouting;
498
+ }
499
+ // enable_jumbo_frame - computed: false, optional: true, required: false
500
+ _enableJumboFrame;
501
+ get enableJumboFrame() {
502
+ return this.getBooleanAttribute('enable_jumbo_frame');
503
+ }
504
+ set enableJumboFrame(value) {
505
+ this._enableJumboFrame = value;
506
+ }
507
+ resetEnableJumboFrame() {
508
+ this._enableJumboFrame = undefined;
509
+ }
510
+ // Temporarily expose input value. Use with caution.
511
+ get enableJumboFrameInput() {
512
+ return this._enableJumboFrame;
513
+ }
514
+ // enable_learned_cidrs_approval - computed: false, optional: true, required: false
515
+ _enableLearnedCidrsApproval;
516
+ get enableLearnedCidrsApproval() {
517
+ return this.getBooleanAttribute('enable_learned_cidrs_approval');
518
+ }
519
+ set enableLearnedCidrsApproval(value) {
520
+ this._enableLearnedCidrsApproval = value;
521
+ }
522
+ resetEnableLearnedCidrsApproval() {
523
+ this._enableLearnedCidrsApproval = undefined;
524
+ }
525
+ // Temporarily expose input value. Use with caution.
526
+ get enableLearnedCidrsApprovalInput() {
527
+ return this._enableLearnedCidrsApproval;
528
+ }
529
+ // enable_management_over_private_network - computed: false, optional: true, required: false
530
+ _enableManagementOverPrivateNetwork;
531
+ get enableManagementOverPrivateNetwork() {
532
+ return this.getBooleanAttribute('enable_management_over_private_network');
533
+ }
534
+ set enableManagementOverPrivateNetwork(value) {
535
+ this._enableManagementOverPrivateNetwork = value;
536
+ }
537
+ resetEnableManagementOverPrivateNetwork() {
538
+ this._enableManagementOverPrivateNetwork = undefined;
539
+ }
540
+ // Temporarily expose input value. Use with caution.
541
+ get enableManagementOverPrivateNetworkInput() {
542
+ return this._enableManagementOverPrivateNetwork;
543
+ }
544
+ // enable_preserve_as_path - computed: false, optional: true, required: false
545
+ _enablePreserveAsPath;
546
+ get enablePreserveAsPath() {
547
+ return this.getBooleanAttribute('enable_preserve_as_path');
548
+ }
549
+ set enablePreserveAsPath(value) {
550
+ this._enablePreserveAsPath = value;
551
+ }
552
+ resetEnablePreserveAsPath() {
553
+ this._enablePreserveAsPath = undefined;
554
+ }
555
+ // Temporarily expose input value. Use with caution.
556
+ get enablePreserveAsPathInput() {
557
+ return this._enablePreserveAsPath;
558
+ }
559
+ // gw_name - computed: false, optional: false, required: true
560
+ _gwName;
561
+ get gwName() {
562
+ return this.getStringAttribute('gw_name');
563
+ }
564
+ set gwName(value) {
565
+ this._gwName = value;
566
+ }
567
+ // Temporarily expose input value. Use with caution.
568
+ get gwNameInput() {
569
+ return this._gwName;
570
+ }
571
+ // id - computed: true, optional: true, required: false
572
+ _id;
573
+ get id() {
574
+ return this.getStringAttribute('id');
575
+ }
576
+ set id(value) {
577
+ this._id = value;
578
+ }
579
+ resetId() {
580
+ this._id = undefined;
581
+ }
582
+ // Temporarily expose input value. Use with caution.
583
+ get idInput() {
584
+ return this._id;
585
+ }
586
+ // latitude - computed: true, optional: true, required: false
587
+ _latitude;
588
+ get latitude() {
589
+ return this.getStringAttribute('latitude');
590
+ }
591
+ set latitude(value) {
592
+ this._latitude = value;
593
+ }
594
+ resetLatitude() {
595
+ this._latitude = undefined;
596
+ }
597
+ // Temporarily expose input value. Use with caution.
598
+ get latitudeInput() {
599
+ return this._latitude;
600
+ }
601
+ // local_as_number - computed: true, optional: true, required: false
602
+ _localAsNumber;
603
+ get localAsNumber() {
604
+ return this.getStringAttribute('local_as_number');
605
+ }
606
+ set localAsNumber(value) {
607
+ this._localAsNumber = value;
608
+ }
609
+ resetLocalAsNumber() {
610
+ this._localAsNumber = undefined;
611
+ }
612
+ // Temporarily expose input value. Use with caution.
613
+ get localAsNumberInput() {
614
+ return this._localAsNumber;
615
+ }
616
+ // longitude - computed: true, optional: true, required: false
617
+ _longitude;
618
+ get longitude() {
619
+ return this.getStringAttribute('longitude');
620
+ }
621
+ set longitude(value) {
622
+ this._longitude = value;
623
+ }
624
+ resetLongitude() {
625
+ this._longitude = undefined;
626
+ }
627
+ // Temporarily expose input value. Use with caution.
628
+ get longitudeInput() {
629
+ return this._longitude;
630
+ }
631
+ // management_egress_ip_prefix_list - computed: false, optional: true, required: false
632
+ _managementEgressIpPrefixList;
633
+ get managementEgressIpPrefixList() {
634
+ return cdktf.Fn.tolist(this.getListAttribute('management_egress_ip_prefix_list'));
635
+ }
636
+ set managementEgressIpPrefixList(value) {
637
+ this._managementEgressIpPrefixList = value;
638
+ }
639
+ resetManagementEgressIpPrefixList() {
640
+ this._managementEgressIpPrefixList = undefined;
641
+ }
642
+ // Temporarily expose input value. Use with caution.
643
+ get managementEgressIpPrefixListInput() {
644
+ return this._managementEgressIpPrefixList;
645
+ }
646
+ // prepend_as_path - computed: false, optional: true, required: false
647
+ _prependAsPath;
648
+ get prependAsPath() {
649
+ return this.getListAttribute('prepend_as_path');
650
+ }
651
+ set prependAsPath(value) {
652
+ this._prependAsPath = value;
653
+ }
654
+ resetPrependAsPath() {
655
+ this._prependAsPath = undefined;
656
+ }
657
+ // Temporarily expose input value. Use with caution.
658
+ get prependAsPathInput() {
659
+ return this._prependAsPath;
660
+ }
661
+ // rx_queue_size - computed: false, optional: true, required: false
662
+ _rxQueueSize;
663
+ get rxQueueSize() {
664
+ return this.getStringAttribute('rx_queue_size');
665
+ }
666
+ set rxQueueSize(value) {
667
+ this._rxQueueSize = value;
668
+ }
669
+ resetRxQueueSize() {
670
+ this._rxQueueSize = undefined;
671
+ }
672
+ // Temporarily expose input value. Use with caution.
673
+ get rxQueueSizeInput() {
674
+ return this._rxQueueSize;
675
+ }
676
+ // secondary_dns_server_ip - computed: false, optional: true, required: false
677
+ _secondaryDnsServerIp;
678
+ get secondaryDnsServerIp() {
679
+ return this.getStringAttribute('secondary_dns_server_ip');
680
+ }
681
+ set secondaryDnsServerIp(value) {
682
+ this._secondaryDnsServerIp = value;
683
+ }
684
+ resetSecondaryDnsServerIp() {
685
+ this._secondaryDnsServerIp = undefined;
686
+ }
687
+ // Temporarily expose input value. Use with caution.
688
+ get secondaryDnsServerIpInput() {
689
+ return this._secondaryDnsServerIp;
690
+ }
691
+ // site_id - computed: false, optional: false, required: true
692
+ _siteId;
693
+ get siteId() {
694
+ return this.getStringAttribute('site_id');
695
+ }
696
+ set siteId(value) {
697
+ this._siteId = value;
698
+ }
699
+ // Temporarily expose input value. Use with caution.
700
+ get siteIdInput() {
701
+ return this._siteId;
702
+ }
703
+ // spoke_bgp_manual_advertise_cidrs - computed: false, optional: true, required: false
704
+ _spokeBgpManualAdvertiseCidrs;
705
+ get spokeBgpManualAdvertiseCidrs() {
706
+ return cdktf.Fn.tolist(this.getListAttribute('spoke_bgp_manual_advertise_cidrs'));
707
+ }
708
+ set spokeBgpManualAdvertiseCidrs(value) {
709
+ this._spokeBgpManualAdvertiseCidrs = value;
710
+ }
711
+ resetSpokeBgpManualAdvertiseCidrs() {
712
+ this._spokeBgpManualAdvertiseCidrs = undefined;
713
+ }
714
+ // Temporarily expose input value. Use with caution.
715
+ get spokeBgpManualAdvertiseCidrsInput() {
716
+ return this._spokeBgpManualAdvertiseCidrs;
717
+ }
718
+ // state - computed: true, optional: false, required: false
719
+ get state() {
720
+ return this.getStringAttribute('state');
721
+ }
722
+ // ztp_file_download_path - computed: false, optional: false, required: true
723
+ _ztpFileDownloadPath;
724
+ get ztpFileDownloadPath() {
725
+ return this.getStringAttribute('ztp_file_download_path');
726
+ }
727
+ set ztpFileDownloadPath(value) {
728
+ this._ztpFileDownloadPath = value;
729
+ }
730
+ // Temporarily expose input value. Use with caution.
731
+ get ztpFileDownloadPathInput() {
732
+ return this._ztpFileDownloadPath;
733
+ }
734
+ // ztp_file_type - computed: false, optional: false, required: true
735
+ _ztpFileType;
736
+ get ztpFileType() {
737
+ return this.getStringAttribute('ztp_file_type');
738
+ }
739
+ set ztpFileType(value) {
740
+ this._ztpFileType = value;
741
+ }
742
+ // Temporarily expose input value. Use with caution.
743
+ get ztpFileTypeInput() {
744
+ return this._ztpFileType;
745
+ }
746
+ // interfaces - computed: false, optional: false, required: true
747
+ _interfaces = new EdgeSpokeInterfacesList(this, "interfaces", true);
748
+ get interfaces() {
749
+ return this._interfaces;
750
+ }
751
+ putInterfaces(value) {
752
+ this._interfaces.internalValue = value;
753
+ }
754
+ // Temporarily expose input value. Use with caution.
755
+ get interfacesInput() {
756
+ return this._interfaces.internalValue;
757
+ }
758
+ // =========
759
+ // SYNTHESIS
760
+ // =========
761
+ synthesizeAttributes() {
762
+ return {
763
+ approved_learned_cidrs: cdktf.listMapper(cdktf.stringToTerraform, false)(this._approvedLearnedCidrs),
764
+ bgp_hold_time: cdktf.numberToTerraform(this._bgpHoldTime),
765
+ bgp_neighbor_status_polling_time: cdktf.numberToTerraform(this._bgpNeighborStatusPollingTime),
766
+ bgp_polling_time: cdktf.numberToTerraform(this._bgpPollingTime),
767
+ dns_server_ip: cdktf.stringToTerraform(this._dnsServerIp),
768
+ enable_edge_active_standby: cdktf.booleanToTerraform(this._enableEdgeActiveStandby),
769
+ enable_edge_active_standby_preemptive: cdktf.booleanToTerraform(this._enableEdgeActiveStandbyPreemptive),
770
+ enable_edge_transitive_routing: cdktf.booleanToTerraform(this._enableEdgeTransitiveRouting),
771
+ enable_jumbo_frame: cdktf.booleanToTerraform(this._enableJumboFrame),
772
+ enable_learned_cidrs_approval: cdktf.booleanToTerraform(this._enableLearnedCidrsApproval),
773
+ enable_management_over_private_network: cdktf.booleanToTerraform(this._enableManagementOverPrivateNetwork),
774
+ enable_preserve_as_path: cdktf.booleanToTerraform(this._enablePreserveAsPath),
775
+ gw_name: cdktf.stringToTerraform(this._gwName),
776
+ id: cdktf.stringToTerraform(this._id),
777
+ latitude: cdktf.stringToTerraform(this._latitude),
778
+ local_as_number: cdktf.stringToTerraform(this._localAsNumber),
779
+ longitude: cdktf.stringToTerraform(this._longitude),
780
+ management_egress_ip_prefix_list: cdktf.listMapper(cdktf.stringToTerraform, false)(this._managementEgressIpPrefixList),
781
+ prepend_as_path: cdktf.listMapper(cdktf.stringToTerraform, false)(this._prependAsPath),
782
+ rx_queue_size: cdktf.stringToTerraform(this._rxQueueSize),
783
+ secondary_dns_server_ip: cdktf.stringToTerraform(this._secondaryDnsServerIp),
784
+ site_id: cdktf.stringToTerraform(this._siteId),
785
+ spoke_bgp_manual_advertise_cidrs: cdktf.listMapper(cdktf.stringToTerraform, false)(this._spokeBgpManualAdvertiseCidrs),
786
+ ztp_file_download_path: cdktf.stringToTerraform(this._ztpFileDownloadPath),
787
+ ztp_file_type: cdktf.stringToTerraform(this._ztpFileType),
788
+ interfaces: cdktf.listMapper(edgeSpokeInterfacesToTerraform, true)(this._interfaces.internalValue),
789
+ };
790
+ }
791
+ synthesizeHclAttributes() {
792
+ const attrs = {
793
+ approved_learned_cidrs: {
794
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._approvedLearnedCidrs),
795
+ isBlock: false,
796
+ type: "set",
797
+ storageClassType: "stringList",
798
+ },
799
+ bgp_hold_time: {
800
+ value: cdktf.numberToHclTerraform(this._bgpHoldTime),
801
+ isBlock: false,
802
+ type: "simple",
803
+ storageClassType: "number",
804
+ },
805
+ bgp_neighbor_status_polling_time: {
806
+ value: cdktf.numberToHclTerraform(this._bgpNeighborStatusPollingTime),
807
+ isBlock: false,
808
+ type: "simple",
809
+ storageClassType: "number",
810
+ },
811
+ bgp_polling_time: {
812
+ value: cdktf.numberToHclTerraform(this._bgpPollingTime),
813
+ isBlock: false,
814
+ type: "simple",
815
+ storageClassType: "number",
816
+ },
817
+ dns_server_ip: {
818
+ value: cdktf.stringToHclTerraform(this._dnsServerIp),
819
+ isBlock: false,
820
+ type: "simple",
821
+ storageClassType: "string",
822
+ },
823
+ enable_edge_active_standby: {
824
+ value: cdktf.booleanToHclTerraform(this._enableEdgeActiveStandby),
825
+ isBlock: false,
826
+ type: "simple",
827
+ storageClassType: "boolean",
828
+ },
829
+ enable_edge_active_standby_preemptive: {
830
+ value: cdktf.booleanToHclTerraform(this._enableEdgeActiveStandbyPreemptive),
831
+ isBlock: false,
832
+ type: "simple",
833
+ storageClassType: "boolean",
834
+ },
835
+ enable_edge_transitive_routing: {
836
+ value: cdktf.booleanToHclTerraform(this._enableEdgeTransitiveRouting),
837
+ isBlock: false,
838
+ type: "simple",
839
+ storageClassType: "boolean",
840
+ },
841
+ enable_jumbo_frame: {
842
+ value: cdktf.booleanToHclTerraform(this._enableJumboFrame),
843
+ isBlock: false,
844
+ type: "simple",
845
+ storageClassType: "boolean",
846
+ },
847
+ enable_learned_cidrs_approval: {
848
+ value: cdktf.booleanToHclTerraform(this._enableLearnedCidrsApproval),
849
+ isBlock: false,
850
+ type: "simple",
851
+ storageClassType: "boolean",
852
+ },
853
+ enable_management_over_private_network: {
854
+ value: cdktf.booleanToHclTerraform(this._enableManagementOverPrivateNetwork),
855
+ isBlock: false,
856
+ type: "simple",
857
+ storageClassType: "boolean",
858
+ },
859
+ enable_preserve_as_path: {
860
+ value: cdktf.booleanToHclTerraform(this._enablePreserveAsPath),
861
+ isBlock: false,
862
+ type: "simple",
863
+ storageClassType: "boolean",
864
+ },
865
+ gw_name: {
866
+ value: cdktf.stringToHclTerraform(this._gwName),
867
+ isBlock: false,
868
+ type: "simple",
869
+ storageClassType: "string",
870
+ },
871
+ id: {
872
+ value: cdktf.stringToHclTerraform(this._id),
873
+ isBlock: false,
874
+ type: "simple",
875
+ storageClassType: "string",
876
+ },
877
+ latitude: {
878
+ value: cdktf.stringToHclTerraform(this._latitude),
879
+ isBlock: false,
880
+ type: "simple",
881
+ storageClassType: "string",
882
+ },
883
+ local_as_number: {
884
+ value: cdktf.stringToHclTerraform(this._localAsNumber),
885
+ isBlock: false,
886
+ type: "simple",
887
+ storageClassType: "string",
888
+ },
889
+ longitude: {
890
+ value: cdktf.stringToHclTerraform(this._longitude),
891
+ isBlock: false,
892
+ type: "simple",
893
+ storageClassType: "string",
894
+ },
895
+ management_egress_ip_prefix_list: {
896
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._managementEgressIpPrefixList),
897
+ isBlock: false,
898
+ type: "set",
899
+ storageClassType: "stringList",
900
+ },
901
+ prepend_as_path: {
902
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._prependAsPath),
903
+ isBlock: false,
904
+ type: "list",
905
+ storageClassType: "stringList",
906
+ },
907
+ rx_queue_size: {
908
+ value: cdktf.stringToHclTerraform(this._rxQueueSize),
909
+ isBlock: false,
910
+ type: "simple",
911
+ storageClassType: "string",
912
+ },
913
+ secondary_dns_server_ip: {
914
+ value: cdktf.stringToHclTerraform(this._secondaryDnsServerIp),
915
+ isBlock: false,
916
+ type: "simple",
917
+ storageClassType: "string",
918
+ },
919
+ site_id: {
920
+ value: cdktf.stringToHclTerraform(this._siteId),
921
+ isBlock: false,
922
+ type: "simple",
923
+ storageClassType: "string",
924
+ },
925
+ spoke_bgp_manual_advertise_cidrs: {
926
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._spokeBgpManualAdvertiseCidrs),
927
+ isBlock: false,
928
+ type: "set",
929
+ storageClassType: "stringList",
930
+ },
931
+ ztp_file_download_path: {
932
+ value: cdktf.stringToHclTerraform(this._ztpFileDownloadPath),
933
+ isBlock: false,
934
+ type: "simple",
935
+ storageClassType: "string",
936
+ },
937
+ ztp_file_type: {
938
+ value: cdktf.stringToHclTerraform(this._ztpFileType),
939
+ isBlock: false,
940
+ type: "simple",
941
+ storageClassType: "string",
942
+ },
943
+ interfaces: {
944
+ value: cdktf.listMapperHcl(edgeSpokeInterfacesToHclTerraform, true)(this._interfaces.internalValue),
945
+ isBlock: true,
946
+ type: "set",
947
+ storageClassType: "EdgeSpokeInterfacesList",
948
+ },
949
+ };
950
+ // remove undefined attributes
951
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
952
+ }
953
+ }