@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,789 @@
1
+ // https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/smart_group
2
+ // generated from terraform resource schema
3
+ import * as cdktf from 'cdktf';
4
+ export function smartGroupSelectorMatchExpressionsToTerraform(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
+ account_id: cdktf.stringToTerraform(struct.accountId),
13
+ account_name: cdktf.stringToTerraform(struct.accountName),
14
+ cidr: cdktf.stringToTerraform(struct.cidr),
15
+ ext_args: cdktf.hashMapper(cdktf.stringToTerraform)(struct.extArgs),
16
+ external: cdktf.stringToTerraform(struct.external),
17
+ fqdn: cdktf.stringToTerraform(struct.fqdn),
18
+ k8s_cluster_id: cdktf.stringToTerraform(struct.k8SClusterId),
19
+ k8s_namespace: cdktf.stringToTerraform(struct.k8SNamespace),
20
+ k8s_pod: cdktf.stringToTerraform(struct.k8SPod),
21
+ k8s_service: cdktf.stringToTerraform(struct.k8SService),
22
+ name: cdktf.stringToTerraform(struct.name),
23
+ region: cdktf.stringToTerraform(struct.region),
24
+ res_id: cdktf.stringToTerraform(struct.resId),
25
+ s2c: cdktf.stringToTerraform(struct.s2C),
26
+ site: cdktf.stringToTerraform(struct.site),
27
+ tags: cdktf.hashMapper(cdktf.stringToTerraform)(struct.tags),
28
+ type: cdktf.stringToTerraform(struct.type),
29
+ zone: cdktf.stringToTerraform(struct.zone),
30
+ };
31
+ }
32
+ export function smartGroupSelectorMatchExpressionsToHclTerraform(struct) {
33
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
34
+ return struct;
35
+ }
36
+ if (cdktf.isComplexElement(struct)) {
37
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
38
+ }
39
+ const attrs = {
40
+ account_id: {
41
+ value: cdktf.stringToHclTerraform(struct.accountId),
42
+ isBlock: false,
43
+ type: "simple",
44
+ storageClassType: "string",
45
+ },
46
+ account_name: {
47
+ value: cdktf.stringToHclTerraform(struct.accountName),
48
+ isBlock: false,
49
+ type: "simple",
50
+ storageClassType: "string",
51
+ },
52
+ cidr: {
53
+ value: cdktf.stringToHclTerraform(struct.cidr),
54
+ isBlock: false,
55
+ type: "simple",
56
+ storageClassType: "string",
57
+ },
58
+ ext_args: {
59
+ value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(struct.extArgs),
60
+ isBlock: false,
61
+ type: "map",
62
+ storageClassType: "stringMap",
63
+ },
64
+ external: {
65
+ value: cdktf.stringToHclTerraform(struct.external),
66
+ isBlock: false,
67
+ type: "simple",
68
+ storageClassType: "string",
69
+ },
70
+ fqdn: {
71
+ value: cdktf.stringToHclTerraform(struct.fqdn),
72
+ isBlock: false,
73
+ type: "simple",
74
+ storageClassType: "string",
75
+ },
76
+ k8s_cluster_id: {
77
+ value: cdktf.stringToHclTerraform(struct.k8SClusterId),
78
+ isBlock: false,
79
+ type: "simple",
80
+ storageClassType: "string",
81
+ },
82
+ k8s_namespace: {
83
+ value: cdktf.stringToHclTerraform(struct.k8SNamespace),
84
+ isBlock: false,
85
+ type: "simple",
86
+ storageClassType: "string",
87
+ },
88
+ k8s_pod: {
89
+ value: cdktf.stringToHclTerraform(struct.k8SPod),
90
+ isBlock: false,
91
+ type: "simple",
92
+ storageClassType: "string",
93
+ },
94
+ k8s_service: {
95
+ value: cdktf.stringToHclTerraform(struct.k8SService),
96
+ isBlock: false,
97
+ type: "simple",
98
+ storageClassType: "string",
99
+ },
100
+ name: {
101
+ value: cdktf.stringToHclTerraform(struct.name),
102
+ isBlock: false,
103
+ type: "simple",
104
+ storageClassType: "string",
105
+ },
106
+ region: {
107
+ value: cdktf.stringToHclTerraform(struct.region),
108
+ isBlock: false,
109
+ type: "simple",
110
+ storageClassType: "string",
111
+ },
112
+ res_id: {
113
+ value: cdktf.stringToHclTerraform(struct.resId),
114
+ isBlock: false,
115
+ type: "simple",
116
+ storageClassType: "string",
117
+ },
118
+ s2c: {
119
+ value: cdktf.stringToHclTerraform(struct.s2C),
120
+ isBlock: false,
121
+ type: "simple",
122
+ storageClassType: "string",
123
+ },
124
+ site: {
125
+ value: cdktf.stringToHclTerraform(struct.site),
126
+ isBlock: false,
127
+ type: "simple",
128
+ storageClassType: "string",
129
+ },
130
+ tags: {
131
+ value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(struct.tags),
132
+ isBlock: false,
133
+ type: "map",
134
+ storageClassType: "stringMap",
135
+ },
136
+ type: {
137
+ value: cdktf.stringToHclTerraform(struct.type),
138
+ isBlock: false,
139
+ type: "simple",
140
+ storageClassType: "string",
141
+ },
142
+ zone: {
143
+ value: cdktf.stringToHclTerraform(struct.zone),
144
+ isBlock: false,
145
+ type: "simple",
146
+ storageClassType: "string",
147
+ },
148
+ };
149
+ // remove undefined attributes
150
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
151
+ }
152
+ export class SmartGroupSelectorMatchExpressionsOutputReference extends cdktf.ComplexObject {
153
+ isEmptyObject = false;
154
+ resolvableValue;
155
+ /**
156
+ * @param terraformResource The parent resource
157
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
158
+ * @param complexObjectIndex the index of this item in the list
159
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
160
+ */
161
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
162
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
163
+ }
164
+ get internalValue() {
165
+ if (this.resolvableValue) {
166
+ return this.resolvableValue;
167
+ }
168
+ let hasAnyValues = this.isEmptyObject;
169
+ const internalValueResult = {};
170
+ if (this._accountId !== undefined) {
171
+ hasAnyValues = true;
172
+ internalValueResult.accountId = this._accountId;
173
+ }
174
+ if (this._accountName !== undefined) {
175
+ hasAnyValues = true;
176
+ internalValueResult.accountName = this._accountName;
177
+ }
178
+ if (this._cidr !== undefined) {
179
+ hasAnyValues = true;
180
+ internalValueResult.cidr = this._cidr;
181
+ }
182
+ if (this._extArgs !== undefined) {
183
+ hasAnyValues = true;
184
+ internalValueResult.extArgs = this._extArgs;
185
+ }
186
+ if (this._external !== undefined) {
187
+ hasAnyValues = true;
188
+ internalValueResult.external = this._external;
189
+ }
190
+ if (this._fqdn !== undefined) {
191
+ hasAnyValues = true;
192
+ internalValueResult.fqdn = this._fqdn;
193
+ }
194
+ if (this._k8SClusterId !== undefined) {
195
+ hasAnyValues = true;
196
+ internalValueResult.k8SClusterId = this._k8SClusterId;
197
+ }
198
+ if (this._k8SNamespace !== undefined) {
199
+ hasAnyValues = true;
200
+ internalValueResult.k8SNamespace = this._k8SNamespace;
201
+ }
202
+ if (this._k8SPod !== undefined) {
203
+ hasAnyValues = true;
204
+ internalValueResult.k8SPod = this._k8SPod;
205
+ }
206
+ if (this._k8SService !== undefined) {
207
+ hasAnyValues = true;
208
+ internalValueResult.k8SService = this._k8SService;
209
+ }
210
+ if (this._name !== undefined) {
211
+ hasAnyValues = true;
212
+ internalValueResult.name = this._name;
213
+ }
214
+ if (this._region !== undefined) {
215
+ hasAnyValues = true;
216
+ internalValueResult.region = this._region;
217
+ }
218
+ if (this._resId !== undefined) {
219
+ hasAnyValues = true;
220
+ internalValueResult.resId = this._resId;
221
+ }
222
+ if (this._s2C !== undefined) {
223
+ hasAnyValues = true;
224
+ internalValueResult.s2C = this._s2C;
225
+ }
226
+ if (this._site !== undefined) {
227
+ hasAnyValues = true;
228
+ internalValueResult.site = this._site;
229
+ }
230
+ if (this._tags !== undefined) {
231
+ hasAnyValues = true;
232
+ internalValueResult.tags = this._tags;
233
+ }
234
+ if (this._type !== undefined) {
235
+ hasAnyValues = true;
236
+ internalValueResult.type = this._type;
237
+ }
238
+ if (this._zone !== undefined) {
239
+ hasAnyValues = true;
240
+ internalValueResult.zone = this._zone;
241
+ }
242
+ return hasAnyValues ? internalValueResult : undefined;
243
+ }
244
+ set internalValue(value) {
245
+ if (value === undefined) {
246
+ this.isEmptyObject = false;
247
+ this.resolvableValue = undefined;
248
+ this._accountId = undefined;
249
+ this._accountName = undefined;
250
+ this._cidr = undefined;
251
+ this._extArgs = undefined;
252
+ this._external = undefined;
253
+ this._fqdn = undefined;
254
+ this._k8SClusterId = undefined;
255
+ this._k8SNamespace = undefined;
256
+ this._k8SPod = undefined;
257
+ this._k8SService = undefined;
258
+ this._name = undefined;
259
+ this._region = undefined;
260
+ this._resId = undefined;
261
+ this._s2C = undefined;
262
+ this._site = undefined;
263
+ this._tags = undefined;
264
+ this._type = undefined;
265
+ this._zone = undefined;
266
+ }
267
+ else if (cdktf.Tokenization.isResolvable(value)) {
268
+ this.isEmptyObject = false;
269
+ this.resolvableValue = value;
270
+ }
271
+ else {
272
+ this.isEmptyObject = Object.keys(value).length === 0;
273
+ this.resolvableValue = undefined;
274
+ this._accountId = value.accountId;
275
+ this._accountName = value.accountName;
276
+ this._cidr = value.cidr;
277
+ this._extArgs = value.extArgs;
278
+ this._external = value.external;
279
+ this._fqdn = value.fqdn;
280
+ this._k8SClusterId = value.k8SClusterId;
281
+ this._k8SNamespace = value.k8SNamespace;
282
+ this._k8SPod = value.k8SPod;
283
+ this._k8SService = value.k8SService;
284
+ this._name = value.name;
285
+ this._region = value.region;
286
+ this._resId = value.resId;
287
+ this._s2C = value.s2C;
288
+ this._site = value.site;
289
+ this._tags = value.tags;
290
+ this._type = value.type;
291
+ this._zone = value.zone;
292
+ }
293
+ }
294
+ // account_id - computed: false, optional: true, required: false
295
+ _accountId;
296
+ get accountId() {
297
+ return this.getStringAttribute('account_id');
298
+ }
299
+ set accountId(value) {
300
+ this._accountId = value;
301
+ }
302
+ resetAccountId() {
303
+ this._accountId = undefined;
304
+ }
305
+ // Temporarily expose input value. Use with caution.
306
+ get accountIdInput() {
307
+ return this._accountId;
308
+ }
309
+ // account_name - computed: false, optional: true, required: false
310
+ _accountName;
311
+ get accountName() {
312
+ return this.getStringAttribute('account_name');
313
+ }
314
+ set accountName(value) {
315
+ this._accountName = value;
316
+ }
317
+ resetAccountName() {
318
+ this._accountName = undefined;
319
+ }
320
+ // Temporarily expose input value. Use with caution.
321
+ get accountNameInput() {
322
+ return this._accountName;
323
+ }
324
+ // cidr - computed: false, optional: true, required: false
325
+ _cidr;
326
+ get cidr() {
327
+ return this.getStringAttribute('cidr');
328
+ }
329
+ set cidr(value) {
330
+ this._cidr = value;
331
+ }
332
+ resetCidr() {
333
+ this._cidr = undefined;
334
+ }
335
+ // Temporarily expose input value. Use with caution.
336
+ get cidrInput() {
337
+ return this._cidr;
338
+ }
339
+ // ext_args - computed: false, optional: true, required: false
340
+ _extArgs;
341
+ get extArgs() {
342
+ return this.getStringMapAttribute('ext_args');
343
+ }
344
+ set extArgs(value) {
345
+ this._extArgs = value;
346
+ }
347
+ resetExtArgs() {
348
+ this._extArgs = undefined;
349
+ }
350
+ // Temporarily expose input value. Use with caution.
351
+ get extArgsInput() {
352
+ return this._extArgs;
353
+ }
354
+ // external - computed: false, optional: true, required: false
355
+ _external;
356
+ get external() {
357
+ return this.getStringAttribute('external');
358
+ }
359
+ set external(value) {
360
+ this._external = value;
361
+ }
362
+ resetExternal() {
363
+ this._external = undefined;
364
+ }
365
+ // Temporarily expose input value. Use with caution.
366
+ get externalInput() {
367
+ return this._external;
368
+ }
369
+ // fqdn - computed: false, optional: true, required: false
370
+ _fqdn;
371
+ get fqdn() {
372
+ return this.getStringAttribute('fqdn');
373
+ }
374
+ set fqdn(value) {
375
+ this._fqdn = value;
376
+ }
377
+ resetFqdn() {
378
+ this._fqdn = undefined;
379
+ }
380
+ // Temporarily expose input value. Use with caution.
381
+ get fqdnInput() {
382
+ return this._fqdn;
383
+ }
384
+ // k8s_cluster_id - computed: false, optional: true, required: false
385
+ _k8SClusterId;
386
+ get k8SClusterId() {
387
+ return this.getStringAttribute('k8s_cluster_id');
388
+ }
389
+ set k8SClusterId(value) {
390
+ this._k8SClusterId = value;
391
+ }
392
+ resetK8SClusterId() {
393
+ this._k8SClusterId = undefined;
394
+ }
395
+ // Temporarily expose input value. Use with caution.
396
+ get k8SClusterIdInput() {
397
+ return this._k8SClusterId;
398
+ }
399
+ // k8s_namespace - computed: false, optional: true, required: false
400
+ _k8SNamespace;
401
+ get k8SNamespace() {
402
+ return this.getStringAttribute('k8s_namespace');
403
+ }
404
+ set k8SNamespace(value) {
405
+ this._k8SNamespace = value;
406
+ }
407
+ resetK8SNamespace() {
408
+ this._k8SNamespace = undefined;
409
+ }
410
+ // Temporarily expose input value. Use with caution.
411
+ get k8SNamespaceInput() {
412
+ return this._k8SNamespace;
413
+ }
414
+ // k8s_pod - computed: false, optional: true, required: false
415
+ _k8SPod;
416
+ get k8SPod() {
417
+ return this.getStringAttribute('k8s_pod');
418
+ }
419
+ set k8SPod(value) {
420
+ this._k8SPod = value;
421
+ }
422
+ resetK8SPod() {
423
+ this._k8SPod = undefined;
424
+ }
425
+ // Temporarily expose input value. Use with caution.
426
+ get k8SPodInput() {
427
+ return this._k8SPod;
428
+ }
429
+ // k8s_service - computed: false, optional: true, required: false
430
+ _k8SService;
431
+ get k8SService() {
432
+ return this.getStringAttribute('k8s_service');
433
+ }
434
+ set k8SService(value) {
435
+ this._k8SService = value;
436
+ }
437
+ resetK8SService() {
438
+ this._k8SService = undefined;
439
+ }
440
+ // Temporarily expose input value. Use with caution.
441
+ get k8SServiceInput() {
442
+ return this._k8SService;
443
+ }
444
+ // name - computed: false, optional: true, required: false
445
+ _name;
446
+ get name() {
447
+ return this.getStringAttribute('name');
448
+ }
449
+ set name(value) {
450
+ this._name = value;
451
+ }
452
+ resetName() {
453
+ this._name = undefined;
454
+ }
455
+ // Temporarily expose input value. Use with caution.
456
+ get nameInput() {
457
+ return this._name;
458
+ }
459
+ // region - computed: false, optional: true, required: false
460
+ _region;
461
+ get region() {
462
+ return this.getStringAttribute('region');
463
+ }
464
+ set region(value) {
465
+ this._region = value;
466
+ }
467
+ resetRegion() {
468
+ this._region = undefined;
469
+ }
470
+ // Temporarily expose input value. Use with caution.
471
+ get regionInput() {
472
+ return this._region;
473
+ }
474
+ // res_id - computed: false, optional: true, required: false
475
+ _resId;
476
+ get resId() {
477
+ return this.getStringAttribute('res_id');
478
+ }
479
+ set resId(value) {
480
+ this._resId = value;
481
+ }
482
+ resetResId() {
483
+ this._resId = undefined;
484
+ }
485
+ // Temporarily expose input value. Use with caution.
486
+ get resIdInput() {
487
+ return this._resId;
488
+ }
489
+ // s2c - computed: false, optional: true, required: false
490
+ _s2C;
491
+ get s2C() {
492
+ return this.getStringAttribute('s2c');
493
+ }
494
+ set s2C(value) {
495
+ this._s2C = value;
496
+ }
497
+ resetS2C() {
498
+ this._s2C = undefined;
499
+ }
500
+ // Temporarily expose input value. Use with caution.
501
+ get s2CInput() {
502
+ return this._s2C;
503
+ }
504
+ // site - computed: false, optional: true, required: false
505
+ _site;
506
+ get site() {
507
+ return this.getStringAttribute('site');
508
+ }
509
+ set site(value) {
510
+ this._site = value;
511
+ }
512
+ resetSite() {
513
+ this._site = undefined;
514
+ }
515
+ // Temporarily expose input value. Use with caution.
516
+ get siteInput() {
517
+ return this._site;
518
+ }
519
+ // tags - computed: false, optional: true, required: false
520
+ _tags;
521
+ get tags() {
522
+ return this.getStringMapAttribute('tags');
523
+ }
524
+ set tags(value) {
525
+ this._tags = value;
526
+ }
527
+ resetTags() {
528
+ this._tags = undefined;
529
+ }
530
+ // Temporarily expose input value. Use with caution.
531
+ get tagsInput() {
532
+ return this._tags;
533
+ }
534
+ // type - computed: false, optional: true, required: false
535
+ _type;
536
+ get type() {
537
+ return this.getStringAttribute('type');
538
+ }
539
+ set type(value) {
540
+ this._type = value;
541
+ }
542
+ resetType() {
543
+ this._type = undefined;
544
+ }
545
+ // Temporarily expose input value. Use with caution.
546
+ get typeInput() {
547
+ return this._type;
548
+ }
549
+ // zone - computed: false, optional: true, required: false
550
+ _zone;
551
+ get zone() {
552
+ return this.getStringAttribute('zone');
553
+ }
554
+ set zone(value) {
555
+ this._zone = value;
556
+ }
557
+ resetZone() {
558
+ this._zone = undefined;
559
+ }
560
+ // Temporarily expose input value. Use with caution.
561
+ get zoneInput() {
562
+ return this._zone;
563
+ }
564
+ }
565
+ export class SmartGroupSelectorMatchExpressionsList extends cdktf.ComplexList {
566
+ terraformResource;
567
+ terraformAttribute;
568
+ wrapsSet;
569
+ internalValue;
570
+ /**
571
+ * @param terraformResource The parent resource
572
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
573
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
574
+ */
575
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
576
+ super(terraformResource, terraformAttribute, wrapsSet);
577
+ this.terraformResource = terraformResource;
578
+ this.terraformAttribute = terraformAttribute;
579
+ this.wrapsSet = wrapsSet;
580
+ }
581
+ /**
582
+ * @param index the index of the item to return
583
+ */
584
+ get(index) {
585
+ return new SmartGroupSelectorMatchExpressionsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
586
+ }
587
+ }
588
+ export function smartGroupSelectorToTerraform(struct) {
589
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
590
+ return struct;
591
+ }
592
+ if (cdktf.isComplexElement(struct)) {
593
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
594
+ }
595
+ return {
596
+ match_expressions: cdktf.listMapper(smartGroupSelectorMatchExpressionsToTerraform, true)(struct.matchExpressions),
597
+ };
598
+ }
599
+ export function smartGroupSelectorToHclTerraform(struct) {
600
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
601
+ return struct;
602
+ }
603
+ if (cdktf.isComplexElement(struct)) {
604
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
605
+ }
606
+ const attrs = {
607
+ match_expressions: {
608
+ value: cdktf.listMapperHcl(smartGroupSelectorMatchExpressionsToHclTerraform, true)(struct.matchExpressions),
609
+ isBlock: true,
610
+ type: "list",
611
+ storageClassType: "SmartGroupSelectorMatchExpressionsList",
612
+ },
613
+ };
614
+ // remove undefined attributes
615
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
616
+ }
617
+ export class SmartGroupSelectorOutputReference extends cdktf.ComplexObject {
618
+ isEmptyObject = false;
619
+ /**
620
+ * @param terraformResource The parent resource
621
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
622
+ */
623
+ constructor(terraformResource, terraformAttribute) {
624
+ super(terraformResource, terraformAttribute, false, 0);
625
+ }
626
+ get internalValue() {
627
+ let hasAnyValues = this.isEmptyObject;
628
+ const internalValueResult = {};
629
+ if (this._matchExpressions?.internalValue !== undefined) {
630
+ hasAnyValues = true;
631
+ internalValueResult.matchExpressions = this._matchExpressions?.internalValue;
632
+ }
633
+ return hasAnyValues ? internalValueResult : undefined;
634
+ }
635
+ set internalValue(value) {
636
+ if (value === undefined) {
637
+ this.isEmptyObject = false;
638
+ this._matchExpressions.internalValue = undefined;
639
+ }
640
+ else {
641
+ this.isEmptyObject = Object.keys(value).length === 0;
642
+ this._matchExpressions.internalValue = value.matchExpressions;
643
+ }
644
+ }
645
+ // match_expressions - computed: false, optional: false, required: true
646
+ _matchExpressions = new SmartGroupSelectorMatchExpressionsList(this, "match_expressions", false);
647
+ get matchExpressions() {
648
+ return this._matchExpressions;
649
+ }
650
+ putMatchExpressions(value) {
651
+ this._matchExpressions.internalValue = value;
652
+ }
653
+ // Temporarily expose input value. Use with caution.
654
+ get matchExpressionsInput() {
655
+ return this._matchExpressions.internalValue;
656
+ }
657
+ }
658
+ /**
659
+ * Represents a {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/smart_group aviatrix_smart_group}
660
+ */
661
+ export class SmartGroup extends cdktf.TerraformResource {
662
+ // =================
663
+ // STATIC PROPERTIES
664
+ // =================
665
+ static tfResourceType = "aviatrix_smart_group";
666
+ // ==============
667
+ // STATIC Methods
668
+ // ==============
669
+ /**
670
+ * Generates CDKTF code for importing a SmartGroup resource upon running "cdktf plan <stack-name>"
671
+ * @param scope The scope in which to define this construct
672
+ * @param importToId The construct id used in the generated config for the SmartGroup to import
673
+ * @param importFromId The id of the existing SmartGroup that should be imported. Refer to the {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/smart_group#import import section} in the documentation of this resource for the id to use
674
+ * @param provider? Optional instance of the provider where the SmartGroup to import is found
675
+ */
676
+ static generateConfigForImport(scope, importToId, importFromId, provider) {
677
+ return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aviatrix_smart_group", importId: importFromId, provider });
678
+ }
679
+ // ===========
680
+ // INITIALIZER
681
+ // ===========
682
+ /**
683
+ * Create a new {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/smart_group aviatrix_smart_group} Resource
684
+ *
685
+ * @param scope The scope in which to define this construct
686
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
687
+ * @param options SmartGroupConfig
688
+ */
689
+ constructor(scope, id, config) {
690
+ super(scope, id, {
691
+ terraformResourceType: 'aviatrix_smart_group',
692
+ terraformGeneratorMetadata: {
693
+ providerName: 'aviatrix',
694
+ providerVersion: '8.1.10',
695
+ providerVersionConstraint: '8.1.10'
696
+ },
697
+ provider: config.provider,
698
+ dependsOn: config.dependsOn,
699
+ count: config.count,
700
+ lifecycle: config.lifecycle,
701
+ provisioners: config.provisioners,
702
+ connection: config.connection,
703
+ forEach: config.forEach
704
+ });
705
+ this._id = config.id;
706
+ this._name = config.name;
707
+ this._selector.internalValue = config.selector;
708
+ }
709
+ // ==========
710
+ // ATTRIBUTES
711
+ // ==========
712
+ // id - computed: true, optional: true, required: false
713
+ _id;
714
+ get id() {
715
+ return this.getStringAttribute('id');
716
+ }
717
+ set id(value) {
718
+ this._id = value;
719
+ }
720
+ resetId() {
721
+ this._id = undefined;
722
+ }
723
+ // Temporarily expose input value. Use with caution.
724
+ get idInput() {
725
+ return this._id;
726
+ }
727
+ // name - computed: false, optional: false, required: true
728
+ _name;
729
+ get name() {
730
+ return this.getStringAttribute('name');
731
+ }
732
+ set name(value) {
733
+ this._name = value;
734
+ }
735
+ // Temporarily expose input value. Use with caution.
736
+ get nameInput() {
737
+ return this._name;
738
+ }
739
+ // uuid - computed: true, optional: false, required: false
740
+ get uuid() {
741
+ return this.getStringAttribute('uuid');
742
+ }
743
+ // selector - computed: false, optional: false, required: true
744
+ _selector = new SmartGroupSelectorOutputReference(this, "selector");
745
+ get selector() {
746
+ return this._selector;
747
+ }
748
+ putSelector(value) {
749
+ this._selector.internalValue = value;
750
+ }
751
+ // Temporarily expose input value. Use with caution.
752
+ get selectorInput() {
753
+ return this._selector.internalValue;
754
+ }
755
+ // =========
756
+ // SYNTHESIS
757
+ // =========
758
+ synthesizeAttributes() {
759
+ return {
760
+ id: cdktf.stringToTerraform(this._id),
761
+ name: cdktf.stringToTerraform(this._name),
762
+ selector: smartGroupSelectorToTerraform(this._selector.internalValue),
763
+ };
764
+ }
765
+ synthesizeHclAttributes() {
766
+ const attrs = {
767
+ id: {
768
+ value: cdktf.stringToHclTerraform(this._id),
769
+ isBlock: false,
770
+ type: "simple",
771
+ storageClassType: "string",
772
+ },
773
+ name: {
774
+ value: cdktf.stringToHclTerraform(this._name),
775
+ isBlock: false,
776
+ type: "simple",
777
+ storageClassType: "string",
778
+ },
779
+ selector: {
780
+ value: smartGroupSelectorToHclTerraform(this._selector.internalValue),
781
+ isBlock: true,
782
+ type: "list",
783
+ storageClassType: "SmartGroupSelectorList",
784
+ },
785
+ };
786
+ // remove undefined attributes
787
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
788
+ }
789
+ }