@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,204 @@
1
+ import { Construct } from 'constructs';
2
+ import * as cdktf from 'cdktf';
3
+ export interface FirewallConfig extends cdktf.TerraformMetaArguments {
4
+ /**
5
+ * Indicates whether enable logging or not. Valid values: true, false. Default value: false.
6
+ *
7
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/firewall#base_log_enabled Firewall#base_log_enabled}
8
+ */
9
+ readonly baseLogEnabled?: boolean | cdktf.IResolvable;
10
+ /**
11
+ * New base policy.
12
+ *
13
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/firewall#base_policy Firewall#base_policy}
14
+ */
15
+ readonly basePolicy?: string;
16
+ /**
17
+ * The name of gateway.
18
+ *
19
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/firewall#gw_name Firewall#gw_name}
20
+ */
21
+ readonly gwName: string;
22
+ /**
23
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/firewall#id Firewall#id}
24
+ *
25
+ * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
26
+ * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
27
+ */
28
+ readonly id?: string;
29
+ /**
30
+ * Enable to manage firewall policies via in-line rules. If false, policies must be managed using `aviatrix_firewall_policy` resources.
31
+ *
32
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/firewall#manage_firewall_policies Firewall#manage_firewall_policies}
33
+ */
34
+ readonly manageFirewallPolicies?: boolean | cdktf.IResolvable;
35
+ /**
36
+ * policy block
37
+ *
38
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/firewall#policy Firewall#policy}
39
+ */
40
+ readonly policy?: FirewallPolicy[] | cdktf.IResolvable;
41
+ }
42
+ export interface FirewallPolicy {
43
+ /**
44
+ * Valid values: 'allow', 'deny' or 'force-drop'(in stateful firewall rule to allow immediate packet dropping on established sessions).
45
+ *
46
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/firewall#action Firewall#action}
47
+ */
48
+ readonly action: string;
49
+ /**
50
+ * Description of this firewall policy.
51
+ *
52
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/firewall#description Firewall#description}
53
+ */
54
+ readonly description?: string;
55
+ /**
56
+ * Destination address, a valid IPv4 address or tag name.
57
+ *
58
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/firewall#dst_ip Firewall#dst_ip}
59
+ */
60
+ readonly dstIp: string;
61
+ /**
62
+ * Valid values: true, false. Default value: false.
63
+ *
64
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/firewall#log_enabled Firewall#log_enabled}
65
+ */
66
+ readonly logEnabled?: boolean | cdktf.IResolvable;
67
+ /**
68
+ * A single port or a range of port numbers.
69
+ *
70
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/firewall#port Firewall#port}
71
+ */
72
+ readonly port: string;
73
+ /**
74
+ * Valid values: 'all', 'tcp', 'udp', 'icmp', 'sctp', 'rdp', 'dccp'.
75
+ *
76
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/firewall#protocol Firewall#protocol}
77
+ */
78
+ readonly protocol?: string;
79
+ /**
80
+ * Source address, a valid IPv4 address or tag name.
81
+ *
82
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/firewall#src_ip Firewall#src_ip}
83
+ */
84
+ readonly srcIp: string;
85
+ }
86
+ export declare function firewallPolicyToTerraform(struct?: FirewallPolicy | cdktf.IResolvable): any;
87
+ export declare function firewallPolicyToHclTerraform(struct?: FirewallPolicy | cdktf.IResolvable): any;
88
+ export declare class FirewallPolicyOutputReference extends cdktf.ComplexObject {
89
+ private isEmptyObject;
90
+ private resolvableValue?;
91
+ /**
92
+ * @param terraformResource The parent resource
93
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
94
+ * @param complexObjectIndex the index of this item in the list
95
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
96
+ */
97
+ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
98
+ get internalValue(): FirewallPolicy | cdktf.IResolvable | undefined;
99
+ set internalValue(value: FirewallPolicy | cdktf.IResolvable | undefined);
100
+ private _action?;
101
+ get action(): string;
102
+ set action(value: string);
103
+ get actionInput(): string;
104
+ private _description?;
105
+ get description(): string;
106
+ set description(value: string);
107
+ resetDescription(): void;
108
+ get descriptionInput(): string;
109
+ private _dstIp?;
110
+ get dstIp(): string;
111
+ set dstIp(value: string);
112
+ get dstIpInput(): string;
113
+ private _logEnabled?;
114
+ get logEnabled(): boolean | cdktf.IResolvable;
115
+ set logEnabled(value: boolean | cdktf.IResolvable);
116
+ resetLogEnabled(): void;
117
+ get logEnabledInput(): any;
118
+ private _port?;
119
+ get port(): string;
120
+ set port(value: string);
121
+ get portInput(): string;
122
+ private _protocol?;
123
+ get protocol(): string;
124
+ set protocol(value: string);
125
+ resetProtocol(): void;
126
+ get protocolInput(): string;
127
+ private _srcIp?;
128
+ get srcIp(): string;
129
+ set srcIp(value: string);
130
+ get srcIpInput(): string;
131
+ }
132
+ export declare class FirewallPolicyList extends cdktf.ComplexList {
133
+ protected terraformResource: cdktf.IInterpolatingParent;
134
+ protected terraformAttribute: string;
135
+ protected wrapsSet: boolean;
136
+ internalValue?: FirewallPolicy[] | cdktf.IResolvable;
137
+ /**
138
+ * @param terraformResource The parent resource
139
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
140
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
141
+ */
142
+ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
143
+ /**
144
+ * @param index the index of the item to return
145
+ */
146
+ get(index: number): FirewallPolicyOutputReference;
147
+ }
148
+ /**
149
+ * Represents a {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/firewall aviatrix_firewall}
150
+ */
151
+ export declare class Firewall extends cdktf.TerraformResource {
152
+ static readonly tfResourceType = "aviatrix_firewall";
153
+ /**
154
+ * Generates CDKTF code for importing a Firewall resource upon running "cdktf plan <stack-name>"
155
+ * @param scope The scope in which to define this construct
156
+ * @param importToId The construct id used in the generated config for the Firewall to import
157
+ * @param importFromId The id of the existing Firewall that should be imported. Refer to the {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/firewall#import import section} in the documentation of this resource for the id to use
158
+ * @param provider? Optional instance of the provider where the Firewall to import is found
159
+ */
160
+ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): any;
161
+ /**
162
+ * Create a new {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/firewall aviatrix_firewall} Resource
163
+ *
164
+ * @param scope The scope in which to define this construct
165
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
166
+ * @param options FirewallConfig
167
+ */
168
+ constructor(scope: Construct, id: string, config: FirewallConfig);
169
+ private _baseLogEnabled?;
170
+ get baseLogEnabled(): boolean | cdktf.IResolvable;
171
+ set baseLogEnabled(value: boolean | cdktf.IResolvable);
172
+ resetBaseLogEnabled(): void;
173
+ get baseLogEnabledInput(): any;
174
+ private _basePolicy?;
175
+ get basePolicy(): string;
176
+ set basePolicy(value: string);
177
+ resetBasePolicy(): void;
178
+ get basePolicyInput(): string;
179
+ private _gwName?;
180
+ get gwName(): string;
181
+ set gwName(value: string);
182
+ get gwNameInput(): string;
183
+ private _id?;
184
+ get id(): string;
185
+ set id(value: string);
186
+ resetId(): void;
187
+ get idInput(): string;
188
+ private _manageFirewallPolicies?;
189
+ get manageFirewallPolicies(): boolean | cdktf.IResolvable;
190
+ set manageFirewallPolicies(value: boolean | cdktf.IResolvable);
191
+ resetManageFirewallPolicies(): void;
192
+ get manageFirewallPoliciesInput(): any;
193
+ private _policy;
194
+ get policy(): FirewallPolicyList;
195
+ putPolicy(value: FirewallPolicy[] | cdktf.IResolvable): void;
196
+ resetPolicy(): void;
197
+ get policyInput(): any;
198
+ protected synthesizeAttributes(): {
199
+ [name: string]: any;
200
+ };
201
+ protected synthesizeHclAttributes(): {
202
+ [name: string]: any;
203
+ };
204
+ }
@@ -0,0 +1,467 @@
1
+ // https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/firewall
2
+ // generated from terraform resource schema
3
+ import * as cdktf from 'cdktf';
4
+ export function firewallPolicyToTerraform(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
+ action: cdktf.stringToTerraform(struct.action),
13
+ description: cdktf.stringToTerraform(struct.description),
14
+ dst_ip: cdktf.stringToTerraform(struct.dstIp),
15
+ log_enabled: cdktf.booleanToTerraform(struct.logEnabled),
16
+ port: cdktf.stringToTerraform(struct.port),
17
+ protocol: cdktf.stringToTerraform(struct.protocol),
18
+ src_ip: cdktf.stringToTerraform(struct.srcIp),
19
+ };
20
+ }
21
+ export function firewallPolicyToHclTerraform(struct) {
22
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
23
+ return struct;
24
+ }
25
+ if (cdktf.isComplexElement(struct)) {
26
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
27
+ }
28
+ const attrs = {
29
+ action: {
30
+ value: cdktf.stringToHclTerraform(struct.action),
31
+ isBlock: false,
32
+ type: "simple",
33
+ storageClassType: "string",
34
+ },
35
+ description: {
36
+ value: cdktf.stringToHclTerraform(struct.description),
37
+ isBlock: false,
38
+ type: "simple",
39
+ storageClassType: "string",
40
+ },
41
+ dst_ip: {
42
+ value: cdktf.stringToHclTerraform(struct.dstIp),
43
+ isBlock: false,
44
+ type: "simple",
45
+ storageClassType: "string",
46
+ },
47
+ log_enabled: {
48
+ value: cdktf.booleanToHclTerraform(struct.logEnabled),
49
+ isBlock: false,
50
+ type: "simple",
51
+ storageClassType: "boolean",
52
+ },
53
+ port: {
54
+ value: cdktf.stringToHclTerraform(struct.port),
55
+ isBlock: false,
56
+ type: "simple",
57
+ storageClassType: "string",
58
+ },
59
+ protocol: {
60
+ value: cdktf.stringToHclTerraform(struct.protocol),
61
+ isBlock: false,
62
+ type: "simple",
63
+ storageClassType: "string",
64
+ },
65
+ src_ip: {
66
+ value: cdktf.stringToHclTerraform(struct.srcIp),
67
+ isBlock: false,
68
+ type: "simple",
69
+ storageClassType: "string",
70
+ },
71
+ };
72
+ // remove undefined attributes
73
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
74
+ }
75
+ export class FirewallPolicyOutputReference extends cdktf.ComplexObject {
76
+ isEmptyObject = false;
77
+ resolvableValue;
78
+ /**
79
+ * @param terraformResource The parent resource
80
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
81
+ * @param complexObjectIndex the index of this item in the list
82
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
83
+ */
84
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
85
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
86
+ }
87
+ get internalValue() {
88
+ if (this.resolvableValue) {
89
+ return this.resolvableValue;
90
+ }
91
+ let hasAnyValues = this.isEmptyObject;
92
+ const internalValueResult = {};
93
+ if (this._action !== undefined) {
94
+ hasAnyValues = true;
95
+ internalValueResult.action = this._action;
96
+ }
97
+ if (this._description !== undefined) {
98
+ hasAnyValues = true;
99
+ internalValueResult.description = this._description;
100
+ }
101
+ if (this._dstIp !== undefined) {
102
+ hasAnyValues = true;
103
+ internalValueResult.dstIp = this._dstIp;
104
+ }
105
+ if (this._logEnabled !== undefined) {
106
+ hasAnyValues = true;
107
+ internalValueResult.logEnabled = this._logEnabled;
108
+ }
109
+ if (this._port !== undefined) {
110
+ hasAnyValues = true;
111
+ internalValueResult.port = this._port;
112
+ }
113
+ if (this._protocol !== undefined) {
114
+ hasAnyValues = true;
115
+ internalValueResult.protocol = this._protocol;
116
+ }
117
+ if (this._srcIp !== undefined) {
118
+ hasAnyValues = true;
119
+ internalValueResult.srcIp = this._srcIp;
120
+ }
121
+ return hasAnyValues ? internalValueResult : undefined;
122
+ }
123
+ set internalValue(value) {
124
+ if (value === undefined) {
125
+ this.isEmptyObject = false;
126
+ this.resolvableValue = undefined;
127
+ this._action = undefined;
128
+ this._description = undefined;
129
+ this._dstIp = undefined;
130
+ this._logEnabled = undefined;
131
+ this._port = undefined;
132
+ this._protocol = undefined;
133
+ this._srcIp = undefined;
134
+ }
135
+ else if (cdktf.Tokenization.isResolvable(value)) {
136
+ this.isEmptyObject = false;
137
+ this.resolvableValue = value;
138
+ }
139
+ else {
140
+ this.isEmptyObject = Object.keys(value).length === 0;
141
+ this.resolvableValue = undefined;
142
+ this._action = value.action;
143
+ this._description = value.description;
144
+ this._dstIp = value.dstIp;
145
+ this._logEnabled = value.logEnabled;
146
+ this._port = value.port;
147
+ this._protocol = value.protocol;
148
+ this._srcIp = value.srcIp;
149
+ }
150
+ }
151
+ // action - computed: false, optional: false, required: true
152
+ _action;
153
+ get action() {
154
+ return this.getStringAttribute('action');
155
+ }
156
+ set action(value) {
157
+ this._action = value;
158
+ }
159
+ // Temporarily expose input value. Use with caution.
160
+ get actionInput() {
161
+ return this._action;
162
+ }
163
+ // description - computed: false, optional: true, required: false
164
+ _description;
165
+ get description() {
166
+ return this.getStringAttribute('description');
167
+ }
168
+ set description(value) {
169
+ this._description = value;
170
+ }
171
+ resetDescription() {
172
+ this._description = undefined;
173
+ }
174
+ // Temporarily expose input value. Use with caution.
175
+ get descriptionInput() {
176
+ return this._description;
177
+ }
178
+ // dst_ip - computed: false, optional: false, required: true
179
+ _dstIp;
180
+ get dstIp() {
181
+ return this.getStringAttribute('dst_ip');
182
+ }
183
+ set dstIp(value) {
184
+ this._dstIp = value;
185
+ }
186
+ // Temporarily expose input value. Use with caution.
187
+ get dstIpInput() {
188
+ return this._dstIp;
189
+ }
190
+ // log_enabled - computed: false, optional: true, required: false
191
+ _logEnabled;
192
+ get logEnabled() {
193
+ return this.getBooleanAttribute('log_enabled');
194
+ }
195
+ set logEnabled(value) {
196
+ this._logEnabled = value;
197
+ }
198
+ resetLogEnabled() {
199
+ this._logEnabled = undefined;
200
+ }
201
+ // Temporarily expose input value. Use with caution.
202
+ get logEnabledInput() {
203
+ return this._logEnabled;
204
+ }
205
+ // port - computed: false, optional: false, required: true
206
+ _port;
207
+ get port() {
208
+ return this.getStringAttribute('port');
209
+ }
210
+ set port(value) {
211
+ this._port = value;
212
+ }
213
+ // Temporarily expose input value. Use with caution.
214
+ get portInput() {
215
+ return this._port;
216
+ }
217
+ // protocol - computed: false, optional: true, required: false
218
+ _protocol;
219
+ get protocol() {
220
+ return this.getStringAttribute('protocol');
221
+ }
222
+ set protocol(value) {
223
+ this._protocol = value;
224
+ }
225
+ resetProtocol() {
226
+ this._protocol = undefined;
227
+ }
228
+ // Temporarily expose input value. Use with caution.
229
+ get protocolInput() {
230
+ return this._protocol;
231
+ }
232
+ // src_ip - computed: false, optional: false, required: true
233
+ _srcIp;
234
+ get srcIp() {
235
+ return this.getStringAttribute('src_ip');
236
+ }
237
+ set srcIp(value) {
238
+ this._srcIp = value;
239
+ }
240
+ // Temporarily expose input value. Use with caution.
241
+ get srcIpInput() {
242
+ return this._srcIp;
243
+ }
244
+ }
245
+ export class FirewallPolicyList extends cdktf.ComplexList {
246
+ terraformResource;
247
+ terraformAttribute;
248
+ wrapsSet;
249
+ internalValue;
250
+ /**
251
+ * @param terraformResource The parent resource
252
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
253
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
254
+ */
255
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
256
+ super(terraformResource, terraformAttribute, wrapsSet);
257
+ this.terraformResource = terraformResource;
258
+ this.terraformAttribute = terraformAttribute;
259
+ this.wrapsSet = wrapsSet;
260
+ }
261
+ /**
262
+ * @param index the index of the item to return
263
+ */
264
+ get(index) {
265
+ return new FirewallPolicyOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
266
+ }
267
+ }
268
+ /**
269
+ * Represents a {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/firewall aviatrix_firewall}
270
+ */
271
+ export class Firewall extends cdktf.TerraformResource {
272
+ // =================
273
+ // STATIC PROPERTIES
274
+ // =================
275
+ static tfResourceType = "aviatrix_firewall";
276
+ // ==============
277
+ // STATIC Methods
278
+ // ==============
279
+ /**
280
+ * Generates CDKTF code for importing a Firewall resource upon running "cdktf plan <stack-name>"
281
+ * @param scope The scope in which to define this construct
282
+ * @param importToId The construct id used in the generated config for the Firewall to import
283
+ * @param importFromId The id of the existing Firewall that should be imported. Refer to the {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/firewall#import import section} in the documentation of this resource for the id to use
284
+ * @param provider? Optional instance of the provider where the Firewall to import is found
285
+ */
286
+ static generateConfigForImport(scope, importToId, importFromId, provider) {
287
+ return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aviatrix_firewall", importId: importFromId, provider });
288
+ }
289
+ // ===========
290
+ // INITIALIZER
291
+ // ===========
292
+ /**
293
+ * Create a new {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/firewall aviatrix_firewall} Resource
294
+ *
295
+ * @param scope The scope in which to define this construct
296
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
297
+ * @param options FirewallConfig
298
+ */
299
+ constructor(scope, id, config) {
300
+ super(scope, id, {
301
+ terraformResourceType: 'aviatrix_firewall',
302
+ terraformGeneratorMetadata: {
303
+ providerName: 'aviatrix',
304
+ providerVersion: '8.1.10',
305
+ providerVersionConstraint: '8.1.10'
306
+ },
307
+ provider: config.provider,
308
+ dependsOn: config.dependsOn,
309
+ count: config.count,
310
+ lifecycle: config.lifecycle,
311
+ provisioners: config.provisioners,
312
+ connection: config.connection,
313
+ forEach: config.forEach
314
+ });
315
+ this._baseLogEnabled = config.baseLogEnabled;
316
+ this._basePolicy = config.basePolicy;
317
+ this._gwName = config.gwName;
318
+ this._id = config.id;
319
+ this._manageFirewallPolicies = config.manageFirewallPolicies;
320
+ this._policy.internalValue = config.policy;
321
+ }
322
+ // ==========
323
+ // ATTRIBUTES
324
+ // ==========
325
+ // base_log_enabled - computed: false, optional: true, required: false
326
+ _baseLogEnabled;
327
+ get baseLogEnabled() {
328
+ return this.getBooleanAttribute('base_log_enabled');
329
+ }
330
+ set baseLogEnabled(value) {
331
+ this._baseLogEnabled = value;
332
+ }
333
+ resetBaseLogEnabled() {
334
+ this._baseLogEnabled = undefined;
335
+ }
336
+ // Temporarily expose input value. Use with caution.
337
+ get baseLogEnabledInput() {
338
+ return this._baseLogEnabled;
339
+ }
340
+ // base_policy - computed: false, optional: true, required: false
341
+ _basePolicy;
342
+ get basePolicy() {
343
+ return this.getStringAttribute('base_policy');
344
+ }
345
+ set basePolicy(value) {
346
+ this._basePolicy = value;
347
+ }
348
+ resetBasePolicy() {
349
+ this._basePolicy = undefined;
350
+ }
351
+ // Temporarily expose input value. Use with caution.
352
+ get basePolicyInput() {
353
+ return this._basePolicy;
354
+ }
355
+ // gw_name - computed: false, optional: false, required: true
356
+ _gwName;
357
+ get gwName() {
358
+ return this.getStringAttribute('gw_name');
359
+ }
360
+ set gwName(value) {
361
+ this._gwName = value;
362
+ }
363
+ // Temporarily expose input value. Use with caution.
364
+ get gwNameInput() {
365
+ return this._gwName;
366
+ }
367
+ // id - computed: true, optional: true, required: false
368
+ _id;
369
+ get id() {
370
+ return this.getStringAttribute('id');
371
+ }
372
+ set id(value) {
373
+ this._id = value;
374
+ }
375
+ resetId() {
376
+ this._id = undefined;
377
+ }
378
+ // Temporarily expose input value. Use with caution.
379
+ get idInput() {
380
+ return this._id;
381
+ }
382
+ // manage_firewall_policies - computed: false, optional: true, required: false
383
+ _manageFirewallPolicies;
384
+ get manageFirewallPolicies() {
385
+ return this.getBooleanAttribute('manage_firewall_policies');
386
+ }
387
+ set manageFirewallPolicies(value) {
388
+ this._manageFirewallPolicies = value;
389
+ }
390
+ resetManageFirewallPolicies() {
391
+ this._manageFirewallPolicies = undefined;
392
+ }
393
+ // Temporarily expose input value. Use with caution.
394
+ get manageFirewallPoliciesInput() {
395
+ return this._manageFirewallPolicies;
396
+ }
397
+ // policy - computed: false, optional: true, required: false
398
+ _policy = new FirewallPolicyList(this, "policy", false);
399
+ get policy() {
400
+ return this._policy;
401
+ }
402
+ putPolicy(value) {
403
+ this._policy.internalValue = value;
404
+ }
405
+ resetPolicy() {
406
+ this._policy.internalValue = undefined;
407
+ }
408
+ // Temporarily expose input value. Use with caution.
409
+ get policyInput() {
410
+ return this._policy.internalValue;
411
+ }
412
+ // =========
413
+ // SYNTHESIS
414
+ // =========
415
+ synthesizeAttributes() {
416
+ return {
417
+ base_log_enabled: cdktf.booleanToTerraform(this._baseLogEnabled),
418
+ base_policy: cdktf.stringToTerraform(this._basePolicy),
419
+ gw_name: cdktf.stringToTerraform(this._gwName),
420
+ id: cdktf.stringToTerraform(this._id),
421
+ manage_firewall_policies: cdktf.booleanToTerraform(this._manageFirewallPolicies),
422
+ policy: cdktf.listMapper(firewallPolicyToTerraform, true)(this._policy.internalValue),
423
+ };
424
+ }
425
+ synthesizeHclAttributes() {
426
+ const attrs = {
427
+ base_log_enabled: {
428
+ value: cdktf.booleanToHclTerraform(this._baseLogEnabled),
429
+ isBlock: false,
430
+ type: "simple",
431
+ storageClassType: "boolean",
432
+ },
433
+ base_policy: {
434
+ value: cdktf.stringToHclTerraform(this._basePolicy),
435
+ isBlock: false,
436
+ type: "simple",
437
+ storageClassType: "string",
438
+ },
439
+ gw_name: {
440
+ value: cdktf.stringToHclTerraform(this._gwName),
441
+ isBlock: false,
442
+ type: "simple",
443
+ storageClassType: "string",
444
+ },
445
+ id: {
446
+ value: cdktf.stringToHclTerraform(this._id),
447
+ isBlock: false,
448
+ type: "simple",
449
+ storageClassType: "string",
450
+ },
451
+ manage_firewall_policies: {
452
+ value: cdktf.booleanToHclTerraform(this._manageFirewallPolicies),
453
+ isBlock: false,
454
+ type: "simple",
455
+ storageClassType: "boolean",
456
+ },
457
+ policy: {
458
+ value: cdktf.listMapperHcl(firewallPolicyToHclTerraform, true)(this._policy.internalValue),
459
+ isBlock: true,
460
+ type: "list",
461
+ storageClassType: "FirewallPolicyList",
462
+ },
463
+ };
464
+ // remove undefined attributes
465
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
466
+ }
467
+ }