@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,383 @@
1
+ // https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/vpn_profile
2
+ // generated from terraform resource schema
3
+ import * as cdktf from 'cdktf';
4
+ export function vpnProfilePolicyToTerraform(struct) {
5
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
6
+ return struct;
7
+ }
8
+ if (cdktf.isComplexElement(struct)) {
9
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
10
+ }
11
+ return {
12
+ action: cdktf.stringToTerraform(struct.action),
13
+ port: cdktf.stringToTerraform(struct.port),
14
+ proto: cdktf.stringToTerraform(struct.proto),
15
+ target: cdktf.stringToTerraform(struct.target),
16
+ };
17
+ }
18
+ export function vpnProfilePolicyToHclTerraform(struct) {
19
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
20
+ return struct;
21
+ }
22
+ if (cdktf.isComplexElement(struct)) {
23
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
24
+ }
25
+ const attrs = {
26
+ action: {
27
+ value: cdktf.stringToHclTerraform(struct.action),
28
+ isBlock: false,
29
+ type: "simple",
30
+ storageClassType: "string",
31
+ },
32
+ port: {
33
+ value: cdktf.stringToHclTerraform(struct.port),
34
+ isBlock: false,
35
+ type: "simple",
36
+ storageClassType: "string",
37
+ },
38
+ proto: {
39
+ value: cdktf.stringToHclTerraform(struct.proto),
40
+ isBlock: false,
41
+ type: "simple",
42
+ storageClassType: "string",
43
+ },
44
+ target: {
45
+ value: cdktf.stringToHclTerraform(struct.target),
46
+ isBlock: false,
47
+ type: "simple",
48
+ storageClassType: "string",
49
+ },
50
+ };
51
+ // remove undefined attributes
52
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
53
+ }
54
+ export class VpnProfilePolicyOutputReference extends cdktf.ComplexObject {
55
+ isEmptyObject = false;
56
+ resolvableValue;
57
+ /**
58
+ * @param terraformResource The parent resource
59
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
60
+ * @param complexObjectIndex the index of this item in the list
61
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
62
+ */
63
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
64
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
65
+ }
66
+ get internalValue() {
67
+ if (this.resolvableValue) {
68
+ return this.resolvableValue;
69
+ }
70
+ let hasAnyValues = this.isEmptyObject;
71
+ const internalValueResult = {};
72
+ if (this._action !== undefined) {
73
+ hasAnyValues = true;
74
+ internalValueResult.action = this._action;
75
+ }
76
+ if (this._port !== undefined) {
77
+ hasAnyValues = true;
78
+ internalValueResult.port = this._port;
79
+ }
80
+ if (this._proto !== undefined) {
81
+ hasAnyValues = true;
82
+ internalValueResult.proto = this._proto;
83
+ }
84
+ if (this._target !== undefined) {
85
+ hasAnyValues = true;
86
+ internalValueResult.target = this._target;
87
+ }
88
+ return hasAnyValues ? internalValueResult : undefined;
89
+ }
90
+ set internalValue(value) {
91
+ if (value === undefined) {
92
+ this.isEmptyObject = false;
93
+ this.resolvableValue = undefined;
94
+ this._action = undefined;
95
+ this._port = undefined;
96
+ this._proto = undefined;
97
+ this._target = undefined;
98
+ }
99
+ else if (cdktf.Tokenization.isResolvable(value)) {
100
+ this.isEmptyObject = false;
101
+ this.resolvableValue = value;
102
+ }
103
+ else {
104
+ this.isEmptyObject = Object.keys(value).length === 0;
105
+ this.resolvableValue = undefined;
106
+ this._action = value.action;
107
+ this._port = value.port;
108
+ this._proto = value.proto;
109
+ this._target = value.target;
110
+ }
111
+ }
112
+ // action - computed: false, optional: false, required: true
113
+ _action;
114
+ get action() {
115
+ return this.getStringAttribute('action');
116
+ }
117
+ set action(value) {
118
+ this._action = value;
119
+ }
120
+ // Temporarily expose input value. Use with caution.
121
+ get actionInput() {
122
+ return this._action;
123
+ }
124
+ // port - computed: false, optional: false, required: true
125
+ _port;
126
+ get port() {
127
+ return this.getStringAttribute('port');
128
+ }
129
+ set port(value) {
130
+ this._port = value;
131
+ }
132
+ // Temporarily expose input value. Use with caution.
133
+ get portInput() {
134
+ return this._port;
135
+ }
136
+ // proto - computed: false, optional: false, required: true
137
+ _proto;
138
+ get proto() {
139
+ return this.getStringAttribute('proto');
140
+ }
141
+ set proto(value) {
142
+ this._proto = value;
143
+ }
144
+ // Temporarily expose input value. Use with caution.
145
+ get protoInput() {
146
+ return this._proto;
147
+ }
148
+ // target - computed: false, optional: false, required: true
149
+ _target;
150
+ get target() {
151
+ return this.getStringAttribute('target');
152
+ }
153
+ set target(value) {
154
+ this._target = value;
155
+ }
156
+ // Temporarily expose input value. Use with caution.
157
+ get targetInput() {
158
+ return this._target;
159
+ }
160
+ }
161
+ export class VpnProfilePolicyList extends cdktf.ComplexList {
162
+ terraformResource;
163
+ terraformAttribute;
164
+ wrapsSet;
165
+ internalValue;
166
+ /**
167
+ * @param terraformResource The parent resource
168
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
169
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
170
+ */
171
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
172
+ super(terraformResource, terraformAttribute, wrapsSet);
173
+ this.terraformResource = terraformResource;
174
+ this.terraformAttribute = terraformAttribute;
175
+ this.wrapsSet = wrapsSet;
176
+ }
177
+ /**
178
+ * @param index the index of the item to return
179
+ */
180
+ get(index) {
181
+ return new VpnProfilePolicyOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
182
+ }
183
+ }
184
+ /**
185
+ * Represents a {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/vpn_profile aviatrix_vpn_profile}
186
+ */
187
+ export class VpnProfile extends cdktf.TerraformResource {
188
+ // =================
189
+ // STATIC PROPERTIES
190
+ // =================
191
+ static tfResourceType = "aviatrix_vpn_profile";
192
+ // ==============
193
+ // STATIC Methods
194
+ // ==============
195
+ /**
196
+ * Generates CDKTF code for importing a VpnProfile resource upon running "cdktf plan <stack-name>"
197
+ * @param scope The scope in which to define this construct
198
+ * @param importToId The construct id used in the generated config for the VpnProfile to import
199
+ * @param importFromId The id of the existing VpnProfile that should be imported. Refer to the {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/vpn_profile#import import section} in the documentation of this resource for the id to use
200
+ * @param provider? Optional instance of the provider where the VpnProfile to import is found
201
+ */
202
+ static generateConfigForImport(scope, importToId, importFromId, provider) {
203
+ return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aviatrix_vpn_profile", importId: importFromId, provider });
204
+ }
205
+ // ===========
206
+ // INITIALIZER
207
+ // ===========
208
+ /**
209
+ * Create a new {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/vpn_profile aviatrix_vpn_profile} Resource
210
+ *
211
+ * @param scope The scope in which to define this construct
212
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
213
+ * @param options VpnProfileConfig
214
+ */
215
+ constructor(scope, id, config) {
216
+ super(scope, id, {
217
+ terraformResourceType: 'aviatrix_vpn_profile',
218
+ terraformGeneratorMetadata: {
219
+ providerName: 'aviatrix',
220
+ providerVersion: '8.1.10',
221
+ providerVersionConstraint: '8.1.10'
222
+ },
223
+ provider: config.provider,
224
+ dependsOn: config.dependsOn,
225
+ count: config.count,
226
+ lifecycle: config.lifecycle,
227
+ provisioners: config.provisioners,
228
+ connection: config.connection,
229
+ forEach: config.forEach
230
+ });
231
+ this._baseRule = config.baseRule;
232
+ this._id = config.id;
233
+ this._manageUserAttachment = config.manageUserAttachment;
234
+ this._name = config.name;
235
+ this._users = config.users;
236
+ this._policy.internalValue = config.policy;
237
+ }
238
+ // ==========
239
+ // ATTRIBUTES
240
+ // ==========
241
+ // base_rule - computed: false, optional: true, required: false
242
+ _baseRule;
243
+ get baseRule() {
244
+ return this.getStringAttribute('base_rule');
245
+ }
246
+ set baseRule(value) {
247
+ this._baseRule = value;
248
+ }
249
+ resetBaseRule() {
250
+ this._baseRule = undefined;
251
+ }
252
+ // Temporarily expose input value. Use with caution.
253
+ get baseRuleInput() {
254
+ return this._baseRule;
255
+ }
256
+ // id - computed: true, optional: true, required: false
257
+ _id;
258
+ get id() {
259
+ return this.getStringAttribute('id');
260
+ }
261
+ set id(value) {
262
+ this._id = value;
263
+ }
264
+ resetId() {
265
+ this._id = undefined;
266
+ }
267
+ // Temporarily expose input value. Use with caution.
268
+ get idInput() {
269
+ return this._id;
270
+ }
271
+ // manage_user_attachment - computed: false, optional: true, required: false
272
+ _manageUserAttachment;
273
+ get manageUserAttachment() {
274
+ return this.getBooleanAttribute('manage_user_attachment');
275
+ }
276
+ set manageUserAttachment(value) {
277
+ this._manageUserAttachment = value;
278
+ }
279
+ resetManageUserAttachment() {
280
+ this._manageUserAttachment = undefined;
281
+ }
282
+ // Temporarily expose input value. Use with caution.
283
+ get manageUserAttachmentInput() {
284
+ return this._manageUserAttachment;
285
+ }
286
+ // name - computed: false, optional: false, required: true
287
+ _name;
288
+ get name() {
289
+ return this.getStringAttribute('name');
290
+ }
291
+ set name(value) {
292
+ this._name = value;
293
+ }
294
+ // Temporarily expose input value. Use with caution.
295
+ get nameInput() {
296
+ return this._name;
297
+ }
298
+ // users - computed: false, optional: true, required: false
299
+ _users;
300
+ get users() {
301
+ return this.getListAttribute('users');
302
+ }
303
+ set users(value) {
304
+ this._users = value;
305
+ }
306
+ resetUsers() {
307
+ this._users = undefined;
308
+ }
309
+ // Temporarily expose input value. Use with caution.
310
+ get usersInput() {
311
+ return this._users;
312
+ }
313
+ // policy - computed: false, optional: true, required: false
314
+ _policy = new VpnProfilePolicyList(this, "policy", false);
315
+ get policy() {
316
+ return this._policy;
317
+ }
318
+ putPolicy(value) {
319
+ this._policy.internalValue = value;
320
+ }
321
+ resetPolicy() {
322
+ this._policy.internalValue = undefined;
323
+ }
324
+ // Temporarily expose input value. Use with caution.
325
+ get policyInput() {
326
+ return this._policy.internalValue;
327
+ }
328
+ // =========
329
+ // SYNTHESIS
330
+ // =========
331
+ synthesizeAttributes() {
332
+ return {
333
+ base_rule: cdktf.stringToTerraform(this._baseRule),
334
+ id: cdktf.stringToTerraform(this._id),
335
+ manage_user_attachment: cdktf.booleanToTerraform(this._manageUserAttachment),
336
+ name: cdktf.stringToTerraform(this._name),
337
+ users: cdktf.listMapper(cdktf.stringToTerraform, false)(this._users),
338
+ policy: cdktf.listMapper(vpnProfilePolicyToTerraform, true)(this._policy.internalValue),
339
+ };
340
+ }
341
+ synthesizeHclAttributes() {
342
+ const attrs = {
343
+ base_rule: {
344
+ value: cdktf.stringToHclTerraform(this._baseRule),
345
+ isBlock: false,
346
+ type: "simple",
347
+ storageClassType: "string",
348
+ },
349
+ id: {
350
+ value: cdktf.stringToHclTerraform(this._id),
351
+ isBlock: false,
352
+ type: "simple",
353
+ storageClassType: "string",
354
+ },
355
+ manage_user_attachment: {
356
+ value: cdktf.booleanToHclTerraform(this._manageUserAttachment),
357
+ isBlock: false,
358
+ type: "simple",
359
+ storageClassType: "boolean",
360
+ },
361
+ name: {
362
+ value: cdktf.stringToHclTerraform(this._name),
363
+ isBlock: false,
364
+ type: "simple",
365
+ storageClassType: "string",
366
+ },
367
+ users: {
368
+ value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(this._users),
369
+ isBlock: false,
370
+ type: "list",
371
+ storageClassType: "stringList",
372
+ },
373
+ policy: {
374
+ value: cdktf.listMapperHcl(vpnProfilePolicyToHclTerraform, true)(this._policy.internalValue),
375
+ isBlock: true,
376
+ type: "list",
377
+ storageClassType: "VpnProfilePolicyList",
378
+ },
379
+ };
380
+ // remove undefined attributes
381
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
382
+ }
383
+ }
@@ -0,0 +1,129 @@
1
+ import { Construct } from 'constructs';
2
+ import * as cdktf from 'cdktf';
3
+ export interface VpnUserConfig extends cdktf.TerraformMetaArguments {
4
+ /**
5
+ * FQDN of a DNS based VPN service such as GeoVPN or UDP load balancer.
6
+ *
7
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/vpn_user#dns_name VpnUser#dns_name}
8
+ */
9
+ readonly dnsName?: string;
10
+ /**
11
+ * If ELB is enabled, this will be the name of the ELB, else it will be the name of the Aviatrix VPN gateway.
12
+ *
13
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/vpn_user#gw_name VpnUser#gw_name}
14
+ */
15
+ readonly gwName?: string;
16
+ /**
17
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/vpn_user#id VpnUser#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
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/vpn_user#manage_user_attachment VpnUser#manage_user_attachment}
25
+ */
26
+ readonly manageUserAttachment?: boolean | cdktf.IResolvable;
27
+ /**
28
+ * List of profiles for user to attach to.
29
+ *
30
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/vpn_user#profiles VpnUser#profiles}
31
+ */
32
+ readonly profiles?: string[];
33
+ /**
34
+ * This is the name of the SAML endpoint to which the user will be associated.
35
+ *
36
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/vpn_user#saml_endpoint VpnUser#saml_endpoint}
37
+ */
38
+ readonly samlEndpoint?: string;
39
+ /**
40
+ * VPN User's email.
41
+ *
42
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/vpn_user#user_email VpnUser#user_email}
43
+ */
44
+ readonly userEmail?: string;
45
+ /**
46
+ * VPN user name.
47
+ *
48
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/vpn_user#user_name VpnUser#user_name}
49
+ */
50
+ readonly userName: string;
51
+ /**
52
+ * VPC Id of Aviatrix VPN gateway.
53
+ *
54
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/vpn_user#vpc_id VpnUser#vpc_id}
55
+ */
56
+ readonly vpcId?: string;
57
+ }
58
+ /**
59
+ * Represents a {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/vpn_user aviatrix_vpn_user}
60
+ */
61
+ export declare class VpnUser extends cdktf.TerraformResource {
62
+ static readonly tfResourceType = "aviatrix_vpn_user";
63
+ /**
64
+ * Generates CDKTF code for importing a VpnUser resource upon running "cdktf plan <stack-name>"
65
+ * @param scope The scope in which to define this construct
66
+ * @param importToId The construct id used in the generated config for the VpnUser to import
67
+ * @param importFromId The id of the existing VpnUser that should be imported. Refer to the {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/vpn_user#import import section} in the documentation of this resource for the id to use
68
+ * @param provider? Optional instance of the provider where the VpnUser to import is found
69
+ */
70
+ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): any;
71
+ /**
72
+ * Create a new {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/resources/vpn_user aviatrix_vpn_user} Resource
73
+ *
74
+ * @param scope The scope in which to define this construct
75
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
76
+ * @param options VpnUserConfig
77
+ */
78
+ constructor(scope: Construct, id: string, config: VpnUserConfig);
79
+ private _dnsName?;
80
+ get dnsName(): string;
81
+ set dnsName(value: string);
82
+ resetDnsName(): void;
83
+ get dnsNameInput(): string;
84
+ private _gwName?;
85
+ get gwName(): string;
86
+ set gwName(value: string);
87
+ resetGwName(): void;
88
+ get gwNameInput(): string;
89
+ private _id?;
90
+ get id(): string;
91
+ set id(value: string);
92
+ resetId(): void;
93
+ get idInput(): string;
94
+ private _manageUserAttachment?;
95
+ get manageUserAttachment(): boolean | cdktf.IResolvable;
96
+ set manageUserAttachment(value: boolean | cdktf.IResolvable);
97
+ resetManageUserAttachment(): void;
98
+ get manageUserAttachmentInput(): any;
99
+ private _profiles?;
100
+ get profiles(): string[];
101
+ set profiles(value: string[]);
102
+ resetProfiles(): void;
103
+ get profilesInput(): string[];
104
+ private _samlEndpoint?;
105
+ get samlEndpoint(): string;
106
+ set samlEndpoint(value: string);
107
+ resetSamlEndpoint(): void;
108
+ get samlEndpointInput(): string;
109
+ private _userEmail?;
110
+ get userEmail(): string;
111
+ set userEmail(value: string);
112
+ resetUserEmail(): void;
113
+ get userEmailInput(): string;
114
+ private _userName?;
115
+ get userName(): string;
116
+ set userName(value: string);
117
+ get userNameInput(): string;
118
+ private _vpcId?;
119
+ get vpcId(): string;
120
+ set vpcId(value: string);
121
+ resetVpcId(): void;
122
+ get vpcIdInput(): string;
123
+ protected synthesizeAttributes(): {
124
+ [name: string]: any;
125
+ };
126
+ protected synthesizeHclAttributes(): {
127
+ [name: string]: any;
128
+ };
129
+ }