@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,705 @@
1
+ // https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/distributed_firewalling_policy_list
2
+ // generated from terraform resource schema
3
+ import * as cdktf from 'cdktf';
4
+ export function distributedFirewallingPolicyListPoliciesPortRangesToTerraform(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
+ hi: cdktf.numberToTerraform(struct.hi),
13
+ lo: cdktf.numberToTerraform(struct.lo),
14
+ };
15
+ }
16
+ export function distributedFirewallingPolicyListPoliciesPortRangesToHclTerraform(struct) {
17
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
18
+ return struct;
19
+ }
20
+ if (cdktf.isComplexElement(struct)) {
21
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
22
+ }
23
+ const attrs = {
24
+ hi: {
25
+ value: cdktf.numberToHclTerraform(struct.hi),
26
+ isBlock: false,
27
+ type: "simple",
28
+ storageClassType: "number",
29
+ },
30
+ lo: {
31
+ value: cdktf.numberToHclTerraform(struct.lo),
32
+ isBlock: false,
33
+ type: "simple",
34
+ storageClassType: "number",
35
+ },
36
+ };
37
+ // remove undefined attributes
38
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
39
+ }
40
+ export class DistributedFirewallingPolicyListPoliciesPortRangesOutputReference extends cdktf.ComplexObject {
41
+ isEmptyObject = false;
42
+ resolvableValue;
43
+ /**
44
+ * @param terraformResource The parent resource
45
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
46
+ * @param complexObjectIndex the index of this item in the list
47
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
48
+ */
49
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
50
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
51
+ }
52
+ get internalValue() {
53
+ if (this.resolvableValue) {
54
+ return this.resolvableValue;
55
+ }
56
+ let hasAnyValues = this.isEmptyObject;
57
+ const internalValueResult = {};
58
+ if (this._hi !== undefined) {
59
+ hasAnyValues = true;
60
+ internalValueResult.hi = this._hi;
61
+ }
62
+ if (this._lo !== undefined) {
63
+ hasAnyValues = true;
64
+ internalValueResult.lo = this._lo;
65
+ }
66
+ return hasAnyValues ? internalValueResult : undefined;
67
+ }
68
+ set internalValue(value) {
69
+ if (value === undefined) {
70
+ this.isEmptyObject = false;
71
+ this.resolvableValue = undefined;
72
+ this._hi = undefined;
73
+ this._lo = undefined;
74
+ }
75
+ else if (cdktf.Tokenization.isResolvable(value)) {
76
+ this.isEmptyObject = false;
77
+ this.resolvableValue = value;
78
+ }
79
+ else {
80
+ this.isEmptyObject = Object.keys(value).length === 0;
81
+ this.resolvableValue = undefined;
82
+ this._hi = value.hi;
83
+ this._lo = value.lo;
84
+ }
85
+ }
86
+ // hi - computed: false, optional: true, required: false
87
+ _hi;
88
+ get hi() {
89
+ return this.getNumberAttribute('hi');
90
+ }
91
+ set hi(value) {
92
+ this._hi = value;
93
+ }
94
+ resetHi() {
95
+ this._hi = undefined;
96
+ }
97
+ // Temporarily expose input value. Use with caution.
98
+ get hiInput() {
99
+ return this._hi;
100
+ }
101
+ // lo - computed: false, optional: false, required: true
102
+ _lo;
103
+ get lo() {
104
+ return this.getNumberAttribute('lo');
105
+ }
106
+ set lo(value) {
107
+ this._lo = value;
108
+ }
109
+ // Temporarily expose input value. Use with caution.
110
+ get loInput() {
111
+ return this._lo;
112
+ }
113
+ }
114
+ export class DistributedFirewallingPolicyListPoliciesPortRangesList extends cdktf.ComplexList {
115
+ terraformResource;
116
+ terraformAttribute;
117
+ wrapsSet;
118
+ internalValue;
119
+ /**
120
+ * @param terraformResource The parent resource
121
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
122
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
123
+ */
124
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
125
+ super(terraformResource, terraformAttribute, wrapsSet);
126
+ this.terraformResource = terraformResource;
127
+ this.terraformAttribute = terraformAttribute;
128
+ this.wrapsSet = wrapsSet;
129
+ }
130
+ /**
131
+ * @param index the index of the item to return
132
+ */
133
+ get(index) {
134
+ return new DistributedFirewallingPolicyListPoliciesPortRangesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
135
+ }
136
+ }
137
+ export function distributedFirewallingPolicyListPoliciesToTerraform(struct) {
138
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
139
+ return struct;
140
+ }
141
+ if (cdktf.isComplexElement(struct)) {
142
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
143
+ }
144
+ return {
145
+ action: cdktf.stringToTerraform(struct.action),
146
+ decrypt_policy: cdktf.stringToTerraform(struct.decryptPolicy),
147
+ dst_smart_groups: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.dstSmartGroups),
148
+ exclude_sg_orchestration: cdktf.booleanToTerraform(struct.excludeSgOrchestration),
149
+ flow_app_requirement: cdktf.stringToTerraform(struct.flowAppRequirement),
150
+ logging: cdktf.booleanToTerraform(struct.logging),
151
+ name: cdktf.stringToTerraform(struct.name),
152
+ priority: cdktf.numberToTerraform(struct.priority),
153
+ protocol: cdktf.stringToTerraform(struct.protocol),
154
+ src_smart_groups: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.srcSmartGroups),
155
+ tls_profile: cdktf.stringToTerraform(struct.tlsProfile),
156
+ watch: cdktf.booleanToTerraform(struct.watch),
157
+ web_groups: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.webGroups),
158
+ port_ranges: cdktf.listMapper(distributedFirewallingPolicyListPoliciesPortRangesToTerraform, true)(struct.portRanges),
159
+ };
160
+ }
161
+ export function distributedFirewallingPolicyListPoliciesToHclTerraform(struct) {
162
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
163
+ return struct;
164
+ }
165
+ if (cdktf.isComplexElement(struct)) {
166
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
167
+ }
168
+ const attrs = {
169
+ action: {
170
+ value: cdktf.stringToHclTerraform(struct.action),
171
+ isBlock: false,
172
+ type: "simple",
173
+ storageClassType: "string",
174
+ },
175
+ decrypt_policy: {
176
+ value: cdktf.stringToHclTerraform(struct.decryptPolicy),
177
+ isBlock: false,
178
+ type: "simple",
179
+ storageClassType: "string",
180
+ },
181
+ dst_smart_groups: {
182
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.dstSmartGroups),
183
+ isBlock: false,
184
+ type: "set",
185
+ storageClassType: "stringList",
186
+ },
187
+ exclude_sg_orchestration: {
188
+ value: cdktf.booleanToHclTerraform(struct.excludeSgOrchestration),
189
+ isBlock: false,
190
+ type: "simple",
191
+ storageClassType: "boolean",
192
+ },
193
+ flow_app_requirement: {
194
+ value: cdktf.stringToHclTerraform(struct.flowAppRequirement),
195
+ isBlock: false,
196
+ type: "simple",
197
+ storageClassType: "string",
198
+ },
199
+ logging: {
200
+ value: cdktf.booleanToHclTerraform(struct.logging),
201
+ isBlock: false,
202
+ type: "simple",
203
+ storageClassType: "boolean",
204
+ },
205
+ name: {
206
+ value: cdktf.stringToHclTerraform(struct.name),
207
+ isBlock: false,
208
+ type: "simple",
209
+ storageClassType: "string",
210
+ },
211
+ priority: {
212
+ value: cdktf.numberToHclTerraform(struct.priority),
213
+ isBlock: false,
214
+ type: "simple",
215
+ storageClassType: "number",
216
+ },
217
+ protocol: {
218
+ value: cdktf.stringToHclTerraform(struct.protocol),
219
+ isBlock: false,
220
+ type: "simple",
221
+ storageClassType: "string",
222
+ },
223
+ src_smart_groups: {
224
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.srcSmartGroups),
225
+ isBlock: false,
226
+ type: "set",
227
+ storageClassType: "stringList",
228
+ },
229
+ tls_profile: {
230
+ value: cdktf.stringToHclTerraform(struct.tlsProfile),
231
+ isBlock: false,
232
+ type: "simple",
233
+ storageClassType: "string",
234
+ },
235
+ watch: {
236
+ value: cdktf.booleanToHclTerraform(struct.watch),
237
+ isBlock: false,
238
+ type: "simple",
239
+ storageClassType: "boolean",
240
+ },
241
+ web_groups: {
242
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.webGroups),
243
+ isBlock: false,
244
+ type: "set",
245
+ storageClassType: "stringList",
246
+ },
247
+ port_ranges: {
248
+ value: cdktf.listMapperHcl(distributedFirewallingPolicyListPoliciesPortRangesToHclTerraform, true)(struct.portRanges),
249
+ isBlock: true,
250
+ type: "list",
251
+ storageClassType: "DistributedFirewallingPolicyListPoliciesPortRangesList",
252
+ },
253
+ };
254
+ // remove undefined attributes
255
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
256
+ }
257
+ export class DistributedFirewallingPolicyListPoliciesOutputReference extends cdktf.ComplexObject {
258
+ isEmptyObject = false;
259
+ resolvableValue;
260
+ /**
261
+ * @param terraformResource The parent resource
262
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
263
+ * @param complexObjectIndex the index of this item in the list
264
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
265
+ */
266
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
267
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
268
+ }
269
+ get internalValue() {
270
+ if (this.resolvableValue) {
271
+ return this.resolvableValue;
272
+ }
273
+ let hasAnyValues = this.isEmptyObject;
274
+ const internalValueResult = {};
275
+ if (this._action !== undefined) {
276
+ hasAnyValues = true;
277
+ internalValueResult.action = this._action;
278
+ }
279
+ if (this._decryptPolicy !== undefined) {
280
+ hasAnyValues = true;
281
+ internalValueResult.decryptPolicy = this._decryptPolicy;
282
+ }
283
+ if (this._dstSmartGroups !== undefined) {
284
+ hasAnyValues = true;
285
+ internalValueResult.dstSmartGroups = this._dstSmartGroups;
286
+ }
287
+ if (this._excludeSgOrchestration !== undefined) {
288
+ hasAnyValues = true;
289
+ internalValueResult.excludeSgOrchestration = this._excludeSgOrchestration;
290
+ }
291
+ if (this._flowAppRequirement !== undefined) {
292
+ hasAnyValues = true;
293
+ internalValueResult.flowAppRequirement = this._flowAppRequirement;
294
+ }
295
+ if (this._logging !== undefined) {
296
+ hasAnyValues = true;
297
+ internalValueResult.logging = this._logging;
298
+ }
299
+ if (this._name !== undefined) {
300
+ hasAnyValues = true;
301
+ internalValueResult.name = this._name;
302
+ }
303
+ if (this._priority !== undefined) {
304
+ hasAnyValues = true;
305
+ internalValueResult.priority = this._priority;
306
+ }
307
+ if (this._protocol !== undefined) {
308
+ hasAnyValues = true;
309
+ internalValueResult.protocol = this._protocol;
310
+ }
311
+ if (this._srcSmartGroups !== undefined) {
312
+ hasAnyValues = true;
313
+ internalValueResult.srcSmartGroups = this._srcSmartGroups;
314
+ }
315
+ if (this._tlsProfile !== undefined) {
316
+ hasAnyValues = true;
317
+ internalValueResult.tlsProfile = this._tlsProfile;
318
+ }
319
+ if (this._watch !== undefined) {
320
+ hasAnyValues = true;
321
+ internalValueResult.watch = this._watch;
322
+ }
323
+ if (this._webGroups !== undefined) {
324
+ hasAnyValues = true;
325
+ internalValueResult.webGroups = this._webGroups;
326
+ }
327
+ if (this._portRanges?.internalValue !== undefined) {
328
+ hasAnyValues = true;
329
+ internalValueResult.portRanges = this._portRanges?.internalValue;
330
+ }
331
+ return hasAnyValues ? internalValueResult : undefined;
332
+ }
333
+ set internalValue(value) {
334
+ if (value === undefined) {
335
+ this.isEmptyObject = false;
336
+ this.resolvableValue = undefined;
337
+ this._action = undefined;
338
+ this._decryptPolicy = undefined;
339
+ this._dstSmartGroups = undefined;
340
+ this._excludeSgOrchestration = undefined;
341
+ this._flowAppRequirement = undefined;
342
+ this._logging = undefined;
343
+ this._name = undefined;
344
+ this._priority = undefined;
345
+ this._protocol = undefined;
346
+ this._srcSmartGroups = undefined;
347
+ this._tlsProfile = undefined;
348
+ this._watch = undefined;
349
+ this._webGroups = undefined;
350
+ this._portRanges.internalValue = undefined;
351
+ }
352
+ else if (cdktf.Tokenization.isResolvable(value)) {
353
+ this.isEmptyObject = false;
354
+ this.resolvableValue = value;
355
+ }
356
+ else {
357
+ this.isEmptyObject = Object.keys(value).length === 0;
358
+ this.resolvableValue = undefined;
359
+ this._action = value.action;
360
+ this._decryptPolicy = value.decryptPolicy;
361
+ this._dstSmartGroups = value.dstSmartGroups;
362
+ this._excludeSgOrchestration = value.excludeSgOrchestration;
363
+ this._flowAppRequirement = value.flowAppRequirement;
364
+ this._logging = value.logging;
365
+ this._name = value.name;
366
+ this._priority = value.priority;
367
+ this._protocol = value.protocol;
368
+ this._srcSmartGroups = value.srcSmartGroups;
369
+ this._tlsProfile = value.tlsProfile;
370
+ this._watch = value.watch;
371
+ this._webGroups = value.webGroups;
372
+ this._portRanges.internalValue = value.portRanges;
373
+ }
374
+ }
375
+ // action - computed: false, optional: false, required: true
376
+ _action;
377
+ get action() {
378
+ return this.getStringAttribute('action');
379
+ }
380
+ set action(value) {
381
+ this._action = value;
382
+ }
383
+ // Temporarily expose input value. Use with caution.
384
+ get actionInput() {
385
+ return this._action;
386
+ }
387
+ // decrypt_policy - computed: false, optional: true, required: false
388
+ _decryptPolicy;
389
+ get decryptPolicy() {
390
+ return this.getStringAttribute('decrypt_policy');
391
+ }
392
+ set decryptPolicy(value) {
393
+ this._decryptPolicy = value;
394
+ }
395
+ resetDecryptPolicy() {
396
+ this._decryptPolicy = undefined;
397
+ }
398
+ // Temporarily expose input value. Use with caution.
399
+ get decryptPolicyInput() {
400
+ return this._decryptPolicy;
401
+ }
402
+ // dst_smart_groups - computed: false, optional: false, required: true
403
+ _dstSmartGroups;
404
+ get dstSmartGroups() {
405
+ return cdktf.Fn.tolist(this.getListAttribute('dst_smart_groups'));
406
+ }
407
+ set dstSmartGroups(value) {
408
+ this._dstSmartGroups = value;
409
+ }
410
+ // Temporarily expose input value. Use with caution.
411
+ get dstSmartGroupsInput() {
412
+ return this._dstSmartGroups;
413
+ }
414
+ // exclude_sg_orchestration - computed: false, optional: true, required: false
415
+ _excludeSgOrchestration;
416
+ get excludeSgOrchestration() {
417
+ return this.getBooleanAttribute('exclude_sg_orchestration');
418
+ }
419
+ set excludeSgOrchestration(value) {
420
+ this._excludeSgOrchestration = value;
421
+ }
422
+ resetExcludeSgOrchestration() {
423
+ this._excludeSgOrchestration = undefined;
424
+ }
425
+ // Temporarily expose input value. Use with caution.
426
+ get excludeSgOrchestrationInput() {
427
+ return this._excludeSgOrchestration;
428
+ }
429
+ // flow_app_requirement - computed: false, optional: true, required: false
430
+ _flowAppRequirement;
431
+ get flowAppRequirement() {
432
+ return this.getStringAttribute('flow_app_requirement');
433
+ }
434
+ set flowAppRequirement(value) {
435
+ this._flowAppRequirement = value;
436
+ }
437
+ resetFlowAppRequirement() {
438
+ this._flowAppRequirement = undefined;
439
+ }
440
+ // Temporarily expose input value. Use with caution.
441
+ get flowAppRequirementInput() {
442
+ return this._flowAppRequirement;
443
+ }
444
+ // logging - computed: false, optional: true, required: false
445
+ _logging;
446
+ get logging() {
447
+ return this.getBooleanAttribute('logging');
448
+ }
449
+ set logging(value) {
450
+ this._logging = value;
451
+ }
452
+ resetLogging() {
453
+ this._logging = undefined;
454
+ }
455
+ // Temporarily expose input value. Use with caution.
456
+ get loggingInput() {
457
+ return this._logging;
458
+ }
459
+ // name - computed: false, optional: false, required: true
460
+ _name;
461
+ get name() {
462
+ return this.getStringAttribute('name');
463
+ }
464
+ set name(value) {
465
+ this._name = value;
466
+ }
467
+ // Temporarily expose input value. Use with caution.
468
+ get nameInput() {
469
+ return this._name;
470
+ }
471
+ // priority - computed: false, optional: true, required: false
472
+ _priority;
473
+ get priority() {
474
+ return this.getNumberAttribute('priority');
475
+ }
476
+ set priority(value) {
477
+ this._priority = value;
478
+ }
479
+ resetPriority() {
480
+ this._priority = undefined;
481
+ }
482
+ // Temporarily expose input value. Use with caution.
483
+ get priorityInput() {
484
+ return this._priority;
485
+ }
486
+ // protocol - computed: false, optional: false, required: true
487
+ _protocol;
488
+ get protocol() {
489
+ return this.getStringAttribute('protocol');
490
+ }
491
+ set protocol(value) {
492
+ this._protocol = value;
493
+ }
494
+ // Temporarily expose input value. Use with caution.
495
+ get protocolInput() {
496
+ return this._protocol;
497
+ }
498
+ // src_smart_groups - computed: false, optional: false, required: true
499
+ _srcSmartGroups;
500
+ get srcSmartGroups() {
501
+ return cdktf.Fn.tolist(this.getListAttribute('src_smart_groups'));
502
+ }
503
+ set srcSmartGroups(value) {
504
+ this._srcSmartGroups = value;
505
+ }
506
+ // Temporarily expose input value. Use with caution.
507
+ get srcSmartGroupsInput() {
508
+ return this._srcSmartGroups;
509
+ }
510
+ // tls_profile - computed: false, optional: true, required: false
511
+ _tlsProfile;
512
+ get tlsProfile() {
513
+ return this.getStringAttribute('tls_profile');
514
+ }
515
+ set tlsProfile(value) {
516
+ this._tlsProfile = value;
517
+ }
518
+ resetTlsProfile() {
519
+ this._tlsProfile = undefined;
520
+ }
521
+ // Temporarily expose input value. Use with caution.
522
+ get tlsProfileInput() {
523
+ return this._tlsProfile;
524
+ }
525
+ // uuid - computed: true, optional: false, required: false
526
+ get uuid() {
527
+ return this.getStringAttribute('uuid');
528
+ }
529
+ // watch - computed: false, optional: true, required: false
530
+ _watch;
531
+ get watch() {
532
+ return this.getBooleanAttribute('watch');
533
+ }
534
+ set watch(value) {
535
+ this._watch = value;
536
+ }
537
+ resetWatch() {
538
+ this._watch = undefined;
539
+ }
540
+ // Temporarily expose input value. Use with caution.
541
+ get watchInput() {
542
+ return this._watch;
543
+ }
544
+ // web_groups - computed: false, optional: true, required: false
545
+ _webGroups;
546
+ get webGroups() {
547
+ return cdktf.Fn.tolist(this.getListAttribute('web_groups'));
548
+ }
549
+ set webGroups(value) {
550
+ this._webGroups = value;
551
+ }
552
+ resetWebGroups() {
553
+ this._webGroups = undefined;
554
+ }
555
+ // Temporarily expose input value. Use with caution.
556
+ get webGroupsInput() {
557
+ return this._webGroups;
558
+ }
559
+ // port_ranges - computed: false, optional: true, required: false
560
+ _portRanges = new DistributedFirewallingPolicyListPoliciesPortRangesList(this, "port_ranges", false);
561
+ get portRanges() {
562
+ return this._portRanges;
563
+ }
564
+ putPortRanges(value) {
565
+ this._portRanges.internalValue = value;
566
+ }
567
+ resetPortRanges() {
568
+ this._portRanges.internalValue = undefined;
569
+ }
570
+ // Temporarily expose input value. Use with caution.
571
+ get portRangesInput() {
572
+ return this._portRanges.internalValue;
573
+ }
574
+ }
575
+ export class DistributedFirewallingPolicyListPoliciesList extends cdktf.ComplexList {
576
+ terraformResource;
577
+ terraformAttribute;
578
+ wrapsSet;
579
+ internalValue;
580
+ /**
581
+ * @param terraformResource The parent resource
582
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
583
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
584
+ */
585
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
586
+ super(terraformResource, terraformAttribute, wrapsSet);
587
+ this.terraformResource = terraformResource;
588
+ this.terraformAttribute = terraformAttribute;
589
+ this.wrapsSet = wrapsSet;
590
+ }
591
+ /**
592
+ * @param index the index of the item to return
593
+ */
594
+ get(index) {
595
+ return new DistributedFirewallingPolicyListPoliciesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
596
+ }
597
+ }
598
+ /**
599
+ * Represents a {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/distributed_firewalling_policy_list aviatrix_distributed_firewalling_policy_list}
600
+ */
601
+ export class DistributedFirewallingPolicyList extends cdktf.TerraformResource {
602
+ // =================
603
+ // STATIC PROPERTIES
604
+ // =================
605
+ static tfResourceType = "aviatrix_distributed_firewalling_policy_list";
606
+ // ==============
607
+ // STATIC Methods
608
+ // ==============
609
+ /**
610
+ * Generates CDKTF code for importing a DistributedFirewallingPolicyList resource upon running "cdktf plan <stack-name>"
611
+ * @param scope The scope in which to define this construct
612
+ * @param importToId The construct id used in the generated config for the DistributedFirewallingPolicyList to import
613
+ * @param importFromId The id of the existing DistributedFirewallingPolicyList that should be imported. Refer to the {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/distributed_firewalling_policy_list#import import section} in the documentation of this resource for the id to use
614
+ * @param provider? Optional instance of the provider where the DistributedFirewallingPolicyList to import is found
615
+ */
616
+ static generateConfigForImport(scope, importToId, importFromId, provider) {
617
+ return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aviatrix_distributed_firewalling_policy_list", importId: importFromId, provider });
618
+ }
619
+ // ===========
620
+ // INITIALIZER
621
+ // ===========
622
+ /**
623
+ * Create a new {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/distributed_firewalling_policy_list aviatrix_distributed_firewalling_policy_list} Resource
624
+ *
625
+ * @param scope The scope in which to define this construct
626
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
627
+ * @param options DistributedFirewallingPolicyListConfig
628
+ */
629
+ constructor(scope, id, config) {
630
+ super(scope, id, {
631
+ terraformResourceType: 'aviatrix_distributed_firewalling_policy_list',
632
+ terraformGeneratorMetadata: {
633
+ providerName: 'aviatrix',
634
+ providerVersion: '8.1.10',
635
+ providerVersionConstraint: '8.1.10'
636
+ },
637
+ provider: config.provider,
638
+ dependsOn: config.dependsOn,
639
+ count: config.count,
640
+ lifecycle: config.lifecycle,
641
+ provisioners: config.provisioners,
642
+ connection: config.connection,
643
+ forEach: config.forEach
644
+ });
645
+ this._id = config.id;
646
+ this._policies.internalValue = config.policies;
647
+ }
648
+ // ==========
649
+ // ATTRIBUTES
650
+ // ==========
651
+ // id - computed: true, optional: true, required: false
652
+ _id;
653
+ get id() {
654
+ return this.getStringAttribute('id');
655
+ }
656
+ set id(value) {
657
+ this._id = value;
658
+ }
659
+ resetId() {
660
+ this._id = undefined;
661
+ }
662
+ // Temporarily expose input value. Use with caution.
663
+ get idInput() {
664
+ return this._id;
665
+ }
666
+ // policies - computed: false, optional: false, required: true
667
+ _policies = new DistributedFirewallingPolicyListPoliciesList(this, "policies", false);
668
+ get policies() {
669
+ return this._policies;
670
+ }
671
+ putPolicies(value) {
672
+ this._policies.internalValue = value;
673
+ }
674
+ // Temporarily expose input value. Use with caution.
675
+ get policiesInput() {
676
+ return this._policies.internalValue;
677
+ }
678
+ // =========
679
+ // SYNTHESIS
680
+ // =========
681
+ synthesizeAttributes() {
682
+ return {
683
+ id: cdktf.stringToTerraform(this._id),
684
+ policies: cdktf.listMapper(distributedFirewallingPolicyListPoliciesToTerraform, true)(this._policies.internalValue),
685
+ };
686
+ }
687
+ synthesizeHclAttributes() {
688
+ const attrs = {
689
+ id: {
690
+ value: cdktf.stringToHclTerraform(this._id),
691
+ isBlock: false,
692
+ type: "simple",
693
+ storageClassType: "string",
694
+ },
695
+ policies: {
696
+ value: cdktf.listMapperHcl(distributedFirewallingPolicyListPoliciesToHclTerraform, true)(this._policies.internalValue),
697
+ isBlock: true,
698
+ type: "list",
699
+ storageClassType: "DistributedFirewallingPolicyListPoliciesList",
700
+ },
701
+ };
702
+ // remove undefined attributes
703
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
704
+ }
705
+ }