@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,800 @@
1
+ // https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/edge_spoke_external_device_conn
2
+ // generated from terraform resource schema
3
+ import * as cdktf from 'cdktf';
4
+ export function edgeSpokeExternalDeviceConnBgpBfdToTerraform(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
+ multiplier: cdktf.numberToTerraform(struct.multiplier),
13
+ receive_interval: cdktf.numberToTerraform(struct.receiveInterval),
14
+ transmit_interval: cdktf.numberToTerraform(struct.transmitInterval),
15
+ };
16
+ }
17
+ export function edgeSpokeExternalDeviceConnBgpBfdToHclTerraform(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
+ multiplier: {
26
+ value: cdktf.numberToHclTerraform(struct.multiplier),
27
+ isBlock: false,
28
+ type: "simple",
29
+ storageClassType: "number",
30
+ },
31
+ receive_interval: {
32
+ value: cdktf.numberToHclTerraform(struct.receiveInterval),
33
+ isBlock: false,
34
+ type: "simple",
35
+ storageClassType: "number",
36
+ },
37
+ transmit_interval: {
38
+ value: cdktf.numberToHclTerraform(struct.transmitInterval),
39
+ isBlock: false,
40
+ type: "simple",
41
+ storageClassType: "number",
42
+ },
43
+ };
44
+ // remove undefined attributes
45
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
46
+ }
47
+ export class EdgeSpokeExternalDeviceConnBgpBfdOutputReference extends cdktf.ComplexObject {
48
+ isEmptyObject = false;
49
+ /**
50
+ * @param terraformResource The parent resource
51
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
52
+ */
53
+ constructor(terraformResource, terraformAttribute) {
54
+ super(terraformResource, terraformAttribute, false, 0);
55
+ }
56
+ get internalValue() {
57
+ let hasAnyValues = this.isEmptyObject;
58
+ const internalValueResult = {};
59
+ if (this._multiplier !== undefined) {
60
+ hasAnyValues = true;
61
+ internalValueResult.multiplier = this._multiplier;
62
+ }
63
+ if (this._receiveInterval !== undefined) {
64
+ hasAnyValues = true;
65
+ internalValueResult.receiveInterval = this._receiveInterval;
66
+ }
67
+ if (this._transmitInterval !== undefined) {
68
+ hasAnyValues = true;
69
+ internalValueResult.transmitInterval = this._transmitInterval;
70
+ }
71
+ return hasAnyValues ? internalValueResult : undefined;
72
+ }
73
+ set internalValue(value) {
74
+ if (value === undefined) {
75
+ this.isEmptyObject = false;
76
+ this._multiplier = undefined;
77
+ this._receiveInterval = undefined;
78
+ this._transmitInterval = undefined;
79
+ }
80
+ else {
81
+ this.isEmptyObject = Object.keys(value).length === 0;
82
+ this._multiplier = value.multiplier;
83
+ this._receiveInterval = value.receiveInterval;
84
+ this._transmitInterval = value.transmitInterval;
85
+ }
86
+ }
87
+ // multiplier - computed: false, optional: true, required: false
88
+ _multiplier;
89
+ get multiplier() {
90
+ return this.getNumberAttribute('multiplier');
91
+ }
92
+ set multiplier(value) {
93
+ this._multiplier = value;
94
+ }
95
+ resetMultiplier() {
96
+ this._multiplier = undefined;
97
+ }
98
+ // Temporarily expose input value. Use with caution.
99
+ get multiplierInput() {
100
+ return this._multiplier;
101
+ }
102
+ // receive_interval - computed: false, optional: true, required: false
103
+ _receiveInterval;
104
+ get receiveInterval() {
105
+ return this.getNumberAttribute('receive_interval');
106
+ }
107
+ set receiveInterval(value) {
108
+ this._receiveInterval = value;
109
+ }
110
+ resetReceiveInterval() {
111
+ this._receiveInterval = undefined;
112
+ }
113
+ // Temporarily expose input value. Use with caution.
114
+ get receiveIntervalInput() {
115
+ return this._receiveInterval;
116
+ }
117
+ // transmit_interval - computed: false, optional: true, required: false
118
+ _transmitInterval;
119
+ get transmitInterval() {
120
+ return this.getNumberAttribute('transmit_interval');
121
+ }
122
+ set transmitInterval(value) {
123
+ this._transmitInterval = value;
124
+ }
125
+ resetTransmitInterval() {
126
+ this._transmitInterval = undefined;
127
+ }
128
+ // Temporarily expose input value. Use with caution.
129
+ get transmitIntervalInput() {
130
+ return this._transmitInterval;
131
+ }
132
+ }
133
+ /**
134
+ * Represents a {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/edge_spoke_external_device_conn aviatrix_edge_spoke_external_device_conn}
135
+ */
136
+ export class EdgeSpokeExternalDeviceConn extends cdktf.TerraformResource {
137
+ // =================
138
+ // STATIC PROPERTIES
139
+ // =================
140
+ static tfResourceType = "aviatrix_edge_spoke_external_device_conn";
141
+ // ==============
142
+ // STATIC Methods
143
+ // ==============
144
+ /**
145
+ * Generates CDKTF code for importing a EdgeSpokeExternalDeviceConn resource upon running "cdktf plan <stack-name>"
146
+ * @param scope The scope in which to define this construct
147
+ * @param importToId The construct id used in the generated config for the EdgeSpokeExternalDeviceConn to import
148
+ * @param importFromId The id of the existing EdgeSpokeExternalDeviceConn that should be imported. Refer to the {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/edge_spoke_external_device_conn#import import section} in the documentation of this resource for the id to use
149
+ * @param provider? Optional instance of the provider where the EdgeSpokeExternalDeviceConn to import is found
150
+ */
151
+ static generateConfigForImport(scope, importToId, importFromId, provider) {
152
+ return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aviatrix_edge_spoke_external_device_conn", importId: importFromId, provider });
153
+ }
154
+ // ===========
155
+ // INITIALIZER
156
+ // ===========
157
+ /**
158
+ * Create a new {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/edge_spoke_external_device_conn aviatrix_edge_spoke_external_device_conn} Resource
159
+ *
160
+ * @param scope The scope in which to define this construct
161
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
162
+ * @param options EdgeSpokeExternalDeviceConnConfig
163
+ */
164
+ constructor(scope, id, config) {
165
+ super(scope, id, {
166
+ terraformResourceType: 'aviatrix_edge_spoke_external_device_conn',
167
+ terraformGeneratorMetadata: {
168
+ providerName: 'aviatrix',
169
+ providerVersion: '8.1.10',
170
+ providerVersionConstraint: '8.1.10'
171
+ },
172
+ provider: config.provider,
173
+ dependsOn: config.dependsOn,
174
+ count: config.count,
175
+ lifecycle: config.lifecycle,
176
+ provisioners: config.provisioners,
177
+ connection: config.connection,
178
+ forEach: config.forEach
179
+ });
180
+ this._backupBgpMd5Key = config.backupBgpMd5Key;
181
+ this._backupBgpRemoteAsNum = config.backupBgpRemoteAsNum;
182
+ this._backupLocalLanIp = config.backupLocalLanIp;
183
+ this._backupRemoteLanIp = config.backupRemoteLanIp;
184
+ this._bgpLocalAsNum = config.bgpLocalAsNum;
185
+ this._bgpMd5Key = config.bgpMd5Key;
186
+ this._bgpRemoteAsNum = config.bgpRemoteAsNum;
187
+ this._connectionName = config.connectionName;
188
+ this._connectionType = config.connectionType;
189
+ this._enableBfd = config.enableBfd;
190
+ this._enableBgpLanActivemesh = config.enableBgpLanActivemesh;
191
+ this._enableBgpMultihop = config.enableBgpMultihop;
192
+ this._enableEdgeUnderlay = config.enableEdgeUnderlay;
193
+ this._enableJumboFrame = config.enableJumboFrame;
194
+ this._gwName = config.gwName;
195
+ this._haEnabled = config.haEnabled;
196
+ this._id = config.id;
197
+ this._localLanIp = config.localLanIp;
198
+ this._manualBgpAdvertisedCidrs = config.manualBgpAdvertisedCidrs;
199
+ this._numberOfRetries = config.numberOfRetries;
200
+ this._prependAsPath = config.prependAsPath;
201
+ this._remoteCloudType = config.remoteCloudType;
202
+ this._remoteLanIp = config.remoteLanIp;
203
+ this._retryInterval = config.retryInterval;
204
+ this._siteId = config.siteId;
205
+ this._tunnelProtocol = config.tunnelProtocol;
206
+ this._bgpBfd.internalValue = config.bgpBfd;
207
+ }
208
+ // ==========
209
+ // ATTRIBUTES
210
+ // ==========
211
+ // backup_bgp_md5_key - computed: false, optional: true, required: false
212
+ _backupBgpMd5Key;
213
+ get backupBgpMd5Key() {
214
+ return this.getStringAttribute('backup_bgp_md5_key');
215
+ }
216
+ set backupBgpMd5Key(value) {
217
+ this._backupBgpMd5Key = value;
218
+ }
219
+ resetBackupBgpMd5Key() {
220
+ this._backupBgpMd5Key = undefined;
221
+ }
222
+ // Temporarily expose input value. Use with caution.
223
+ get backupBgpMd5KeyInput() {
224
+ return this._backupBgpMd5Key;
225
+ }
226
+ // backup_bgp_remote_as_num - computed: false, optional: true, required: false
227
+ _backupBgpRemoteAsNum;
228
+ get backupBgpRemoteAsNum() {
229
+ return this.getStringAttribute('backup_bgp_remote_as_num');
230
+ }
231
+ set backupBgpRemoteAsNum(value) {
232
+ this._backupBgpRemoteAsNum = value;
233
+ }
234
+ resetBackupBgpRemoteAsNum() {
235
+ this._backupBgpRemoteAsNum = undefined;
236
+ }
237
+ // Temporarily expose input value. Use with caution.
238
+ get backupBgpRemoteAsNumInput() {
239
+ return this._backupBgpRemoteAsNum;
240
+ }
241
+ // backup_local_lan_ip - computed: true, optional: true, required: false
242
+ _backupLocalLanIp;
243
+ get backupLocalLanIp() {
244
+ return this.getStringAttribute('backup_local_lan_ip');
245
+ }
246
+ set backupLocalLanIp(value) {
247
+ this._backupLocalLanIp = value;
248
+ }
249
+ resetBackupLocalLanIp() {
250
+ this._backupLocalLanIp = undefined;
251
+ }
252
+ // Temporarily expose input value. Use with caution.
253
+ get backupLocalLanIpInput() {
254
+ return this._backupLocalLanIp;
255
+ }
256
+ // backup_remote_lan_ip - computed: false, optional: true, required: false
257
+ _backupRemoteLanIp;
258
+ get backupRemoteLanIp() {
259
+ return this.getStringAttribute('backup_remote_lan_ip');
260
+ }
261
+ set backupRemoteLanIp(value) {
262
+ this._backupRemoteLanIp = value;
263
+ }
264
+ resetBackupRemoteLanIp() {
265
+ this._backupRemoteLanIp = undefined;
266
+ }
267
+ // Temporarily expose input value. Use with caution.
268
+ get backupRemoteLanIpInput() {
269
+ return this._backupRemoteLanIp;
270
+ }
271
+ // bgp_local_as_num - computed: false, optional: false, required: true
272
+ _bgpLocalAsNum;
273
+ get bgpLocalAsNum() {
274
+ return this.getStringAttribute('bgp_local_as_num');
275
+ }
276
+ set bgpLocalAsNum(value) {
277
+ this._bgpLocalAsNum = value;
278
+ }
279
+ // Temporarily expose input value. Use with caution.
280
+ get bgpLocalAsNumInput() {
281
+ return this._bgpLocalAsNum;
282
+ }
283
+ // bgp_md5_key - computed: false, optional: true, required: false
284
+ _bgpMd5Key;
285
+ get bgpMd5Key() {
286
+ return this.getStringAttribute('bgp_md5_key');
287
+ }
288
+ set bgpMd5Key(value) {
289
+ this._bgpMd5Key = value;
290
+ }
291
+ resetBgpMd5Key() {
292
+ this._bgpMd5Key = undefined;
293
+ }
294
+ // Temporarily expose input value. Use with caution.
295
+ get bgpMd5KeyInput() {
296
+ return this._bgpMd5Key;
297
+ }
298
+ // bgp_remote_as_num - computed: false, optional: false, required: true
299
+ _bgpRemoteAsNum;
300
+ get bgpRemoteAsNum() {
301
+ return this.getStringAttribute('bgp_remote_as_num');
302
+ }
303
+ set bgpRemoteAsNum(value) {
304
+ this._bgpRemoteAsNum = value;
305
+ }
306
+ // Temporarily expose input value. Use with caution.
307
+ get bgpRemoteAsNumInput() {
308
+ return this._bgpRemoteAsNum;
309
+ }
310
+ // connection_name - computed: true, optional: true, required: false
311
+ _connectionName;
312
+ get connectionName() {
313
+ return this.getStringAttribute('connection_name');
314
+ }
315
+ set connectionName(value) {
316
+ this._connectionName = value;
317
+ }
318
+ resetConnectionName() {
319
+ this._connectionName = undefined;
320
+ }
321
+ // Temporarily expose input value. Use with caution.
322
+ get connectionNameInput() {
323
+ return this._connectionName;
324
+ }
325
+ // connection_type - computed: false, optional: true, required: false
326
+ _connectionType;
327
+ get connectionType() {
328
+ return this.getStringAttribute('connection_type');
329
+ }
330
+ set connectionType(value) {
331
+ this._connectionType = value;
332
+ }
333
+ resetConnectionType() {
334
+ this._connectionType = undefined;
335
+ }
336
+ // Temporarily expose input value. Use with caution.
337
+ get connectionTypeInput() {
338
+ return this._connectionType;
339
+ }
340
+ // enable_bfd - computed: false, optional: true, required: false
341
+ _enableBfd;
342
+ get enableBfd() {
343
+ return this.getBooleanAttribute('enable_bfd');
344
+ }
345
+ set enableBfd(value) {
346
+ this._enableBfd = value;
347
+ }
348
+ resetEnableBfd() {
349
+ this._enableBfd = undefined;
350
+ }
351
+ // Temporarily expose input value. Use with caution.
352
+ get enableBfdInput() {
353
+ return this._enableBfd;
354
+ }
355
+ // enable_bgp_lan_activemesh - computed: false, optional: true, required: false
356
+ _enableBgpLanActivemesh;
357
+ get enableBgpLanActivemesh() {
358
+ return this.getBooleanAttribute('enable_bgp_lan_activemesh');
359
+ }
360
+ set enableBgpLanActivemesh(value) {
361
+ this._enableBgpLanActivemesh = value;
362
+ }
363
+ resetEnableBgpLanActivemesh() {
364
+ this._enableBgpLanActivemesh = undefined;
365
+ }
366
+ // Temporarily expose input value. Use with caution.
367
+ get enableBgpLanActivemeshInput() {
368
+ return this._enableBgpLanActivemesh;
369
+ }
370
+ // enable_bgp_multihop - computed: false, optional: true, required: false
371
+ _enableBgpMultihop;
372
+ get enableBgpMultihop() {
373
+ return this.getBooleanAttribute('enable_bgp_multihop');
374
+ }
375
+ set enableBgpMultihop(value) {
376
+ this._enableBgpMultihop = value;
377
+ }
378
+ resetEnableBgpMultihop() {
379
+ this._enableBgpMultihop = undefined;
380
+ }
381
+ // Temporarily expose input value. Use with caution.
382
+ get enableBgpMultihopInput() {
383
+ return this._enableBgpMultihop;
384
+ }
385
+ // enable_edge_underlay - computed: false, optional: true, required: false
386
+ _enableEdgeUnderlay;
387
+ get enableEdgeUnderlay() {
388
+ return this.getBooleanAttribute('enable_edge_underlay');
389
+ }
390
+ set enableEdgeUnderlay(value) {
391
+ this._enableEdgeUnderlay = value;
392
+ }
393
+ resetEnableEdgeUnderlay() {
394
+ this._enableEdgeUnderlay = undefined;
395
+ }
396
+ // Temporarily expose input value. Use with caution.
397
+ get enableEdgeUnderlayInput() {
398
+ return this._enableEdgeUnderlay;
399
+ }
400
+ // enable_jumbo_frame - computed: false, optional: true, required: false
401
+ _enableJumboFrame;
402
+ get enableJumboFrame() {
403
+ return this.getBooleanAttribute('enable_jumbo_frame');
404
+ }
405
+ set enableJumboFrame(value) {
406
+ this._enableJumboFrame = value;
407
+ }
408
+ resetEnableJumboFrame() {
409
+ this._enableJumboFrame = undefined;
410
+ }
411
+ // Temporarily expose input value. Use with caution.
412
+ get enableJumboFrameInput() {
413
+ return this._enableJumboFrame;
414
+ }
415
+ // gw_name - computed: false, optional: false, required: true
416
+ _gwName;
417
+ get gwName() {
418
+ return this.getStringAttribute('gw_name');
419
+ }
420
+ set gwName(value) {
421
+ this._gwName = value;
422
+ }
423
+ // Temporarily expose input value. Use with caution.
424
+ get gwNameInput() {
425
+ return this._gwName;
426
+ }
427
+ // ha_enabled - computed: false, optional: true, required: false
428
+ _haEnabled;
429
+ get haEnabled() {
430
+ return this.getBooleanAttribute('ha_enabled');
431
+ }
432
+ set haEnabled(value) {
433
+ this._haEnabled = value;
434
+ }
435
+ resetHaEnabled() {
436
+ this._haEnabled = undefined;
437
+ }
438
+ // Temporarily expose input value. Use with caution.
439
+ get haEnabledInput() {
440
+ return this._haEnabled;
441
+ }
442
+ // id - computed: true, optional: true, required: false
443
+ _id;
444
+ get id() {
445
+ return this.getStringAttribute('id');
446
+ }
447
+ set id(value) {
448
+ this._id = value;
449
+ }
450
+ resetId() {
451
+ this._id = undefined;
452
+ }
453
+ // Temporarily expose input value. Use with caution.
454
+ get idInput() {
455
+ return this._id;
456
+ }
457
+ // local_lan_ip - computed: false, optional: false, required: true
458
+ _localLanIp;
459
+ get localLanIp() {
460
+ return this.getStringAttribute('local_lan_ip');
461
+ }
462
+ set localLanIp(value) {
463
+ this._localLanIp = value;
464
+ }
465
+ // Temporarily expose input value. Use with caution.
466
+ get localLanIpInput() {
467
+ return this._localLanIp;
468
+ }
469
+ // manual_bgp_advertised_cidrs - computed: false, optional: true, required: false
470
+ _manualBgpAdvertisedCidrs;
471
+ get manualBgpAdvertisedCidrs() {
472
+ return cdktf.Fn.tolist(this.getListAttribute('manual_bgp_advertised_cidrs'));
473
+ }
474
+ set manualBgpAdvertisedCidrs(value) {
475
+ this._manualBgpAdvertisedCidrs = value;
476
+ }
477
+ resetManualBgpAdvertisedCidrs() {
478
+ this._manualBgpAdvertisedCidrs = undefined;
479
+ }
480
+ // Temporarily expose input value. Use with caution.
481
+ get manualBgpAdvertisedCidrsInput() {
482
+ return this._manualBgpAdvertisedCidrs;
483
+ }
484
+ // number_of_retries - computed: false, optional: true, required: false
485
+ _numberOfRetries;
486
+ get numberOfRetries() {
487
+ return this.getNumberAttribute('number_of_retries');
488
+ }
489
+ set numberOfRetries(value) {
490
+ this._numberOfRetries = value;
491
+ }
492
+ resetNumberOfRetries() {
493
+ this._numberOfRetries = undefined;
494
+ }
495
+ // Temporarily expose input value. Use with caution.
496
+ get numberOfRetriesInput() {
497
+ return this._numberOfRetries;
498
+ }
499
+ // prepend_as_path - computed: false, optional: true, required: false
500
+ _prependAsPath;
501
+ get prependAsPath() {
502
+ return this.getListAttribute('prepend_as_path');
503
+ }
504
+ set prependAsPath(value) {
505
+ this._prependAsPath = value;
506
+ }
507
+ resetPrependAsPath() {
508
+ this._prependAsPath = undefined;
509
+ }
510
+ // Temporarily expose input value. Use with caution.
511
+ get prependAsPathInput() {
512
+ return this._prependAsPath;
513
+ }
514
+ // remote_cloud_type - computed: false, optional: true, required: false
515
+ _remoteCloudType;
516
+ get remoteCloudType() {
517
+ return this.getStringAttribute('remote_cloud_type');
518
+ }
519
+ set remoteCloudType(value) {
520
+ this._remoteCloudType = value;
521
+ }
522
+ resetRemoteCloudType() {
523
+ this._remoteCloudType = undefined;
524
+ }
525
+ // Temporarily expose input value. Use with caution.
526
+ get remoteCloudTypeInput() {
527
+ return this._remoteCloudType;
528
+ }
529
+ // remote_lan_ip - computed: false, optional: false, required: true
530
+ _remoteLanIp;
531
+ get remoteLanIp() {
532
+ return this.getStringAttribute('remote_lan_ip');
533
+ }
534
+ set remoteLanIp(value) {
535
+ this._remoteLanIp = value;
536
+ }
537
+ // Temporarily expose input value. Use with caution.
538
+ get remoteLanIpInput() {
539
+ return this._remoteLanIp;
540
+ }
541
+ // retry_interval - computed: false, optional: true, required: false
542
+ _retryInterval;
543
+ get retryInterval() {
544
+ return this.getNumberAttribute('retry_interval');
545
+ }
546
+ set retryInterval(value) {
547
+ this._retryInterval = value;
548
+ }
549
+ resetRetryInterval() {
550
+ this._retryInterval = undefined;
551
+ }
552
+ // Temporarily expose input value. Use with caution.
553
+ get retryIntervalInput() {
554
+ return this._retryInterval;
555
+ }
556
+ // site_id - computed: false, optional: false, required: true
557
+ _siteId;
558
+ get siteId() {
559
+ return this.getStringAttribute('site_id');
560
+ }
561
+ set siteId(value) {
562
+ this._siteId = value;
563
+ }
564
+ // Temporarily expose input value. Use with caution.
565
+ get siteIdInput() {
566
+ return this._siteId;
567
+ }
568
+ // tunnel_protocol - computed: false, optional: true, required: false
569
+ _tunnelProtocol;
570
+ get tunnelProtocol() {
571
+ return this.getStringAttribute('tunnel_protocol');
572
+ }
573
+ set tunnelProtocol(value) {
574
+ this._tunnelProtocol = value;
575
+ }
576
+ resetTunnelProtocol() {
577
+ this._tunnelProtocol = undefined;
578
+ }
579
+ // Temporarily expose input value. Use with caution.
580
+ get tunnelProtocolInput() {
581
+ return this._tunnelProtocol;
582
+ }
583
+ // bgp_bfd - computed: false, optional: true, required: false
584
+ _bgpBfd = new EdgeSpokeExternalDeviceConnBgpBfdOutputReference(this, "bgp_bfd");
585
+ get bgpBfd() {
586
+ return this._bgpBfd;
587
+ }
588
+ putBgpBfd(value) {
589
+ this._bgpBfd.internalValue = value;
590
+ }
591
+ resetBgpBfd() {
592
+ this._bgpBfd.internalValue = undefined;
593
+ }
594
+ // Temporarily expose input value. Use with caution.
595
+ get bgpBfdInput() {
596
+ return this._bgpBfd.internalValue;
597
+ }
598
+ // =========
599
+ // SYNTHESIS
600
+ // =========
601
+ synthesizeAttributes() {
602
+ return {
603
+ backup_bgp_md5_key: cdktf.stringToTerraform(this._backupBgpMd5Key),
604
+ backup_bgp_remote_as_num: cdktf.stringToTerraform(this._backupBgpRemoteAsNum),
605
+ backup_local_lan_ip: cdktf.stringToTerraform(this._backupLocalLanIp),
606
+ backup_remote_lan_ip: cdktf.stringToTerraform(this._backupRemoteLanIp),
607
+ bgp_local_as_num: cdktf.stringToTerraform(this._bgpLocalAsNum),
608
+ bgp_md5_key: cdktf.stringToTerraform(this._bgpMd5Key),
609
+ bgp_remote_as_num: cdktf.stringToTerraform(this._bgpRemoteAsNum),
610
+ connection_name: cdktf.stringToTerraform(this._connectionName),
611
+ connection_type: cdktf.stringToTerraform(this._connectionType),
612
+ enable_bfd: cdktf.booleanToTerraform(this._enableBfd),
613
+ enable_bgp_lan_activemesh: cdktf.booleanToTerraform(this._enableBgpLanActivemesh),
614
+ enable_bgp_multihop: cdktf.booleanToTerraform(this._enableBgpMultihop),
615
+ enable_edge_underlay: cdktf.booleanToTerraform(this._enableEdgeUnderlay),
616
+ enable_jumbo_frame: cdktf.booleanToTerraform(this._enableJumboFrame),
617
+ gw_name: cdktf.stringToTerraform(this._gwName),
618
+ ha_enabled: cdktf.booleanToTerraform(this._haEnabled),
619
+ id: cdktf.stringToTerraform(this._id),
620
+ local_lan_ip: cdktf.stringToTerraform(this._localLanIp),
621
+ manual_bgp_advertised_cidrs: cdktf.listMapper(cdktf.stringToTerraform, false)(this._manualBgpAdvertisedCidrs),
622
+ number_of_retries: cdktf.numberToTerraform(this._numberOfRetries),
623
+ prepend_as_path: cdktf.listMapper(cdktf.stringToTerraform, false)(this._prependAsPath),
624
+ remote_cloud_type: cdktf.stringToTerraform(this._remoteCloudType),
625
+ remote_lan_ip: cdktf.stringToTerraform(this._remoteLanIp),
626
+ retry_interval: cdktf.numberToTerraform(this._retryInterval),
627
+ site_id: cdktf.stringToTerraform(this._siteId),
628
+ tunnel_protocol: cdktf.stringToTerraform(this._tunnelProtocol),
629
+ bgp_bfd: edgeSpokeExternalDeviceConnBgpBfdToTerraform(this._bgpBfd.internalValue),
630
+ };
631
+ }
632
+ synthesizeHclAttributes() {
633
+ const attrs = {
634
+ backup_bgp_md5_key: {
635
+ value: cdktf.stringToHclTerraform(this._backupBgpMd5Key),
636
+ isBlock: false,
637
+ type: "simple",
638
+ storageClassType: "string",
639
+ },
640
+ backup_bgp_remote_as_num: {
641
+ value: cdktf.stringToHclTerraform(this._backupBgpRemoteAsNum),
642
+ isBlock: false,
643
+ type: "simple",
644
+ storageClassType: "string",
645
+ },
646
+ backup_local_lan_ip: {
647
+ value: cdktf.stringToHclTerraform(this._backupLocalLanIp),
648
+ isBlock: false,
649
+ type: "simple",
650
+ storageClassType: "string",
651
+ },
652
+ backup_remote_lan_ip: {
653
+ value: cdktf.stringToHclTerraform(this._backupRemoteLanIp),
654
+ isBlock: false,
655
+ type: "simple",
656
+ storageClassType: "string",
657
+ },
658
+ bgp_local_as_num: {
659
+ value: cdktf.stringToHclTerraform(this._bgpLocalAsNum),
660
+ isBlock: false,
661
+ type: "simple",
662
+ storageClassType: "string",
663
+ },
664
+ bgp_md5_key: {
665
+ value: cdktf.stringToHclTerraform(this._bgpMd5Key),
666
+ isBlock: false,
667
+ type: "simple",
668
+ storageClassType: "string",
669
+ },
670
+ bgp_remote_as_num: {
671
+ value: cdktf.stringToHclTerraform(this._bgpRemoteAsNum),
672
+ isBlock: false,
673
+ type: "simple",
674
+ storageClassType: "string",
675
+ },
676
+ connection_name: {
677
+ value: cdktf.stringToHclTerraform(this._connectionName),
678
+ isBlock: false,
679
+ type: "simple",
680
+ storageClassType: "string",
681
+ },
682
+ connection_type: {
683
+ value: cdktf.stringToHclTerraform(this._connectionType),
684
+ isBlock: false,
685
+ type: "simple",
686
+ storageClassType: "string",
687
+ },
688
+ enable_bfd: {
689
+ value: cdktf.booleanToHclTerraform(this._enableBfd),
690
+ isBlock: false,
691
+ type: "simple",
692
+ storageClassType: "boolean",
693
+ },
694
+ enable_bgp_lan_activemesh: {
695
+ value: cdktf.booleanToHclTerraform(this._enableBgpLanActivemesh),
696
+ isBlock: false,
697
+ type: "simple",
698
+ storageClassType: "boolean",
699
+ },
700
+ enable_bgp_multihop: {
701
+ value: cdktf.booleanToHclTerraform(this._enableBgpMultihop),
702
+ isBlock: false,
703
+ type: "simple",
704
+ storageClassType: "boolean",
705
+ },
706
+ enable_edge_underlay: {
707
+ value: cdktf.booleanToHclTerraform(this._enableEdgeUnderlay),
708
+ isBlock: false,
709
+ type: "simple",
710
+ storageClassType: "boolean",
711
+ },
712
+ enable_jumbo_frame: {
713
+ value: cdktf.booleanToHclTerraform(this._enableJumboFrame),
714
+ isBlock: false,
715
+ type: "simple",
716
+ storageClassType: "boolean",
717
+ },
718
+ gw_name: {
719
+ value: cdktf.stringToHclTerraform(this._gwName),
720
+ isBlock: false,
721
+ type: "simple",
722
+ storageClassType: "string",
723
+ },
724
+ ha_enabled: {
725
+ value: cdktf.booleanToHclTerraform(this._haEnabled),
726
+ isBlock: false,
727
+ type: "simple",
728
+ storageClassType: "boolean",
729
+ },
730
+ id: {
731
+ value: cdktf.stringToHclTerraform(this._id),
732
+ isBlock: false,
733
+ type: "simple",
734
+ storageClassType: "string",
735
+ },
736
+ local_lan_ip: {
737
+ value: cdktf.stringToHclTerraform(this._localLanIp),
738
+ isBlock: false,
739
+ type: "simple",
740
+ storageClassType: "string",
741
+ },
742
+ manual_bgp_advertised_cidrs: {
743
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._manualBgpAdvertisedCidrs),
744
+ isBlock: false,
745
+ type: "set",
746
+ storageClassType: "stringList",
747
+ },
748
+ number_of_retries: {
749
+ value: cdktf.numberToHclTerraform(this._numberOfRetries),
750
+ isBlock: false,
751
+ type: "simple",
752
+ storageClassType: "number",
753
+ },
754
+ prepend_as_path: {
755
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._prependAsPath),
756
+ isBlock: false,
757
+ type: "list",
758
+ storageClassType: "stringList",
759
+ },
760
+ remote_cloud_type: {
761
+ value: cdktf.stringToHclTerraform(this._remoteCloudType),
762
+ isBlock: false,
763
+ type: "simple",
764
+ storageClassType: "string",
765
+ },
766
+ remote_lan_ip: {
767
+ value: cdktf.stringToHclTerraform(this._remoteLanIp),
768
+ isBlock: false,
769
+ type: "simple",
770
+ storageClassType: "string",
771
+ },
772
+ retry_interval: {
773
+ value: cdktf.numberToHclTerraform(this._retryInterval),
774
+ isBlock: false,
775
+ type: "simple",
776
+ storageClassType: "number",
777
+ },
778
+ site_id: {
779
+ value: cdktf.stringToHclTerraform(this._siteId),
780
+ isBlock: false,
781
+ type: "simple",
782
+ storageClassType: "string",
783
+ },
784
+ tunnel_protocol: {
785
+ value: cdktf.stringToHclTerraform(this._tunnelProtocol),
786
+ isBlock: false,
787
+ type: "simple",
788
+ storageClassType: "string",
789
+ },
790
+ bgp_bfd: {
791
+ value: edgeSpokeExternalDeviceConnBgpBfdToHclTerraform(this._bgpBfd.internalValue),
792
+ isBlock: true,
793
+ type: "list",
794
+ storageClassType: "EdgeSpokeExternalDeviceConnBgpBfdList",
795
+ },
796
+ };
797
+ // remove undefined attributes
798
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
799
+ }
800
+ }