@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,1361 @@
1
+ // https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/spoke_external_device_conn
2
+ // generated from terraform resource schema
3
+ import * as cdktf from 'cdktf';
4
+ export function spokeExternalDeviceConnBgpBfdToTerraform(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 spokeExternalDeviceConnBgpBfdToHclTerraform(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 SpokeExternalDeviceConnBgpBfdOutputReference 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/spoke_external_device_conn aviatrix_spoke_external_device_conn}
135
+ */
136
+ export class SpokeExternalDeviceConn extends cdktf.TerraformResource {
137
+ // =================
138
+ // STATIC PROPERTIES
139
+ // =================
140
+ static tfResourceType = "aviatrix_spoke_external_device_conn";
141
+ // ==============
142
+ // STATIC Methods
143
+ // ==============
144
+ /**
145
+ * Generates CDKTF code for importing a SpokeExternalDeviceConn 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 SpokeExternalDeviceConn to import
148
+ * @param importFromId The id of the existing SpokeExternalDeviceConn that should be imported. Refer to the {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/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 SpokeExternalDeviceConn to import is found
150
+ */
151
+ static generateConfigForImport(scope, importToId, importFromId, provider) {
152
+ return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aviatrix_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/spoke_external_device_conn aviatrix_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 SpokeExternalDeviceConnConfig
163
+ */
164
+ constructor(scope, id, config) {
165
+ super(scope, id, {
166
+ terraformResourceType: 'aviatrix_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._approvedCidrs = config.approvedCidrs;
181
+ this._backupBgpMd5Key = config.backupBgpMd5Key;
182
+ this._backupBgpRemoteAsNum = config.backupBgpRemoteAsNum;
183
+ this._backupDirectConnect = config.backupDirectConnect;
184
+ this._backupLocalLanIp = config.backupLocalLanIp;
185
+ this._backupLocalTunnelCidr = config.backupLocalTunnelCidr;
186
+ this._backupPreSharedKey = config.backupPreSharedKey;
187
+ this._backupRemoteGatewayIp = config.backupRemoteGatewayIp;
188
+ this._backupRemoteLanIp = config.backupRemoteLanIp;
189
+ this._backupRemoteTunnelCidr = config.backupRemoteTunnelCidr;
190
+ this._bgpLocalAsNum = config.bgpLocalAsNum;
191
+ this._bgpMd5Key = config.bgpMd5Key;
192
+ this._bgpRemoteAsNum = config.bgpRemoteAsNum;
193
+ this._connectionBgpSendCommunities = config.connectionBgpSendCommunities;
194
+ this._connectionBgpSendCommunitiesAdditive = config.connectionBgpSendCommunitiesAdditive;
195
+ this._connectionBgpSendCommunitiesBlock = config.connectionBgpSendCommunitiesBlock;
196
+ this._connectionName = config.connectionName;
197
+ this._connectionType = config.connectionType;
198
+ this._customAlgorithms = config.customAlgorithms;
199
+ this._directConnect = config.directConnect;
200
+ this._enableBfd = config.enableBfd;
201
+ this._enableBgpLanActivemesh = config.enableBgpLanActivemesh;
202
+ this._enableBgpMultihop = config.enableBgpMultihop;
203
+ this._enableEventTriggeredHa = config.enableEventTriggeredHa;
204
+ this._enableIkev2 = config.enableIkev2;
205
+ this._enableJumboFrame = config.enableJumboFrame;
206
+ this._enableLearnedCidrsApproval = config.enableLearnedCidrsApproval;
207
+ this._gwName = config.gwName;
208
+ this._haEnabled = config.haEnabled;
209
+ this._id = config.id;
210
+ this._localLanIp = config.localLanIp;
211
+ this._localTunnelCidr = config.localTunnelCidr;
212
+ this._manualBgpAdvertisedCidrs = config.manualBgpAdvertisedCidrs;
213
+ this._phase1LocalIdentifier = config.phase1LocalIdentifier;
214
+ this._phase1RemoteIdentifier = config.phase1RemoteIdentifier;
215
+ this._phase1Authentication = config.phase1Authentication;
216
+ this._phase1DhGroups = config.phase1DhGroups;
217
+ this._phase1Encryption = config.phase1Encryption;
218
+ this._phase2Authentication = config.phase2Authentication;
219
+ this._phase2DhGroups = config.phase2DhGroups;
220
+ this._phase2Encryption = config.phase2Encryption;
221
+ this._preSharedKey = config.preSharedKey;
222
+ this._prependAsPath = config.prependAsPath;
223
+ this._remoteGatewayIp = config.remoteGatewayIp;
224
+ this._remoteLanIp = config.remoteLanIp;
225
+ this._remoteSubnet = config.remoteSubnet;
226
+ this._remoteTunnelCidr = config.remoteTunnelCidr;
227
+ this._remoteVpcName = config.remoteVpcName;
228
+ this._tunnelProtocol = config.tunnelProtocol;
229
+ this._vpcId = config.vpcId;
230
+ this._bgpBfd.internalValue = config.bgpBfd;
231
+ }
232
+ // ==========
233
+ // ATTRIBUTES
234
+ // ==========
235
+ // approved_cidrs - computed: true, optional: true, required: false
236
+ _approvedCidrs;
237
+ get approvedCidrs() {
238
+ return cdktf.Fn.tolist(this.getListAttribute('approved_cidrs'));
239
+ }
240
+ set approvedCidrs(value) {
241
+ this._approvedCidrs = value;
242
+ }
243
+ resetApprovedCidrs() {
244
+ this._approvedCidrs = undefined;
245
+ }
246
+ // Temporarily expose input value. Use with caution.
247
+ get approvedCidrsInput() {
248
+ return this._approvedCidrs;
249
+ }
250
+ // backup_bgp_md5_key - computed: false, optional: true, required: false
251
+ _backupBgpMd5Key;
252
+ get backupBgpMd5Key() {
253
+ return this.getStringAttribute('backup_bgp_md5_key');
254
+ }
255
+ set backupBgpMd5Key(value) {
256
+ this._backupBgpMd5Key = value;
257
+ }
258
+ resetBackupBgpMd5Key() {
259
+ this._backupBgpMd5Key = undefined;
260
+ }
261
+ // Temporarily expose input value. Use with caution.
262
+ get backupBgpMd5KeyInput() {
263
+ return this._backupBgpMd5Key;
264
+ }
265
+ // backup_bgp_remote_as_num - computed: false, optional: true, required: false
266
+ _backupBgpRemoteAsNum;
267
+ get backupBgpRemoteAsNum() {
268
+ return this.getStringAttribute('backup_bgp_remote_as_num');
269
+ }
270
+ set backupBgpRemoteAsNum(value) {
271
+ this._backupBgpRemoteAsNum = value;
272
+ }
273
+ resetBackupBgpRemoteAsNum() {
274
+ this._backupBgpRemoteAsNum = undefined;
275
+ }
276
+ // Temporarily expose input value. Use with caution.
277
+ get backupBgpRemoteAsNumInput() {
278
+ return this._backupBgpRemoteAsNum;
279
+ }
280
+ // backup_direct_connect - computed: false, optional: true, required: false
281
+ _backupDirectConnect;
282
+ get backupDirectConnect() {
283
+ return this.getBooleanAttribute('backup_direct_connect');
284
+ }
285
+ set backupDirectConnect(value) {
286
+ this._backupDirectConnect = value;
287
+ }
288
+ resetBackupDirectConnect() {
289
+ this._backupDirectConnect = undefined;
290
+ }
291
+ // Temporarily expose input value. Use with caution.
292
+ get backupDirectConnectInput() {
293
+ return this._backupDirectConnect;
294
+ }
295
+ // backup_local_lan_ip - computed: true, optional: true, required: false
296
+ _backupLocalLanIp;
297
+ get backupLocalLanIp() {
298
+ return this.getStringAttribute('backup_local_lan_ip');
299
+ }
300
+ set backupLocalLanIp(value) {
301
+ this._backupLocalLanIp = value;
302
+ }
303
+ resetBackupLocalLanIp() {
304
+ this._backupLocalLanIp = undefined;
305
+ }
306
+ // Temporarily expose input value. Use with caution.
307
+ get backupLocalLanIpInput() {
308
+ return this._backupLocalLanIp;
309
+ }
310
+ // backup_local_tunnel_cidr - computed: true, optional: true, required: false
311
+ _backupLocalTunnelCidr;
312
+ get backupLocalTunnelCidr() {
313
+ return this.getStringAttribute('backup_local_tunnel_cidr');
314
+ }
315
+ set backupLocalTunnelCidr(value) {
316
+ this._backupLocalTunnelCidr = value;
317
+ }
318
+ resetBackupLocalTunnelCidr() {
319
+ this._backupLocalTunnelCidr = undefined;
320
+ }
321
+ // Temporarily expose input value. Use with caution.
322
+ get backupLocalTunnelCidrInput() {
323
+ return this._backupLocalTunnelCidr;
324
+ }
325
+ // backup_pre_shared_key - computed: false, optional: true, required: false
326
+ _backupPreSharedKey;
327
+ get backupPreSharedKey() {
328
+ return this.getStringAttribute('backup_pre_shared_key');
329
+ }
330
+ set backupPreSharedKey(value) {
331
+ this._backupPreSharedKey = value;
332
+ }
333
+ resetBackupPreSharedKey() {
334
+ this._backupPreSharedKey = undefined;
335
+ }
336
+ // Temporarily expose input value. Use with caution.
337
+ get backupPreSharedKeyInput() {
338
+ return this._backupPreSharedKey;
339
+ }
340
+ // backup_remote_gateway_ip - computed: false, optional: true, required: false
341
+ _backupRemoteGatewayIp;
342
+ get backupRemoteGatewayIp() {
343
+ return this.getStringAttribute('backup_remote_gateway_ip');
344
+ }
345
+ set backupRemoteGatewayIp(value) {
346
+ this._backupRemoteGatewayIp = value;
347
+ }
348
+ resetBackupRemoteGatewayIp() {
349
+ this._backupRemoteGatewayIp = undefined;
350
+ }
351
+ // Temporarily expose input value. Use with caution.
352
+ get backupRemoteGatewayIpInput() {
353
+ return this._backupRemoteGatewayIp;
354
+ }
355
+ // backup_remote_lan_ip - computed: false, optional: true, required: false
356
+ _backupRemoteLanIp;
357
+ get backupRemoteLanIp() {
358
+ return this.getStringAttribute('backup_remote_lan_ip');
359
+ }
360
+ set backupRemoteLanIp(value) {
361
+ this._backupRemoteLanIp = value;
362
+ }
363
+ resetBackupRemoteLanIp() {
364
+ this._backupRemoteLanIp = undefined;
365
+ }
366
+ // Temporarily expose input value. Use with caution.
367
+ get backupRemoteLanIpInput() {
368
+ return this._backupRemoteLanIp;
369
+ }
370
+ // backup_remote_tunnel_cidr - computed: true, optional: true, required: false
371
+ _backupRemoteTunnelCidr;
372
+ get backupRemoteTunnelCidr() {
373
+ return this.getStringAttribute('backup_remote_tunnel_cidr');
374
+ }
375
+ set backupRemoteTunnelCidr(value) {
376
+ this._backupRemoteTunnelCidr = value;
377
+ }
378
+ resetBackupRemoteTunnelCidr() {
379
+ this._backupRemoteTunnelCidr = undefined;
380
+ }
381
+ // Temporarily expose input value. Use with caution.
382
+ get backupRemoteTunnelCidrInput() {
383
+ return this._backupRemoteTunnelCidr;
384
+ }
385
+ // bgp_local_as_num - computed: false, optional: true, required: false
386
+ _bgpLocalAsNum;
387
+ get bgpLocalAsNum() {
388
+ return this.getStringAttribute('bgp_local_as_num');
389
+ }
390
+ set bgpLocalAsNum(value) {
391
+ this._bgpLocalAsNum = value;
392
+ }
393
+ resetBgpLocalAsNum() {
394
+ this._bgpLocalAsNum = undefined;
395
+ }
396
+ // Temporarily expose input value. Use with caution.
397
+ get bgpLocalAsNumInput() {
398
+ return this._bgpLocalAsNum;
399
+ }
400
+ // bgp_md5_key - computed: false, optional: true, required: false
401
+ _bgpMd5Key;
402
+ get bgpMd5Key() {
403
+ return this.getStringAttribute('bgp_md5_key');
404
+ }
405
+ set bgpMd5Key(value) {
406
+ this._bgpMd5Key = value;
407
+ }
408
+ resetBgpMd5Key() {
409
+ this._bgpMd5Key = undefined;
410
+ }
411
+ // Temporarily expose input value. Use with caution.
412
+ get bgpMd5KeyInput() {
413
+ return this._bgpMd5Key;
414
+ }
415
+ // bgp_remote_as_num - computed: false, optional: true, required: false
416
+ _bgpRemoteAsNum;
417
+ get bgpRemoteAsNum() {
418
+ return this.getStringAttribute('bgp_remote_as_num');
419
+ }
420
+ set bgpRemoteAsNum(value) {
421
+ this._bgpRemoteAsNum = value;
422
+ }
423
+ resetBgpRemoteAsNum() {
424
+ this._bgpRemoteAsNum = undefined;
425
+ }
426
+ // Temporarily expose input value. Use with caution.
427
+ get bgpRemoteAsNumInput() {
428
+ return this._bgpRemoteAsNum;
429
+ }
430
+ // connection_bgp_send_communities - computed: false, optional: true, required: false
431
+ _connectionBgpSendCommunities;
432
+ get connectionBgpSendCommunities() {
433
+ return this.getStringAttribute('connection_bgp_send_communities');
434
+ }
435
+ set connectionBgpSendCommunities(value) {
436
+ this._connectionBgpSendCommunities = value;
437
+ }
438
+ resetConnectionBgpSendCommunities() {
439
+ this._connectionBgpSendCommunities = undefined;
440
+ }
441
+ // Temporarily expose input value. Use with caution.
442
+ get connectionBgpSendCommunitiesInput() {
443
+ return this._connectionBgpSendCommunities;
444
+ }
445
+ // connection_bgp_send_communities_additive - computed: false, optional: true, required: false
446
+ _connectionBgpSendCommunitiesAdditive;
447
+ get connectionBgpSendCommunitiesAdditive() {
448
+ return this.getBooleanAttribute('connection_bgp_send_communities_additive');
449
+ }
450
+ set connectionBgpSendCommunitiesAdditive(value) {
451
+ this._connectionBgpSendCommunitiesAdditive = value;
452
+ }
453
+ resetConnectionBgpSendCommunitiesAdditive() {
454
+ this._connectionBgpSendCommunitiesAdditive = undefined;
455
+ }
456
+ // Temporarily expose input value. Use with caution.
457
+ get connectionBgpSendCommunitiesAdditiveInput() {
458
+ return this._connectionBgpSendCommunitiesAdditive;
459
+ }
460
+ // connection_bgp_send_communities_block - computed: false, optional: true, required: false
461
+ _connectionBgpSendCommunitiesBlock;
462
+ get connectionBgpSendCommunitiesBlock() {
463
+ return this.getBooleanAttribute('connection_bgp_send_communities_block');
464
+ }
465
+ set connectionBgpSendCommunitiesBlock(value) {
466
+ this._connectionBgpSendCommunitiesBlock = value;
467
+ }
468
+ resetConnectionBgpSendCommunitiesBlock() {
469
+ this._connectionBgpSendCommunitiesBlock = undefined;
470
+ }
471
+ // Temporarily expose input value. Use with caution.
472
+ get connectionBgpSendCommunitiesBlockInput() {
473
+ return this._connectionBgpSendCommunitiesBlock;
474
+ }
475
+ // connection_name - computed: false, optional: false, required: true
476
+ _connectionName;
477
+ get connectionName() {
478
+ return this.getStringAttribute('connection_name');
479
+ }
480
+ set connectionName(value) {
481
+ this._connectionName = value;
482
+ }
483
+ // Temporarily expose input value. Use with caution.
484
+ get connectionNameInput() {
485
+ return this._connectionName;
486
+ }
487
+ // connection_type - computed: false, optional: true, required: false
488
+ _connectionType;
489
+ get connectionType() {
490
+ return this.getStringAttribute('connection_type');
491
+ }
492
+ set connectionType(value) {
493
+ this._connectionType = value;
494
+ }
495
+ resetConnectionType() {
496
+ this._connectionType = undefined;
497
+ }
498
+ // Temporarily expose input value. Use with caution.
499
+ get connectionTypeInput() {
500
+ return this._connectionType;
501
+ }
502
+ // custom_algorithms - computed: false, optional: true, required: false
503
+ _customAlgorithms;
504
+ get customAlgorithms() {
505
+ return this.getBooleanAttribute('custom_algorithms');
506
+ }
507
+ set customAlgorithms(value) {
508
+ this._customAlgorithms = value;
509
+ }
510
+ resetCustomAlgorithms() {
511
+ this._customAlgorithms = undefined;
512
+ }
513
+ // Temporarily expose input value. Use with caution.
514
+ get customAlgorithmsInput() {
515
+ return this._customAlgorithms;
516
+ }
517
+ // direct_connect - computed: false, optional: true, required: false
518
+ _directConnect;
519
+ get directConnect() {
520
+ return this.getBooleanAttribute('direct_connect');
521
+ }
522
+ set directConnect(value) {
523
+ this._directConnect = value;
524
+ }
525
+ resetDirectConnect() {
526
+ this._directConnect = undefined;
527
+ }
528
+ // Temporarily expose input value. Use with caution.
529
+ get directConnectInput() {
530
+ return this._directConnect;
531
+ }
532
+ // enable_bfd - computed: false, optional: true, required: false
533
+ _enableBfd;
534
+ get enableBfd() {
535
+ return this.getBooleanAttribute('enable_bfd');
536
+ }
537
+ set enableBfd(value) {
538
+ this._enableBfd = value;
539
+ }
540
+ resetEnableBfd() {
541
+ this._enableBfd = undefined;
542
+ }
543
+ // Temporarily expose input value. Use with caution.
544
+ get enableBfdInput() {
545
+ return this._enableBfd;
546
+ }
547
+ // enable_bgp_lan_activemesh - computed: false, optional: true, required: false
548
+ _enableBgpLanActivemesh;
549
+ get enableBgpLanActivemesh() {
550
+ return this.getBooleanAttribute('enable_bgp_lan_activemesh');
551
+ }
552
+ set enableBgpLanActivemesh(value) {
553
+ this._enableBgpLanActivemesh = value;
554
+ }
555
+ resetEnableBgpLanActivemesh() {
556
+ this._enableBgpLanActivemesh = undefined;
557
+ }
558
+ // Temporarily expose input value. Use with caution.
559
+ get enableBgpLanActivemeshInput() {
560
+ return this._enableBgpLanActivemesh;
561
+ }
562
+ // enable_bgp_multihop - computed: false, optional: true, required: false
563
+ _enableBgpMultihop;
564
+ get enableBgpMultihop() {
565
+ return this.getBooleanAttribute('enable_bgp_multihop');
566
+ }
567
+ set enableBgpMultihop(value) {
568
+ this._enableBgpMultihop = value;
569
+ }
570
+ resetEnableBgpMultihop() {
571
+ this._enableBgpMultihop = undefined;
572
+ }
573
+ // Temporarily expose input value. Use with caution.
574
+ get enableBgpMultihopInput() {
575
+ return this._enableBgpMultihop;
576
+ }
577
+ // enable_event_triggered_ha - computed: false, optional: true, required: false
578
+ _enableEventTriggeredHa;
579
+ get enableEventTriggeredHa() {
580
+ return this.getBooleanAttribute('enable_event_triggered_ha');
581
+ }
582
+ set enableEventTriggeredHa(value) {
583
+ this._enableEventTriggeredHa = value;
584
+ }
585
+ resetEnableEventTriggeredHa() {
586
+ this._enableEventTriggeredHa = undefined;
587
+ }
588
+ // Temporarily expose input value. Use with caution.
589
+ get enableEventTriggeredHaInput() {
590
+ return this._enableEventTriggeredHa;
591
+ }
592
+ // enable_ikev2 - computed: false, optional: true, required: false
593
+ _enableIkev2;
594
+ get enableIkev2() {
595
+ return this.getBooleanAttribute('enable_ikev2');
596
+ }
597
+ set enableIkev2(value) {
598
+ this._enableIkev2 = value;
599
+ }
600
+ resetEnableIkev2() {
601
+ this._enableIkev2 = undefined;
602
+ }
603
+ // Temporarily expose input value. Use with caution.
604
+ get enableIkev2Input() {
605
+ return this._enableIkev2;
606
+ }
607
+ // enable_jumbo_frame - computed: false, optional: true, required: false
608
+ _enableJumboFrame;
609
+ get enableJumboFrame() {
610
+ return this.getBooleanAttribute('enable_jumbo_frame');
611
+ }
612
+ set enableJumboFrame(value) {
613
+ this._enableJumboFrame = value;
614
+ }
615
+ resetEnableJumboFrame() {
616
+ this._enableJumboFrame = undefined;
617
+ }
618
+ // Temporarily expose input value. Use with caution.
619
+ get enableJumboFrameInput() {
620
+ return this._enableJumboFrame;
621
+ }
622
+ // enable_learned_cidrs_approval - computed: false, optional: true, required: false
623
+ _enableLearnedCidrsApproval;
624
+ get enableLearnedCidrsApproval() {
625
+ return this.getBooleanAttribute('enable_learned_cidrs_approval');
626
+ }
627
+ set enableLearnedCidrsApproval(value) {
628
+ this._enableLearnedCidrsApproval = value;
629
+ }
630
+ resetEnableLearnedCidrsApproval() {
631
+ this._enableLearnedCidrsApproval = undefined;
632
+ }
633
+ // Temporarily expose input value. Use with caution.
634
+ get enableLearnedCidrsApprovalInput() {
635
+ return this._enableLearnedCidrsApproval;
636
+ }
637
+ // gw_name - computed: false, optional: false, required: true
638
+ _gwName;
639
+ get gwName() {
640
+ return this.getStringAttribute('gw_name');
641
+ }
642
+ set gwName(value) {
643
+ this._gwName = value;
644
+ }
645
+ // Temporarily expose input value. Use with caution.
646
+ get gwNameInput() {
647
+ return this._gwName;
648
+ }
649
+ // ha_enabled - computed: false, optional: true, required: false
650
+ _haEnabled;
651
+ get haEnabled() {
652
+ return this.getBooleanAttribute('ha_enabled');
653
+ }
654
+ set haEnabled(value) {
655
+ this._haEnabled = value;
656
+ }
657
+ resetHaEnabled() {
658
+ this._haEnabled = undefined;
659
+ }
660
+ // Temporarily expose input value. Use with caution.
661
+ get haEnabledInput() {
662
+ return this._haEnabled;
663
+ }
664
+ // id - computed: true, optional: true, required: false
665
+ _id;
666
+ get id() {
667
+ return this.getStringAttribute('id');
668
+ }
669
+ set id(value) {
670
+ this._id = value;
671
+ }
672
+ resetId() {
673
+ this._id = undefined;
674
+ }
675
+ // Temporarily expose input value. Use with caution.
676
+ get idInput() {
677
+ return this._id;
678
+ }
679
+ // local_lan_ip - computed: true, optional: true, required: false
680
+ _localLanIp;
681
+ get localLanIp() {
682
+ return this.getStringAttribute('local_lan_ip');
683
+ }
684
+ set localLanIp(value) {
685
+ this._localLanIp = value;
686
+ }
687
+ resetLocalLanIp() {
688
+ this._localLanIp = undefined;
689
+ }
690
+ // Temporarily expose input value. Use with caution.
691
+ get localLanIpInput() {
692
+ return this._localLanIp;
693
+ }
694
+ // local_tunnel_cidr - computed: true, optional: true, required: false
695
+ _localTunnelCidr;
696
+ get localTunnelCidr() {
697
+ return this.getStringAttribute('local_tunnel_cidr');
698
+ }
699
+ set localTunnelCidr(value) {
700
+ this._localTunnelCidr = value;
701
+ }
702
+ resetLocalTunnelCidr() {
703
+ this._localTunnelCidr = undefined;
704
+ }
705
+ // Temporarily expose input value. Use with caution.
706
+ get localTunnelCidrInput() {
707
+ return this._localTunnelCidr;
708
+ }
709
+ // manual_bgp_advertised_cidrs - computed: false, optional: true, required: false
710
+ _manualBgpAdvertisedCidrs;
711
+ get manualBgpAdvertisedCidrs() {
712
+ return cdktf.Fn.tolist(this.getListAttribute('manual_bgp_advertised_cidrs'));
713
+ }
714
+ set manualBgpAdvertisedCidrs(value) {
715
+ this._manualBgpAdvertisedCidrs = value;
716
+ }
717
+ resetManualBgpAdvertisedCidrs() {
718
+ this._manualBgpAdvertisedCidrs = undefined;
719
+ }
720
+ // Temporarily expose input value. Use with caution.
721
+ get manualBgpAdvertisedCidrsInput() {
722
+ return this._manualBgpAdvertisedCidrs;
723
+ }
724
+ // phase1_local_identifier - computed: false, optional: true, required: false
725
+ _phase1LocalIdentifier;
726
+ get phase1LocalIdentifier() {
727
+ return this.getStringAttribute('phase1_local_identifier');
728
+ }
729
+ set phase1LocalIdentifier(value) {
730
+ this._phase1LocalIdentifier = value;
731
+ }
732
+ resetPhase1LocalIdentifier() {
733
+ this._phase1LocalIdentifier = undefined;
734
+ }
735
+ // Temporarily expose input value. Use with caution.
736
+ get phase1LocalIdentifierInput() {
737
+ return this._phase1LocalIdentifier;
738
+ }
739
+ // phase1_remote_identifier - computed: false, optional: true, required: false
740
+ _phase1RemoteIdentifier;
741
+ get phase1RemoteIdentifier() {
742
+ return this.getListAttribute('phase1_remote_identifier');
743
+ }
744
+ set phase1RemoteIdentifier(value) {
745
+ this._phase1RemoteIdentifier = value;
746
+ }
747
+ resetPhase1RemoteIdentifier() {
748
+ this._phase1RemoteIdentifier = undefined;
749
+ }
750
+ // Temporarily expose input value. Use with caution.
751
+ get phase1RemoteIdentifierInput() {
752
+ return this._phase1RemoteIdentifier;
753
+ }
754
+ // phase_1_authentication - computed: false, optional: true, required: false
755
+ _phase1Authentication;
756
+ get phase1Authentication() {
757
+ return this.getStringAttribute('phase_1_authentication');
758
+ }
759
+ set phase1Authentication(value) {
760
+ this._phase1Authentication = value;
761
+ }
762
+ resetPhase1Authentication() {
763
+ this._phase1Authentication = undefined;
764
+ }
765
+ // Temporarily expose input value. Use with caution.
766
+ get phase1AuthenticationInput() {
767
+ return this._phase1Authentication;
768
+ }
769
+ // phase_1_dh_groups - computed: false, optional: true, required: false
770
+ _phase1DhGroups;
771
+ get phase1DhGroups() {
772
+ return this.getStringAttribute('phase_1_dh_groups');
773
+ }
774
+ set phase1DhGroups(value) {
775
+ this._phase1DhGroups = value;
776
+ }
777
+ resetPhase1DhGroups() {
778
+ this._phase1DhGroups = undefined;
779
+ }
780
+ // Temporarily expose input value. Use with caution.
781
+ get phase1DhGroupsInput() {
782
+ return this._phase1DhGroups;
783
+ }
784
+ // phase_1_encryption - computed: false, optional: true, required: false
785
+ _phase1Encryption;
786
+ get phase1Encryption() {
787
+ return this.getStringAttribute('phase_1_encryption');
788
+ }
789
+ set phase1Encryption(value) {
790
+ this._phase1Encryption = value;
791
+ }
792
+ resetPhase1Encryption() {
793
+ this._phase1Encryption = undefined;
794
+ }
795
+ // Temporarily expose input value. Use with caution.
796
+ get phase1EncryptionInput() {
797
+ return this._phase1Encryption;
798
+ }
799
+ // phase_2_authentication - computed: false, optional: true, required: false
800
+ _phase2Authentication;
801
+ get phase2Authentication() {
802
+ return this.getStringAttribute('phase_2_authentication');
803
+ }
804
+ set phase2Authentication(value) {
805
+ this._phase2Authentication = value;
806
+ }
807
+ resetPhase2Authentication() {
808
+ this._phase2Authentication = undefined;
809
+ }
810
+ // Temporarily expose input value. Use with caution.
811
+ get phase2AuthenticationInput() {
812
+ return this._phase2Authentication;
813
+ }
814
+ // phase_2_dh_groups - computed: false, optional: true, required: false
815
+ _phase2DhGroups;
816
+ get phase2DhGroups() {
817
+ return this.getStringAttribute('phase_2_dh_groups');
818
+ }
819
+ set phase2DhGroups(value) {
820
+ this._phase2DhGroups = value;
821
+ }
822
+ resetPhase2DhGroups() {
823
+ this._phase2DhGroups = undefined;
824
+ }
825
+ // Temporarily expose input value. Use with caution.
826
+ get phase2DhGroupsInput() {
827
+ return this._phase2DhGroups;
828
+ }
829
+ // phase_2_encryption - computed: false, optional: true, required: false
830
+ _phase2Encryption;
831
+ get phase2Encryption() {
832
+ return this.getStringAttribute('phase_2_encryption');
833
+ }
834
+ set phase2Encryption(value) {
835
+ this._phase2Encryption = value;
836
+ }
837
+ resetPhase2Encryption() {
838
+ this._phase2Encryption = undefined;
839
+ }
840
+ // Temporarily expose input value. Use with caution.
841
+ get phase2EncryptionInput() {
842
+ return this._phase2Encryption;
843
+ }
844
+ // pre_shared_key - computed: false, optional: true, required: false
845
+ _preSharedKey;
846
+ get preSharedKey() {
847
+ return this.getStringAttribute('pre_shared_key');
848
+ }
849
+ set preSharedKey(value) {
850
+ this._preSharedKey = value;
851
+ }
852
+ resetPreSharedKey() {
853
+ this._preSharedKey = undefined;
854
+ }
855
+ // Temporarily expose input value. Use with caution.
856
+ get preSharedKeyInput() {
857
+ return this._preSharedKey;
858
+ }
859
+ // prepend_as_path - computed: false, optional: true, required: false
860
+ _prependAsPath;
861
+ get prependAsPath() {
862
+ return this.getListAttribute('prepend_as_path');
863
+ }
864
+ set prependAsPath(value) {
865
+ this._prependAsPath = value;
866
+ }
867
+ resetPrependAsPath() {
868
+ this._prependAsPath = undefined;
869
+ }
870
+ // Temporarily expose input value. Use with caution.
871
+ get prependAsPathInput() {
872
+ return this._prependAsPath;
873
+ }
874
+ // remote_gateway_ip - computed: false, optional: true, required: false
875
+ _remoteGatewayIp;
876
+ get remoteGatewayIp() {
877
+ return this.getStringAttribute('remote_gateway_ip');
878
+ }
879
+ set remoteGatewayIp(value) {
880
+ this._remoteGatewayIp = value;
881
+ }
882
+ resetRemoteGatewayIp() {
883
+ this._remoteGatewayIp = undefined;
884
+ }
885
+ // Temporarily expose input value. Use with caution.
886
+ get remoteGatewayIpInput() {
887
+ return this._remoteGatewayIp;
888
+ }
889
+ // remote_lan_ip - computed: false, optional: true, required: false
890
+ _remoteLanIp;
891
+ get remoteLanIp() {
892
+ return this.getStringAttribute('remote_lan_ip');
893
+ }
894
+ set remoteLanIp(value) {
895
+ this._remoteLanIp = value;
896
+ }
897
+ resetRemoteLanIp() {
898
+ this._remoteLanIp = undefined;
899
+ }
900
+ // Temporarily expose input value. Use with caution.
901
+ get remoteLanIpInput() {
902
+ return this._remoteLanIp;
903
+ }
904
+ // remote_subnet - computed: false, optional: true, required: false
905
+ _remoteSubnet;
906
+ get remoteSubnet() {
907
+ return this.getStringAttribute('remote_subnet');
908
+ }
909
+ set remoteSubnet(value) {
910
+ this._remoteSubnet = value;
911
+ }
912
+ resetRemoteSubnet() {
913
+ this._remoteSubnet = undefined;
914
+ }
915
+ // Temporarily expose input value. Use with caution.
916
+ get remoteSubnetInput() {
917
+ return this._remoteSubnet;
918
+ }
919
+ // remote_tunnel_cidr - computed: true, optional: true, required: false
920
+ _remoteTunnelCidr;
921
+ get remoteTunnelCidr() {
922
+ return this.getStringAttribute('remote_tunnel_cidr');
923
+ }
924
+ set remoteTunnelCidr(value) {
925
+ this._remoteTunnelCidr = value;
926
+ }
927
+ resetRemoteTunnelCidr() {
928
+ this._remoteTunnelCidr = undefined;
929
+ }
930
+ // Temporarily expose input value. Use with caution.
931
+ get remoteTunnelCidrInput() {
932
+ return this._remoteTunnelCidr;
933
+ }
934
+ // remote_vpc_name - computed: false, optional: true, required: false
935
+ _remoteVpcName;
936
+ get remoteVpcName() {
937
+ return this.getStringAttribute('remote_vpc_name');
938
+ }
939
+ set remoteVpcName(value) {
940
+ this._remoteVpcName = value;
941
+ }
942
+ resetRemoteVpcName() {
943
+ this._remoteVpcName = undefined;
944
+ }
945
+ // Temporarily expose input value. Use with caution.
946
+ get remoteVpcNameInput() {
947
+ return this._remoteVpcName;
948
+ }
949
+ // tunnel_protocol - computed: false, optional: true, required: false
950
+ _tunnelProtocol;
951
+ get tunnelProtocol() {
952
+ return this.getStringAttribute('tunnel_protocol');
953
+ }
954
+ set tunnelProtocol(value) {
955
+ this._tunnelProtocol = value;
956
+ }
957
+ resetTunnelProtocol() {
958
+ this._tunnelProtocol = undefined;
959
+ }
960
+ // Temporarily expose input value. Use with caution.
961
+ get tunnelProtocolInput() {
962
+ return this._tunnelProtocol;
963
+ }
964
+ // vpc_id - computed: false, optional: false, required: true
965
+ _vpcId;
966
+ get vpcId() {
967
+ return this.getStringAttribute('vpc_id');
968
+ }
969
+ set vpcId(value) {
970
+ this._vpcId = value;
971
+ }
972
+ // Temporarily expose input value. Use with caution.
973
+ get vpcIdInput() {
974
+ return this._vpcId;
975
+ }
976
+ // bgp_bfd - computed: false, optional: true, required: false
977
+ _bgpBfd = new SpokeExternalDeviceConnBgpBfdOutputReference(this, "bgp_bfd");
978
+ get bgpBfd() {
979
+ return this._bgpBfd;
980
+ }
981
+ putBgpBfd(value) {
982
+ this._bgpBfd.internalValue = value;
983
+ }
984
+ resetBgpBfd() {
985
+ this._bgpBfd.internalValue = undefined;
986
+ }
987
+ // Temporarily expose input value. Use with caution.
988
+ get bgpBfdInput() {
989
+ return this._bgpBfd.internalValue;
990
+ }
991
+ // =========
992
+ // SYNTHESIS
993
+ // =========
994
+ synthesizeAttributes() {
995
+ return {
996
+ approved_cidrs: cdktf.listMapper(cdktf.stringToTerraform, false)(this._approvedCidrs),
997
+ backup_bgp_md5_key: cdktf.stringToTerraform(this._backupBgpMd5Key),
998
+ backup_bgp_remote_as_num: cdktf.stringToTerraform(this._backupBgpRemoteAsNum),
999
+ backup_direct_connect: cdktf.booleanToTerraform(this._backupDirectConnect),
1000
+ backup_local_lan_ip: cdktf.stringToTerraform(this._backupLocalLanIp),
1001
+ backup_local_tunnel_cidr: cdktf.stringToTerraform(this._backupLocalTunnelCidr),
1002
+ backup_pre_shared_key: cdktf.stringToTerraform(this._backupPreSharedKey),
1003
+ backup_remote_gateway_ip: cdktf.stringToTerraform(this._backupRemoteGatewayIp),
1004
+ backup_remote_lan_ip: cdktf.stringToTerraform(this._backupRemoteLanIp),
1005
+ backup_remote_tunnel_cidr: cdktf.stringToTerraform(this._backupRemoteTunnelCidr),
1006
+ bgp_local_as_num: cdktf.stringToTerraform(this._bgpLocalAsNum),
1007
+ bgp_md5_key: cdktf.stringToTerraform(this._bgpMd5Key),
1008
+ bgp_remote_as_num: cdktf.stringToTerraform(this._bgpRemoteAsNum),
1009
+ connection_bgp_send_communities: cdktf.stringToTerraform(this._connectionBgpSendCommunities),
1010
+ connection_bgp_send_communities_additive: cdktf.booleanToTerraform(this._connectionBgpSendCommunitiesAdditive),
1011
+ connection_bgp_send_communities_block: cdktf.booleanToTerraform(this._connectionBgpSendCommunitiesBlock),
1012
+ connection_name: cdktf.stringToTerraform(this._connectionName),
1013
+ connection_type: cdktf.stringToTerraform(this._connectionType),
1014
+ custom_algorithms: cdktf.booleanToTerraform(this._customAlgorithms),
1015
+ direct_connect: cdktf.booleanToTerraform(this._directConnect),
1016
+ enable_bfd: cdktf.booleanToTerraform(this._enableBfd),
1017
+ enable_bgp_lan_activemesh: cdktf.booleanToTerraform(this._enableBgpLanActivemesh),
1018
+ enable_bgp_multihop: cdktf.booleanToTerraform(this._enableBgpMultihop),
1019
+ enable_event_triggered_ha: cdktf.booleanToTerraform(this._enableEventTriggeredHa),
1020
+ enable_ikev2: cdktf.booleanToTerraform(this._enableIkev2),
1021
+ enable_jumbo_frame: cdktf.booleanToTerraform(this._enableJumboFrame),
1022
+ enable_learned_cidrs_approval: cdktf.booleanToTerraform(this._enableLearnedCidrsApproval),
1023
+ gw_name: cdktf.stringToTerraform(this._gwName),
1024
+ ha_enabled: cdktf.booleanToTerraform(this._haEnabled),
1025
+ id: cdktf.stringToTerraform(this._id),
1026
+ local_lan_ip: cdktf.stringToTerraform(this._localLanIp),
1027
+ local_tunnel_cidr: cdktf.stringToTerraform(this._localTunnelCidr),
1028
+ manual_bgp_advertised_cidrs: cdktf.listMapper(cdktf.stringToTerraform, false)(this._manualBgpAdvertisedCidrs),
1029
+ phase1_local_identifier: cdktf.stringToTerraform(this._phase1LocalIdentifier),
1030
+ phase1_remote_identifier: cdktf.listMapper(cdktf.stringToTerraform, false)(this._phase1RemoteIdentifier),
1031
+ phase_1_authentication: cdktf.stringToTerraform(this._phase1Authentication),
1032
+ phase_1_dh_groups: cdktf.stringToTerraform(this._phase1DhGroups),
1033
+ phase_1_encryption: cdktf.stringToTerraform(this._phase1Encryption),
1034
+ phase_2_authentication: cdktf.stringToTerraform(this._phase2Authentication),
1035
+ phase_2_dh_groups: cdktf.stringToTerraform(this._phase2DhGroups),
1036
+ phase_2_encryption: cdktf.stringToTerraform(this._phase2Encryption),
1037
+ pre_shared_key: cdktf.stringToTerraform(this._preSharedKey),
1038
+ prepend_as_path: cdktf.listMapper(cdktf.stringToTerraform, false)(this._prependAsPath),
1039
+ remote_gateway_ip: cdktf.stringToTerraform(this._remoteGatewayIp),
1040
+ remote_lan_ip: cdktf.stringToTerraform(this._remoteLanIp),
1041
+ remote_subnet: cdktf.stringToTerraform(this._remoteSubnet),
1042
+ remote_tunnel_cidr: cdktf.stringToTerraform(this._remoteTunnelCidr),
1043
+ remote_vpc_name: cdktf.stringToTerraform(this._remoteVpcName),
1044
+ tunnel_protocol: cdktf.stringToTerraform(this._tunnelProtocol),
1045
+ vpc_id: cdktf.stringToTerraform(this._vpcId),
1046
+ bgp_bfd: spokeExternalDeviceConnBgpBfdToTerraform(this._bgpBfd.internalValue),
1047
+ };
1048
+ }
1049
+ synthesizeHclAttributes() {
1050
+ const attrs = {
1051
+ approved_cidrs: {
1052
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._approvedCidrs),
1053
+ isBlock: false,
1054
+ type: "set",
1055
+ storageClassType: "stringList",
1056
+ },
1057
+ backup_bgp_md5_key: {
1058
+ value: cdktf.stringToHclTerraform(this._backupBgpMd5Key),
1059
+ isBlock: false,
1060
+ type: "simple",
1061
+ storageClassType: "string",
1062
+ },
1063
+ backup_bgp_remote_as_num: {
1064
+ value: cdktf.stringToHclTerraform(this._backupBgpRemoteAsNum),
1065
+ isBlock: false,
1066
+ type: "simple",
1067
+ storageClassType: "string",
1068
+ },
1069
+ backup_direct_connect: {
1070
+ value: cdktf.booleanToHclTerraform(this._backupDirectConnect),
1071
+ isBlock: false,
1072
+ type: "simple",
1073
+ storageClassType: "boolean",
1074
+ },
1075
+ backup_local_lan_ip: {
1076
+ value: cdktf.stringToHclTerraform(this._backupLocalLanIp),
1077
+ isBlock: false,
1078
+ type: "simple",
1079
+ storageClassType: "string",
1080
+ },
1081
+ backup_local_tunnel_cidr: {
1082
+ value: cdktf.stringToHclTerraform(this._backupLocalTunnelCidr),
1083
+ isBlock: false,
1084
+ type: "simple",
1085
+ storageClassType: "string",
1086
+ },
1087
+ backup_pre_shared_key: {
1088
+ value: cdktf.stringToHclTerraform(this._backupPreSharedKey),
1089
+ isBlock: false,
1090
+ type: "simple",
1091
+ storageClassType: "string",
1092
+ },
1093
+ backup_remote_gateway_ip: {
1094
+ value: cdktf.stringToHclTerraform(this._backupRemoteGatewayIp),
1095
+ isBlock: false,
1096
+ type: "simple",
1097
+ storageClassType: "string",
1098
+ },
1099
+ backup_remote_lan_ip: {
1100
+ value: cdktf.stringToHclTerraform(this._backupRemoteLanIp),
1101
+ isBlock: false,
1102
+ type: "simple",
1103
+ storageClassType: "string",
1104
+ },
1105
+ backup_remote_tunnel_cidr: {
1106
+ value: cdktf.stringToHclTerraform(this._backupRemoteTunnelCidr),
1107
+ isBlock: false,
1108
+ type: "simple",
1109
+ storageClassType: "string",
1110
+ },
1111
+ bgp_local_as_num: {
1112
+ value: cdktf.stringToHclTerraform(this._bgpLocalAsNum),
1113
+ isBlock: false,
1114
+ type: "simple",
1115
+ storageClassType: "string",
1116
+ },
1117
+ bgp_md5_key: {
1118
+ value: cdktf.stringToHclTerraform(this._bgpMd5Key),
1119
+ isBlock: false,
1120
+ type: "simple",
1121
+ storageClassType: "string",
1122
+ },
1123
+ bgp_remote_as_num: {
1124
+ value: cdktf.stringToHclTerraform(this._bgpRemoteAsNum),
1125
+ isBlock: false,
1126
+ type: "simple",
1127
+ storageClassType: "string",
1128
+ },
1129
+ connection_bgp_send_communities: {
1130
+ value: cdktf.stringToHclTerraform(this._connectionBgpSendCommunities),
1131
+ isBlock: false,
1132
+ type: "simple",
1133
+ storageClassType: "string",
1134
+ },
1135
+ connection_bgp_send_communities_additive: {
1136
+ value: cdktf.booleanToHclTerraform(this._connectionBgpSendCommunitiesAdditive),
1137
+ isBlock: false,
1138
+ type: "simple",
1139
+ storageClassType: "boolean",
1140
+ },
1141
+ connection_bgp_send_communities_block: {
1142
+ value: cdktf.booleanToHclTerraform(this._connectionBgpSendCommunitiesBlock),
1143
+ isBlock: false,
1144
+ type: "simple",
1145
+ storageClassType: "boolean",
1146
+ },
1147
+ connection_name: {
1148
+ value: cdktf.stringToHclTerraform(this._connectionName),
1149
+ isBlock: false,
1150
+ type: "simple",
1151
+ storageClassType: "string",
1152
+ },
1153
+ connection_type: {
1154
+ value: cdktf.stringToHclTerraform(this._connectionType),
1155
+ isBlock: false,
1156
+ type: "simple",
1157
+ storageClassType: "string",
1158
+ },
1159
+ custom_algorithms: {
1160
+ value: cdktf.booleanToHclTerraform(this._customAlgorithms),
1161
+ isBlock: false,
1162
+ type: "simple",
1163
+ storageClassType: "boolean",
1164
+ },
1165
+ direct_connect: {
1166
+ value: cdktf.booleanToHclTerraform(this._directConnect),
1167
+ isBlock: false,
1168
+ type: "simple",
1169
+ storageClassType: "boolean",
1170
+ },
1171
+ enable_bfd: {
1172
+ value: cdktf.booleanToHclTerraform(this._enableBfd),
1173
+ isBlock: false,
1174
+ type: "simple",
1175
+ storageClassType: "boolean",
1176
+ },
1177
+ enable_bgp_lan_activemesh: {
1178
+ value: cdktf.booleanToHclTerraform(this._enableBgpLanActivemesh),
1179
+ isBlock: false,
1180
+ type: "simple",
1181
+ storageClassType: "boolean",
1182
+ },
1183
+ enable_bgp_multihop: {
1184
+ value: cdktf.booleanToHclTerraform(this._enableBgpMultihop),
1185
+ isBlock: false,
1186
+ type: "simple",
1187
+ storageClassType: "boolean",
1188
+ },
1189
+ enable_event_triggered_ha: {
1190
+ value: cdktf.booleanToHclTerraform(this._enableEventTriggeredHa),
1191
+ isBlock: false,
1192
+ type: "simple",
1193
+ storageClassType: "boolean",
1194
+ },
1195
+ enable_ikev2: {
1196
+ value: cdktf.booleanToHclTerraform(this._enableIkev2),
1197
+ isBlock: false,
1198
+ type: "simple",
1199
+ storageClassType: "boolean",
1200
+ },
1201
+ enable_jumbo_frame: {
1202
+ value: cdktf.booleanToHclTerraform(this._enableJumboFrame),
1203
+ isBlock: false,
1204
+ type: "simple",
1205
+ storageClassType: "boolean",
1206
+ },
1207
+ enable_learned_cidrs_approval: {
1208
+ value: cdktf.booleanToHclTerraform(this._enableLearnedCidrsApproval),
1209
+ isBlock: false,
1210
+ type: "simple",
1211
+ storageClassType: "boolean",
1212
+ },
1213
+ gw_name: {
1214
+ value: cdktf.stringToHclTerraform(this._gwName),
1215
+ isBlock: false,
1216
+ type: "simple",
1217
+ storageClassType: "string",
1218
+ },
1219
+ ha_enabled: {
1220
+ value: cdktf.booleanToHclTerraform(this._haEnabled),
1221
+ isBlock: false,
1222
+ type: "simple",
1223
+ storageClassType: "boolean",
1224
+ },
1225
+ id: {
1226
+ value: cdktf.stringToHclTerraform(this._id),
1227
+ isBlock: false,
1228
+ type: "simple",
1229
+ storageClassType: "string",
1230
+ },
1231
+ local_lan_ip: {
1232
+ value: cdktf.stringToHclTerraform(this._localLanIp),
1233
+ isBlock: false,
1234
+ type: "simple",
1235
+ storageClassType: "string",
1236
+ },
1237
+ local_tunnel_cidr: {
1238
+ value: cdktf.stringToHclTerraform(this._localTunnelCidr),
1239
+ isBlock: false,
1240
+ type: "simple",
1241
+ storageClassType: "string",
1242
+ },
1243
+ manual_bgp_advertised_cidrs: {
1244
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._manualBgpAdvertisedCidrs),
1245
+ isBlock: false,
1246
+ type: "set",
1247
+ storageClassType: "stringList",
1248
+ },
1249
+ phase1_local_identifier: {
1250
+ value: cdktf.stringToHclTerraform(this._phase1LocalIdentifier),
1251
+ isBlock: false,
1252
+ type: "simple",
1253
+ storageClassType: "string",
1254
+ },
1255
+ phase1_remote_identifier: {
1256
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._phase1RemoteIdentifier),
1257
+ isBlock: false,
1258
+ type: "list",
1259
+ storageClassType: "stringList",
1260
+ },
1261
+ phase_1_authentication: {
1262
+ value: cdktf.stringToHclTerraform(this._phase1Authentication),
1263
+ isBlock: false,
1264
+ type: "simple",
1265
+ storageClassType: "string",
1266
+ },
1267
+ phase_1_dh_groups: {
1268
+ value: cdktf.stringToHclTerraform(this._phase1DhGroups),
1269
+ isBlock: false,
1270
+ type: "simple",
1271
+ storageClassType: "string",
1272
+ },
1273
+ phase_1_encryption: {
1274
+ value: cdktf.stringToHclTerraform(this._phase1Encryption),
1275
+ isBlock: false,
1276
+ type: "simple",
1277
+ storageClassType: "string",
1278
+ },
1279
+ phase_2_authentication: {
1280
+ value: cdktf.stringToHclTerraform(this._phase2Authentication),
1281
+ isBlock: false,
1282
+ type: "simple",
1283
+ storageClassType: "string",
1284
+ },
1285
+ phase_2_dh_groups: {
1286
+ value: cdktf.stringToHclTerraform(this._phase2DhGroups),
1287
+ isBlock: false,
1288
+ type: "simple",
1289
+ storageClassType: "string",
1290
+ },
1291
+ phase_2_encryption: {
1292
+ value: cdktf.stringToHclTerraform(this._phase2Encryption),
1293
+ isBlock: false,
1294
+ type: "simple",
1295
+ storageClassType: "string",
1296
+ },
1297
+ pre_shared_key: {
1298
+ value: cdktf.stringToHclTerraform(this._preSharedKey),
1299
+ isBlock: false,
1300
+ type: "simple",
1301
+ storageClassType: "string",
1302
+ },
1303
+ prepend_as_path: {
1304
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._prependAsPath),
1305
+ isBlock: false,
1306
+ type: "list",
1307
+ storageClassType: "stringList",
1308
+ },
1309
+ remote_gateway_ip: {
1310
+ value: cdktf.stringToHclTerraform(this._remoteGatewayIp),
1311
+ isBlock: false,
1312
+ type: "simple",
1313
+ storageClassType: "string",
1314
+ },
1315
+ remote_lan_ip: {
1316
+ value: cdktf.stringToHclTerraform(this._remoteLanIp),
1317
+ isBlock: false,
1318
+ type: "simple",
1319
+ storageClassType: "string",
1320
+ },
1321
+ remote_subnet: {
1322
+ value: cdktf.stringToHclTerraform(this._remoteSubnet),
1323
+ isBlock: false,
1324
+ type: "simple",
1325
+ storageClassType: "string",
1326
+ },
1327
+ remote_tunnel_cidr: {
1328
+ value: cdktf.stringToHclTerraform(this._remoteTunnelCidr),
1329
+ isBlock: false,
1330
+ type: "simple",
1331
+ storageClassType: "string",
1332
+ },
1333
+ remote_vpc_name: {
1334
+ value: cdktf.stringToHclTerraform(this._remoteVpcName),
1335
+ isBlock: false,
1336
+ type: "simple",
1337
+ storageClassType: "string",
1338
+ },
1339
+ tunnel_protocol: {
1340
+ value: cdktf.stringToHclTerraform(this._tunnelProtocol),
1341
+ isBlock: false,
1342
+ type: "simple",
1343
+ storageClassType: "string",
1344
+ },
1345
+ vpc_id: {
1346
+ value: cdktf.stringToHclTerraform(this._vpcId),
1347
+ isBlock: false,
1348
+ type: "simple",
1349
+ storageClassType: "string",
1350
+ },
1351
+ bgp_bfd: {
1352
+ value: spokeExternalDeviceConnBgpBfdToHclTerraform(this._bgpBfd.internalValue),
1353
+ isBlock: true,
1354
+ type: "list",
1355
+ storageClassType: "SpokeExternalDeviceConnBgpBfdList",
1356
+ },
1357
+ };
1358
+ // remove undefined attributes
1359
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
1360
+ }
1361
+ }