@microsoft/terraform-cdk-constructs 1.2.0 → 1.3.1

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 (291) hide show
  1. package/.jsii +54630 -26185
  2. package/API.md +72091 -23784
  3. package/lib/azure-actiongroup/index.d.ts +0 -10
  4. package/lib/azure-actiongroup/index.js +1 -11
  5. package/lib/azure-actiongroup/lib/action-group.d.ts +0 -10
  6. package/lib/azure-actiongroup/lib/action-group.js +6 -32
  7. package/lib/azure-actiongroup/lib/index.d.ts +1 -4
  8. package/lib/azure-actiongroup/lib/index.js +2 -5
  9. package/lib/azure-activitylogalert/index.d.ts +0 -10
  10. package/lib/azure-activitylogalert/index.js +1 -11
  11. package/lib/azure-activitylogalert/lib/activity-log-alert.d.ts +0 -10
  12. package/lib/azure-activitylogalert/lib/activity-log-alert.js +6 -32
  13. package/lib/azure-activitylogalert/lib/index.d.ts +1 -4
  14. package/lib/azure-activitylogalert/lib/index.js +2 -5
  15. package/lib/azure-aks/index.d.ts +0 -8
  16. package/lib/azure-aks/index.js +1 -11
  17. package/lib/azure-aks/lib/aks-cluster.d.ts +4 -13
  18. package/lib/azure-aks/lib/aks-cluster.js +13 -36
  19. package/lib/azure-aks/lib/index.d.ts +1 -10
  20. package/lib/azure-aks/lib/index.js +2 -21
  21. package/lib/azure-diagnosticsettings/index.d.ts +0 -6
  22. package/lib/azure-diagnosticsettings/index.js +1 -7
  23. package/lib/azure-diagnosticsettings/lib/diagnostic-settings.d.ts +0 -10
  24. package/lib/azure-diagnosticsettings/lib/diagnostic-settings.js +6 -32
  25. package/lib/azure-diagnosticsettings/lib/index.d.ts +1 -7
  26. package/lib/azure-diagnosticsettings/lib/index.js +2 -8
  27. package/lib/azure-dnsforwardingruleset/index.d.ts +1 -0
  28. package/lib/azure-dnsforwardingruleset/index.js +18 -0
  29. package/lib/azure-dnsforwardingruleset/lib/dns-forwarding-ruleset-schemas.d.ts +24 -0
  30. package/lib/azure-dnsforwardingruleset/lib/dns-forwarding-ruleset-schemas.js +206 -0
  31. package/lib/azure-dnsforwardingruleset/lib/dns-forwarding-ruleset.d.ts +174 -0
  32. package/lib/azure-dnsforwardingruleset/lib/dns-forwarding-ruleset.js +214 -0
  33. package/lib/azure-dnsforwardingruleset/lib/forwarding-rule-schemas.d.ts +24 -0
  34. package/lib/azure-dnsforwardingruleset/lib/forwarding-rule-schemas.js +242 -0
  35. package/lib/azure-dnsforwardingruleset/lib/forwarding-rule.d.ts +193 -0
  36. package/lib/azure-dnsforwardingruleset/lib/forwarding-rule.js +193 -0
  37. package/lib/azure-dnsforwardingruleset/lib/index.d.ts +6 -0
  38. package/lib/azure-dnsforwardingruleset/lib/index.js +23 -0
  39. package/lib/azure-dnsforwardingruleset/lib/virtual-network-link-schemas.d.ts +24 -0
  40. package/lib/azure-dnsforwardingruleset/lib/virtual-network-link-schemas.js +199 -0
  41. package/lib/azure-dnsforwardingruleset/lib/virtual-network-link.d.ts +160 -0
  42. package/lib/azure-dnsforwardingruleset/lib/virtual-network-link.js +178 -0
  43. package/lib/azure-dnsforwardingruleset/test/dns-forwarding-ruleset.integ.d.ts +9 -0
  44. package/lib/azure-dnsforwardingruleset/test/dns-forwarding-ruleset.integ.js +133 -0
  45. package/lib/azure-dnsforwardingruleset/test/dns-forwarding-ruleset.spec.d.ts +9 -0
  46. package/lib/azure-dnsforwardingruleset/test/dns-forwarding-ruleset.spec.js +350 -0
  47. package/lib/azure-dnsforwardingruleset/test/forwarding-rule.spec.d.ts +9 -0
  48. package/lib/azure-dnsforwardingruleset/test/forwarding-rule.spec.js +397 -0
  49. package/lib/azure-dnsforwardingruleset/test/virtual-network-link.spec.d.ts +9 -0
  50. package/lib/azure-dnsforwardingruleset/test/virtual-network-link.spec.js +285 -0
  51. package/lib/azure-dnsresolver/index.d.ts +1 -0
  52. package/lib/azure-dnsresolver/index.js +18 -0
  53. package/lib/azure-dnsresolver/lib/dns-resolver-schemas.d.ts +24 -0
  54. package/lib/azure-dnsresolver/lib/dns-resolver-schemas.js +218 -0
  55. package/lib/azure-dnsresolver/lib/dns-resolver.d.ts +170 -0
  56. package/lib/azure-dnsresolver/lib/dns-resolver.js +236 -0
  57. package/lib/azure-dnsresolver/lib/inbound-endpoint-schemas.d.ts +24 -0
  58. package/lib/azure-dnsresolver/lib/inbound-endpoint-schemas.js +261 -0
  59. package/lib/azure-dnsresolver/lib/inbound-endpoint.d.ts +189 -0
  60. package/lib/azure-dnsresolver/lib/inbound-endpoint.js +243 -0
  61. package/lib/azure-dnsresolver/lib/index.d.ts +6 -0
  62. package/lib/azure-dnsresolver/lib/index.js +23 -0
  63. package/lib/azure-dnsresolver/lib/outbound-endpoint-schemas.d.ts +24 -0
  64. package/lib/azure-dnsresolver/lib/outbound-endpoint-schemas.js +231 -0
  65. package/lib/azure-dnsresolver/lib/outbound-endpoint.d.ts +175 -0
  66. package/lib/azure-dnsresolver/lib/outbound-endpoint.js +234 -0
  67. package/lib/azure-dnsresolver/test/dns-resolver.integ.d.ts +14 -0
  68. package/lib/azure-dnsresolver/test/dns-resolver.integ.js +117 -0
  69. package/lib/azure-dnsresolver/test/dns-resolver.spec.d.ts +9 -0
  70. package/lib/azure-dnsresolver/test/dns-resolver.spec.js +353 -0
  71. package/lib/azure-dnsresolver/test/inbound-endpoint.integ.d.ts +9 -0
  72. package/lib/azure-dnsresolver/test/inbound-endpoint.integ.js +151 -0
  73. package/lib/azure-dnsresolver/test/inbound-endpoint.spec.d.ts +9 -0
  74. package/lib/azure-dnsresolver/test/inbound-endpoint.spec.js +441 -0
  75. package/lib/azure-dnsresolver/test/outbound-endpoint.integ.d.ts +9 -0
  76. package/lib/azure-dnsresolver/test/outbound-endpoint.integ.js +149 -0
  77. package/lib/azure-dnsresolver/test/outbound-endpoint.spec.d.ts +9 -0
  78. package/lib/azure-dnsresolver/test/outbound-endpoint.spec.js +301 -0
  79. package/lib/azure-dnszone/index.d.ts +1 -0
  80. package/lib/azure-dnszone/index.js +18 -0
  81. package/lib/azure-dnszone/lib/dns-zone-schemas.d.ts +24 -0
  82. package/lib/azure-dnszone/lib/dns-zone-schemas.js +191 -0
  83. package/lib/azure-dnszone/lib/dns-zone.d.ts +182 -0
  84. package/lib/azure-dnszone/lib/dns-zone.js +228 -0
  85. package/lib/azure-dnszone/lib/index.d.ts +2 -0
  86. package/lib/azure-dnszone/lib/index.js +19 -0
  87. package/lib/azure-dnszone/test/dns-zone.integ.d.ts +9 -0
  88. package/lib/azure-dnszone/test/dns-zone.integ.js +85 -0
  89. package/lib/azure-dnszone/test/dns-zone.spec.d.ts +9 -0
  90. package/lib/azure-dnszone/test/dns-zone.spec.js +285 -0
  91. package/lib/azure-metricalert/index.d.ts +0 -10
  92. package/lib/azure-metricalert/index.js +1 -11
  93. package/lib/azure-metricalert/lib/index.d.ts +1 -4
  94. package/lib/azure-metricalert/lib/index.js +2 -5
  95. package/lib/azure-metricalert/lib/metric-alert.d.ts +0 -10
  96. package/lib/azure-metricalert/lib/metric-alert.js +6 -32
  97. package/lib/azure-networkinterface/index.d.ts +0 -3
  98. package/lib/azure-networkinterface/index.js +1 -4
  99. package/lib/azure-networkinterface/lib/index.d.ts +1 -5
  100. package/lib/azure-networkinterface/lib/index.js +2 -5
  101. package/lib/azure-networkinterface/lib/network-interface.d.ts +4 -9
  102. package/lib/azure-networkinterface/lib/network-interface.js +14 -29
  103. package/lib/azure-networkinterface/test/network-interface.integ.js +20 -6
  104. package/lib/azure-networksecuritygroup/index.d.ts +0 -5
  105. package/lib/azure-networksecuritygroup/index.js +1 -6
  106. package/lib/azure-networksecuritygroup/lib/index.d.ts +2 -5
  107. package/lib/azure-networksecuritygroup/lib/index.js +17 -14
  108. package/lib/azure-networksecuritygroup/lib/network-security-group.d.ts +4 -13
  109. package/lib/azure-networksecuritygroup/lib/network-security-group.js +14 -36
  110. package/lib/azure-policyassignment/index.d.ts +1 -0
  111. package/lib/azure-policyassignment/index.js +18 -0
  112. package/lib/azure-policyassignment/lib/index.d.ts +2 -0
  113. package/lib/azure-policyassignment/lib/index.js +19 -0
  114. package/lib/azure-policyassignment/lib/policy-assignment-schemas.d.ts +25 -0
  115. package/lib/azure-policyassignment/lib/policy-assignment-schemas.js +260 -0
  116. package/lib/azure-policyassignment/lib/policy-assignment.d.ts +349 -0
  117. package/lib/azure-policyassignment/lib/policy-assignment.js +237 -0
  118. package/lib/azure-policyassignment/test/policy-assignment.integ.d.ts +13 -0
  119. package/lib/azure-policyassignment/test/policy-assignment.integ.js +153 -0
  120. package/lib/azure-policyassignment/test/policy-assignment.spec.d.ts +9 -0
  121. package/lib/azure-policyassignment/test/policy-assignment.spec.js +651 -0
  122. package/lib/azure-policydefinition/index.d.ts +1 -0
  123. package/lib/azure-policydefinition/index.js +18 -0
  124. package/lib/azure-policydefinition/lib/index.d.ts +2 -0
  125. package/lib/azure-policydefinition/lib/index.js +19 -0
  126. package/lib/azure-policydefinition/lib/policy-definition-schemas.d.ts +25 -0
  127. package/lib/azure-policydefinition/lib/policy-definition-schemas.js +210 -0
  128. package/lib/azure-policydefinition/lib/policy-definition.d.ts +281 -0
  129. package/lib/azure-policydefinition/lib/policy-definition.js +236 -0
  130. package/lib/azure-policydefinition/test/policy-definition.integ.d.ts +9 -0
  131. package/lib/azure-policydefinition/test/policy-definition.integ.js +137 -0
  132. package/lib/azure-policydefinition/test/policy-definition.spec.d.ts +9 -0
  133. package/lib/azure-policydefinition/test/policy-definition.spec.js +806 -0
  134. package/lib/azure-privatednszone/index.d.ts +1 -0
  135. package/lib/azure-privatednszone/index.js +18 -0
  136. package/lib/azure-privatednszone/lib/index.d.ts +2 -0
  137. package/lib/azure-privatednszone/lib/index.js +19 -0
  138. package/lib/azure-privatednszone/lib/private-dns-zone-schemas.d.ts +24 -0
  139. package/lib/azure-privatednszone/lib/private-dns-zone-schemas.js +254 -0
  140. package/lib/azure-privatednszone/lib/private-dns-zone.d.ts +178 -0
  141. package/lib/azure-privatednszone/lib/private-dns-zone.js +272 -0
  142. package/lib/azure-privatednszone/test/private-dns-zone.integ.d.ts +9 -0
  143. package/lib/azure-privatednszone/test/private-dns-zone.integ.js +84 -0
  144. package/lib/azure-privatednszone/test/private-dns-zone.spec.d.ts +9 -0
  145. package/lib/azure-privatednszone/test/private-dns-zone.spec.js +341 -0
  146. package/lib/azure-privatednszonelink/index.d.ts +1 -0
  147. package/lib/azure-privatednszonelink/index.js +18 -0
  148. package/lib/azure-privatednszonelink/lib/index.d.ts +2 -0
  149. package/lib/azure-privatednszonelink/lib/index.js +19 -0
  150. package/lib/azure-privatednszonelink/lib/private-dns-zone-link-schemas.d.ts +24 -0
  151. package/lib/azure-privatednszonelink/lib/private-dns-zone-link-schemas.js +262 -0
  152. package/lib/azure-privatednszonelink/lib/private-dns-zone-link.d.ts +202 -0
  153. package/lib/azure-privatednszonelink/lib/private-dns-zone-link.js +250 -0
  154. package/lib/azure-privatednszonelink/test/private-dns-zone-link.integ.d.ts +9 -0
  155. package/lib/azure-privatednszonelink/test/private-dns-zone-link.integ.js +110 -0
  156. package/lib/azure-privatednszonelink/test/private-dns-zone-link.spec.d.ts +9 -0
  157. package/lib/azure-privatednszonelink/test/private-dns-zone-link.spec.js +465 -0
  158. package/lib/azure-publicipaddress/index.d.ts +0 -5
  159. package/lib/azure-publicipaddress/index.js +1 -6
  160. package/lib/azure-publicipaddress/lib/index.d.ts +2 -9
  161. package/lib/azure-publicipaddress/lib/index.js +17 -17
  162. package/lib/azure-publicipaddress/lib/public-ip-address.d.ts +4 -13
  163. package/lib/azure-publicipaddress/lib/public-ip-address.js +14 -36
  164. package/lib/azure-resourcegroup/index.d.ts +0 -37
  165. package/lib/azure-resourcegroup/index.js +1 -39
  166. package/lib/azure-resourcegroup/lib/index.d.ts +1 -44
  167. package/lib/azure-resourcegroup/lib/index.js +2 -43
  168. package/lib/azure-resourcegroup/lib/resource-group.d.ts +9 -23
  169. package/lib/azure-resourcegroup/lib/resource-group.js +23 -56
  170. package/lib/azure-resourcegroup/test/resource-group.spec.js +13 -19
  171. package/lib/azure-roleassignment/index.d.ts +1 -0
  172. package/lib/azure-roleassignment/index.js +18 -0
  173. package/lib/azure-roleassignment/lib/index.d.ts +2 -0
  174. package/lib/azure-roleassignment/lib/index.js +19 -0
  175. package/lib/azure-roleassignment/lib/role-assignment-schemas.d.ts +25 -0
  176. package/lib/azure-roleassignment/lib/role-assignment-schemas.js +238 -0
  177. package/lib/azure-roleassignment/lib/role-assignment.d.ts +294 -0
  178. package/lib/azure-roleassignment/lib/role-assignment.js +257 -0
  179. package/lib/azure-roleassignment/test/role-assignment.integ.d.ts +12 -0
  180. package/lib/azure-roleassignment/test/role-assignment.integ.js +101 -0
  181. package/lib/azure-roleassignment/test/role-assignment.spec.d.ts +9 -0
  182. package/lib/azure-roleassignment/test/role-assignment.spec.js +633 -0
  183. package/lib/azure-roledefinition/index.d.ts +1 -0
  184. package/lib/azure-roledefinition/index.js +18 -0
  185. package/lib/azure-roledefinition/lib/index.d.ts +2 -0
  186. package/lib/azure-roledefinition/lib/index.js +19 -0
  187. package/lib/azure-roledefinition/lib/role-definition-schemas.d.ts +25 -0
  188. package/lib/azure-roledefinition/lib/role-definition-schemas.js +195 -0
  189. package/lib/azure-roledefinition/lib/role-definition.d.ts +236 -0
  190. package/lib/azure-roledefinition/lib/role-definition.js +192 -0
  191. package/lib/azure-roledefinition/test/role-definition.integ.d.ts +12 -0
  192. package/lib/azure-roledefinition/test/role-definition.integ.js +142 -0
  193. package/lib/azure-roledefinition/test/role-definition.spec.d.ts +9 -0
  194. package/lib/azure-roledefinition/test/role-definition.spec.js +946 -0
  195. package/lib/azure-storageaccount/index.d.ts +0 -19
  196. package/lib/azure-storageaccount/index.js +1 -20
  197. package/lib/azure-storageaccount/lib/index.d.ts +1 -7
  198. package/lib/azure-storageaccount/lib/index.js +2 -8
  199. package/lib/azure-storageaccount/lib/storage-account.d.ts +4 -9
  200. package/lib/azure-storageaccount/lib/storage-account.js +15 -29
  201. package/lib/azure-subnet/index.d.ts +0 -3
  202. package/lib/azure-subnet/index.js +1 -4
  203. package/lib/azure-subnet/lib/index.d.ts +1 -4
  204. package/lib/azure-subnet/lib/index.js +2 -5
  205. package/lib/azure-subnet/lib/subnet.d.ts +3 -14
  206. package/lib/azure-subnet/lib/subnet.js +28 -47
  207. package/lib/azure-subnet/test/subnet.integ.js +19 -7
  208. package/lib/azure-subnet/test/subnet.spec.js +1 -2
  209. package/lib/azure-virtualmachine/index.d.ts +0 -6
  210. package/lib/azure-virtualmachine/index.js +1 -7
  211. package/lib/azure-virtualmachine/lib/index.d.ts +1 -10
  212. package/lib/azure-virtualmachine/lib/index.js +2 -21
  213. package/lib/azure-virtualmachine/lib/virtual-machine.d.ts +4 -13
  214. package/lib/azure-virtualmachine/lib/virtual-machine.js +15 -36
  215. package/lib/azure-virtualnetwork/index.d.ts +0 -9
  216. package/lib/azure-virtualnetwork/index.js +1 -11
  217. package/lib/azure-virtualnetwork/lib/index.d.ts +2 -9
  218. package/lib/azure-virtualnetwork/lib/index.js +17 -20
  219. package/lib/azure-virtualnetwork/lib/virtual-network.d.ts +4 -13
  220. package/lib/azure-virtualnetwork/lib/virtual-network.js +15 -36
  221. package/lib/azure-virtualnetworkmanager/index.d.ts +1 -0
  222. package/lib/azure-virtualnetworkmanager/index.js +18 -0
  223. package/lib/azure-virtualnetworkmanager/lib/connectivity-configuration-schemas.d.ts +48 -0
  224. package/lib/azure-virtualnetworkmanager/lib/connectivity-configuration-schemas.js +265 -0
  225. package/lib/azure-virtualnetworkmanager/lib/connectivity-configuration.d.ts +185 -0
  226. package/lib/azure-virtualnetworkmanager/lib/connectivity-configuration.js +206 -0
  227. package/lib/azure-virtualnetworkmanager/lib/index.d.ts +14 -0
  228. package/lib/azure-virtualnetworkmanager/lib/index.js +31 -0
  229. package/lib/azure-virtualnetworkmanager/lib/network-group-schemas.d.ts +32 -0
  230. package/lib/azure-virtualnetworkmanager/lib/network-group-schemas.js +189 -0
  231. package/lib/azure-virtualnetworkmanager/lib/network-group-static-member-schemas.d.ts +32 -0
  232. package/lib/azure-virtualnetworkmanager/lib/network-group-static-member-schemas.js +201 -0
  233. package/lib/azure-virtualnetworkmanager/lib/network-group-static-member.d.ts +135 -0
  234. package/lib/azure-virtualnetworkmanager/lib/network-group-static-member.js +163 -0
  235. package/lib/azure-virtualnetworkmanager/lib/network-group.d.ts +139 -0
  236. package/lib/azure-virtualnetworkmanager/lib/network-group.js +158 -0
  237. package/lib/azure-virtualnetworkmanager/lib/security-admin-configuration-schemas.d.ts +32 -0
  238. package/lib/azure-virtualnetworkmanager/lib/security-admin-configuration-schemas.js +182 -0
  239. package/lib/azure-virtualnetworkmanager/lib/security-admin-configuration.d.ts +144 -0
  240. package/lib/azure-virtualnetworkmanager/lib/security-admin-configuration.js +164 -0
  241. package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-collection-schemas.d.ts +38 -0
  242. package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-collection-schemas.js +206 -0
  243. package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-collection.d.ts +142 -0
  244. package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-collection.js +162 -0
  245. package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-schemas.d.ts +39 -0
  246. package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-schemas.js +359 -0
  247. package/lib/azure-virtualnetworkmanager/lib/security-admin-rule.d.ts +221 -0
  248. package/lib/azure-virtualnetworkmanager/lib/security-admin-rule.js +204 -0
  249. package/lib/azure-virtualnetworkmanager/lib/virtual-network-manager-schemas.d.ts +32 -0
  250. package/lib/azure-virtualnetworkmanager/lib/virtual-network-manager-schemas.js +236 -0
  251. package/lib/azure-virtualnetworkmanager/lib/virtual-network-manager.d.ts +337 -0
  252. package/lib/azure-virtualnetworkmanager/lib/virtual-network-manager.js +283 -0
  253. package/lib/azure-virtualnetworkmanager/test/virtual-network-manager.integ.d.ts +25 -0
  254. package/lib/azure-virtualnetworkmanager/test/virtual-network-manager.integ.js +402 -0
  255. package/lib/azure-virtualnetworkmanager/test/virtual-network-manager.spec.d.ts +9 -0
  256. package/lib/azure-virtualnetworkmanager/test/virtual-network-manager.spec.js +1652 -0
  257. package/lib/azure-vmss/index.d.ts +0 -5
  258. package/lib/azure-vmss/index.js +1 -6
  259. package/lib/azure-vmss/lib/index.d.ts +0 -7
  260. package/lib/azure-vmss/lib/index.js +1 -21
  261. package/lib/azure-vmss/lib/virtual-machine-scale-set.d.ts +5 -13
  262. package/lib/azure-vmss/lib/virtual-machine-scale-set.js +29 -53
  263. package/lib/core-azure/lib/azapi/azapi-resource-tags.spec.d.ts +10 -0
  264. package/lib/core-azure/lib/azapi/azapi-resource-tags.spec.js +218 -0
  265. package/lib/core-azure/lib/azapi/azapi-resource.d.ts +206 -26
  266. package/lib/core-azure/lib/azapi/azapi-resource.js +379 -91
  267. package/lib/core-azure/lib/azapi/azapi-resource.spec.js +2 -2
  268. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-client-config/index.js +2 -2
  269. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource/index.js +5 -5
  270. package/lib/core-azure/lib/azapi/providers-azapi/provider/index.js +5 -3
  271. package/lib/core-azure/lib/azapi/providers-azapi/resource/index.js +5 -5
  272. package/lib/core-azure/lib/azapi/providers-azapi/resource-action/index.js +3 -3
  273. package/lib/core-azure/lib/azapi/providers-azapi/update-resource/index.js +3 -3
  274. package/lib/core-azure/lib/azapi/resource-schema-validator.d.ts +118 -0
  275. package/lib/core-azure/lib/azapi/resource-schema-validator.js +236 -0
  276. package/lib/core-azure/lib/azapi/resource-version-manager.d.ts +103 -0
  277. package/lib/core-azure/lib/azapi/resource-version-manager.js +168 -0
  278. package/lib/core-azure/lib/azapi/schema-mapper/schema-mapper.js +11 -6
  279. package/lib/core-azure/lib/index.d.ts +2 -2
  280. package/lib/core-azure/lib/index.js +5 -5
  281. package/lib/core-azure/lib/version-manager/api-version-manager.js +1 -1
  282. package/lib/core-azure/lib/version-manager/interfaces/version-interfaces.js +7 -7
  283. package/lib/index.d.ts +19 -0
  284. package/lib/index.js +21 -2
  285. package/lib/testing/index.js +2 -2
  286. package/lib/testing/lib/cleanup.d.ts +1 -0
  287. package/lib/testing/lib/cleanup.js +19 -12
  288. package/lib/testing/lib/metadata.js +19 -16
  289. package/package.json +1 -1
  290. package/scripts/cleanup-test-resources.ts +22 -4
  291. package/scripts/generate-index.js +25 -8
@@ -0,0 +1,185 @@
1
+ /**
2
+ * Azure Virtual Network Manager Connectivity Configuration implementation using AzapiResource framework
3
+ *
4
+ * This class provides a unified implementation for defining network topology (mesh or hub-and-spoke)
5
+ * for virtual networks managed by Azure Virtual Network Manager.
6
+ *
7
+ * Supported API Versions:
8
+ * - 2023-11-01 (Maintenance)
9
+ * - 2024-05-01 (Active, Latest)
10
+ *
11
+ * Features:
12
+ * - Automatic latest version resolution when no version is specified
13
+ * - Explicit version pinning for stability requirements
14
+ * - Schema-driven validation and transformation
15
+ * - Support for mesh and hub-and-spoke topologies
16
+ * - Full backward compatibility
17
+ * - JSII compliance for multi-language support
18
+ */
19
+ import * as cdktf from "cdktf";
20
+ import { Construct } from "constructs";
21
+ import { ConnectivityGroupItem, Hub } from "./connectivity-configuration-schemas";
22
+ import { AzapiResource, AzapiResourceProps } from "../../core-azure/lib/azapi/azapi-resource";
23
+ import { ApiSchema } from "../../core-azure/lib/version-manager/interfaces/version-interfaces";
24
+ /**
25
+ * Properties for the Azure Virtual Network Manager Connectivity Configuration
26
+ *
27
+ * Extends AzapiResourceProps with Connectivity Configuration specific properties
28
+ */
29
+ export interface ConnectivityConfigurationProps extends AzapiResourceProps {
30
+ /**
31
+ * Resource ID of the parent Network Manager
32
+ * @example "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Network/networkManagers/vnm"
33
+ */
34
+ readonly networkManagerId: string;
35
+ /**
36
+ * Optional description of the connectivity configuration
37
+ * @example "Hub-and-spoke topology for production workloads"
38
+ */
39
+ readonly description?: string;
40
+ /**
41
+ * Connectivity topology type
42
+ * - HubAndSpoke: Central hub with spoke VNets
43
+ * - Mesh: All VNets can communicate directly
44
+ * @example "HubAndSpoke"
45
+ * @example "Mesh"
46
+ */
47
+ readonly connectivityTopology: "HubAndSpoke" | "Mesh";
48
+ /**
49
+ * Network groups to apply this configuration to
50
+ * Each item specifies a network group and how it should connect
51
+ */
52
+ readonly appliesToGroups: ConnectivityGroupItem[];
53
+ /**
54
+ * Hub VNets for hub-and-spoke topology
55
+ * Required when connectivityTopology is "HubAndSpoke"
56
+ * @example [{ resourceId: "/subscriptions/.../virtualNetworks/hub-vnet", resourceType: "Microsoft.Network/virtualNetworks" }]
57
+ */
58
+ readonly hubs?: Hub[];
59
+ /**
60
+ * Enable global mesh connectivity
61
+ * Allows mesh connectivity across regions
62
+ * @default false
63
+ */
64
+ readonly isGlobal?: boolean;
65
+ /**
66
+ * Delete existing peerings when applying this configuration
67
+ * @default false
68
+ */
69
+ readonly deleteExistingPeering?: boolean;
70
+ /**
71
+ * The lifecycle rules to ignore changes
72
+ * @example ["tags"]
73
+ */
74
+ readonly ignoreChanges?: string[];
75
+ }
76
+ /**
77
+ * Properties for Connectivity Configuration body
78
+ */
79
+ export interface ConnectivityConfigurationProperties {
80
+ readonly description?: string;
81
+ readonly connectivityTopology: string;
82
+ readonly appliesToGroups: ConnectivityGroupItem[];
83
+ readonly hubs?: Hub[];
84
+ readonly isGlobal?: boolean;
85
+ readonly deleteExistingPeering?: boolean;
86
+ }
87
+ /**
88
+ * The resource body interface for Azure Connectivity Configuration API calls
89
+ */
90
+ export interface ConnectivityConfigurationBody {
91
+ readonly properties: ConnectivityConfigurationProperties;
92
+ }
93
+ /**
94
+ * Azure Virtual Network Manager Connectivity Configuration implementation
95
+ *
96
+ * Connectivity configurations define the network topology (mesh or hub-and-spoke) for
97
+ * virtual networks. They enable automated peering management at scale and support both
98
+ * regional and global connectivity scenarios.
99
+ *
100
+ * @example
101
+ * // Hub-and-spoke topology:
102
+ * const hubSpokeConfig = new ConnectivityConfiguration(this, "hub-spoke", {
103
+ * name: "production-hub-spoke",
104
+ * networkManagerId: networkManager.id,
105
+ * description: "Hub-and-spoke for production",
106
+ * connectivityTopology: "HubAndSpoke",
107
+ * appliesToGroups: [{
108
+ * networkGroupId: productionGroup.id,
109
+ * groupConnectivity: "None",
110
+ * useHubGateway: true
111
+ * }],
112
+ * hubs: [{
113
+ * resourceId: hubVnet.id,
114
+ * resourceType: "Microsoft.Network/virtualNetworks"
115
+ * }]
116
+ * });
117
+ *
118
+ * @example
119
+ * // Mesh topology:
120
+ * const meshConfig = new ConnectivityConfiguration(this, "mesh", {
121
+ * name: "development-mesh",
122
+ * networkManagerId: networkManager.id,
123
+ * description: "Mesh for development VNets",
124
+ * connectivityTopology: "Mesh",
125
+ * appliesToGroups: [{
126
+ * networkGroupId: devGroup.id,
127
+ * groupConnectivity: "DirectlyConnected",
128
+ * isGlobal: false
129
+ * }],
130
+ * isGlobal: false
131
+ * });
132
+ *
133
+ * @stability stable
134
+ */
135
+ export declare class ConnectivityConfiguration extends AzapiResource {
136
+ /**
137
+ * The input properties for this Connectivity Configuration instance
138
+ */
139
+ readonly props: ConnectivityConfigurationProps;
140
+ readonly idOutput: cdktf.TerraformOutput;
141
+ readonly nameOutput: cdktf.TerraformOutput;
142
+ readonly provisioningStateOutput: cdktf.TerraformOutput;
143
+ readonly resourceName: string;
144
+ /**
145
+ * Creates a new Azure Virtual Network Manager Connectivity Configuration using the AzapiResource framework
146
+ *
147
+ * @param scope - The scope in which to define this construct
148
+ * @param id - The unique identifier for this instance
149
+ * @param props - Configuration properties for the Connectivity Configuration
150
+ */
151
+ constructor(scope: Construct, id: string, props: ConnectivityConfigurationProps);
152
+ /**
153
+ * Resolves the parent resource ID for the Connectivity Configuration
154
+ * Connectivity Configurations are scoped to Network Managers
155
+ */
156
+ protected resolveParentId(props: any): string;
157
+ /**
158
+ * Gets the default API version to use when no explicit version is specified
159
+ */
160
+ protected defaultVersion(): string;
161
+ /**
162
+ * Gets the Azure resource type for Connectivity Configurations
163
+ */
164
+ protected resourceType(): string;
165
+ /**
166
+ * Gets the API schema for the resolved version
167
+ */
168
+ protected apiSchema(): ApiSchema;
169
+ /**
170
+ * Creates the resource body for the Azure API call
171
+ */
172
+ protected createResourceBody(props: any): any;
173
+ /**
174
+ * Get the provisioning state of the Connectivity Configuration
175
+ */
176
+ get provisioningState(): string;
177
+ /**
178
+ * Get the connectivity topology type
179
+ */
180
+ get topology(): "HubAndSpoke" | "Mesh";
181
+ /**
182
+ * Applies ignore changes lifecycle rules if specified in props
183
+ */
184
+ private _applyIgnoreChanges;
185
+ }
@@ -0,0 +1,206 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.ConnectivityConfiguration = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ /**
7
+ * Azure Virtual Network Manager Connectivity Configuration implementation using AzapiResource framework
8
+ *
9
+ * This class provides a unified implementation for defining network topology (mesh or hub-and-spoke)
10
+ * for virtual networks managed by Azure Virtual Network Manager.
11
+ *
12
+ * Supported API Versions:
13
+ * - 2023-11-01 (Maintenance)
14
+ * - 2024-05-01 (Active, Latest)
15
+ *
16
+ * Features:
17
+ * - Automatic latest version resolution when no version is specified
18
+ * - Explicit version pinning for stability requirements
19
+ * - Schema-driven validation and transformation
20
+ * - Support for mesh and hub-and-spoke topologies
21
+ * - Full backward compatibility
22
+ * - JSII compliance for multi-language support
23
+ */
24
+ const cdktf = require("cdktf");
25
+ const connectivity_configuration_schemas_1 = require("./connectivity-configuration-schemas");
26
+ const azapi_resource_1 = require("../../core-azure/lib/azapi/azapi-resource");
27
+ /**
28
+ * Azure Virtual Network Manager Connectivity Configuration implementation
29
+ *
30
+ * Connectivity configurations define the network topology (mesh or hub-and-spoke) for
31
+ * virtual networks. They enable automated peering management at scale and support both
32
+ * regional and global connectivity scenarios.
33
+ *
34
+ * @example
35
+ * // Hub-and-spoke topology:
36
+ * const hubSpokeConfig = new ConnectivityConfiguration(this, "hub-spoke", {
37
+ * name: "production-hub-spoke",
38
+ * networkManagerId: networkManager.id,
39
+ * description: "Hub-and-spoke for production",
40
+ * connectivityTopology: "HubAndSpoke",
41
+ * appliesToGroups: [{
42
+ * networkGroupId: productionGroup.id,
43
+ * groupConnectivity: "None",
44
+ * useHubGateway: true
45
+ * }],
46
+ * hubs: [{
47
+ * resourceId: hubVnet.id,
48
+ * resourceType: "Microsoft.Network/virtualNetworks"
49
+ * }]
50
+ * });
51
+ *
52
+ * @example
53
+ * // Mesh topology:
54
+ * const meshConfig = new ConnectivityConfiguration(this, "mesh", {
55
+ * name: "development-mesh",
56
+ * networkManagerId: networkManager.id,
57
+ * description: "Mesh for development VNets",
58
+ * connectivityTopology: "Mesh",
59
+ * appliesToGroups: [{
60
+ * networkGroupId: devGroup.id,
61
+ * groupConnectivity: "DirectlyConnected",
62
+ * isGlobal: false
63
+ * }],
64
+ * isGlobal: false
65
+ * });
66
+ *
67
+ * @stability stable
68
+ */
69
+ class ConnectivityConfiguration extends azapi_resource_1.AzapiResource {
70
+ /**
71
+ * Creates a new Azure Virtual Network Manager Connectivity Configuration using the AzapiResource framework
72
+ *
73
+ * @param scope - The scope in which to define this construct
74
+ * @param id - The unique identifier for this instance
75
+ * @param props - Configuration properties for the Connectivity Configuration
76
+ */
77
+ constructor(scope, id, props) {
78
+ super(scope, id, props);
79
+ this.props = props;
80
+ // Extract properties from the AZAPI resource outputs using Terraform interpolation
81
+ this.resourceName = `\${${this.terraformResource.fqn}.name}`;
82
+ // Create Terraform outputs for easy access and referencing from other resources
83
+ this.idOutput = new cdktf.TerraformOutput(this, "id", {
84
+ value: this.id,
85
+ description: "The ID of the Connectivity Configuration",
86
+ });
87
+ this.nameOutput = new cdktf.TerraformOutput(this, "name", {
88
+ value: this.resourceName,
89
+ description: "The name of the Connectivity Configuration",
90
+ });
91
+ this.provisioningStateOutput = new cdktf.TerraformOutput(this, "provisioningState", {
92
+ value: `\${${this.terraformResource.fqn}.output.properties.provisioningState}`,
93
+ description: "The provisioning state of the Connectivity Configuration",
94
+ });
95
+ // Override logical IDs to match naming convention
96
+ this.idOutput.overrideLogicalId("id");
97
+ this.nameOutput.overrideLogicalId("name");
98
+ this.provisioningStateOutput.overrideLogicalId("provisioningState");
99
+ // Apply ignore changes if specified
100
+ this._applyIgnoreChanges();
101
+ }
102
+ // =============================================================================
103
+ // REQUIRED ABSTRACT METHODS FROM AzapiResource
104
+ // =============================================================================
105
+ /**
106
+ * Resolves the parent resource ID for the Connectivity Configuration
107
+ * Connectivity Configurations are scoped to Network Managers
108
+ */
109
+ resolveParentId(props) {
110
+ const typedProps = props;
111
+ return typedProps.networkManagerId;
112
+ }
113
+ /**
114
+ * Gets the default API version to use when no explicit version is specified
115
+ */
116
+ defaultVersion() {
117
+ return "2024-05-01";
118
+ }
119
+ /**
120
+ * Gets the Azure resource type for Connectivity Configurations
121
+ */
122
+ resourceType() {
123
+ return connectivity_configuration_schemas_1.CONNECTIVITY_CONFIGURATION_TYPE;
124
+ }
125
+ /**
126
+ * Gets the API schema for the resolved version
127
+ */
128
+ apiSchema() {
129
+ return this.resolveSchema();
130
+ }
131
+ /**
132
+ * Creates the resource body for the Azure API call
133
+ */
134
+ createResourceBody(props) {
135
+ const typedProps = props;
136
+ // Process appliesToGroups to ensure groupConnectivity is set
137
+ // Convert booleans to strings to avoid CDKTF filtering out false values
138
+ const processedAppliesToGroups = typedProps.appliesToGroups.map((group) => {
139
+ const processedGroup = {
140
+ networkGroupId: group.networkGroupId,
141
+ groupConnectivity: group.groupConnectivity || "None",
142
+ };
143
+ // Convert booleans to string representations for Azure API
144
+ if (group.isGlobal !== undefined) {
145
+ processedGroup.isGlobal = group.isGlobal ? "True" : "False";
146
+ }
147
+ if (group.useHubGateway !== undefined) {
148
+ processedGroup.useHubGateway = group.useHubGateway ? "True" : "False";
149
+ }
150
+ return processedGroup;
151
+ });
152
+ const body = {
153
+ properties: {
154
+ description: typedProps.description,
155
+ connectivityTopology: typedProps.connectivityTopology,
156
+ appliesToGroups: processedAppliesToGroups,
157
+ hubs: typedProps.hubs,
158
+ },
159
+ };
160
+ // Convert top-level booleans to string representations for Azure API
161
+ if (typedProps.isGlobal !== undefined) {
162
+ body.properties.isGlobal = typedProps.isGlobal ? "True" : "False";
163
+ }
164
+ if (typedProps.deleteExistingPeering !== undefined) {
165
+ body.properties.deleteExistingPeering = typedProps.deleteExistingPeering
166
+ ? "True"
167
+ : "False";
168
+ }
169
+ return body;
170
+ }
171
+ // =============================================================================
172
+ // PUBLIC METHODS FOR CONNECTIVITY CONFIGURATION OPERATIONS
173
+ // =============================================================================
174
+ /**
175
+ * Get the provisioning state of the Connectivity Configuration
176
+ */
177
+ get provisioningState() {
178
+ return `\${${this.terraformResource.fqn}.output.properties.provisioningState}`;
179
+ }
180
+ /**
181
+ * Get the connectivity topology type
182
+ */
183
+ get topology() {
184
+ return this.props.connectivityTopology;
185
+ }
186
+ // =============================================================================
187
+ // PRIVATE HELPER METHODS
188
+ // =============================================================================
189
+ /**
190
+ * Applies ignore changes lifecycle rules if specified in props
191
+ */
192
+ _applyIgnoreChanges() {
193
+ if (this.props.ignoreChanges && this.props.ignoreChanges.length > 0) {
194
+ this.terraformResource.addOverride("lifecycle", {
195
+ ignore_changes: this.props.ignoreChanges,
196
+ });
197
+ }
198
+ }
199
+ }
200
+ exports.ConnectivityConfiguration = ConnectivityConfiguration;
201
+ _a = JSII_RTTI_SYMBOL_1;
202
+ ConnectivityConfiguration[_a] = { fqn: "@microsoft/terraform-cdk-constructs.ConnectivityConfiguration", version: "1.3.1" };
203
+ (() => {
204
+ azapi_resource_1.AzapiResource.registerSchemas(connectivity_configuration_schemas_1.CONNECTIVITY_CONFIGURATION_TYPE, connectivity_configuration_schemas_1.ALL_CONNECTIVITY_CONFIGURATION_VERSIONS);
205
+ })();
206
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGl2aXR5LWNvbmZpZ3VyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUtdmlydHVhbG5ldHdvcmttYW5hZ2VyL2xpYi9jb25uZWN0aXZpdHktY29uZmlndXJhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCRztBQUVILCtCQUErQjtBQUUvQiw2RkFLOEM7QUFDOUMsOEVBR21EO0FBa0ZuRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5Q0c7QUFDSCxNQUFhLHlCQUEwQixTQUFRLDhCQUFhO0lBcUIxRDs7Ozs7O09BTUc7SUFDSCxZQUNFLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixLQUFxQztRQUVyQyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV4QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUVuQixtRkFBbUY7UUFDbkYsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLFFBQVEsQ0FBQztRQUU3RCxnRkFBZ0Y7UUFDaEYsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRTtZQUNwRCxLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDZCxXQUFXLEVBQUUsMENBQTBDO1NBQ3hELENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUU7WUFDeEQsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQ3hCLFdBQVcsRUFBRSw0Q0FBNEM7U0FDMUQsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FDdEQsSUFBSSxFQUNKLG1CQUFtQixFQUNuQjtZQUNFLEtBQUssRUFBRSxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLHVDQUF1QztZQUM5RSxXQUFXLEVBQUUsMERBQTBEO1NBQ3hFLENBQ0YsQ0FBQztRQUVGLGtEQUFrRDtRQUNsRCxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLGlCQUFpQixDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFFcEUsb0NBQW9DO1FBQ3BDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxnRkFBZ0Y7SUFDaEYsK0NBQStDO0lBQy9DLGdGQUFnRjtJQUVoRjs7O09BR0c7SUFDTyxlQUFlLENBQUMsS0FBVTtRQUNsQyxNQUFNLFVBQVUsR0FBRyxLQUF1QyxDQUFDO1FBQzNELE9BQU8sVUFBVSxDQUFDLGdCQUFnQixDQUFDO0lBQ3JDLENBQUM7SUFFRDs7T0FFRztJQUNPLGNBQWM7UUFDdEIsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztJQUVEOztPQUVHO0lBQ08sWUFBWTtRQUNwQixPQUFPLG9FQUErQixDQUFDO0lBQ3pDLENBQUM7SUFFRDs7T0FFRztJQUNPLFNBQVM7UUFDakIsT0FBTyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVEOztPQUVHO0lBQ08sa0JBQWtCLENBQUMsS0FBVTtRQUNyQyxNQUFNLFVBQVUsR0FBRyxLQUF1QyxDQUFDO1FBRTNELDZEQUE2RDtRQUM3RCx3RUFBd0U7UUFDeEUsTUFBTSx3QkFBd0IsR0FBRyxVQUFVLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3hFLE1BQU0sY0FBYyxHQUFRO2dCQUMxQixjQUFjLEVBQUUsS0FBSyxDQUFDLGNBQWM7Z0JBQ3BDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxpQkFBaUIsSUFBSSxNQUFNO2FBQ3JELENBQUM7WUFDRiwyREFBMkQ7WUFDM0QsSUFBSSxLQUFLLENBQUMsUUFBUSxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUNqQyxjQUFjLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1lBQzlELENBQUM7WUFDRCxJQUFJLEtBQUssQ0FBQyxhQUFhLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQ3RDLGNBQWMsQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7WUFDeEUsQ0FBQztZQUNELE9BQU8sY0FBYyxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxJQUFJLEdBQVE7WUFDaEIsVUFBVSxFQUFFO2dCQUNWLFdBQVcsRUFBRSxVQUFVLENBQUMsV0FBVztnQkFDbkMsb0JBQW9CLEVBQUUsVUFBVSxDQUFDLG9CQUFvQjtnQkFDckQsZUFBZSxFQUFFLHdCQUF3QjtnQkFDekMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJO2FBQ3RCO1NBQ0YsQ0FBQztRQUVGLHFFQUFxRTtRQUNyRSxJQUFJLFVBQVUsQ0FBQyxRQUFRLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDdEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDcEUsQ0FBQztRQUNELElBQUksVUFBVSxDQUFDLHFCQUFxQixLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ25ELElBQUksQ0FBQyxVQUFVLENBQUMscUJBQXFCLEdBQUcsVUFBVSxDQUFDLHFCQUFxQjtnQkFDdEUsQ0FBQyxDQUFDLE1BQU07Z0JBQ1IsQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUNkLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxnRkFBZ0Y7SUFDaEYsMkRBQTJEO0lBQzNELGdGQUFnRjtJQUVoRjs7T0FFRztJQUNILElBQVcsaUJBQWlCO1FBQzFCLE9BQU8sTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyx1Q0FBdUMsQ0FBQztJQUNqRixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLG9CQUFvQixDQUFDO0lBQ3pDLENBQUM7SUFFRCxnRkFBZ0Y7SUFDaEYseUJBQXlCO0lBQ3pCLGdGQUFnRjtJQUVoRjs7T0FFRztJQUNLLG1CQUFtQjtRQUN6QixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNwRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRTtnQkFDOUMsY0FBYyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYTthQUN6QyxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQzs7QUFuTEgsOERBb0xDOzs7QUFuTEM7SUFDRSw4QkFBYSxDQUFDLGVBQWUsQ0FDM0Isb0VBQStCLEVBQy9CLDRFQUF1QyxDQUN4QyxDQUFDO0FBQ0osQ0FBQyxHQUFBLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEF6dXJlIFZpcnR1YWwgTmV0d29yayBNYW5hZ2VyIENvbm5lY3Rpdml0eSBDb25maWd1cmF0aW9uIGltcGxlbWVudGF0aW9uIHVzaW5nIEF6YXBpUmVzb3VyY2UgZnJhbWV3b3JrXG4gKlxuICogVGhpcyBjbGFzcyBwcm92aWRlcyBhIHVuaWZpZWQgaW1wbGVtZW50YXRpb24gZm9yIGRlZmluaW5nIG5ldHdvcmsgdG9wb2xvZ3kgKG1lc2ggb3IgaHViLWFuZC1zcG9rZSlcbiAqIGZvciB2aXJ0dWFsIG5ldHdvcmtzIG1hbmFnZWQgYnkgQXp1cmUgVmlydHVhbCBOZXR3b3JrIE1hbmFnZXIuXG4gKlxuICogU3VwcG9ydGVkIEFQSSBWZXJzaW9uczpcbiAqIC0gMjAyMy0xMS0wMSAoTWFpbnRlbmFuY2UpXG4gKiAtIDIwMjQtMDUtMDEgKEFjdGl2ZSwgTGF0ZXN0KVxuICpcbiAqIEZlYXR1cmVzOlxuICogLSBBdXRvbWF0aWMgbGF0ZXN0IHZlcnNpb24gcmVzb2x1dGlvbiB3aGVuIG5vIHZlcnNpb24gaXMgc3BlY2lmaWVkXG4gKiAtIEV4cGxpY2l0IHZlcnNpb24gcGlubmluZyBmb3Igc3RhYmlsaXR5IHJlcXVpcmVtZW50c1xuICogLSBTY2hlbWEtZHJpdmVuIHZhbGlkYXRpb24gYW5kIHRyYW5zZm9ybWF0aW9uXG4gKiAtIFN1cHBvcnQgZm9yIG1lc2ggYW5kIGh1Yi1hbmQtc3Bva2UgdG9wb2xvZ2llc1xuICogLSBGdWxsIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbiAqIC0gSlNJSSBjb21wbGlhbmNlIGZvciBtdWx0aS1sYW5ndWFnZSBzdXBwb3J0XG4gKi9cblxuaW1wb3J0ICogYXMgY2RrdGYgZnJvbSBcImNka3RmXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtcbiAgQUxMX0NPTk5FQ1RJVklUWV9DT05GSUdVUkFUSU9OX1ZFUlNJT05TLFxuICBDT05ORUNUSVZJVFlfQ09ORklHVVJBVElPTl9UWVBFLFxuICBDb25uZWN0aXZpdHlHcm91cEl0ZW0sXG4gIEh1Yixcbn0gZnJvbSBcIi4vY29ubmVjdGl2aXR5LWNvbmZpZ3VyYXRpb24tc2NoZW1hc1wiO1xuaW1wb3J0IHtcbiAgQXphcGlSZXNvdXJjZSxcbiAgQXphcGlSZXNvdXJjZVByb3BzLFxufSBmcm9tIFwiLi4vLi4vY29yZS1henVyZS9saWIvYXphcGkvYXphcGktcmVzb3VyY2VcIjtcbmltcG9ydCB7IEFwaVNjaGVtYSB9IGZyb20gXCIuLi8uLi9jb3JlLWF6dXJlL2xpYi92ZXJzaW9uLW1hbmFnZXIvaW50ZXJmYWNlcy92ZXJzaW9uLWludGVyZmFjZXNcIjtcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciB0aGUgQXp1cmUgVmlydHVhbCBOZXR3b3JrIE1hbmFnZXIgQ29ubmVjdGl2aXR5IENvbmZpZ3VyYXRpb25cbiAqXG4gKiBFeHRlbmRzIEF6YXBpUmVzb3VyY2VQcm9wcyB3aXRoIENvbm5lY3Rpdml0eSBDb25maWd1cmF0aW9uIHNwZWNpZmljIHByb3BlcnRpZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25uZWN0aXZpdHlDb25maWd1cmF0aW9uUHJvcHMgZXh0ZW5kcyBBemFwaVJlc291cmNlUHJvcHMge1xuICAvKipcbiAgICogUmVzb3VyY2UgSUQgb2YgdGhlIHBhcmVudCBOZXR3b3JrIE1hbmFnZXJcbiAgICogQGV4YW1wbGUgXCIvc3Vic2NyaXB0aW9ucy8wMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAvcmVzb3VyY2VHcm91cHMvcmcvcHJvdmlkZXJzL01pY3Jvc29mdC5OZXR3b3JrL25ldHdvcmtNYW5hZ2Vycy92bm1cIlxuICAgKi9cbiAgcmVhZG9ubHkgbmV0d29ya01hbmFnZXJJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBkZXNjcmlwdGlvbiBvZiB0aGUgY29ubmVjdGl2aXR5IGNvbmZpZ3VyYXRpb25cbiAgICogQGV4YW1wbGUgXCJIdWItYW5kLXNwb2tlIHRvcG9sb2d5IGZvciBwcm9kdWN0aW9uIHdvcmtsb2Fkc1wiXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogQ29ubmVjdGl2aXR5IHRvcG9sb2d5IHR5cGVcbiAgICogLSBIdWJBbmRTcG9rZTogQ2VudHJhbCBodWIgd2l0aCBzcG9rZSBWTmV0c1xuICAgKiAtIE1lc2g6IEFsbCBWTmV0cyBjYW4gY29tbXVuaWNhdGUgZGlyZWN0bHlcbiAgICogQGV4YW1wbGUgXCJIdWJBbmRTcG9rZVwiXG4gICAqIEBleGFtcGxlIFwiTWVzaFwiXG4gICAqL1xuICByZWFkb25seSBjb25uZWN0aXZpdHlUb3BvbG9neTogXCJIdWJBbmRTcG9rZVwiIHwgXCJNZXNoXCI7XG5cbiAgLyoqXG4gICAqIE5ldHdvcmsgZ3JvdXBzIHRvIGFwcGx5IHRoaXMgY29uZmlndXJhdGlvbiB0b1xuICAgKiBFYWNoIGl0ZW0gc3BlY2lmaWVzIGEgbmV0d29yayBncm91cCBhbmQgaG93IGl0IHNob3VsZCBjb25uZWN0XG4gICAqL1xuICByZWFkb25seSBhcHBsaWVzVG9Hcm91cHM6IENvbm5lY3Rpdml0eUdyb3VwSXRlbVtdO1xuXG4gIC8qKlxuICAgKiBIdWIgVk5ldHMgZm9yIGh1Yi1hbmQtc3Bva2UgdG9wb2xvZ3lcbiAgICogUmVxdWlyZWQgd2hlbiBjb25uZWN0aXZpdHlUb3BvbG9neSBpcyBcIkh1YkFuZFNwb2tlXCJcbiAgICogQGV4YW1wbGUgW3sgcmVzb3VyY2VJZDogXCIvc3Vic2NyaXB0aW9ucy8uLi4vdmlydHVhbE5ldHdvcmtzL2h1Yi12bmV0XCIsIHJlc291cmNlVHlwZTogXCJNaWNyb3NvZnQuTmV0d29yay92aXJ0dWFsTmV0d29ya3NcIiB9XVxuICAgKi9cbiAgcmVhZG9ubHkgaHVicz86IEh1YltdO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgZ2xvYmFsIG1lc2ggY29ubmVjdGl2aXR5XG4gICAqIEFsbG93cyBtZXNoIGNvbm5lY3Rpdml0eSBhY3Jvc3MgcmVnaW9uc1xuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgaXNHbG9iYWw/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBEZWxldGUgZXhpc3RpbmcgcGVlcmluZ3Mgd2hlbiBhcHBseWluZyB0aGlzIGNvbmZpZ3VyYXRpb25cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGRlbGV0ZUV4aXN0aW5nUGVlcmluZz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBsaWZlY3ljbGUgcnVsZXMgdG8gaWdub3JlIGNoYW5nZXNcbiAgICogQGV4YW1wbGUgW1widGFnc1wiXVxuICAgKi9cbiAgcmVhZG9ubHkgaWdub3JlQ2hhbmdlcz86IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIENvbm5lY3Rpdml0eSBDb25maWd1cmF0aW9uIGJvZHlcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25uZWN0aXZpdHlDb25maWd1cmF0aW9uUHJvcGVydGllcyB7XG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICByZWFkb25seSBjb25uZWN0aXZpdHlUb3BvbG9neTogc3RyaW5nO1xuICByZWFkb25seSBhcHBsaWVzVG9Hcm91cHM6IENvbm5lY3Rpdml0eUdyb3VwSXRlbVtdO1xuICByZWFkb25seSBodWJzPzogSHViW107XG4gIHJlYWRvbmx5IGlzR2xvYmFsPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgZGVsZXRlRXhpc3RpbmdQZWVyaW5nPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBUaGUgcmVzb3VyY2UgYm9keSBpbnRlcmZhY2UgZm9yIEF6dXJlIENvbm5lY3Rpdml0eSBDb25maWd1cmF0aW9uIEFQSSBjYWxsc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbm5lY3Rpdml0eUNvbmZpZ3VyYXRpb25Cb2R5IHtcbiAgcmVhZG9ubHkgcHJvcGVydGllczogQ29ubmVjdGl2aXR5Q29uZmlndXJhdGlvblByb3BlcnRpZXM7XG59XG5cbi8qKlxuICogQXp1cmUgVmlydHVhbCBOZXR3b3JrIE1hbmFnZXIgQ29ubmVjdGl2aXR5IENvbmZpZ3VyYXRpb24gaW1wbGVtZW50YXRpb25cbiAqXG4gKiBDb25uZWN0aXZpdHkgY29uZmlndXJhdGlvbnMgZGVmaW5lIHRoZSBuZXR3b3JrIHRvcG9sb2d5IChtZXNoIG9yIGh1Yi1hbmQtc3Bva2UpIGZvclxuICogdmlydHVhbCBuZXR3b3Jrcy4gVGhleSBlbmFibGUgYXV0b21hdGVkIHBlZXJpbmcgbWFuYWdlbWVudCBhdCBzY2FsZSBhbmQgc3VwcG9ydCBib3RoXG4gKiByZWdpb25hbCBhbmQgZ2xvYmFsIGNvbm5lY3Rpdml0eSBzY2VuYXJpb3MuXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEh1Yi1hbmQtc3Bva2UgdG9wb2xvZ3k6XG4gKiBjb25zdCBodWJTcG9rZUNvbmZpZyA9IG5ldyBDb25uZWN0aXZpdHlDb25maWd1cmF0aW9uKHRoaXMsIFwiaHViLXNwb2tlXCIsIHtcbiAqICAgbmFtZTogXCJwcm9kdWN0aW9uLWh1Yi1zcG9rZVwiLFxuICogICBuZXR3b3JrTWFuYWdlcklkOiBuZXR3b3JrTWFuYWdlci5pZCxcbiAqICAgZGVzY3JpcHRpb246IFwiSHViLWFuZC1zcG9rZSBmb3IgcHJvZHVjdGlvblwiLFxuICogICBjb25uZWN0aXZpdHlUb3BvbG9neTogXCJIdWJBbmRTcG9rZVwiLFxuICogICBhcHBsaWVzVG9Hcm91cHM6IFt7XG4gKiAgICAgbmV0d29ya0dyb3VwSWQ6IHByb2R1Y3Rpb25Hcm91cC5pZCxcbiAqICAgICBncm91cENvbm5lY3Rpdml0eTogXCJOb25lXCIsXG4gKiAgICAgdXNlSHViR2F0ZXdheTogdHJ1ZVxuICogICB9XSxcbiAqICAgaHViczogW3tcbiAqICAgICByZXNvdXJjZUlkOiBodWJWbmV0LmlkLFxuICogICAgIHJlc291cmNlVHlwZTogXCJNaWNyb3NvZnQuTmV0d29yay92aXJ0dWFsTmV0d29ya3NcIlxuICogICB9XVxuICogfSk7XG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIE1lc2ggdG9wb2xvZ3k6XG4gKiBjb25zdCBtZXNoQ29uZmlnID0gbmV3IENvbm5lY3Rpdml0eUNvbmZpZ3VyYXRpb24odGhpcywgXCJtZXNoXCIsIHtcbiAqICAgbmFtZTogXCJkZXZlbG9wbWVudC1tZXNoXCIsXG4gKiAgIG5ldHdvcmtNYW5hZ2VySWQ6IG5ldHdvcmtNYW5hZ2VyLmlkLFxuICogICBkZXNjcmlwdGlvbjogXCJNZXNoIGZvciBkZXZlbG9wbWVudCBWTmV0c1wiLFxuICogICBjb25uZWN0aXZpdHlUb3BvbG9neTogXCJNZXNoXCIsXG4gKiAgIGFwcGxpZXNUb0dyb3VwczogW3tcbiAqICAgICBuZXR3b3JrR3JvdXBJZDogZGV2R3JvdXAuaWQsXG4gKiAgICAgZ3JvdXBDb25uZWN0aXZpdHk6IFwiRGlyZWN0bHlDb25uZWN0ZWRcIixcbiAqICAgICBpc0dsb2JhbDogZmFsc2VcbiAqICAgfV0sXG4gKiAgIGlzR2xvYmFsOiBmYWxzZVxuICogfSk7XG4gKlxuICogQHN0YWJpbGl0eSBzdGFibGVcbiAqL1xuZXhwb3J0IGNsYXNzIENvbm5lY3Rpdml0eUNvbmZpZ3VyYXRpb24gZXh0ZW5kcyBBemFwaVJlc291cmNlIHtcbiAgc3RhdGljIHtcbiAgICBBemFwaVJlc291cmNlLnJlZ2lzdGVyU2NoZW1hcyhcbiAgICAgIENPTk5FQ1RJVklUWV9DT05GSUdVUkFUSU9OX1RZUEUsXG4gICAgICBBTExfQ09OTkVDVElWSVRZX0NPTkZJR1VSQVRJT05fVkVSU0lPTlMsXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgaW5wdXQgcHJvcGVydGllcyBmb3IgdGhpcyBDb25uZWN0aXZpdHkgQ29uZmlndXJhdGlvbiBpbnN0YW5jZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHByb3BzOiBDb25uZWN0aXZpdHlDb25maWd1cmF0aW9uUHJvcHM7XG5cbiAgLy8gT3V0cHV0IHByb3BlcnRpZXMgZm9yIGVhc3kgYWNjZXNzIGFuZCByZWZlcmVuY2luZ1xuICBwdWJsaWMgcmVhZG9ubHkgaWRPdXRwdXQ6IGNka3RmLlRlcnJhZm9ybU91dHB1dDtcbiAgcHVibGljIHJlYWRvbmx5IG5hbWVPdXRwdXQ6IGNka3RmLlRlcnJhZm9ybU91dHB1dDtcbiAgcHVibGljIHJlYWRvbmx5IHByb3Zpc2lvbmluZ1N0YXRlT3V0cHV0OiBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQ7XG5cbiAgLy8gUHVibGljIHByb3BlcnRpZXNcbiAgcHVibGljIHJlYWRvbmx5IHJlc291cmNlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IEF6dXJlIFZpcnR1YWwgTmV0d29yayBNYW5hZ2VyIENvbm5lY3Rpdml0eSBDb25maWd1cmF0aW9uIHVzaW5nIHRoZSBBemFwaVJlc291cmNlIGZyYW1ld29ya1xuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgLSBUaGUgc2NvcGUgaW4gd2hpY2ggdG8gZGVmaW5lIHRoaXMgY29uc3RydWN0XG4gICAqIEBwYXJhbSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhpcyBpbnN0YW5jZVxuICAgKiBAcGFyYW0gcHJvcHMgLSBDb25maWd1cmF0aW9uIHByb3BlcnRpZXMgZm9yIHRoZSBDb25uZWN0aXZpdHkgQ29uZmlndXJhdGlvblxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzOiBDb25uZWN0aXZpdHlDb25maWd1cmF0aW9uUHJvcHMsXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuXG4gICAgdGhpcy5wcm9wcyA9IHByb3BzO1xuXG4gICAgLy8gRXh0cmFjdCBwcm9wZXJ0aWVzIGZyb20gdGhlIEFaQVBJIHJlc291cmNlIG91dHB1dHMgdXNpbmcgVGVycmFmb3JtIGludGVycG9sYXRpb25cbiAgICB0aGlzLnJlc291cmNlTmFtZSA9IGBcXCR7JHt0aGlzLnRlcnJhZm9ybVJlc291cmNlLmZxbn0ubmFtZX1gO1xuXG4gICAgLy8gQ3JlYXRlIFRlcnJhZm9ybSBvdXRwdXRzIGZvciBlYXN5IGFjY2VzcyBhbmQgcmVmZXJlbmNpbmcgZnJvbSBvdGhlciByZXNvdXJjZXNcbiAgICB0aGlzLmlkT3V0cHV0ID0gbmV3IGNka3RmLlRlcnJhZm9ybU91dHB1dCh0aGlzLCBcImlkXCIsIHtcbiAgICAgIHZhbHVlOiB0aGlzLmlkLFxuICAgICAgZGVzY3JpcHRpb246IFwiVGhlIElEIG9mIHRoZSBDb25uZWN0aXZpdHkgQ29uZmlndXJhdGlvblwiLFxuICAgIH0pO1xuXG4gICAgdGhpcy5uYW1lT3V0cHV0ID0gbmV3IGNka3RmLlRlcnJhZm9ybU91dHB1dCh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgdmFsdWU6IHRoaXMucmVzb3VyY2VOYW1lLFxuICAgICAgZGVzY3JpcHRpb246IFwiVGhlIG5hbWUgb2YgdGhlIENvbm5lY3Rpdml0eSBDb25maWd1cmF0aW9uXCIsXG4gICAgfSk7XG5cbiAgICB0aGlzLnByb3Zpc2lvbmluZ1N0YXRlT3V0cHV0ID0gbmV3IGNka3RmLlRlcnJhZm9ybU91dHB1dChcbiAgICAgIHRoaXMsXG4gICAgICBcInByb3Zpc2lvbmluZ1N0YXRlXCIsXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiBgXFwkeyR7dGhpcy50ZXJyYWZvcm1SZXNvdXJjZS5mcW59Lm91dHB1dC5wcm9wZXJ0aWVzLnByb3Zpc2lvbmluZ1N0YXRlfWAsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSBwcm92aXNpb25pbmcgc3RhdGUgb2YgdGhlIENvbm5lY3Rpdml0eSBDb25maWd1cmF0aW9uXCIsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICAvLyBPdmVycmlkZSBsb2dpY2FsIElEcyB0byBtYXRjaCBuYW1pbmcgY29udmVudGlvblxuICAgIHRoaXMuaWRPdXRwdXQub3ZlcnJpZGVMb2dpY2FsSWQoXCJpZFwiKTtcbiAgICB0aGlzLm5hbWVPdXRwdXQub3ZlcnJpZGVMb2dpY2FsSWQoXCJuYW1lXCIpO1xuICAgIHRoaXMucHJvdmlzaW9uaW5nU3RhdGVPdXRwdXQub3ZlcnJpZGVMb2dpY2FsSWQoXCJwcm92aXNpb25pbmdTdGF0ZVwiKTtcblxuICAgIC8vIEFwcGx5IGlnbm9yZSBjaGFuZ2VzIGlmIHNwZWNpZmllZFxuICAgIHRoaXMuX2FwcGx5SWdub3JlQ2hhbmdlcygpO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gUkVRVUlSRUQgQUJTVFJBQ1QgTUVUSE9EUyBGUk9NIEF6YXBpUmVzb3VyY2VcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvKipcbiAgICogUmVzb2x2ZXMgdGhlIHBhcmVudCByZXNvdXJjZSBJRCBmb3IgdGhlIENvbm5lY3Rpdml0eSBDb25maWd1cmF0aW9uXG4gICAqIENvbm5lY3Rpdml0eSBDb25maWd1cmF0aW9ucyBhcmUgc2NvcGVkIHRvIE5ldHdvcmsgTWFuYWdlcnNcbiAgICovXG4gIHByb3RlY3RlZCByZXNvbHZlUGFyZW50SWQocHJvcHM6IGFueSk6IHN0cmluZyB7XG4gICAgY29uc3QgdHlwZWRQcm9wcyA9IHByb3BzIGFzIENvbm5lY3Rpdml0eUNvbmZpZ3VyYXRpb25Qcm9wcztcbiAgICByZXR1cm4gdHlwZWRQcm9wcy5uZXR3b3JrTWFuYWdlcklkO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGRlZmF1bHQgQVBJIHZlcnNpb24gdG8gdXNlIHdoZW4gbm8gZXhwbGljaXQgdmVyc2lvbiBpcyBzcGVjaWZpZWRcbiAgICovXG4gIHByb3RlY3RlZCBkZWZhdWx0VmVyc2lvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiBcIjIwMjQtMDUtMDFcIjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBBenVyZSByZXNvdXJjZSB0eXBlIGZvciBDb25uZWN0aXZpdHkgQ29uZmlndXJhdGlvbnNcbiAgICovXG4gIHByb3RlY3RlZCByZXNvdXJjZVR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gQ09OTkVDVElWSVRZX0NPTkZJR1VSQVRJT05fVFlQRTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBBUEkgc2NoZW1hIGZvciB0aGUgcmVzb2x2ZWQgdmVyc2lvblxuICAgKi9cbiAgcHJvdGVjdGVkIGFwaVNjaGVtYSgpOiBBcGlTY2hlbWEge1xuICAgIHJldHVybiB0aGlzLnJlc29sdmVTY2hlbWEoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIHRoZSByZXNvdXJjZSBib2R5IGZvciB0aGUgQXp1cmUgQVBJIGNhbGxcbiAgICovXG4gIHByb3RlY3RlZCBjcmVhdGVSZXNvdXJjZUJvZHkocHJvcHM6IGFueSk6IGFueSB7XG4gICAgY29uc3QgdHlwZWRQcm9wcyA9IHByb3BzIGFzIENvbm5lY3Rpdml0eUNvbmZpZ3VyYXRpb25Qcm9wcztcblxuICAgIC8vIFByb2Nlc3MgYXBwbGllc1RvR3JvdXBzIHRvIGVuc3VyZSBncm91cENvbm5lY3Rpdml0eSBpcyBzZXRcbiAgICAvLyBDb252ZXJ0IGJvb2xlYW5zIHRvIHN0cmluZ3MgdG8gYXZvaWQgQ0RLVEYgZmlsdGVyaW5nIG91dCBmYWxzZSB2YWx1ZXNcbiAgICBjb25zdCBwcm9jZXNzZWRBcHBsaWVzVG9Hcm91cHMgPSB0eXBlZFByb3BzLmFwcGxpZXNUb0dyb3Vwcy5tYXAoKGdyb3VwKSA9PiB7XG4gICAgICBjb25zdCBwcm9jZXNzZWRHcm91cDogYW55ID0ge1xuICAgICAgICBuZXR3b3JrR3JvdXBJZDogZ3JvdXAubmV0d29ya0dyb3VwSWQsXG4gICAgICAgIGdyb3VwQ29ubmVjdGl2aXR5OiBncm91cC5ncm91cENvbm5lY3Rpdml0eSB8fCBcIk5vbmVcIixcbiAgICAgIH07XG4gICAgICAvLyBDb252ZXJ0IGJvb2xlYW5zIHRvIHN0cmluZyByZXByZXNlbnRhdGlvbnMgZm9yIEF6dXJlIEFQSVxuICAgICAgaWYgKGdyb3VwLmlzR2xvYmFsICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcHJvY2Vzc2VkR3JvdXAuaXNHbG9iYWwgPSBncm91cC5pc0dsb2JhbCA/IFwiVHJ1ZVwiIDogXCJGYWxzZVwiO1xuICAgICAgfVxuICAgICAgaWYgKGdyb3VwLnVzZUh1YkdhdGV3YXkgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBwcm9jZXNzZWRHcm91cC51c2VIdWJHYXRld2F5ID0gZ3JvdXAudXNlSHViR2F0ZXdheSA/IFwiVHJ1ZVwiIDogXCJGYWxzZVwiO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHByb2Nlc3NlZEdyb3VwO1xuICAgIH0pO1xuXG4gICAgY29uc3QgYm9keTogYW55ID0ge1xuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBkZXNjcmlwdGlvbjogdHlwZWRQcm9wcy5kZXNjcmlwdGlvbixcbiAgICAgICAgY29ubmVjdGl2aXR5VG9wb2xvZ3k6IHR5cGVkUHJvcHMuY29ubmVjdGl2aXR5VG9wb2xvZ3ksXG4gICAgICAgIGFwcGxpZXNUb0dyb3VwczogcHJvY2Vzc2VkQXBwbGllc1RvR3JvdXBzLFxuICAgICAgICBodWJzOiB0eXBlZFByb3BzLmh1YnMsXG4gICAgICB9LFxuICAgIH07XG5cbiAgICAvLyBDb252ZXJ0IHRvcC1sZXZlbCBib29sZWFucyB0byBzdHJpbmcgcmVwcmVzZW50YXRpb25zIGZvciBBenVyZSBBUElcbiAgICBpZiAodHlwZWRQcm9wcy5pc0dsb2JhbCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBib2R5LnByb3BlcnRpZXMuaXNHbG9iYWwgPSB0eXBlZFByb3BzLmlzR2xvYmFsID8gXCJUcnVlXCIgOiBcIkZhbHNlXCI7XG4gICAgfVxuICAgIGlmICh0eXBlZFByb3BzLmRlbGV0ZUV4aXN0aW5nUGVlcmluZyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBib2R5LnByb3BlcnRpZXMuZGVsZXRlRXhpc3RpbmdQZWVyaW5nID0gdHlwZWRQcm9wcy5kZWxldGVFeGlzdGluZ1BlZXJpbmdcbiAgICAgICAgPyBcIlRydWVcIlxuICAgICAgICA6IFwiRmFsc2VcIjtcbiAgICB9XG5cbiAgICByZXR1cm4gYm9keTtcbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFBVQkxJQyBNRVRIT0RTIEZPUiBDT05ORUNUSVZJVFkgQ09ORklHVVJBVElPTiBPUEVSQVRJT05TXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgcHJvdmlzaW9uaW5nIHN0YXRlIG9mIHRoZSBDb25uZWN0aXZpdHkgQ29uZmlndXJhdGlvblxuICAgKi9cbiAgcHVibGljIGdldCBwcm92aXNpb25pbmdTdGF0ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgXFwkeyR7dGhpcy50ZXJyYWZvcm1SZXNvdXJjZS5mcW59Lm91dHB1dC5wcm9wZXJ0aWVzLnByb3Zpc2lvbmluZ1N0YXRlfWA7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBjb25uZWN0aXZpdHkgdG9wb2xvZ3kgdHlwZVxuICAgKi9cbiAgcHVibGljIGdldCB0b3BvbG9neSgpOiBcIkh1YkFuZFNwb2tlXCIgfCBcIk1lc2hcIiB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuY29ubmVjdGl2aXR5VG9wb2xvZ3k7XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBQUklWQVRFIEhFTFBFUiBNRVRIT0RTXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLyoqXG4gICAqIEFwcGxpZXMgaWdub3JlIGNoYW5nZXMgbGlmZWN5Y2xlIHJ1bGVzIGlmIHNwZWNpZmllZCBpbiBwcm9wc1xuICAgKi9cbiAgcHJpdmF0ZSBfYXBwbHlJZ25vcmVDaGFuZ2VzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnByb3BzLmlnbm9yZUNoYW5nZXMgJiYgdGhpcy5wcm9wcy5pZ25vcmVDaGFuZ2VzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMudGVycmFmb3JtUmVzb3VyY2UuYWRkT3ZlcnJpZGUoXCJsaWZlY3ljbGVcIiwge1xuICAgICAgICBpZ25vcmVfY2hhbmdlczogdGhpcy5wcm9wcy5pZ25vcmVDaGFuZ2VzLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,14 @@
1
+ export * from "./connectivity-configuration-schemas";
2
+ export * from "./connectivity-configuration";
3
+ export * from "./network-group-schemas";
4
+ export * from "./network-group-static-member-schemas";
5
+ export * from "./network-group-static-member";
6
+ export * from "./network-group";
7
+ export * from "./security-admin-configuration-schemas";
8
+ export * from "./security-admin-configuration";
9
+ export * from "./security-admin-rule-collection-schemas";
10
+ export * from "./security-admin-rule-collection";
11
+ export * from "./security-admin-rule-schemas";
12
+ export * from "./security-admin-rule";
13
+ export * from "./virtual-network-manager-schemas";
14
+ export * from "./virtual-network-manager";
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./connectivity-configuration-schemas"), exports);
18
+ __exportStar(require("./connectivity-configuration"), exports);
19
+ __exportStar(require("./network-group-schemas"), exports);
20
+ __exportStar(require("./network-group-static-member-schemas"), exports);
21
+ __exportStar(require("./network-group-static-member"), exports);
22
+ __exportStar(require("./network-group"), exports);
23
+ __exportStar(require("./security-admin-configuration-schemas"), exports);
24
+ __exportStar(require("./security-admin-configuration"), exports);
25
+ __exportStar(require("./security-admin-rule-collection-schemas"), exports);
26
+ __exportStar(require("./security-admin-rule-collection"), exports);
27
+ __exportStar(require("./security-admin-rule-schemas"), exports);
28
+ __exportStar(require("./security-admin-rule"), exports);
29
+ __exportStar(require("./virtual-network-manager-schemas"), exports);
30
+ __exportStar(require("./virtual-network-manager"), exports);
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUtdmlydHVhbG5ldHdvcmttYW5hZ2VyL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsdUVBQXFEO0FBQ3JELCtEQUE2QztBQUM3QywwREFBd0M7QUFDeEMsd0VBQXNEO0FBQ3RELGdFQUE4QztBQUM5QyxrREFBZ0M7QUFDaEMseUVBQXVEO0FBQ3ZELGlFQUErQztBQUMvQywyRUFBeUQ7QUFDekQsbUVBQWlEO0FBQ2pELGdFQUE4QztBQUM5Qyx3REFBc0M7QUFDdEMsb0VBQWtEO0FBQ2xELDREQUEwQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2Nvbm5lY3Rpdml0eS1jb25maWd1cmF0aW9uLXNjaGVtYXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Nvbm5lY3Rpdml0eS1jb25maWd1cmF0aW9uXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9uZXR3b3JrLWdyb3VwLXNjaGVtYXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL25ldHdvcmstZ3JvdXAtc3RhdGljLW1lbWJlci1zY2hlbWFzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9uZXR3b3JrLWdyb3VwLXN0YXRpYy1tZW1iZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL25ldHdvcmstZ3JvdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NlY3VyaXR5LWFkbWluLWNvbmZpZ3VyYXRpb24tc2NoZW1hc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vc2VjdXJpdHktYWRtaW4tY29uZmlndXJhdGlvblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc2VjdXJpdHktYWRtaW4tcnVsZS1jb2xsZWN0aW9uLXNjaGVtYXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NlY3VyaXR5LWFkbWluLXJ1bGUtY29sbGVjdGlvblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc2VjdXJpdHktYWRtaW4tcnVsZS1zY2hlbWFzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zZWN1cml0eS1hZG1pbi1ydWxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi92aXJ0dWFsLW5ldHdvcmstbWFuYWdlci1zY2hlbWFzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi92aXJ0dWFsLW5ldHdvcmstbWFuYWdlclwiO1xuIl19
@@ -0,0 +1,32 @@
1
+ /**
2
+ * API schemas for Azure Virtual Network Manager Network Groups across all supported versions
3
+ *
4
+ * This file defines the complete API schemas for Microsoft.Network/networkManagers/networkGroups
5
+ * across all supported API versions. The schemas are used by the AzapiResource
6
+ * framework for validation, transformation, and version management.
7
+ */
8
+ import { ApiSchema, VersionConfig } from "../../core-azure/lib/version-manager/interfaces/version-interfaces";
9
+ /**
10
+ * API Schema for Network Group version 2024-05-01
11
+ */
12
+ export declare const NETWORK_GROUP_SCHEMA_2024_05_01: ApiSchema;
13
+ /**
14
+ * API Schema for Network Group version 2023-11-01
15
+ */
16
+ export declare const NETWORK_GROUP_SCHEMA_2023_11_01: ApiSchema;
17
+ /**
18
+ * Version configuration for Network Group 2024-05-01
19
+ */
20
+ export declare const NETWORK_GROUP_VERSION_2024_05_01: VersionConfig;
21
+ /**
22
+ * Version configuration for Network Group 2023-11-01
23
+ */
24
+ export declare const NETWORK_GROUP_VERSION_2023_11_01: VersionConfig;
25
+ /**
26
+ * All supported Network Group versions for registration
27
+ */
28
+ export declare const ALL_NETWORK_GROUP_VERSIONS: VersionConfig[];
29
+ /**
30
+ * Resource type constant
31
+ */
32
+ export declare const NETWORK_GROUP_TYPE = "Microsoft.Network/networkManagers/networkGroups";