@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,370 @@
1
+ // https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/link_hierarchy
2
+ // generated from terraform resource schema
3
+ import * as cdktf from 'cdktf';
4
+ export function linkHierarchyLinksWanLinkToTerraform(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
+ wan_tag: cdktf.stringToTerraform(struct.wanTag),
13
+ };
14
+ }
15
+ export function linkHierarchyLinksWanLinkToHclTerraform(struct) {
16
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
17
+ return struct;
18
+ }
19
+ if (cdktf.isComplexElement(struct)) {
20
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
21
+ }
22
+ const attrs = {
23
+ wan_tag: {
24
+ value: cdktf.stringToHclTerraform(struct.wanTag),
25
+ isBlock: false,
26
+ type: "simple",
27
+ storageClassType: "string",
28
+ },
29
+ };
30
+ // remove undefined attributes
31
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
32
+ }
33
+ export class LinkHierarchyLinksWanLinkOutputReference extends cdktf.ComplexObject {
34
+ isEmptyObject = false;
35
+ resolvableValue;
36
+ /**
37
+ * @param terraformResource The parent resource
38
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
39
+ * @param complexObjectIndex the index of this item in the list
40
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
41
+ */
42
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
43
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
44
+ }
45
+ get internalValue() {
46
+ if (this.resolvableValue) {
47
+ return this.resolvableValue;
48
+ }
49
+ let hasAnyValues = this.isEmptyObject;
50
+ const internalValueResult = {};
51
+ if (this._wanTag !== undefined) {
52
+ hasAnyValues = true;
53
+ internalValueResult.wanTag = this._wanTag;
54
+ }
55
+ return hasAnyValues ? internalValueResult : undefined;
56
+ }
57
+ set internalValue(value) {
58
+ if (value === undefined) {
59
+ this.isEmptyObject = false;
60
+ this.resolvableValue = undefined;
61
+ this._wanTag = undefined;
62
+ }
63
+ else if (cdktf.Tokenization.isResolvable(value)) {
64
+ this.isEmptyObject = false;
65
+ this.resolvableValue = value;
66
+ }
67
+ else {
68
+ this.isEmptyObject = Object.keys(value).length === 0;
69
+ this.resolvableValue = undefined;
70
+ this._wanTag = value.wanTag;
71
+ }
72
+ }
73
+ // wan_tag - computed: false, optional: false, required: true
74
+ _wanTag;
75
+ get wanTag() {
76
+ return this.getStringAttribute('wan_tag');
77
+ }
78
+ set wanTag(value) {
79
+ this._wanTag = value;
80
+ }
81
+ // Temporarily expose input value. Use with caution.
82
+ get wanTagInput() {
83
+ return this._wanTag;
84
+ }
85
+ }
86
+ export class LinkHierarchyLinksWanLinkList extends cdktf.ComplexList {
87
+ terraformResource;
88
+ terraformAttribute;
89
+ wrapsSet;
90
+ internalValue;
91
+ /**
92
+ * @param terraformResource The parent resource
93
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
94
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
95
+ */
96
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
97
+ super(terraformResource, terraformAttribute, wrapsSet);
98
+ this.terraformResource = terraformResource;
99
+ this.terraformAttribute = terraformAttribute;
100
+ this.wrapsSet = wrapsSet;
101
+ }
102
+ /**
103
+ * @param index the index of the item to return
104
+ */
105
+ get(index) {
106
+ return new LinkHierarchyLinksWanLinkOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
107
+ }
108
+ }
109
+ export function linkHierarchyLinksToTerraform(struct) {
110
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
111
+ return struct;
112
+ }
113
+ if (cdktf.isComplexElement(struct)) {
114
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
115
+ }
116
+ return {
117
+ name: cdktf.stringToTerraform(struct.name),
118
+ wan_link: cdktf.listMapper(linkHierarchyLinksWanLinkToTerraform, true)(struct.wanLink),
119
+ };
120
+ }
121
+ export function linkHierarchyLinksToHclTerraform(struct) {
122
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
123
+ return struct;
124
+ }
125
+ if (cdktf.isComplexElement(struct)) {
126
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
127
+ }
128
+ const attrs = {
129
+ name: {
130
+ value: cdktf.stringToHclTerraform(struct.name),
131
+ isBlock: false,
132
+ type: "simple",
133
+ storageClassType: "string",
134
+ },
135
+ wan_link: {
136
+ value: cdktf.listMapperHcl(linkHierarchyLinksWanLinkToHclTerraform, true)(struct.wanLink),
137
+ isBlock: true,
138
+ type: "set",
139
+ storageClassType: "LinkHierarchyLinksWanLinkList",
140
+ },
141
+ };
142
+ // remove undefined attributes
143
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
144
+ }
145
+ export class LinkHierarchyLinksOutputReference extends cdktf.ComplexObject {
146
+ isEmptyObject = false;
147
+ resolvableValue;
148
+ /**
149
+ * @param terraformResource The parent resource
150
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
151
+ * @param complexObjectIndex the index of this item in the list
152
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
153
+ */
154
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
155
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
156
+ }
157
+ get internalValue() {
158
+ if (this.resolvableValue) {
159
+ return this.resolvableValue;
160
+ }
161
+ let hasAnyValues = this.isEmptyObject;
162
+ const internalValueResult = {};
163
+ if (this._name !== undefined) {
164
+ hasAnyValues = true;
165
+ internalValueResult.name = this._name;
166
+ }
167
+ if (this._wanLink?.internalValue !== undefined) {
168
+ hasAnyValues = true;
169
+ internalValueResult.wanLink = this._wanLink?.internalValue;
170
+ }
171
+ return hasAnyValues ? internalValueResult : undefined;
172
+ }
173
+ set internalValue(value) {
174
+ if (value === undefined) {
175
+ this.isEmptyObject = false;
176
+ this.resolvableValue = undefined;
177
+ this._name = undefined;
178
+ this._wanLink.internalValue = undefined;
179
+ }
180
+ else if (cdktf.Tokenization.isResolvable(value)) {
181
+ this.isEmptyObject = false;
182
+ this.resolvableValue = value;
183
+ }
184
+ else {
185
+ this.isEmptyObject = Object.keys(value).length === 0;
186
+ this.resolvableValue = undefined;
187
+ this._name = value.name;
188
+ this._wanLink.internalValue = value.wanLink;
189
+ }
190
+ }
191
+ // name - computed: false, optional: false, required: true
192
+ _name;
193
+ get name() {
194
+ return this.getStringAttribute('name');
195
+ }
196
+ set name(value) {
197
+ this._name = value;
198
+ }
199
+ // Temporarily expose input value. Use with caution.
200
+ get nameInput() {
201
+ return this._name;
202
+ }
203
+ // wan_link - computed: false, optional: false, required: true
204
+ _wanLink = new LinkHierarchyLinksWanLinkList(this, "wan_link", true);
205
+ get wanLink() {
206
+ return this._wanLink;
207
+ }
208
+ putWanLink(value) {
209
+ this._wanLink.internalValue = value;
210
+ }
211
+ // Temporarily expose input value. Use with caution.
212
+ get wanLinkInput() {
213
+ return this._wanLink.internalValue;
214
+ }
215
+ }
216
+ export class LinkHierarchyLinksList extends cdktf.ComplexList {
217
+ terraformResource;
218
+ terraformAttribute;
219
+ wrapsSet;
220
+ internalValue;
221
+ /**
222
+ * @param terraformResource The parent resource
223
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
224
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
225
+ */
226
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
227
+ super(terraformResource, terraformAttribute, wrapsSet);
228
+ this.terraformResource = terraformResource;
229
+ this.terraformAttribute = terraformAttribute;
230
+ this.wrapsSet = wrapsSet;
231
+ }
232
+ /**
233
+ * @param index the index of the item to return
234
+ */
235
+ get(index) {
236
+ return new LinkHierarchyLinksOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
237
+ }
238
+ }
239
+ /**
240
+ * Represents a {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/link_hierarchy aviatrix_link_hierarchy}
241
+ */
242
+ export class LinkHierarchy extends cdktf.TerraformResource {
243
+ // =================
244
+ // STATIC PROPERTIES
245
+ // =================
246
+ static tfResourceType = "aviatrix_link_hierarchy";
247
+ // ==============
248
+ // STATIC Methods
249
+ // ==============
250
+ /**
251
+ * Generates CDKTF code for importing a LinkHierarchy resource upon running "cdktf plan <stack-name>"
252
+ * @param scope The scope in which to define this construct
253
+ * @param importToId The construct id used in the generated config for the LinkHierarchy to import
254
+ * @param importFromId The id of the existing LinkHierarchy that should be imported. Refer to the {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/link_hierarchy#import import section} in the documentation of this resource for the id to use
255
+ * @param provider? Optional instance of the provider where the LinkHierarchy to import is found
256
+ */
257
+ static generateConfigForImport(scope, importToId, importFromId, provider) {
258
+ return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aviatrix_link_hierarchy", importId: importFromId, provider });
259
+ }
260
+ // ===========
261
+ // INITIALIZER
262
+ // ===========
263
+ /**
264
+ * Create a new {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/link_hierarchy aviatrix_link_hierarchy} Resource
265
+ *
266
+ * @param scope The scope in which to define this construct
267
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
268
+ * @param options LinkHierarchyConfig
269
+ */
270
+ constructor(scope, id, config) {
271
+ super(scope, id, {
272
+ terraformResourceType: 'aviatrix_link_hierarchy',
273
+ terraformGeneratorMetadata: {
274
+ providerName: 'aviatrix',
275
+ providerVersion: '8.1.10',
276
+ providerVersionConstraint: '8.1.10'
277
+ },
278
+ provider: config.provider,
279
+ dependsOn: config.dependsOn,
280
+ count: config.count,
281
+ lifecycle: config.lifecycle,
282
+ provisioners: config.provisioners,
283
+ connection: config.connection,
284
+ forEach: config.forEach
285
+ });
286
+ this._id = config.id;
287
+ this._name = config.name;
288
+ this._links.internalValue = config.links;
289
+ }
290
+ // ==========
291
+ // ATTRIBUTES
292
+ // ==========
293
+ // id - computed: true, optional: true, required: false
294
+ _id;
295
+ get id() {
296
+ return this.getStringAttribute('id');
297
+ }
298
+ set id(value) {
299
+ this._id = value;
300
+ }
301
+ resetId() {
302
+ this._id = undefined;
303
+ }
304
+ // Temporarily expose input value. Use with caution.
305
+ get idInput() {
306
+ return this._id;
307
+ }
308
+ // name - computed: false, optional: false, required: true
309
+ _name;
310
+ get name() {
311
+ return this.getStringAttribute('name');
312
+ }
313
+ set name(value) {
314
+ this._name = value;
315
+ }
316
+ // Temporarily expose input value. Use with caution.
317
+ get nameInput() {
318
+ return this._name;
319
+ }
320
+ // uuid - computed: true, optional: false, required: false
321
+ get uuid() {
322
+ return this.getStringAttribute('uuid');
323
+ }
324
+ // links - computed: false, optional: false, required: true
325
+ _links = new LinkHierarchyLinksList(this, "links", false);
326
+ get links() {
327
+ return this._links;
328
+ }
329
+ putLinks(value) {
330
+ this._links.internalValue = value;
331
+ }
332
+ // Temporarily expose input value. Use with caution.
333
+ get linksInput() {
334
+ return this._links.internalValue;
335
+ }
336
+ // =========
337
+ // SYNTHESIS
338
+ // =========
339
+ synthesizeAttributes() {
340
+ return {
341
+ id: cdktf.stringToTerraform(this._id),
342
+ name: cdktf.stringToTerraform(this._name),
343
+ links: cdktf.listMapper(linkHierarchyLinksToTerraform, true)(this._links.internalValue),
344
+ };
345
+ }
346
+ synthesizeHclAttributes() {
347
+ const attrs = {
348
+ id: {
349
+ value: cdktf.stringToHclTerraform(this._id),
350
+ isBlock: false,
351
+ type: "simple",
352
+ storageClassType: "string",
353
+ },
354
+ name: {
355
+ value: cdktf.stringToHclTerraform(this._name),
356
+ isBlock: false,
357
+ type: "simple",
358
+ storageClassType: "string",
359
+ },
360
+ links: {
361
+ value: cdktf.listMapperHcl(linkHierarchyLinksToHclTerraform, true)(this._links.internalValue),
362
+ isBlock: true,
363
+ type: "list",
364
+ storageClassType: "LinkHierarchyLinksList",
365
+ },
366
+ };
367
+ // remove undefined attributes
368
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
369
+ }
370
+ }
@@ -0,0 +1,98 @@
1
+ import { Construct } from 'constructs';
2
+ import * as cdktf from 'cdktf';
3
+ export interface NetflowAgentConfig extends cdktf.TerraformMetaArguments {
4
+ /**
5
+ * Enable L7 mode.
6
+ *
7
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/netflow_agent#enable_l7_mode NetflowAgent#enable_l7_mode}
8
+ */
9
+ readonly enableL7Mode?: boolean | cdktf.IResolvable;
10
+ /**
11
+ * List of excluded gateways.
12
+ *
13
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/netflow_agent#excluded_gateways NetflowAgent#excluded_gateways}
14
+ */
15
+ readonly excludedGateways?: string[];
16
+ /**
17
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/netflow_agent#id NetflowAgent#id}
18
+ *
19
+ * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
20
+ * 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.
21
+ */
22
+ readonly id?: string;
23
+ /**
24
+ * Netflow server port.
25
+ *
26
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/netflow_agent#port NetflowAgent#port}
27
+ */
28
+ readonly port: number;
29
+ /**
30
+ * Netflow server IP address.
31
+ *
32
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/netflow_agent#server_ip NetflowAgent#server_ip}
33
+ */
34
+ readonly serverIp: string;
35
+ /**
36
+ * Netflow version.
37
+ *
38
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/netflow_agent#version NetflowAgent#version}
39
+ */
40
+ readonly version?: number;
41
+ }
42
+ /**
43
+ * Represents a {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/netflow_agent aviatrix_netflow_agent}
44
+ */
45
+ export declare class NetflowAgent extends cdktf.TerraformResource {
46
+ static readonly tfResourceType = "aviatrix_netflow_agent";
47
+ /**
48
+ * Generates CDKTF code for importing a NetflowAgent resource upon running "cdktf plan <stack-name>"
49
+ * @param scope The scope in which to define this construct
50
+ * @param importToId The construct id used in the generated config for the NetflowAgent to import
51
+ * @param importFromId The id of the existing NetflowAgent that should be imported. Refer to the {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/netflow_agent#import import section} in the documentation of this resource for the id to use
52
+ * @param provider? Optional instance of the provider where the NetflowAgent to import is found
53
+ */
54
+ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): any;
55
+ /**
56
+ * Create a new {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/netflow_agent aviatrix_netflow_agent} Resource
57
+ *
58
+ * @param scope The scope in which to define this construct
59
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
60
+ * @param options NetflowAgentConfig
61
+ */
62
+ constructor(scope: Construct, id: string, config: NetflowAgentConfig);
63
+ private _enableL7Mode?;
64
+ get enableL7Mode(): boolean | cdktf.IResolvable;
65
+ set enableL7Mode(value: boolean | cdktf.IResolvable);
66
+ resetEnableL7Mode(): void;
67
+ get enableL7ModeInput(): any;
68
+ private _excludedGateways?;
69
+ get excludedGateways(): string[];
70
+ set excludedGateways(value: string[]);
71
+ resetExcludedGateways(): void;
72
+ get excludedGatewaysInput(): string[];
73
+ private _id?;
74
+ get id(): string;
75
+ set id(value: string);
76
+ resetId(): void;
77
+ get idInput(): string;
78
+ private _port?;
79
+ get port(): number;
80
+ set port(value: number);
81
+ get portInput(): number;
82
+ private _serverIp?;
83
+ get serverIp(): string;
84
+ set serverIp(value: string);
85
+ get serverIpInput(): string;
86
+ get status(): any;
87
+ private _version?;
88
+ get version(): number;
89
+ set version(value: number);
90
+ resetVersion(): void;
91
+ get versionInput(): number;
92
+ protected synthesizeAttributes(): {
93
+ [name: string]: any;
94
+ };
95
+ protected synthesizeHclAttributes(): {
96
+ [name: string]: any;
97
+ };
98
+ }
@@ -0,0 +1,204 @@
1
+ // https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/netflow_agent
2
+ // generated from terraform resource schema
3
+ import * as cdktf from 'cdktf';
4
+ /**
5
+ * Represents a {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/netflow_agent aviatrix_netflow_agent}
6
+ */
7
+ export class NetflowAgent extends cdktf.TerraformResource {
8
+ // =================
9
+ // STATIC PROPERTIES
10
+ // =================
11
+ static tfResourceType = "aviatrix_netflow_agent";
12
+ // ==============
13
+ // STATIC Methods
14
+ // ==============
15
+ /**
16
+ * Generates CDKTF code for importing a NetflowAgent resource upon running "cdktf plan <stack-name>"
17
+ * @param scope The scope in which to define this construct
18
+ * @param importToId The construct id used in the generated config for the NetflowAgent to import
19
+ * @param importFromId The id of the existing NetflowAgent that should be imported. Refer to the {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/netflow_agent#import import section} in the documentation of this resource for the id to use
20
+ * @param provider? Optional instance of the provider where the NetflowAgent to import is found
21
+ */
22
+ static generateConfigForImport(scope, importToId, importFromId, provider) {
23
+ return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aviatrix_netflow_agent", importId: importFromId, provider });
24
+ }
25
+ // ===========
26
+ // INITIALIZER
27
+ // ===========
28
+ /**
29
+ * Create a new {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/netflow_agent aviatrix_netflow_agent} Resource
30
+ *
31
+ * @param scope The scope in which to define this construct
32
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
33
+ * @param options NetflowAgentConfig
34
+ */
35
+ constructor(scope, id, config) {
36
+ super(scope, id, {
37
+ terraformResourceType: 'aviatrix_netflow_agent',
38
+ terraformGeneratorMetadata: {
39
+ providerName: 'aviatrix',
40
+ providerVersion: '8.1.10',
41
+ providerVersionConstraint: '8.1.10'
42
+ },
43
+ provider: config.provider,
44
+ dependsOn: config.dependsOn,
45
+ count: config.count,
46
+ lifecycle: config.lifecycle,
47
+ provisioners: config.provisioners,
48
+ connection: config.connection,
49
+ forEach: config.forEach
50
+ });
51
+ this._enableL7Mode = config.enableL7Mode;
52
+ this._excludedGateways = config.excludedGateways;
53
+ this._id = config.id;
54
+ this._port = config.port;
55
+ this._serverIp = config.serverIp;
56
+ this._version = config.version;
57
+ }
58
+ // ==========
59
+ // ATTRIBUTES
60
+ // ==========
61
+ // enable_l7_mode - computed: false, optional: true, required: false
62
+ _enableL7Mode;
63
+ get enableL7Mode() {
64
+ return this.getBooleanAttribute('enable_l7_mode');
65
+ }
66
+ set enableL7Mode(value) {
67
+ this._enableL7Mode = value;
68
+ }
69
+ resetEnableL7Mode() {
70
+ this._enableL7Mode = undefined;
71
+ }
72
+ // Temporarily expose input value. Use with caution.
73
+ get enableL7ModeInput() {
74
+ return this._enableL7Mode;
75
+ }
76
+ // excluded_gateways - computed: false, optional: true, required: false
77
+ _excludedGateways;
78
+ get excludedGateways() {
79
+ return cdktf.Fn.tolist(this.getListAttribute('excluded_gateways'));
80
+ }
81
+ set excludedGateways(value) {
82
+ this._excludedGateways = value;
83
+ }
84
+ resetExcludedGateways() {
85
+ this._excludedGateways = undefined;
86
+ }
87
+ // Temporarily expose input value. Use with caution.
88
+ get excludedGatewaysInput() {
89
+ return this._excludedGateways;
90
+ }
91
+ // id - computed: true, optional: true, required: false
92
+ _id;
93
+ get id() {
94
+ return this.getStringAttribute('id');
95
+ }
96
+ set id(value) {
97
+ this._id = value;
98
+ }
99
+ resetId() {
100
+ this._id = undefined;
101
+ }
102
+ // Temporarily expose input value. Use with caution.
103
+ get idInput() {
104
+ return this._id;
105
+ }
106
+ // port - computed: false, optional: false, required: true
107
+ _port;
108
+ get port() {
109
+ return this.getNumberAttribute('port');
110
+ }
111
+ set port(value) {
112
+ this._port = value;
113
+ }
114
+ // Temporarily expose input value. Use with caution.
115
+ get portInput() {
116
+ return this._port;
117
+ }
118
+ // server_ip - computed: false, optional: false, required: true
119
+ _serverIp;
120
+ get serverIp() {
121
+ return this.getStringAttribute('server_ip');
122
+ }
123
+ set serverIp(value) {
124
+ this._serverIp = value;
125
+ }
126
+ // Temporarily expose input value. Use with caution.
127
+ get serverIpInput() {
128
+ return this._serverIp;
129
+ }
130
+ // status - computed: true, optional: false, required: false
131
+ get status() {
132
+ return this.getStringAttribute('status');
133
+ }
134
+ // version - computed: false, optional: true, required: false
135
+ _version;
136
+ get version() {
137
+ return this.getNumberAttribute('version');
138
+ }
139
+ set version(value) {
140
+ this._version = value;
141
+ }
142
+ resetVersion() {
143
+ this._version = undefined;
144
+ }
145
+ // Temporarily expose input value. Use with caution.
146
+ get versionInput() {
147
+ return this._version;
148
+ }
149
+ // =========
150
+ // SYNTHESIS
151
+ // =========
152
+ synthesizeAttributes() {
153
+ return {
154
+ enable_l7_mode: cdktf.booleanToTerraform(this._enableL7Mode),
155
+ excluded_gateways: cdktf.listMapper(cdktf.stringToTerraform, false)(this._excludedGateways),
156
+ id: cdktf.stringToTerraform(this._id),
157
+ port: cdktf.numberToTerraform(this._port),
158
+ server_ip: cdktf.stringToTerraform(this._serverIp),
159
+ version: cdktf.numberToTerraform(this._version),
160
+ };
161
+ }
162
+ synthesizeHclAttributes() {
163
+ const attrs = {
164
+ enable_l7_mode: {
165
+ value: cdktf.booleanToHclTerraform(this._enableL7Mode),
166
+ isBlock: false,
167
+ type: "simple",
168
+ storageClassType: "boolean",
169
+ },
170
+ excluded_gateways: {
171
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._excludedGateways),
172
+ isBlock: false,
173
+ type: "set",
174
+ storageClassType: "stringList",
175
+ },
176
+ id: {
177
+ value: cdktf.stringToHclTerraform(this._id),
178
+ isBlock: false,
179
+ type: "simple",
180
+ storageClassType: "string",
181
+ },
182
+ port: {
183
+ value: cdktf.numberToHclTerraform(this._port),
184
+ isBlock: false,
185
+ type: "simple",
186
+ storageClassType: "number",
187
+ },
188
+ server_ip: {
189
+ value: cdktf.stringToHclTerraform(this._serverIp),
190
+ isBlock: false,
191
+ type: "simple",
192
+ storageClassType: "string",
193
+ },
194
+ version: {
195
+ value: cdktf.numberToHclTerraform(this._version),
196
+ isBlock: false,
197
+ type: "simple",
198
+ storageClassType: "number",
199
+ },
200
+ };
201
+ // remove undefined attributes
202
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
203
+ }
204
+ }