@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,602 @@
1
+ // https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/data-sources/transit_gateway
2
+ // generated from terraform resource schema
3
+ import * as cdktf from 'cdktf';
4
+ export function dataAviatrixTransitGatewayBgpLanInterfacesToTerraform(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
+ }
13
+ export function dataAviatrixTransitGatewayBgpLanInterfacesToHclTerraform(struct) {
14
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
15
+ return struct;
16
+ }
17
+ if (cdktf.isComplexElement(struct)) {
18
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
19
+ }
20
+ const attrs = {};
21
+ return attrs;
22
+ }
23
+ export class DataAviatrixTransitGatewayBgpLanInterfacesOutputReference extends cdktf.ComplexObject {
24
+ isEmptyObject = false;
25
+ /**
26
+ * @param terraformResource The parent resource
27
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
28
+ * @param complexObjectIndex the index of this item in the list
29
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
30
+ */
31
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
32
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
33
+ }
34
+ get internalValue() {
35
+ let hasAnyValues = this.isEmptyObject;
36
+ const internalValueResult = {};
37
+ return hasAnyValues ? internalValueResult : undefined;
38
+ }
39
+ set internalValue(value) {
40
+ if (value === undefined) {
41
+ this.isEmptyObject = false;
42
+ }
43
+ else {
44
+ this.isEmptyObject = Object.keys(value).length === 0;
45
+ }
46
+ }
47
+ // subnet - computed: true, optional: false, required: false
48
+ get subnet() {
49
+ return this.getStringAttribute('subnet');
50
+ }
51
+ // vpc_id - computed: true, optional: false, required: false
52
+ get vpcId() {
53
+ return this.getStringAttribute('vpc_id');
54
+ }
55
+ }
56
+ export class DataAviatrixTransitGatewayBgpLanInterfacesList extends cdktf.ComplexList {
57
+ terraformResource;
58
+ terraformAttribute;
59
+ wrapsSet;
60
+ /**
61
+ * @param terraformResource The parent resource
62
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
63
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
64
+ */
65
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
66
+ super(terraformResource, terraformAttribute, wrapsSet);
67
+ this.terraformResource = terraformResource;
68
+ this.terraformAttribute = terraformAttribute;
69
+ this.wrapsSet = wrapsSet;
70
+ }
71
+ /**
72
+ * @param index the index of the item to return
73
+ */
74
+ get(index) {
75
+ return new DataAviatrixTransitGatewayBgpLanInterfacesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
76
+ }
77
+ }
78
+ export function dataAviatrixTransitGatewayHaBgpLanInterfacesToTerraform(struct) {
79
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
80
+ return struct;
81
+ }
82
+ if (cdktf.isComplexElement(struct)) {
83
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
84
+ }
85
+ return {};
86
+ }
87
+ export function dataAviatrixTransitGatewayHaBgpLanInterfacesToHclTerraform(struct) {
88
+ if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
89
+ return struct;
90
+ }
91
+ if (cdktf.isComplexElement(struct)) {
92
+ throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
93
+ }
94
+ const attrs = {};
95
+ return attrs;
96
+ }
97
+ export class DataAviatrixTransitGatewayHaBgpLanInterfacesOutputReference extends cdktf.ComplexObject {
98
+ isEmptyObject = false;
99
+ /**
100
+ * @param terraformResource The parent resource
101
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
102
+ * @param complexObjectIndex the index of this item in the list
103
+ * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
104
+ */
105
+ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
106
+ super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
107
+ }
108
+ get internalValue() {
109
+ let hasAnyValues = this.isEmptyObject;
110
+ const internalValueResult = {};
111
+ return hasAnyValues ? internalValueResult : undefined;
112
+ }
113
+ set internalValue(value) {
114
+ if (value === undefined) {
115
+ this.isEmptyObject = false;
116
+ }
117
+ else {
118
+ this.isEmptyObject = Object.keys(value).length === 0;
119
+ }
120
+ }
121
+ // subnet - computed: true, optional: false, required: false
122
+ get subnet() {
123
+ return this.getStringAttribute('subnet');
124
+ }
125
+ // vpc_id - computed: true, optional: false, required: false
126
+ get vpcId() {
127
+ return this.getStringAttribute('vpc_id');
128
+ }
129
+ }
130
+ export class DataAviatrixTransitGatewayHaBgpLanInterfacesList extends cdktf.ComplexList {
131
+ terraformResource;
132
+ terraformAttribute;
133
+ wrapsSet;
134
+ /**
135
+ * @param terraformResource The parent resource
136
+ * @param terraformAttribute The attribute on the parent resource this class is referencing
137
+ * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
138
+ */
139
+ constructor(terraformResource, terraformAttribute, wrapsSet) {
140
+ super(terraformResource, terraformAttribute, wrapsSet);
141
+ this.terraformResource = terraformResource;
142
+ this.terraformAttribute = terraformAttribute;
143
+ this.wrapsSet = wrapsSet;
144
+ }
145
+ /**
146
+ * @param index the index of the item to return
147
+ */
148
+ get(index) {
149
+ return new DataAviatrixTransitGatewayHaBgpLanInterfacesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
150
+ }
151
+ }
152
+ /**
153
+ * Represents a {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/data-sources/transit_gateway aviatrix_transit_gateway}
154
+ */
155
+ export class DataAviatrixTransitGateway extends cdktf.TerraformDataSource {
156
+ // =================
157
+ // STATIC PROPERTIES
158
+ // =================
159
+ static tfResourceType = "aviatrix_transit_gateway";
160
+ // ==============
161
+ // STATIC Methods
162
+ // ==============
163
+ /**
164
+ * Generates CDKTF code for importing a DataAviatrixTransitGateway resource upon running "cdktf plan <stack-name>"
165
+ * @param scope The scope in which to define this construct
166
+ * @param importToId The construct id used in the generated config for the DataAviatrixTransitGateway to import
167
+ * @param importFromId The id of the existing DataAviatrixTransitGateway that should be imported. Refer to the {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/data-sources/transit_gateway#import import section} in the documentation of this resource for the id to use
168
+ * @param provider? Optional instance of the provider where the DataAviatrixTransitGateway to import is found
169
+ */
170
+ static generateConfigForImport(scope, importToId, importFromId, provider) {
171
+ return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aviatrix_transit_gateway", importId: importFromId, provider });
172
+ }
173
+ // ===========
174
+ // INITIALIZER
175
+ // ===========
176
+ /**
177
+ * Create a new {@link https://registry.terraform.io/providers/aviatrixsystems/aviatrix/8.1.10/docs/data-sources/transit_gateway aviatrix_transit_gateway} Data Source
178
+ *
179
+ * @param scope The scope in which to define this construct
180
+ * @param id The scoped construct ID. Must be unique amongst siblings in the same scope
181
+ * @param options DataAviatrixTransitGatewayConfig
182
+ */
183
+ constructor(scope, id, config) {
184
+ super(scope, id, {
185
+ terraformResourceType: 'aviatrix_transit_gateway',
186
+ terraformGeneratorMetadata: {
187
+ providerName: 'aviatrix',
188
+ providerVersion: '8.1.10',
189
+ providerVersionConstraint: '8.1.10'
190
+ },
191
+ provider: config.provider,
192
+ dependsOn: config.dependsOn,
193
+ count: config.count,
194
+ lifecycle: config.lifecycle,
195
+ provisioners: config.provisioners,
196
+ connection: config.connection,
197
+ forEach: config.forEach
198
+ });
199
+ this._gwName = config.gwName;
200
+ this._id = config.id;
201
+ }
202
+ // ==========
203
+ // ATTRIBUTES
204
+ // ==========
205
+ // account_name - computed: true, optional: false, required: false
206
+ get accountName() {
207
+ return this.getStringAttribute('account_name');
208
+ }
209
+ // allocate_new_eip - computed: true, optional: false, required: false
210
+ get allocateNewEip() {
211
+ return this.getBooleanAttribute('allocate_new_eip');
212
+ }
213
+ // approved_learned_cidrs - computed: true, optional: false, required: false
214
+ get approvedLearnedCidrs() {
215
+ return cdktf.Fn.tolist(this.getListAttribute('approved_learned_cidrs'));
216
+ }
217
+ // availability_domain - computed: true, optional: false, required: false
218
+ get availabilityDomain() {
219
+ return this.getStringAttribute('availability_domain');
220
+ }
221
+ // azure_eip_name_resource_group - computed: true, optional: false, required: false
222
+ get azureEipNameResourceGroup() {
223
+ return this.getStringAttribute('azure_eip_name_resource_group');
224
+ }
225
+ // bgp_ecmp - computed: true, optional: false, required: false
226
+ get bgpEcmp() {
227
+ return this.getBooleanAttribute('bgp_ecmp');
228
+ }
229
+ // bgp_hold_time - computed: true, optional: false, required: false
230
+ get bgpHoldTime() {
231
+ return this.getNumberAttribute('bgp_hold_time');
232
+ }
233
+ // bgp_lan_interfaces - computed: true, optional: false, required: false
234
+ _bgpLanInterfaces = new DataAviatrixTransitGatewayBgpLanInterfacesList(this, "bgp_lan_interfaces", false);
235
+ get bgpLanInterfaces() {
236
+ return this._bgpLanInterfaces;
237
+ }
238
+ // bgp_lan_ip_list - computed: true, optional: false, required: false
239
+ get bgpLanIpList() {
240
+ return this.getListAttribute('bgp_lan_ip_list');
241
+ }
242
+ // bgp_manual_spoke_advertise_cidrs - computed: true, optional: false, required: false
243
+ get bgpManualSpokeAdvertiseCidrs() {
244
+ return this.getStringAttribute('bgp_manual_spoke_advertise_cidrs');
245
+ }
246
+ // bgp_polling_time - computed: true, optional: false, required: false
247
+ get bgpPollingTime() {
248
+ return this.getStringAttribute('bgp_polling_time');
249
+ }
250
+ // cloud_instance_id - computed: true, optional: false, required: false
251
+ get cloudInstanceId() {
252
+ return this.getStringAttribute('cloud_instance_id');
253
+ }
254
+ // cloud_type - computed: true, optional: false, required: false
255
+ get cloudType() {
256
+ return this.getNumberAttribute('cloud_type');
257
+ }
258
+ // connected_transit - computed: true, optional: false, required: false
259
+ get connectedTransit() {
260
+ return this.getBooleanAttribute('connected_transit');
261
+ }
262
+ // customized_spoke_vpc_routes - computed: true, optional: false, required: false
263
+ get customizedSpokeVpcRoutes() {
264
+ return this.getStringAttribute('customized_spoke_vpc_routes');
265
+ }
266
+ // customized_transit_vpc_routes - computed: true, optional: false, required: false
267
+ get customizedTransitVpcRoutes() {
268
+ return cdktf.Fn.tolist(this.getListAttribute('customized_transit_vpc_routes'));
269
+ }
270
+ // eip - computed: true, optional: false, required: false
271
+ get eip() {
272
+ return this.getStringAttribute('eip');
273
+ }
274
+ // enable_active_standby - computed: true, optional: false, required: false
275
+ get enableActiveStandby() {
276
+ return this.getBooleanAttribute('enable_active_standby');
277
+ }
278
+ // enable_active_standby_preemptive - computed: true, optional: false, required: false
279
+ get enableActiveStandbyPreemptive() {
280
+ return this.getBooleanAttribute('enable_active_standby_preemptive');
281
+ }
282
+ // enable_advertise_transit_cidr - computed: true, optional: false, required: false
283
+ get enableAdvertiseTransitCidr() {
284
+ return this.getBooleanAttribute('enable_advertise_transit_cidr');
285
+ }
286
+ // enable_bgp_over_lan - computed: true, optional: false, required: false
287
+ get enableBgpOverLan() {
288
+ return this.getBooleanAttribute('enable_bgp_over_lan');
289
+ }
290
+ // enable_egress_transit_firenet - computed: true, optional: false, required: false
291
+ get enableEgressTransitFirenet() {
292
+ return this.getBooleanAttribute('enable_egress_transit_firenet');
293
+ }
294
+ // enable_encrypt_volume - computed: true, optional: false, required: false
295
+ get enableEncryptVolume() {
296
+ return this.getBooleanAttribute('enable_encrypt_volume');
297
+ }
298
+ // enable_firenet - computed: true, optional: false, required: false
299
+ get enableFirenet() {
300
+ return this.getBooleanAttribute('enable_firenet');
301
+ }
302
+ // enable_gateway_load_balancer - computed: true, optional: false, required: false
303
+ get enableGatewayLoadBalancer() {
304
+ return this.getBooleanAttribute('enable_gateway_load_balancer');
305
+ }
306
+ // enable_hybrid_connection - computed: true, optional: false, required: false
307
+ get enableHybridConnection() {
308
+ return this.getBooleanAttribute('enable_hybrid_connection');
309
+ }
310
+ // enable_jumbo_frame - computed: true, optional: false, required: false
311
+ get enableJumboFrame() {
312
+ return this.getBooleanAttribute('enable_jumbo_frame');
313
+ }
314
+ // enable_learned_cidrs_approval - computed: true, optional: false, required: false
315
+ get enableLearnedCidrsApproval() {
316
+ return this.getBooleanAttribute('enable_learned_cidrs_approval');
317
+ }
318
+ // enable_monitor_gateway_subnets - computed: true, optional: false, required: false
319
+ get enableMonitorGatewaySubnets() {
320
+ return this.getBooleanAttribute('enable_monitor_gateway_subnets');
321
+ }
322
+ // enable_multi_tier_transit - computed: true, optional: false, required: false
323
+ get enableMultiTierTransit() {
324
+ return this.getBooleanAttribute('enable_multi_tier_transit');
325
+ }
326
+ // enable_private_oob - computed: true, optional: false, required: false
327
+ get enablePrivateOob() {
328
+ return this.getBooleanAttribute('enable_private_oob');
329
+ }
330
+ // enable_segmentation - computed: true, optional: false, required: false
331
+ get enableSegmentation() {
332
+ return this.getBooleanAttribute('enable_segmentation');
333
+ }
334
+ // enable_spot_instance - computed: true, optional: false, required: false
335
+ get enableSpotInstance() {
336
+ return this.getBooleanAttribute('enable_spot_instance');
337
+ }
338
+ // enable_transit_firenet - computed: true, optional: false, required: false
339
+ get enableTransitFirenet() {
340
+ return this.getBooleanAttribute('enable_transit_firenet');
341
+ }
342
+ // enable_transit_summarize_cidr_to_tgw - computed: true, optional: false, required: false
343
+ get enableTransitSummarizeCidrToTgw() {
344
+ return this.getBooleanAttribute('enable_transit_summarize_cidr_to_tgw');
345
+ }
346
+ // enable_vpc_dns_server - computed: true, optional: false, required: false
347
+ get enableVpcDnsServer() {
348
+ return this.getBooleanAttribute('enable_vpc_dns_server');
349
+ }
350
+ // excluded_advertised_spoke_routes - computed: true, optional: false, required: false
351
+ get excludedAdvertisedSpokeRoutes() {
352
+ return this.getStringAttribute('excluded_advertised_spoke_routes');
353
+ }
354
+ // fault_domain - computed: true, optional: false, required: false
355
+ get faultDomain() {
356
+ return this.getStringAttribute('fault_domain');
357
+ }
358
+ // filtered_spoke_vpc_routes - computed: true, optional: false, required: false
359
+ get filteredSpokeVpcRoutes() {
360
+ return this.getStringAttribute('filtered_spoke_vpc_routes');
361
+ }
362
+ // gw_name - computed: false, optional: false, required: true
363
+ _gwName;
364
+ get gwName() {
365
+ return this.getStringAttribute('gw_name');
366
+ }
367
+ set gwName(value) {
368
+ this._gwName = value;
369
+ }
370
+ // Temporarily expose input value. Use with caution.
371
+ get gwNameInput() {
372
+ return this._gwName;
373
+ }
374
+ // gw_size - computed: true, optional: false, required: false
375
+ get gwSize() {
376
+ return this.getStringAttribute('gw_size');
377
+ }
378
+ // ha_availability_domain - computed: true, optional: false, required: false
379
+ get haAvailabilityDomain() {
380
+ return this.getStringAttribute('ha_availability_domain');
381
+ }
382
+ // ha_azure_eip_name_resource_group - computed: true, optional: false, required: false
383
+ get haAzureEipNameResourceGroup() {
384
+ return this.getStringAttribute('ha_azure_eip_name_resource_group');
385
+ }
386
+ // ha_bgp_lan_interfaces - computed: true, optional: false, required: false
387
+ _haBgpLanInterfaces = new DataAviatrixTransitGatewayHaBgpLanInterfacesList(this, "ha_bgp_lan_interfaces", false);
388
+ get haBgpLanInterfaces() {
389
+ return this._haBgpLanInterfaces;
390
+ }
391
+ // ha_bgp_lan_ip_list - computed: true, optional: false, required: false
392
+ get haBgpLanIpList() {
393
+ return this.getListAttribute('ha_bgp_lan_ip_list');
394
+ }
395
+ // ha_cloud_instance_id - computed: true, optional: false, required: false
396
+ get haCloudInstanceId() {
397
+ return this.getStringAttribute('ha_cloud_instance_id');
398
+ }
399
+ // ha_eip - computed: true, optional: false, required: false
400
+ get haEip() {
401
+ return this.getStringAttribute('ha_eip');
402
+ }
403
+ // ha_fault_domain - computed: true, optional: false, required: false
404
+ get haFaultDomain() {
405
+ return this.getStringAttribute('ha_fault_domain');
406
+ }
407
+ // ha_gw_name - computed: true, optional: false, required: false
408
+ get haGwName() {
409
+ return this.getStringAttribute('ha_gw_name');
410
+ }
411
+ // ha_gw_size - computed: true, optional: false, required: false
412
+ get haGwSize() {
413
+ return this.getStringAttribute('ha_gw_size');
414
+ }
415
+ // ha_image_version - computed: true, optional: false, required: false
416
+ get haImageVersion() {
417
+ return this.getStringAttribute('ha_image_version');
418
+ }
419
+ // ha_insane_mode_az - computed: true, optional: false, required: false
420
+ get haInsaneModeAz() {
421
+ return this.getStringAttribute('ha_insane_mode_az');
422
+ }
423
+ // ha_lan_interface_cidr - computed: true, optional: false, required: false
424
+ get haLanInterfaceCidr() {
425
+ return this.getStringAttribute('ha_lan_interface_cidr');
426
+ }
427
+ // ha_oob_availability_zone - computed: true, optional: false, required: false
428
+ get haOobAvailabilityZone() {
429
+ return this.getStringAttribute('ha_oob_availability_zone');
430
+ }
431
+ // ha_oob_management_subnet - computed: true, optional: false, required: false
432
+ get haOobManagementSubnet() {
433
+ return this.getStringAttribute('ha_oob_management_subnet');
434
+ }
435
+ // ha_private_ip - computed: true, optional: false, required: false
436
+ get haPrivateIp() {
437
+ return this.getStringAttribute('ha_private_ip');
438
+ }
439
+ // ha_public_ip - computed: true, optional: false, required: false
440
+ get haPublicIp() {
441
+ return this.getStringAttribute('ha_public_ip');
442
+ }
443
+ // ha_security_group_id - computed: true, optional: false, required: false
444
+ get haSecurityGroupId() {
445
+ return this.getStringAttribute('ha_security_group_id');
446
+ }
447
+ // ha_software_version - computed: true, optional: false, required: false
448
+ get haSoftwareVersion() {
449
+ return this.getStringAttribute('ha_software_version');
450
+ }
451
+ // ha_subnet - computed: true, optional: false, required: false
452
+ get haSubnet() {
453
+ return this.getStringAttribute('ha_subnet');
454
+ }
455
+ // ha_zone - computed: true, optional: false, required: false
456
+ get haZone() {
457
+ return this.getStringAttribute('ha_zone');
458
+ }
459
+ // id - computed: true, optional: true, required: false
460
+ _id;
461
+ get id() {
462
+ return this.getStringAttribute('id');
463
+ }
464
+ set id(value) {
465
+ this._id = value;
466
+ }
467
+ resetId() {
468
+ this._id = undefined;
469
+ }
470
+ // Temporarily expose input value. Use with caution.
471
+ get idInput() {
472
+ return this._id;
473
+ }
474
+ // image_version - computed: true, optional: false, required: false
475
+ get imageVersion() {
476
+ return this.getStringAttribute('image_version');
477
+ }
478
+ // insane_mode - computed: true, optional: false, required: false
479
+ get insaneMode() {
480
+ return this.getBooleanAttribute('insane_mode');
481
+ }
482
+ // insane_mode_az - computed: true, optional: false, required: false
483
+ get insaneModeAz() {
484
+ return this.getStringAttribute('insane_mode_az');
485
+ }
486
+ // lan_interface_cidr - computed: true, optional: false, required: false
487
+ get lanInterfaceCidr() {
488
+ return this.getStringAttribute('lan_interface_cidr');
489
+ }
490
+ // lan_private_subnet - computed: true, optional: false, required: false
491
+ get lanPrivateSubnet() {
492
+ return this.getStringAttribute('lan_private_subnet');
493
+ }
494
+ // lan_vpc_id - computed: true, optional: false, required: false
495
+ get lanVpcId() {
496
+ return this.getStringAttribute('lan_vpc_id');
497
+ }
498
+ // learned_cidrs_approval_mode - computed: true, optional: false, required: false
499
+ get learnedCidrsApprovalMode() {
500
+ return this.getStringAttribute('learned_cidrs_approval_mode');
501
+ }
502
+ // local_as_number - computed: true, optional: false, required: false
503
+ get localAsNumber() {
504
+ return this.getStringAttribute('local_as_number');
505
+ }
506
+ // monitor_exclude_list - computed: true, optional: false, required: false
507
+ get monitorExcludeList() {
508
+ return cdktf.Fn.tolist(this.getListAttribute('monitor_exclude_list'));
509
+ }
510
+ // oob_availability_zone - computed: true, optional: false, required: false
511
+ get oobAvailabilityZone() {
512
+ return this.getStringAttribute('oob_availability_zone');
513
+ }
514
+ // oob_management_subnet - computed: true, optional: false, required: false
515
+ get oobManagementSubnet() {
516
+ return this.getStringAttribute('oob_management_subnet');
517
+ }
518
+ // prepend_as_path - computed: true, optional: false, required: false
519
+ get prependAsPath() {
520
+ return this.getListAttribute('prepend_as_path');
521
+ }
522
+ // private_ip - computed: true, optional: false, required: false
523
+ get privateIp() {
524
+ return this.getStringAttribute('private_ip');
525
+ }
526
+ // public_ip - computed: true, optional: false, required: false
527
+ get publicIp() {
528
+ return this.getStringAttribute('public_ip');
529
+ }
530
+ // security_group_id - computed: true, optional: false, required: false
531
+ get securityGroupId() {
532
+ return this.getStringAttribute('security_group_id');
533
+ }
534
+ // single_az_ha - computed: true, optional: false, required: false
535
+ get singleAzHa() {
536
+ return this.getBooleanAttribute('single_az_ha');
537
+ }
538
+ // single_ip_snat - computed: true, optional: false, required: false
539
+ get singleIpSnat() {
540
+ return this.getBooleanAttribute('single_ip_snat');
541
+ }
542
+ // software_version - computed: true, optional: false, required: false
543
+ get softwareVersion() {
544
+ return this.getStringAttribute('software_version');
545
+ }
546
+ // spot_price - computed: true, optional: false, required: false
547
+ get spotPrice() {
548
+ return this.getStringAttribute('spot_price');
549
+ }
550
+ // subnet - computed: true, optional: false, required: false
551
+ get subnet() {
552
+ return this.getStringAttribute('subnet');
553
+ }
554
+ // tags - computed: true, optional: false, required: false
555
+ _tags = new cdktf.StringMap(this, "tags");
556
+ get tags() {
557
+ return this._tags;
558
+ }
559
+ // tunnel_detection_time - computed: true, optional: false, required: false
560
+ get tunnelDetectionTime() {
561
+ return this.getNumberAttribute('tunnel_detection_time');
562
+ }
563
+ // vpc_id - computed: true, optional: false, required: false
564
+ get vpcId() {
565
+ return this.getStringAttribute('vpc_id');
566
+ }
567
+ // vpc_reg - computed: true, optional: false, required: false
568
+ get vpcReg() {
569
+ return this.getStringAttribute('vpc_reg');
570
+ }
571
+ // zone - computed: true, optional: false, required: false
572
+ get zone() {
573
+ return this.getStringAttribute('zone');
574
+ }
575
+ // =========
576
+ // SYNTHESIS
577
+ // =========
578
+ synthesizeAttributes() {
579
+ return {
580
+ gw_name: cdktf.stringToTerraform(this._gwName),
581
+ id: cdktf.stringToTerraform(this._id),
582
+ };
583
+ }
584
+ synthesizeHclAttributes() {
585
+ const attrs = {
586
+ gw_name: {
587
+ value: cdktf.stringToHclTerraform(this._gwName),
588
+ isBlock: false,
589
+ type: "simple",
590
+ storageClassType: "string",
591
+ },
592
+ id: {
593
+ value: cdktf.stringToHclTerraform(this._id),
594
+ isBlock: false,
595
+ type: "simple",
596
+ storageClassType: "string",
597
+ },
598
+ };
599
+ // remove undefined attributes
600
+ return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
601
+ }
602
+ }