@cdktf-providers/aviatrixsystems-aviatrix 8.1.10 → 8.2.0

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 (335) hide show
  1. package/README.md +3 -3
  2. package/dist/account/index.d.ts +80 -69
  3. package/dist/account/index.js +29 -6
  4. package/dist/account-user/index.d.ts +7 -7
  5. package/dist/account-user/index.js +6 -6
  6. package/dist/aws-guard-duty/index.d.ts +7 -7
  7. package/dist/aws-guard-duty/index.js +6 -6
  8. package/dist/aws-peer/index.d.ts +12 -12
  9. package/dist/aws-peer/index.js +6 -6
  10. package/dist/aws-tgw/index.d.ts +12 -12
  11. package/dist/aws-tgw/index.js +6 -6
  12. package/dist/aws-tgw-connect/index.d.ts +8 -8
  13. package/dist/aws-tgw-connect/index.js +6 -6
  14. package/dist/aws-tgw-connect-peer/index.d.ts +12 -12
  15. package/dist/aws-tgw-connect-peer/index.js +6 -6
  16. package/dist/aws-tgw-directconnect/index.d.ts +10 -10
  17. package/dist/aws-tgw-directconnect/index.js +6 -6
  18. package/dist/aws-tgw-intra-domain-inspection/index.d.ts +7 -7
  19. package/dist/aws-tgw-intra-domain-inspection/index.js +6 -6
  20. package/dist/aws-tgw-network-domain/index.d.ts +9 -9
  21. package/dist/aws-tgw-network-domain/index.js +6 -6
  22. package/dist/aws-tgw-peering/index.d.ts +6 -6
  23. package/dist/aws-tgw-peering/index.js +6 -6
  24. package/dist/aws-tgw-peering-domain-conn/index.d.ts +8 -8
  25. package/dist/aws-tgw-peering-domain-conn/index.js +6 -6
  26. package/dist/aws-tgw-transit-gateway-attachment/index.d.ts +9 -9
  27. package/dist/aws-tgw-transit-gateway-attachment/index.js +6 -6
  28. package/dist/aws-tgw-vpc-attachment/index.d.ts +15 -15
  29. package/dist/aws-tgw-vpc-attachment/index.js +6 -6
  30. package/dist/aws-tgw-vpn-conn/index.d.ts +17 -17
  31. package/dist/aws-tgw-vpn-conn/index.js +6 -6
  32. package/dist/azure-peer/index.d.ts +10 -10
  33. package/dist/azure-peer/index.js +6 -6
  34. package/dist/azure-spoke-native-peering/index.d.ts +8 -8
  35. package/dist/azure-spoke-native-peering/index.js +6 -6
  36. package/dist/azure-vng-conn/index.d.ts +6 -6
  37. package/dist/azure-vng-conn/index.js +6 -6
  38. package/dist/centralized-transit-firenet/index.d.ts +6 -6
  39. package/dist/centralized-transit-firenet/index.js +6 -6
  40. package/dist/cloudwatch-agent/index.d.ts +8 -8
  41. package/dist/cloudwatch-agent/index.js +6 -6
  42. package/dist/controller-access-allow-list-config/index.d.ts +8 -8
  43. package/dist/controller-access-allow-list-config/index.js +6 -6
  44. package/dist/controller-bgp-communities-auto-cloud-config/index.d.ts +6 -6
  45. package/dist/controller-bgp-communities-auto-cloud-config/index.js +6 -6
  46. package/dist/controller-bgp-communities-global-config/index.d.ts +5 -5
  47. package/dist/controller-bgp-communities-global-config/index.js +6 -6
  48. package/dist/controller-bgp-max-as-limit-config/index.d.ts +5 -5
  49. package/dist/controller-bgp-max-as-limit-config/index.js +6 -6
  50. package/dist/controller-cert-domain-config/index.d.ts +5 -5
  51. package/dist/controller-cert-domain-config/index.js +6 -6
  52. package/dist/controller-config/index.d.ts +24 -24
  53. package/dist/controller-config/index.js +6 -6
  54. package/dist/controller-email-config/index.d.ts +9 -9
  55. package/dist/controller-email-config/index.js +6 -6
  56. package/dist/controller-email-exception-notification-config/index.d.ts +5 -5
  57. package/dist/controller-email-exception-notification-config/index.js +6 -6
  58. package/dist/controller-gateway-keepalive-config/index.d.ts +5 -5
  59. package/dist/controller-gateway-keepalive-config/index.js +6 -6
  60. package/dist/controller-private-mode-config/index.d.ts +6 -6
  61. package/dist/controller-private-mode-config/index.js +6 -6
  62. package/dist/controller-private-oob/index.d.ts +5 -5
  63. package/dist/controller-private-oob/index.js +6 -6
  64. package/dist/controller-security-group-management-config/index.d.ts +6 -6
  65. package/dist/controller-security-group-management-config/index.js +6 -6
  66. package/dist/copilot-association/index.d.ts +5 -5
  67. package/dist/copilot-association/index.js +6 -6
  68. package/dist/copilot-fault-tolerant-deployment/index.d.ts +17 -17
  69. package/dist/copilot-fault-tolerant-deployment/index.js +6 -6
  70. package/dist/copilot-security-group-management-config/index.d.ts +11 -11
  71. package/dist/copilot-security-group-management-config/index.js +6 -6
  72. package/dist/copilot-simple-deployment/index.d.ts +13 -13
  73. package/dist/copilot-simple-deployment/index.js +6 -6
  74. package/dist/data-aviatrix-account/index.d.ts +5 -5
  75. package/dist/data-aviatrix-account/index.js +6 -6
  76. package/dist/data-aviatrix-caller-identity/index.d.ts +4 -4
  77. package/dist/data-aviatrix-caller-identity/index.js +6 -6
  78. package/dist/data-aviatrix-controller-metadata/index.d.ts +4 -4
  79. package/dist/data-aviatrix-controller-metadata/index.js +6 -6
  80. package/dist/data-aviatrix-dcf-attachment-point/index.d.ts +55 -0
  81. package/dist/data-aviatrix-dcf-attachment-point/index.js +115 -0
  82. package/dist/data-aviatrix-dcf-log-profile/index.d.ts +57 -0
  83. package/dist/data-aviatrix-dcf-log-profile/index.js +123 -0
  84. package/dist/data-aviatrix-dcf-trustbundle/index.d.ts +57 -0
  85. package/dist/data-aviatrix-dcf-trustbundle/index.js +123 -0
  86. package/dist/data-aviatrix-device-interfaces/index.d.ts +5 -5
  87. package/dist/data-aviatrix-device-interfaces/index.js +6 -6
  88. package/dist/data-aviatrix-edge-gateway-wan-interface-discovery/index.d.ts +6 -6
  89. package/dist/data-aviatrix-edge-gateway-wan-interface-discovery/index.js +6 -6
  90. package/dist/data-aviatrix-firenet/index.d.ts +5 -5
  91. package/dist/data-aviatrix-firenet/index.js +6 -6
  92. package/dist/data-aviatrix-firenet-firewall-manager/index.d.ts +17 -17
  93. package/dist/data-aviatrix-firenet-firewall-manager/index.js +6 -6
  94. package/dist/data-aviatrix-firenet-vendor-integration/index.d.ts +18 -18
  95. package/dist/data-aviatrix-firenet-vendor-integration/index.js +6 -6
  96. package/dist/data-aviatrix-firewall/index.d.ts +5 -5
  97. package/dist/data-aviatrix-firewall/index.js +6 -6
  98. package/dist/data-aviatrix-firewall-instance-images/index.d.ts +5 -5
  99. package/dist/data-aviatrix-firewall-instance-images/index.js +6 -6
  100. package/dist/data-aviatrix-gateway/index.d.ts +5 -5
  101. package/dist/data-aviatrix-gateway/index.js +6 -6
  102. package/dist/data-aviatrix-gateway-image/index.d.ts +6 -6
  103. package/dist/data-aviatrix-gateway-image/index.js +6 -6
  104. package/dist/data-aviatrix-network-domains/index.d.ts +4 -4
  105. package/dist/data-aviatrix-network-domains/index.js +6 -6
  106. package/dist/data-aviatrix-smart-groups/index.d.ts +4 -4
  107. package/dist/data-aviatrix-smart-groups/index.js +6 -6
  108. package/dist/data-aviatrix-spoke-gateway/index.d.ts +5 -5
  109. package/dist/data-aviatrix-spoke-gateway/index.js +6 -6
  110. package/dist/data-aviatrix-spoke-gateway-inspection-subnets/index.d.ts +5 -5
  111. package/dist/data-aviatrix-spoke-gateway-inspection-subnets/index.js +6 -6
  112. package/dist/data-aviatrix-spoke-gateways/index.d.ts +4 -4
  113. package/dist/data-aviatrix-spoke-gateways/index.js +6 -6
  114. package/dist/data-aviatrix-transit-gateway/index.d.ts +5 -5
  115. package/dist/data-aviatrix-transit-gateway/index.js +6 -6
  116. package/dist/data-aviatrix-transit-gateways/index.d.ts +4 -4
  117. package/dist/data-aviatrix-transit-gateways/index.js +6 -6
  118. package/dist/data-aviatrix-vpc/index.d.ts +6 -6
  119. package/dist/data-aviatrix-vpc/index.js +6 -6
  120. package/dist/data-aviatrix-vpc-tracker/index.d.ts +8 -8
  121. package/dist/data-aviatrix-vpc-tracker/index.js +6 -6
  122. package/dist/data-aviatrix-web-group/index.d.ts +123 -0
  123. package/dist/data-aviatrix-web-group/index.js +265 -0
  124. package/dist/datadog-agent/index.d.ts +8 -8
  125. package/dist/datadog-agent/index.js +6 -6
  126. package/dist/dcf-ips-profile/index.d.ts +127 -0
  127. package/dist/dcf-ips-profile/index.js +275 -0
  128. package/dist/dcf-ips-profile-vpc/index.d.ts +64 -0
  129. package/dist/dcf-ips-profile-vpc/index.js +131 -0
  130. package/dist/dcf-ips-rule-feed/index.d.ts +67 -0
  131. package/dist/dcf-ips-rule-feed/index.js +143 -0
  132. package/dist/dcf-policy-group/index.d.ts +260 -0
  133. package/dist/dcf-policy-group/index.js +605 -0
  134. package/dist/dcf-ruleset/index.d.ts +325 -0
  135. package/dist/dcf-ruleset/index.js +783 -0
  136. package/dist/dcf-tls-profile/index.d.ts +86 -0
  137. package/dist/dcf-tls-profile/index.js +178 -0
  138. package/dist/dcf-trustbundle/index.d.ts +66 -0
  139. package/dist/dcf-trustbundle/index.js +139 -0
  140. package/dist/device-interface-config/index.d.ts +7 -7
  141. package/dist/device-interface-config/index.js +6 -6
  142. package/dist/distributed-firewalling-config/index.d.ts +5 -5
  143. package/dist/distributed-firewalling-config/index.js +6 -6
  144. package/dist/distributed-firewalling-default-action-rule/index.d.ts +17 -6
  145. package/dist/distributed-firewalling-default-action-rule/index.js +29 -6
  146. package/dist/distributed-firewalling-deployment-policy/index.d.ts +66 -0
  147. package/dist/distributed-firewalling-deployment-policy/index.js +137 -0
  148. package/dist/distributed-firewalling-intra-vpc/index.d.ts +8 -8
  149. package/dist/distributed-firewalling-intra-vpc/index.js +6 -6
  150. package/dist/distributed-firewalling-origin-cert-enforcement-config/index.d.ts +5 -5
  151. package/dist/distributed-firewalling-origin-cert-enforcement-config/index.js +6 -6
  152. package/dist/distributed-firewalling-policy-list/index.d.ts +32 -21
  153. package/dist/distributed-firewalling-policy-list/index.js +34 -6
  154. package/dist/distributed-firewalling-proxy-ca-config/index.d.ts +6 -6
  155. package/dist/distributed-firewalling-proxy-ca-config/index.js +6 -6
  156. package/dist/edge-csp/index.d.ts +58 -58
  157. package/dist/edge-csp/index.js +6 -6
  158. package/dist/edge-csp-ha/index.d.ts +18 -18
  159. package/dist/edge-csp-ha/index.js +6 -6
  160. package/dist/edge-equinix/index.d.ts +54 -54
  161. package/dist/edge-equinix/index.js +6 -6
  162. package/dist/edge-equinix-ha/index.d.ts +18 -18
  163. package/dist/edge-equinix-ha/index.js +6 -6
  164. package/dist/edge-gateway-selfmanaged/index.d.ts +94 -50
  165. package/dist/edge-gateway-selfmanaged/index.js +108 -6
  166. package/dist/edge-gateway-selfmanaged-ha/index.d.ts +42 -20
  167. package/dist/edge-gateway-selfmanaged-ha/index.js +62 -6
  168. package/dist/edge-megaport/index.d.ts +56 -56
  169. package/dist/edge-megaport/index.js +6 -6
  170. package/dist/edge-megaport-ha/index.d.ts +16 -16
  171. package/dist/edge-megaport-ha/index.js +6 -6
  172. package/dist/edge-neo/index.d.ts +56 -56
  173. package/dist/edge-neo/index.js +6 -6
  174. package/dist/edge-neo-device-onboarding/index.d.ts +17 -17
  175. package/dist/edge-neo-device-onboarding/index.js +6 -6
  176. package/dist/edge-neo-ha/index.d.ts +18 -18
  177. package/dist/edge-neo-ha/index.js +6 -6
  178. package/dist/edge-platform/index.d.ts +80 -58
  179. package/dist/edge-platform/index.js +62 -6
  180. package/dist/edge-platform-device-onboarding/index.d.ts +17 -17
  181. package/dist/edge-platform-device-onboarding/index.js +6 -6
  182. package/dist/edge-platform-ha/index.d.ts +40 -18
  183. package/dist/edge-platform-ha/index.js +62 -6
  184. package/dist/edge-proxy-profile/index.d.ts +9 -9
  185. package/dist/edge-proxy-profile/index.js +6 -6
  186. package/dist/edge-spoke/index.d.ts +37 -37
  187. package/dist/edge-spoke/index.js +6 -6
  188. package/dist/edge-spoke-external-device-conn/index.d.ts +66 -33
  189. package/dist/edge-spoke-external-device-conn/index.js +75 -6
  190. package/dist/edge-spoke-transit-attachment/index.d.ts +29 -18
  191. package/dist/edge-spoke-transit-attachment/index.js +29 -6
  192. package/dist/edge-vm-selfmanaged/index.d.ts +36 -36
  193. package/dist/edge-vm-selfmanaged/index.js +6 -6
  194. package/dist/edge-vm-selfmanaged-ha/index.d.ts +16 -16
  195. package/dist/edge-vm-selfmanaged-ha/index.js +6 -6
  196. package/dist/edge-zededa/index.d.ts +58 -58
  197. package/dist/edge-zededa/index.js +6 -6
  198. package/dist/edge-zededa-ha/index.d.ts +18 -18
  199. package/dist/edge-zededa-ha/index.js +6 -6
  200. package/dist/filebeat-forwarder/index.d.ts +9 -9
  201. package/dist/filebeat-forwarder/index.js +6 -6
  202. package/dist/firenet/index.d.ts +11 -11
  203. package/dist/firenet/index.js +6 -6
  204. package/dist/firewall/index.d.ts +16 -16
  205. package/dist/firewall/index.js +6 -6
  206. package/dist/firewall-instance/index.d.ts +34 -34
  207. package/dist/firewall-instance/index.js +6 -6
  208. package/dist/firewall-instance-association/index.d.ts +13 -13
  209. package/dist/firewall-instance-association/index.js +6 -6
  210. package/dist/firewall-management-access/index.d.ts +6 -6
  211. package/dist/firewall-management-access/index.js +6 -6
  212. package/dist/firewall-policy/index.d.ts +13 -13
  213. package/dist/firewall-policy/index.js +6 -6
  214. package/dist/firewall-tag/index.d.ts +8 -8
  215. package/dist/firewall-tag/index.js +6 -6
  216. package/dist/fqdn/index.d.ts +16 -16
  217. package/dist/fqdn/index.js +6 -6
  218. package/dist/fqdn-global-config/index.d.ts +10 -10
  219. package/dist/fqdn-global-config/index.js +6 -6
  220. package/dist/fqdn-pass-through/index.d.ts +6 -6
  221. package/dist/fqdn-pass-through/index.js +6 -6
  222. package/dist/fqdn-tag-rule/index.d.ts +9 -9
  223. package/dist/fqdn-tag-rule/index.js +6 -6
  224. package/dist/gateway/index.d.ts +82 -82
  225. package/dist/gateway/index.js +6 -6
  226. package/dist/gateway-certificate-config/index.d.ts +6 -6
  227. package/dist/gateway-certificate-config/index.js +6 -6
  228. package/dist/gateway-dnat/index.d.ts +18 -18
  229. package/dist/gateway-dnat/index.js +6 -6
  230. package/dist/gateway-snat/index.d.ts +20 -20
  231. package/dist/gateway-snat/index.js +6 -6
  232. package/dist/geo-vpn/index.d.ts +9 -9
  233. package/dist/geo-vpn/index.js +6 -6
  234. package/dist/global-vpc-excluded-instance/index.d.ts +7 -7
  235. package/dist/global-vpc-excluded-instance/index.js +6 -6
  236. package/dist/global-vpc-tagging-settings/index.d.ts +6 -6
  237. package/dist/global-vpc-tagging-settings/index.js +6 -6
  238. package/dist/index.d.ts +15 -0
  239. package/dist/index.js +15 -0
  240. package/dist/k8s-config/index.d.ts +66 -0
  241. package/dist/k8s-config/index.js +137 -0
  242. package/dist/kubernetes-cluster/index.d.ts +20 -20
  243. package/dist/kubernetes-cluster/index.js +6 -6
  244. package/dist/lazy-index.js +15 -0
  245. package/dist/link-hierarchy/index.d.ts +9 -9
  246. package/dist/link-hierarchy/index.js +6 -6
  247. package/dist/netflow-agent/index.d.ts +9 -9
  248. package/dist/netflow-agent/index.js +6 -6
  249. package/dist/periodic-ping/index.d.ts +7 -7
  250. package/dist/periodic-ping/index.js +6 -6
  251. package/dist/private-mode-lb/index.d.ts +12 -12
  252. package/dist/private-mode-lb/index.js +6 -6
  253. package/dist/private-mode-multicloud-endpoint/index.d.ts +8 -8
  254. package/dist/private-mode-multicloud-endpoint/index.js +6 -6
  255. package/dist/provider/index.d.ts +13 -13
  256. package/dist/provider/index.js +6 -6
  257. package/dist/proxy-config/index.d.ts +7 -7
  258. package/dist/proxy-config/index.js +6 -6
  259. package/dist/qos-class/index.d.ts +6 -6
  260. package/dist/qos-class/index.js +6 -6
  261. package/dist/qos-policy-list/index.d.ts +8 -8
  262. package/dist/qos-policy-list/index.js +6 -6
  263. package/dist/rbac-group/index.d.ts +6 -6
  264. package/dist/rbac-group/index.js +6 -6
  265. package/dist/rbac-group-access-account-attachment/index.d.ts +6 -6
  266. package/dist/rbac-group-access-account-attachment/index.js +6 -6
  267. package/dist/rbac-group-access-account-membership/index.d.ts +75 -0
  268. package/dist/rbac-group-access-account-membership/index.js +154 -0
  269. package/dist/rbac-group-permission-attachment/index.d.ts +6 -6
  270. package/dist/rbac-group-permission-attachment/index.js +6 -6
  271. package/dist/rbac-group-user-attachment/index.d.ts +6 -6
  272. package/dist/rbac-group-user-attachment/index.js +6 -6
  273. package/dist/rbac-group-user-membership/index.d.ts +75 -0
  274. package/dist/rbac-group-user-membership/index.js +154 -0
  275. package/dist/remote-syslog/index.d.ts +14 -14
  276. package/dist/remote-syslog/index.js +6 -6
  277. package/dist/saml-endpoint/index.d.ts +14 -14
  278. package/dist/saml-endpoint/index.js +6 -6
  279. package/dist/segmentation-network-domain/index.d.ts +5 -5
  280. package/dist/segmentation-network-domain/index.js +6 -6
  281. package/dist/segmentation-network-domain-association/index.d.ts +7 -7
  282. package/dist/segmentation-network-domain-association/index.js +6 -6
  283. package/dist/segmentation-network-domain-connection-policy/index.d.ts +6 -6
  284. package/dist/segmentation-network-domain-connection-policy/index.js +6 -6
  285. package/dist/site2cloud/index.d.ts +59 -59
  286. package/dist/site2cloud/index.js +6 -6
  287. package/dist/site2cloud-ca-cert-tag/index.d.ts +7 -7
  288. package/dist/site2cloud-ca-cert-tag/index.js +6 -6
  289. package/dist/sla-class/index.d.ts +8 -8
  290. package/dist/sla-class/index.js +6 -6
  291. package/dist/smart-group/index.d.ts +25 -25
  292. package/dist/smart-group/index.js +6 -6
  293. package/dist/splunk-logging/index.d.ts +9 -9
  294. package/dist/splunk-logging/index.js +6 -6
  295. package/dist/spoke-external-device-conn/index.d.ts +112 -57
  296. package/dist/spoke-external-device-conn/index.js +121 -6
  297. package/dist/spoke-gateway/index.d.ts +158 -81
  298. package/dist/spoke-gateway/index.js +167 -6
  299. package/dist/spoke-gateway-subnet-group/index.d.ts +7 -7
  300. package/dist/spoke-gateway-subnet-group/index.js +6 -6
  301. package/dist/spoke-ha-gateway/index.d.ts +26 -15
  302. package/dist/spoke-ha-gateway/index.js +29 -6
  303. package/dist/spoke-transit-attachment/index.d.ts +12 -12
  304. package/dist/spoke-transit-attachment/index.js +6 -6
  305. package/dist/sumologic-forwarder/index.d.ts +9 -9
  306. package/dist/sumologic-forwarder/index.js +6 -6
  307. package/dist/traffic-classifier/index.d.ts +16 -16
  308. package/dist/traffic-classifier/index.js +6 -6
  309. package/dist/trans-peer/index.d.ts +7 -7
  310. package/dist/trans-peer/index.js +6 -6
  311. package/dist/transit-external-device-conn/index.d.ts +117 -62
  312. package/dist/transit-external-device-conn/index.js +122 -7
  313. package/dist/transit-firenet-policy/index.d.ts +6 -6
  314. package/dist/transit-firenet-policy/index.js +6 -6
  315. package/dist/transit-gateway/index.d.ts +201 -124
  316. package/dist/transit-gateway/index.js +177 -6
  317. package/dist/transit-gateway-peering/index.d.ts +22 -22
  318. package/dist/transit-gateway-peering/index.js +7 -7
  319. package/dist/tunnel/index.d.ts +7 -7
  320. package/dist/tunnel/index.js +6 -6
  321. package/dist/vgw-conn/index.d.ts +15 -15
  322. package/dist/vgw-conn/index.js +6 -6
  323. package/dist/vpc/index.d.ts +46 -21
  324. package/dist/vpc/index.js +64 -6
  325. package/dist/vpn-cert-download/index.d.ts +6 -6
  326. package/dist/vpn-cert-download/index.js +6 -6
  327. package/dist/vpn-profile/index.d.ts +13 -13
  328. package/dist/vpn-profile/index.js +6 -6
  329. package/dist/vpn-user/index.d.ts +12 -12
  330. package/dist/vpn-user/index.js +6 -6
  331. package/dist/vpn-user-accelerator/index.d.ts +5 -5
  332. package/dist/vpn-user-accelerator/index.js +6 -6
  333. package/dist/web-group/index.d.ts +9 -9
  334. package/dist/web-group/index.js +6 -6
  335. package/package.json +2 -2
@@ -0,0 +1,783 @@
1
+ // https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.2.0/docs/resources/dcf_ruleset
2
+ // generated from terraform resource schema
3
+ import * as cdktf from 'cdktf';
4
+ export function dcfRulesetRulesPortRangesToTerraform(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 dcfRulesetRulesPortRangesToHclTerraform(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 DcfRulesetRulesPortRangesOutputReference 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 DcfRulesetRulesPortRangesList 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 DcfRulesetRulesPortRangesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
135
+ }
136
+ }
137
+ export function dcfRulesetRulesToTerraform(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
+ log_profile: cdktf.stringToTerraform(struct.logProfile),
151
+ logging: cdktf.booleanToTerraform(struct.logging),
152
+ name: cdktf.stringToTerraform(struct.name),
153
+ priority: cdktf.numberToTerraform(struct.priority),
154
+ protocol: cdktf.stringToTerraform(struct.protocol),
155
+ src_smart_groups: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.srcSmartGroups),
156
+ tls_profile: cdktf.stringToTerraform(struct.tlsProfile),
157
+ watch: cdktf.booleanToTerraform(struct.watch),
158
+ web_groups: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.webGroups),
159
+ port_ranges: cdktf.listMapper(dcfRulesetRulesPortRangesToTerraform, true)(struct.portRanges),
160
+ };
161
+ }
162
+ export function dcfRulesetRulesToHclTerraform(struct) {
163
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
164
+ return struct;
165
+ }
166
+ if (cdktf.isComplexElement(struct)) {
167
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
168
+ }
169
+ const attrs = {
170
+ action: {
171
+ value: cdktf.stringToHclTerraform(struct.action),
172
+ isBlock: false,
173
+ type: "simple",
174
+ storageClassType: "string",
175
+ },
176
+ decrypt_policy: {
177
+ value: cdktf.stringToHclTerraform(struct.decryptPolicy),
178
+ isBlock: false,
179
+ type: "simple",
180
+ storageClassType: "string",
181
+ },
182
+ dst_smart_groups: {
183
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.dstSmartGroups),
184
+ isBlock: false,
185
+ type: "set",
186
+ storageClassType: "stringList",
187
+ },
188
+ exclude_sg_orchestration: {
189
+ value: cdktf.booleanToHclTerraform(struct.excludeSgOrchestration),
190
+ isBlock: false,
191
+ type: "simple",
192
+ storageClassType: "boolean",
193
+ },
194
+ flow_app_requirement: {
195
+ value: cdktf.stringToHclTerraform(struct.flowAppRequirement),
196
+ isBlock: false,
197
+ type: "simple",
198
+ storageClassType: "string",
199
+ },
200
+ log_profile: {
201
+ value: cdktf.stringToHclTerraform(struct.logProfile),
202
+ isBlock: false,
203
+ type: "simple",
204
+ storageClassType: "string",
205
+ },
206
+ logging: {
207
+ value: cdktf.booleanToHclTerraform(struct.logging),
208
+ isBlock: false,
209
+ type: "simple",
210
+ storageClassType: "boolean",
211
+ },
212
+ name: {
213
+ value: cdktf.stringToHclTerraform(struct.name),
214
+ isBlock: false,
215
+ type: "simple",
216
+ storageClassType: "string",
217
+ },
218
+ priority: {
219
+ value: cdktf.numberToHclTerraform(struct.priority),
220
+ isBlock: false,
221
+ type: "simple",
222
+ storageClassType: "number",
223
+ },
224
+ protocol: {
225
+ value: cdktf.stringToHclTerraform(struct.protocol),
226
+ isBlock: false,
227
+ type: "simple",
228
+ storageClassType: "string",
229
+ },
230
+ src_smart_groups: {
231
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.srcSmartGroups),
232
+ isBlock: false,
233
+ type: "set",
234
+ storageClassType: "stringList",
235
+ },
236
+ tls_profile: {
237
+ value: cdktf.stringToHclTerraform(struct.tlsProfile),
238
+ isBlock: false,
239
+ type: "simple",
240
+ storageClassType: "string",
241
+ },
242
+ watch: {
243
+ value: cdktf.booleanToHclTerraform(struct.watch),
244
+ isBlock: false,
245
+ type: "simple",
246
+ storageClassType: "boolean",
247
+ },
248
+ web_groups: {
249
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.webGroups),
250
+ isBlock: false,
251
+ type: "set",
252
+ storageClassType: "stringList",
253
+ },
254
+ port_ranges: {
255
+ value: cdktf.listMapperHcl(dcfRulesetRulesPortRangesToHclTerraform, true)(struct.portRanges),
256
+ isBlock: true,
257
+ type: "list",
258
+ storageClassType: "DcfRulesetRulesPortRangesList",
259
+ },
260
+ };
261
+ // remove undefined attributes
262
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
263
+ }
264
+ export class DcfRulesetRulesOutputReference extends cdktf.ComplexObject {
265
+ isEmptyObject = false;
266
+ resolvableValue;
267
+ /**
268
+ * @param terraformResource The parent resource
269
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
270
+ * @param complexObjectIndex the index of this item in the list
271
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
272
+ */
273
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
274
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
275
+ }
276
+ get internalValue() {
277
+ if (this.resolvableValue) {
278
+ return this.resolvableValue;
279
+ }
280
+ let hasAnyValues = this.isEmptyObject;
281
+ const internalValueResult = {};
282
+ if (this._action !== undefined) {
283
+ hasAnyValues = true;
284
+ internalValueResult.action = this._action;
285
+ }
286
+ if (this._decryptPolicy !== undefined) {
287
+ hasAnyValues = true;
288
+ internalValueResult.decryptPolicy = this._decryptPolicy;
289
+ }
290
+ if (this._dstSmartGroups !== undefined) {
291
+ hasAnyValues = true;
292
+ internalValueResult.dstSmartGroups = this._dstSmartGroups;
293
+ }
294
+ if (this._excludeSgOrchestration !== undefined) {
295
+ hasAnyValues = true;
296
+ internalValueResult.excludeSgOrchestration = this._excludeSgOrchestration;
297
+ }
298
+ if (this._flowAppRequirement !== undefined) {
299
+ hasAnyValues = true;
300
+ internalValueResult.flowAppRequirement = this._flowAppRequirement;
301
+ }
302
+ if (this._logProfile !== undefined) {
303
+ hasAnyValues = true;
304
+ internalValueResult.logProfile = this._logProfile;
305
+ }
306
+ if (this._logging !== undefined) {
307
+ hasAnyValues = true;
308
+ internalValueResult.logging = this._logging;
309
+ }
310
+ if (this._name !== undefined) {
311
+ hasAnyValues = true;
312
+ internalValueResult.name = this._name;
313
+ }
314
+ if (this._priority !== undefined) {
315
+ hasAnyValues = true;
316
+ internalValueResult.priority = this._priority;
317
+ }
318
+ if (this._protocol !== undefined) {
319
+ hasAnyValues = true;
320
+ internalValueResult.protocol = this._protocol;
321
+ }
322
+ if (this._srcSmartGroups !== undefined) {
323
+ hasAnyValues = true;
324
+ internalValueResult.srcSmartGroups = this._srcSmartGroups;
325
+ }
326
+ if (this._tlsProfile !== undefined) {
327
+ hasAnyValues = true;
328
+ internalValueResult.tlsProfile = this._tlsProfile;
329
+ }
330
+ if (this._watch !== undefined) {
331
+ hasAnyValues = true;
332
+ internalValueResult.watch = this._watch;
333
+ }
334
+ if (this._webGroups !== undefined) {
335
+ hasAnyValues = true;
336
+ internalValueResult.webGroups = this._webGroups;
337
+ }
338
+ if (this._portRanges?.internalValue !== undefined) {
339
+ hasAnyValues = true;
340
+ internalValueResult.portRanges = this._portRanges?.internalValue;
341
+ }
342
+ return hasAnyValues ? internalValueResult : undefined;
343
+ }
344
+ set internalValue(value) {
345
+ if (value === undefined) {
346
+ this.isEmptyObject = false;
347
+ this.resolvableValue = undefined;
348
+ this._action = undefined;
349
+ this._decryptPolicy = undefined;
350
+ this._dstSmartGroups = undefined;
351
+ this._excludeSgOrchestration = undefined;
352
+ this._flowAppRequirement = undefined;
353
+ this._logProfile = undefined;
354
+ this._logging = undefined;
355
+ this._name = undefined;
356
+ this._priority = undefined;
357
+ this._protocol = undefined;
358
+ this._srcSmartGroups = undefined;
359
+ this._tlsProfile = undefined;
360
+ this._watch = undefined;
361
+ this._webGroups = undefined;
362
+ this._portRanges.internalValue = undefined;
363
+ }
364
+ else if (cdktf.Tokenization.isResolvable(value)) {
365
+ this.isEmptyObject = false;
366
+ this.resolvableValue = value;
367
+ }
368
+ else {
369
+ this.isEmptyObject = Object.keys(value).length === 0;
370
+ this.resolvableValue = undefined;
371
+ this._action = value.action;
372
+ this._decryptPolicy = value.decryptPolicy;
373
+ this._dstSmartGroups = value.dstSmartGroups;
374
+ this._excludeSgOrchestration = value.excludeSgOrchestration;
375
+ this._flowAppRequirement = value.flowAppRequirement;
376
+ this._logProfile = value.logProfile;
377
+ this._logging = value.logging;
378
+ this._name = value.name;
379
+ this._priority = value.priority;
380
+ this._protocol = value.protocol;
381
+ this._srcSmartGroups = value.srcSmartGroups;
382
+ this._tlsProfile = value.tlsProfile;
383
+ this._watch = value.watch;
384
+ this._webGroups = value.webGroups;
385
+ this._portRanges.internalValue = value.portRanges;
386
+ }
387
+ }
388
+ // action - computed: false, optional: false, required: true
389
+ _action;
390
+ get action() {
391
+ return this.getStringAttribute('action');
392
+ }
393
+ set action(value) {
394
+ this._action = value;
395
+ }
396
+ // Temporarily expose input value. Use with caution.
397
+ get actionInput() {
398
+ return this._action;
399
+ }
400
+ // decrypt_policy - computed: false, optional: true, required: false
401
+ _decryptPolicy;
402
+ get decryptPolicy() {
403
+ return this.getStringAttribute('decrypt_policy');
404
+ }
405
+ set decryptPolicy(value) {
406
+ this._decryptPolicy = value;
407
+ }
408
+ resetDecryptPolicy() {
409
+ this._decryptPolicy = undefined;
410
+ }
411
+ // Temporarily expose input value. Use with caution.
412
+ get decryptPolicyInput() {
413
+ return this._decryptPolicy;
414
+ }
415
+ // dst_smart_groups - computed: false, optional: false, required: true
416
+ _dstSmartGroups;
417
+ get dstSmartGroups() {
418
+ return cdktf.Fn.tolist(this.getListAttribute('dst_smart_groups'));
419
+ }
420
+ set dstSmartGroups(value) {
421
+ this._dstSmartGroups = value;
422
+ }
423
+ // Temporarily expose input value. Use with caution.
424
+ get dstSmartGroupsInput() {
425
+ return this._dstSmartGroups;
426
+ }
427
+ // exclude_sg_orchestration - computed: false, optional: true, required: false
428
+ _excludeSgOrchestration;
429
+ get excludeSgOrchestration() {
430
+ return this.getBooleanAttribute('exclude_sg_orchestration');
431
+ }
432
+ set excludeSgOrchestration(value) {
433
+ this._excludeSgOrchestration = value;
434
+ }
435
+ resetExcludeSgOrchestration() {
436
+ this._excludeSgOrchestration = undefined;
437
+ }
438
+ // Temporarily expose input value. Use with caution.
439
+ get excludeSgOrchestrationInput() {
440
+ return this._excludeSgOrchestration;
441
+ }
442
+ // flow_app_requirement - computed: false, optional: true, required: false
443
+ _flowAppRequirement;
444
+ get flowAppRequirement() {
445
+ return this.getStringAttribute('flow_app_requirement');
446
+ }
447
+ set flowAppRequirement(value) {
448
+ this._flowAppRequirement = value;
449
+ }
450
+ resetFlowAppRequirement() {
451
+ this._flowAppRequirement = undefined;
452
+ }
453
+ // Temporarily expose input value. Use with caution.
454
+ get flowAppRequirementInput() {
455
+ return this._flowAppRequirement;
456
+ }
457
+ // log_profile - computed: false, optional: true, required: false
458
+ _logProfile;
459
+ get logProfile() {
460
+ return this.getStringAttribute('log_profile');
461
+ }
462
+ set logProfile(value) {
463
+ this._logProfile = value;
464
+ }
465
+ resetLogProfile() {
466
+ this._logProfile = undefined;
467
+ }
468
+ // Temporarily expose input value. Use with caution.
469
+ get logProfileInput() {
470
+ return this._logProfile;
471
+ }
472
+ // logging - computed: false, optional: true, required: false
473
+ _logging;
474
+ get logging() {
475
+ return this.getBooleanAttribute('logging');
476
+ }
477
+ set logging(value) {
478
+ this._logging = value;
479
+ }
480
+ resetLogging() {
481
+ this._logging = undefined;
482
+ }
483
+ // Temporarily expose input value. Use with caution.
484
+ get loggingInput() {
485
+ return this._logging;
486
+ }
487
+ // name - computed: false, optional: false, required: true
488
+ _name;
489
+ get name() {
490
+ return this.getStringAttribute('name');
491
+ }
492
+ set name(value) {
493
+ this._name = value;
494
+ }
495
+ // Temporarily expose input value. Use with caution.
496
+ get nameInput() {
497
+ return this._name;
498
+ }
499
+ // priority - computed: false, optional: true, required: false
500
+ _priority;
501
+ get priority() {
502
+ return this.getNumberAttribute('priority');
503
+ }
504
+ set priority(value) {
505
+ this._priority = value;
506
+ }
507
+ resetPriority() {
508
+ this._priority = undefined;
509
+ }
510
+ // Temporarily expose input value. Use with caution.
511
+ get priorityInput() {
512
+ return this._priority;
513
+ }
514
+ // protocol - computed: false, optional: false, required: true
515
+ _protocol;
516
+ get protocol() {
517
+ return this.getStringAttribute('protocol');
518
+ }
519
+ set protocol(value) {
520
+ this._protocol = value;
521
+ }
522
+ // Temporarily expose input value. Use with caution.
523
+ get protocolInput() {
524
+ return this._protocol;
525
+ }
526
+ // src_smart_groups - computed: false, optional: false, required: true
527
+ _srcSmartGroups;
528
+ get srcSmartGroups() {
529
+ return cdktf.Fn.tolist(this.getListAttribute('src_smart_groups'));
530
+ }
531
+ set srcSmartGroups(value) {
532
+ this._srcSmartGroups = value;
533
+ }
534
+ // Temporarily expose input value. Use with caution.
535
+ get srcSmartGroupsInput() {
536
+ return this._srcSmartGroups;
537
+ }
538
+ // tls_profile - computed: false, optional: true, required: false
539
+ _tlsProfile;
540
+ get tlsProfile() {
541
+ return this.getStringAttribute('tls_profile');
542
+ }
543
+ set tlsProfile(value) {
544
+ this._tlsProfile = value;
545
+ }
546
+ resetTlsProfile() {
547
+ this._tlsProfile = undefined;
548
+ }
549
+ // Temporarily expose input value. Use with caution.
550
+ get tlsProfileInput() {
551
+ return this._tlsProfile;
552
+ }
553
+ // uuid - computed: true, optional: false, required: false
554
+ get uuid() {
555
+ return this.getStringAttribute('uuid');
556
+ }
557
+ // watch - computed: false, optional: true, required: false
558
+ _watch;
559
+ get watch() {
560
+ return this.getBooleanAttribute('watch');
561
+ }
562
+ set watch(value) {
563
+ this._watch = value;
564
+ }
565
+ resetWatch() {
566
+ this._watch = undefined;
567
+ }
568
+ // Temporarily expose input value. Use with caution.
569
+ get watchInput() {
570
+ return this._watch;
571
+ }
572
+ // web_groups - computed: false, optional: true, required: false
573
+ _webGroups;
574
+ get webGroups() {
575
+ return cdktf.Fn.tolist(this.getListAttribute('web_groups'));
576
+ }
577
+ set webGroups(value) {
578
+ this._webGroups = value;
579
+ }
580
+ resetWebGroups() {
581
+ this._webGroups = undefined;
582
+ }
583
+ // Temporarily expose input value. Use with caution.
584
+ get webGroupsInput() {
585
+ return this._webGroups;
586
+ }
587
+ // port_ranges - computed: false, optional: true, required: false
588
+ _portRanges = new DcfRulesetRulesPortRangesList(this, "port_ranges", false);
589
+ get portRanges() {
590
+ return this._portRanges;
591
+ }
592
+ putPortRanges(value) {
593
+ this._portRanges.internalValue = value;
594
+ }
595
+ resetPortRanges() {
596
+ this._portRanges.internalValue = undefined;
597
+ }
598
+ // Temporarily expose input value. Use with caution.
599
+ get portRangesInput() {
600
+ return this._portRanges.internalValue;
601
+ }
602
+ }
603
+ export class DcfRulesetRulesList extends cdktf.ComplexList {
604
+ terraformResource;
605
+ terraformAttribute;
606
+ wrapsSet;
607
+ internalValue;
608
+ /**
609
+ * @param terraformResource The parent resource
610
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
611
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
612
+ */
613
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
614
+ super(terraformResource, terraformAttribute, wrapsSet);
615
+ this.terraformResource = terraformResource;
616
+ this.terraformAttribute = terraformAttribute;
617
+ this.wrapsSet = wrapsSet;
618
+ }
619
+ /**
620
+ * @param index the index of the item to return
621
+ */
622
+ get(index) {
623
+ return new DcfRulesetRulesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
624
+ }
625
+ }
626
+ /**
627
+ * Represents a {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.2.0/docs/resources/dcf_ruleset aviatrix_dcf_ruleset}
628
+ */
629
+ export class DcfRuleset extends cdktf.TerraformResource {
630
+ // =================
631
+ // STATIC PROPERTIES
632
+ // =================
633
+ static tfResourceType = "aviatrix_dcf_ruleset";
634
+ // ==============
635
+ // STATIC Methods
636
+ // ==============
637
+ /**
638
+ * Generates CDKTF code for importing a DcfRuleset resource upon running "cdktf plan <stack-name>"
639
+ * @param scope The scope in which to define this construct
640
+ * @param importToId The construct id used in the generated config for the DcfRuleset to import
641
+ * @param importFromId The id of the existing DcfRuleset that should be imported. Refer to the {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.2.0/docs/resources/dcf_ruleset#import import section} in the documentation of this resource for the id to use
642
+ * @param provider? Optional instance of the provider where the DcfRuleset to import is found
643
+ */
644
+ static generateConfigForImport(scope, importToId, importFromId, provider) {
645
+ return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aviatrix_dcf_ruleset", importId: importFromId, provider });
646
+ }
647
+ // ===========
648
+ // INITIALIZER
649
+ // ===========
650
+ /**
651
+ * Create a new {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.2.0/docs/resources/dcf_ruleset aviatrix_dcf_ruleset} Resource
652
+ *
653
+ * @param scope The scope in which to define this construct
654
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
655
+ * @param options DcfRulesetConfig
656
+ */
657
+ constructor(scope, id, config) {
658
+ super(scope, id, {
659
+ terraformResourceType: 'aviatrix_dcf_ruleset',
660
+ terraformGeneratorMetadata: {
661
+ providerName: 'aviatrix',
662
+ providerVersion: '8.2.0',
663
+ providerVersionConstraint: '8.2.0'
664
+ },
665
+ provider: config.provider,
666
+ dependsOn: config.dependsOn,
667
+ count: config.count,
668
+ lifecycle: config.lifecycle,
669
+ provisioners: config.provisioners,
670
+ connection: config.connection,
671
+ forEach: config.forEach
672
+ });
673
+ this._attachTo = config.attachTo;
674
+ this._id = config.id;
675
+ this._name = config.name;
676
+ this._rules.internalValue = config.rules;
677
+ }
678
+ // ==========
679
+ // ATTRIBUTES
680
+ // ==========
681
+ // attach_to - computed: false, optional: true, required: false
682
+ _attachTo;
683
+ get attachTo() {
684
+ return this.getStringAttribute('attach_to');
685
+ }
686
+ set attachTo(value) {
687
+ this._attachTo = value;
688
+ }
689
+ resetAttachTo() {
690
+ this._attachTo = undefined;
691
+ }
692
+ // Temporarily expose input value. Use with caution.
693
+ get attachToInput() {
694
+ return this._attachTo;
695
+ }
696
+ // id - computed: true, optional: true, required: false
697
+ _id;
698
+ get id() {
699
+ return this.getStringAttribute('id');
700
+ }
701
+ set id(value) {
702
+ this._id = value;
703
+ }
704
+ resetId() {
705
+ this._id = undefined;
706
+ }
707
+ // Temporarily expose input value. Use with caution.
708
+ get idInput() {
709
+ return this._id;
710
+ }
711
+ // name - computed: false, optional: false, required: true
712
+ _name;
713
+ get name() {
714
+ return this.getStringAttribute('name');
715
+ }
716
+ set name(value) {
717
+ this._name = value;
718
+ }
719
+ // Temporarily expose input value. Use with caution.
720
+ get nameInput() {
721
+ return this._name;
722
+ }
723
+ // system_resource - computed: true, optional: false, required: false
724
+ get systemResource() {
725
+ return this.getBooleanAttribute('system_resource');
726
+ }
727
+ // rules - computed: false, optional: true, required: false
728
+ _rules = new DcfRulesetRulesList(this, "rules", true);
729
+ get rules() {
730
+ return this._rules;
731
+ }
732
+ putRules(value) {
733
+ this._rules.internalValue = value;
734
+ }
735
+ resetRules() {
736
+ this._rules.internalValue = undefined;
737
+ }
738
+ // Temporarily expose input value. Use with caution.
739
+ get rulesInput() {
740
+ return this._rules.internalValue;
741
+ }
742
+ // =========
743
+ // SYNTHESIS
744
+ // =========
745
+ synthesizeAttributes() {
746
+ return {
747
+ attach_to: cdktf.stringToTerraform(this._attachTo),
748
+ id: cdktf.stringToTerraform(this._id),
749
+ name: cdktf.stringToTerraform(this._name),
750
+ rules: cdktf.listMapper(dcfRulesetRulesToTerraform, true)(this._rules.internalValue),
751
+ };
752
+ }
753
+ synthesizeHclAttributes() {
754
+ const attrs = {
755
+ attach_to: {
756
+ value: cdktf.stringToHclTerraform(this._attachTo),
757
+ isBlock: false,
758
+ type: "simple",
759
+ storageClassType: "string",
760
+ },
761
+ id: {
762
+ value: cdktf.stringToHclTerraform(this._id),
763
+ isBlock: false,
764
+ type: "simple",
765
+ storageClassType: "string",
766
+ },
767
+ name: {
768
+ value: cdktf.stringToHclTerraform(this._name),
769
+ isBlock: false,
770
+ type: "simple",
771
+ storageClassType: "string",
772
+ },
773
+ rules: {
774
+ value: cdktf.listMapperHcl(dcfRulesetRulesToHclTerraform, true)(this._rules.internalValue),
775
+ isBlock: true,
776
+ type: "set",
777
+ storageClassType: "DcfRulesetRulesList",
778
+ },
779
+ };
780
+ // remove undefined attributes
781
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
782
+ }
783
+ }