@microsoft/terraform-cdk-constructs 1.2.0 → 1.3.0

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 +54846 -26661
  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 +342 -0
  117. package/lib/azure-policyassignment/lib/policy-assignment.js +228 -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 +260 -0
  129. package/lib/azure-policydefinition/lib/policy-definition.js +199 -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 +596 -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 +178 -26
  266. package/lib/core-azure/lib/azapi/azapi-resource.js +328 -90
  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,163 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.NetworkGroupStaticMember = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ /**
7
+ * Azure Virtual Network Manager Network Group Static Member implementation using AzapiResource framework
8
+ *
9
+ * This class provides a unified implementation for explicitly adding virtual networks or subnets
10
+ * to a network group. Static members allow precise control over which resources receive
11
+ * configurations applied to the network group.
12
+ *
13
+ * Supported API Versions:
14
+ * - 2023-11-01 (Maintenance)
15
+ * - 2024-05-01 (Active, Latest)
16
+ *
17
+ * Features:
18
+ * - Automatic latest version resolution when no version is specified
19
+ * - Explicit version pinning for stability requirements
20
+ * - Schema-driven validation and transformation
21
+ * - Full backward compatibility
22
+ * - JSII compliance for multi-language support
23
+ */
24
+ const cdktf = require("cdktf");
25
+ const network_group_static_member_schemas_1 = require("./network-group-static-member-schemas");
26
+ const azapi_resource_1 = require("../../core-azure/lib/azapi/azapi-resource");
27
+ /**
28
+ * Azure Virtual Network Manager Network Group Static Member implementation
29
+ *
30
+ * Static members explicitly add virtual networks or subnets to a network group,
31
+ * providing precise control over which resources receive configurations applied
32
+ * to the network group. This is in contrast to dynamic membership via Azure Policy.
33
+ *
34
+ * @example
35
+ * // Add a VNet to a network group:
36
+ * const vnetMember = new NetworkGroupStaticMember(this, "vnet-member", {
37
+ * name: "prod-vnet1-member",
38
+ * networkGroupId: productionGroup.id,
39
+ * resourceId: vnet.id
40
+ * });
41
+ *
42
+ * @example
43
+ * // Add a subnet to a network group:
44
+ * const subnetMember = new NetworkGroupStaticMember(this, "subnet-member", {
45
+ * name: "prod-subnet1-member",
46
+ * networkGroupId: productionGroup.id,
47
+ * resourceId: subnet.id,
48
+ * apiVersion: "2024-05-01"
49
+ * });
50
+ *
51
+ * @stability stable
52
+ */
53
+ class NetworkGroupStaticMember extends azapi_resource_1.AzapiResource {
54
+ /**
55
+ * Creates a new Azure Virtual Network Manager Network Group Static Member using the AzapiResource framework
56
+ *
57
+ * @param scope - The scope in which to define this construct
58
+ * @param id - The unique identifier for this instance
59
+ * @param props - Configuration properties for the Static Member
60
+ */
61
+ constructor(scope, id, props) {
62
+ super(scope, id, props);
63
+ this.props = props;
64
+ // Extract properties from the AZAPI resource outputs using Terraform interpolation
65
+ this.resourceName = `\${${this.terraformResource.fqn}.name}`;
66
+ // Create Terraform outputs for easy access and referencing from other resources
67
+ this.idOutput = new cdktf.TerraformOutput(this, "id", {
68
+ value: this.id,
69
+ description: "The ID of the Static Member",
70
+ });
71
+ this.nameOutput = new cdktf.TerraformOutput(this, "name", {
72
+ value: this.resourceName,
73
+ description: "The name of the Static Member",
74
+ });
75
+ // Use input resourceId since Azure API doesn't return it in the response
76
+ this.resourceIdOutput = new cdktf.TerraformOutput(this, "resourceId", {
77
+ value: props.resourceId,
78
+ description: "The resource ID of the member VNet or Subnet",
79
+ });
80
+ // Override logical IDs to match naming convention
81
+ this.idOutput.overrideLogicalId("id");
82
+ this.nameOutput.overrideLogicalId("name");
83
+ this.resourceIdOutput.overrideLogicalId("resourceId");
84
+ // Apply ignore changes if specified
85
+ this._applyIgnoreChanges();
86
+ }
87
+ // =============================================================================
88
+ // REQUIRED ABSTRACT METHODS FROM AzapiResource
89
+ // =============================================================================
90
+ /**
91
+ * Resolves the parent resource ID for the Static Member
92
+ * Static Members are scoped to Network Groups
93
+ */
94
+ resolveParentId(props) {
95
+ const typedProps = props;
96
+ return typedProps.networkGroupId;
97
+ }
98
+ /**
99
+ * Gets the default API version to use when no explicit version is specified
100
+ */
101
+ defaultVersion() {
102
+ return "2024-05-01";
103
+ }
104
+ /**
105
+ * Gets the Azure resource type for Static Members
106
+ */
107
+ resourceType() {
108
+ return network_group_static_member_schemas_1.STATIC_MEMBER_TYPE;
109
+ }
110
+ /**
111
+ * Gets the API schema for the resolved version
112
+ */
113
+ apiSchema() {
114
+ return this.resolveSchema();
115
+ }
116
+ /**
117
+ * Creates the resource body for the Azure API call
118
+ */
119
+ createResourceBody(props) {
120
+ const typedProps = props;
121
+ return {
122
+ properties: {
123
+ resourceId: typedProps.resourceId,
124
+ },
125
+ };
126
+ }
127
+ // =============================================================================
128
+ // PUBLIC METHODS FOR STATIC MEMBER OPERATIONS
129
+ // =============================================================================
130
+ /**
131
+ * Get the resource ID of the member VNet or Subnet
132
+ * Returns the input resourceId since Azure API doesn't return it in the response
133
+ */
134
+ get memberResourceId() {
135
+ return this.props.resourceId;
136
+ }
137
+ /**
138
+ * Get the region of the member resource
139
+ */
140
+ get region() {
141
+ return `\${${this.terraformResource.fqn}.output.properties.region}`;
142
+ }
143
+ // =============================================================================
144
+ // PRIVATE HELPER METHODS
145
+ // =============================================================================
146
+ /**
147
+ * Applies ignore changes lifecycle rules if specified in props
148
+ */
149
+ _applyIgnoreChanges() {
150
+ if (this.props.ignoreChanges && this.props.ignoreChanges.length > 0) {
151
+ this.terraformResource.addOverride("lifecycle", {
152
+ ignore_changes: this.props.ignoreChanges,
153
+ });
154
+ }
155
+ }
156
+ }
157
+ exports.NetworkGroupStaticMember = NetworkGroupStaticMember;
158
+ _a = JSII_RTTI_SYMBOL_1;
159
+ NetworkGroupStaticMember[_a] = { fqn: "@microsoft/terraform-cdk-constructs.NetworkGroupStaticMember", version: "1.3.0" };
160
+ (() => {
161
+ azapi_resource_1.AzapiResource.registerSchemas(network_group_static_member_schemas_1.STATIC_MEMBER_TYPE, network_group_static_member_schemas_1.ALL_STATIC_MEMBER_VERSIONS);
162
+ })();
163
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay1ncm91cC1zdGF0aWMtbWVtYmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F6dXJlLXZpcnR1YWxuZXR3b3JrbWFuYWdlci9saWIvbmV0d29yay1ncm91cC1zdGF0aWMtbWVtYmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJHO0FBRUgsK0JBQStCO0FBRS9CLCtGQUcrQztBQUMvQyw4RUFHbUQ7QUEyQ25EOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBeUJHO0FBQ0gsTUFBYSx3QkFBeUIsU0FBUSw4QkFBYTtJQXFCekQ7Ozs7OztPQU1HO0lBQ0gsWUFDRSxLQUFnQixFQUNoQixFQUFVLEVBQ1YsS0FBb0M7UUFFcEMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFFbkIsbUZBQW1GO1FBQ25GLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxRQUFRLENBQUM7UUFFN0QsZ0ZBQWdGO1FBQ2hGLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUU7WUFDcEQsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ2QsV0FBVyxFQUFFLDZCQUE2QjtTQUMzQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFO1lBQ3hELEtBQUssRUFBRSxJQUFJLENBQUMsWUFBWTtZQUN4QixXQUFXLEVBQUUsK0JBQStCO1NBQzdDLENBQUMsQ0FBQztRQUVILHlFQUF5RTtRQUN6RSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUU7WUFDcEUsS0FBSyxFQUFFLEtBQUssQ0FBQyxVQUFVO1lBQ3ZCLFdBQVcsRUFBRSw4Q0FBOEM7U0FDNUQsQ0FBQyxDQUFDO1FBRUgsa0RBQWtEO1FBQ2xELElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFdEQsb0NBQW9DO1FBQ3BDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxnRkFBZ0Y7SUFDaEYsK0NBQStDO0lBQy9DLGdGQUFnRjtJQUVoRjs7O09BR0c7SUFDTyxlQUFlLENBQUMsS0FBVTtRQUNsQyxNQUFNLFVBQVUsR0FBRyxLQUFzQyxDQUFDO1FBQzFELE9BQU8sVUFBVSxDQUFDLGNBQWMsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7O09BRUc7SUFDTyxjQUFjO1FBQ3RCLE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7T0FFRztJQUNPLFlBQVk7UUFDcEIsT0FBTyx3REFBa0IsQ0FBQztJQUM1QixDQUFDO0lBRUQ7O09BRUc7SUFDTyxTQUFTO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRDs7T0FFRztJQUNPLGtCQUFrQixDQUFDLEtBQVU7UUFDckMsTUFBTSxVQUFVLEdBQUcsS0FBc0MsQ0FBQztRQUMxRCxPQUFPO1lBQ0wsVUFBVSxFQUFFO2dCQUNWLFVBQVUsRUFBRSxVQUFVLENBQUMsVUFBVTthQUNsQztTQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsZ0ZBQWdGO0lBQ2hGLDhDQUE4QztJQUM5QyxnRkFBZ0Y7SUFFaEY7OztPQUdHO0lBQ0gsSUFBVyxnQkFBZ0I7UUFDekIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQztJQUMvQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLE1BQU07UUFDZixPQUFPLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsNEJBQTRCLENBQUM7SUFDdEUsQ0FBQztJQUVELGdGQUFnRjtJQUNoRix5QkFBeUI7SUFDekIsZ0ZBQWdGO0lBRWhGOztPQUVHO0lBQ0ssbUJBQW1CO1FBQ3pCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3BFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFO2dCQUM5QyxjQUFjLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhO2FBQ3pDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDOztBQWhKSCw0REFpSkM7OztBQWhKQztJQUNFLDhCQUFhLENBQUMsZUFBZSxDQUMzQix3REFBa0IsRUFDbEIsZ0VBQTBCLENBQzNCLENBQUM7QUFDSixDQUFDLEdBQUEsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQXp1cmUgVmlydHVhbCBOZXR3b3JrIE1hbmFnZXIgTmV0d29yayBHcm91cCBTdGF0aWMgTWVtYmVyIGltcGxlbWVudGF0aW9uIHVzaW5nIEF6YXBpUmVzb3VyY2UgZnJhbWV3b3JrXG4gKlxuICogVGhpcyBjbGFzcyBwcm92aWRlcyBhIHVuaWZpZWQgaW1wbGVtZW50YXRpb24gZm9yIGV4cGxpY2l0bHkgYWRkaW5nIHZpcnR1YWwgbmV0d29ya3Mgb3Igc3VibmV0c1xuICogdG8gYSBuZXR3b3JrIGdyb3VwLiBTdGF0aWMgbWVtYmVycyBhbGxvdyBwcmVjaXNlIGNvbnRyb2wgb3ZlciB3aGljaCByZXNvdXJjZXMgcmVjZWl2ZVxuICogY29uZmlndXJhdGlvbnMgYXBwbGllZCB0byB0aGUgbmV0d29yayBncm91cC5cbiAqXG4gKiBTdXBwb3J0ZWQgQVBJIFZlcnNpb25zOlxuICogLSAyMDIzLTExLTAxIChNYWludGVuYW5jZSlcbiAqIC0gMjAyNC0wNS0wMSAoQWN0aXZlLCBMYXRlc3QpXG4gKlxuICogRmVhdHVyZXM6XG4gKiAtIEF1dG9tYXRpYyBsYXRlc3QgdmVyc2lvbiByZXNvbHV0aW9uIHdoZW4gbm8gdmVyc2lvbiBpcyBzcGVjaWZpZWRcbiAqIC0gRXhwbGljaXQgdmVyc2lvbiBwaW5uaW5nIGZvciBzdGFiaWxpdHkgcmVxdWlyZW1lbnRzXG4gKiAtIFNjaGVtYS1kcml2ZW4gdmFsaWRhdGlvbiBhbmQgdHJhbnNmb3JtYXRpb25cbiAqIC0gRnVsbCBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG4gKiAtIEpTSUkgY29tcGxpYW5jZSBmb3IgbXVsdGktbGFuZ3VhZ2Ugc3VwcG9ydFxuICovXG5cbmltcG9ydCAqIGFzIGNka3RmIGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7XG4gIEFMTF9TVEFUSUNfTUVNQkVSX1ZFUlNJT05TLFxuICBTVEFUSUNfTUVNQkVSX1RZUEUsXG59IGZyb20gXCIuL25ldHdvcmstZ3JvdXAtc3RhdGljLW1lbWJlci1zY2hlbWFzXCI7XG5pbXBvcnQge1xuICBBemFwaVJlc291cmNlLFxuICBBemFwaVJlc291cmNlUHJvcHMsXG59IGZyb20gXCIuLi8uLi9jb3JlLWF6dXJlL2xpYi9hemFwaS9hemFwaS1yZXNvdXJjZVwiO1xuaW1wb3J0IHsgQXBpU2NoZW1hIH0gZnJvbSBcIi4uLy4uL2NvcmUtYXp1cmUvbGliL3ZlcnNpb24tbWFuYWdlci9pbnRlcmZhY2VzL3ZlcnNpb24taW50ZXJmYWNlc1wiO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIHRoZSBBenVyZSBWaXJ0dWFsIE5ldHdvcmsgTWFuYWdlciBOZXR3b3JrIEdyb3VwIFN0YXRpYyBNZW1iZXJcbiAqXG4gKiBFeHRlbmRzIEF6YXBpUmVzb3VyY2VQcm9wcyB3aXRoIFN0YXRpYyBNZW1iZXIgc3BlY2lmaWMgcHJvcGVydGllc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIE5ldHdvcmtHcm91cFN0YXRpY01lbWJlclByb3BzIGV4dGVuZHMgQXphcGlSZXNvdXJjZVByb3BzIHtcbiAgLyoqXG4gICAqIFJlc291cmNlIElEIG9mIHRoZSBwYXJlbnQgTmV0d29yayBHcm91cFxuICAgKiBAZXhhbXBsZSBcIi9zdWJzY3JpcHRpb25zLzAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMC9yZXNvdXJjZUdyb3Vwcy9yZy9wcm92aWRlcnMvTWljcm9zb2Z0Lk5ldHdvcmsvbmV0d29ya01hbmFnZXJzL3ZubS9uZXR3b3JrR3JvdXBzL3Byb2QtZ3JvdXBcIlxuICAgKi9cbiAgcmVhZG9ubHkgbmV0d29ya0dyb3VwSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogRnVsbCByZXNvdXJjZSBJRCBvZiB0aGUgVk5ldCBvciBTdWJuZXQgdG8gYWRkIHRvIHRoZSBncm91cFxuICAgKiBAZXhhbXBsZSBcIi9zdWJzY3JpcHRpb25zLzAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMC9yZXNvdXJjZUdyb3Vwcy9yZy9wcm92aWRlcnMvTWljcm9zb2Z0Lk5ldHdvcmsvdmlydHVhbE5ldHdvcmtzL3ZuZXQxXCJcbiAgICogQGV4YW1wbGUgXCIvc3Vic2NyaXB0aW9ucy8wMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAvcmVzb3VyY2VHcm91cHMvcmcvcHJvdmlkZXJzL01pY3Jvc29mdC5OZXR3b3JrL3ZpcnR1YWxOZXR3b3Jrcy92bmV0MS9zdWJuZXRzL3N1Ym5ldDFcIlxuICAgKi9cbiAgcmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbGlmZWN5Y2xlIHJ1bGVzIHRvIGlnbm9yZSBjaGFuZ2VzXG4gICAqIEBleGFtcGxlIFtcInRhZ3NcIl1cbiAgICovXG4gIHJlYWRvbmx5IGlnbm9yZUNoYW5nZXM/OiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBTdGF0aWMgTWVtYmVyIGJvZHlcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZXR3b3JrR3JvdXBTdGF0aWNNZW1iZXJQcm9wZXJ0aWVzIHtcbiAgcmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFRoZSByZXNvdXJjZSBib2R5IGludGVyZmFjZSBmb3IgQXp1cmUgU3RhdGljIE1lbWJlciBBUEkgY2FsbHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZXR3b3JrR3JvdXBTdGF0aWNNZW1iZXJCb2R5IHtcbiAgcmVhZG9ubHkgcHJvcGVydGllczogTmV0d29ya0dyb3VwU3RhdGljTWVtYmVyUHJvcGVydGllcztcbn1cblxuLyoqXG4gKiBBenVyZSBWaXJ0dWFsIE5ldHdvcmsgTWFuYWdlciBOZXR3b3JrIEdyb3VwIFN0YXRpYyBNZW1iZXIgaW1wbGVtZW50YXRpb25cbiAqXG4gKiBTdGF0aWMgbWVtYmVycyBleHBsaWNpdGx5IGFkZCB2aXJ0dWFsIG5ldHdvcmtzIG9yIHN1Ym5ldHMgdG8gYSBuZXR3b3JrIGdyb3VwLFxuICogcHJvdmlkaW5nIHByZWNpc2UgY29udHJvbCBvdmVyIHdoaWNoIHJlc291cmNlcyByZWNlaXZlIGNvbmZpZ3VyYXRpb25zIGFwcGxpZWRcbiAqIHRvIHRoZSBuZXR3b3JrIGdyb3VwLiBUaGlzIGlzIGluIGNvbnRyYXN0IHRvIGR5bmFtaWMgbWVtYmVyc2hpcCB2aWEgQXp1cmUgUG9saWN5LlxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBBZGQgYSBWTmV0IHRvIGEgbmV0d29yayBncm91cDpcbiAqIGNvbnN0IHZuZXRNZW1iZXIgPSBuZXcgTmV0d29ya0dyb3VwU3RhdGljTWVtYmVyKHRoaXMsIFwidm5ldC1tZW1iZXJcIiwge1xuICogICBuYW1lOiBcInByb2Qtdm5ldDEtbWVtYmVyXCIsXG4gKiAgIG5ldHdvcmtHcm91cElkOiBwcm9kdWN0aW9uR3JvdXAuaWQsXG4gKiAgIHJlc291cmNlSWQ6IHZuZXQuaWRcbiAqIH0pO1xuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBBZGQgYSBzdWJuZXQgdG8gYSBuZXR3b3JrIGdyb3VwOlxuICogY29uc3Qgc3VibmV0TWVtYmVyID0gbmV3IE5ldHdvcmtHcm91cFN0YXRpY01lbWJlcih0aGlzLCBcInN1Ym5ldC1tZW1iZXJcIiwge1xuICogICBuYW1lOiBcInByb2Qtc3VibmV0MS1tZW1iZXJcIixcbiAqICAgbmV0d29ya0dyb3VwSWQ6IHByb2R1Y3Rpb25Hcm91cC5pZCxcbiAqICAgcmVzb3VyY2VJZDogc3VibmV0LmlkLFxuICogICBhcGlWZXJzaW9uOiBcIjIwMjQtMDUtMDFcIlxuICogfSk7XG4gKlxuICogQHN0YWJpbGl0eSBzdGFibGVcbiAqL1xuZXhwb3J0IGNsYXNzIE5ldHdvcmtHcm91cFN0YXRpY01lbWJlciBleHRlbmRzIEF6YXBpUmVzb3VyY2Uge1xuICBzdGF0aWMge1xuICAgIEF6YXBpUmVzb3VyY2UucmVnaXN0ZXJTY2hlbWFzKFxuICAgICAgU1RBVElDX01FTUJFUl9UWVBFLFxuICAgICAgQUxMX1NUQVRJQ19NRU1CRVJfVkVSU0lPTlMsXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgaW5wdXQgcHJvcGVydGllcyBmb3IgdGhpcyBTdGF0aWMgTWVtYmVyIGluc3RhbmNlXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcHJvcHM6IE5ldHdvcmtHcm91cFN0YXRpY01lbWJlclByb3BzO1xuXG4gIC8vIE91dHB1dCBwcm9wZXJ0aWVzIGZvciBlYXN5IGFjY2VzcyBhbmQgcmVmZXJlbmNpbmdcbiAgcHVibGljIHJlYWRvbmx5IGlkT3V0cHV0OiBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQ7XG4gIHB1YmxpYyByZWFkb25seSBuYW1lT3V0cHV0OiBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQ7XG4gIHB1YmxpYyByZWFkb25seSByZXNvdXJjZUlkT3V0cHV0OiBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQ7XG5cbiAgLy8gUHVibGljIHByb3BlcnRpZXNcbiAgcHVibGljIHJlYWRvbmx5IHJlc291cmNlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IEF6dXJlIFZpcnR1YWwgTmV0d29yayBNYW5hZ2VyIE5ldHdvcmsgR3JvdXAgU3RhdGljIE1lbWJlciB1c2luZyB0aGUgQXphcGlSZXNvdXJjZSBmcmFtZXdvcmtcbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIC0gVGhlIHNjb3BlIGluIHdoaWNoIHRvIGRlZmluZSB0aGlzIGNvbnN0cnVjdFxuICAgKiBAcGFyYW0gaWQgLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoaXMgaW5zdGFuY2VcbiAgICogQHBhcmFtIHByb3BzIC0gQ29uZmlndXJhdGlvbiBwcm9wZXJ0aWVzIGZvciB0aGUgU3RhdGljIE1lbWJlclxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzOiBOZXR3b3JrR3JvdXBTdGF0aWNNZW1iZXJQcm9wcyxcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICB0aGlzLnByb3BzID0gcHJvcHM7XG5cbiAgICAvLyBFeHRyYWN0IHByb3BlcnRpZXMgZnJvbSB0aGUgQVpBUEkgcmVzb3VyY2Ugb3V0cHV0cyB1c2luZyBUZXJyYWZvcm0gaW50ZXJwb2xhdGlvblxuICAgIHRoaXMucmVzb3VyY2VOYW1lID0gYFxcJHske3RoaXMudGVycmFmb3JtUmVzb3VyY2UuZnFufS5uYW1lfWA7XG5cbiAgICAvLyBDcmVhdGUgVGVycmFmb3JtIG91dHB1dHMgZm9yIGVhc3kgYWNjZXNzIGFuZCByZWZlcmVuY2luZyBmcm9tIG90aGVyIHJlc291cmNlc1xuICAgIHRoaXMuaWRPdXRwdXQgPSBuZXcgY2RrdGYuVGVycmFmb3JtT3V0cHV0KHRoaXMsIFwiaWRcIiwge1xuICAgICAgdmFsdWU6IHRoaXMuaWQsXG4gICAgICBkZXNjcmlwdGlvbjogXCJUaGUgSUQgb2YgdGhlIFN0YXRpYyBNZW1iZXJcIixcbiAgICB9KTtcblxuICAgIHRoaXMubmFtZU91dHB1dCA9IG5ldyBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQodGhpcywgXCJuYW1lXCIsIHtcbiAgICAgIHZhbHVlOiB0aGlzLnJlc291cmNlTmFtZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSBuYW1lIG9mIHRoZSBTdGF0aWMgTWVtYmVyXCIsXG4gICAgfSk7XG5cbiAgICAvLyBVc2UgaW5wdXQgcmVzb3VyY2VJZCBzaW5jZSBBenVyZSBBUEkgZG9lc24ndCByZXR1cm4gaXQgaW4gdGhlIHJlc3BvbnNlXG4gICAgdGhpcy5yZXNvdXJjZUlkT3V0cHV0ID0gbmV3IGNka3RmLlRlcnJhZm9ybU91dHB1dCh0aGlzLCBcInJlc291cmNlSWRcIiwge1xuICAgICAgdmFsdWU6IHByb3BzLnJlc291cmNlSWQsXG4gICAgICBkZXNjcmlwdGlvbjogXCJUaGUgcmVzb3VyY2UgSUQgb2YgdGhlIG1lbWJlciBWTmV0IG9yIFN1Ym5ldFwiLFxuICAgIH0pO1xuXG4gICAgLy8gT3ZlcnJpZGUgbG9naWNhbCBJRHMgdG8gbWF0Y2ggbmFtaW5nIGNvbnZlbnRpb25cbiAgICB0aGlzLmlkT3V0cHV0Lm92ZXJyaWRlTG9naWNhbElkKFwiaWRcIik7XG4gICAgdGhpcy5uYW1lT3V0cHV0Lm92ZXJyaWRlTG9naWNhbElkKFwibmFtZVwiKTtcbiAgICB0aGlzLnJlc291cmNlSWRPdXRwdXQub3ZlcnJpZGVMb2dpY2FsSWQoXCJyZXNvdXJjZUlkXCIpO1xuXG4gICAgLy8gQXBwbHkgaWdub3JlIGNoYW5nZXMgaWYgc3BlY2lmaWVkXG4gICAgdGhpcy5fYXBwbHlJZ25vcmVDaGFuZ2VzKCk7XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBSRVFVSVJFRCBBQlNUUkFDVCBNRVRIT0RTIEZST00gQXphcGlSZXNvdXJjZVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8qKlxuICAgKiBSZXNvbHZlcyB0aGUgcGFyZW50IHJlc291cmNlIElEIGZvciB0aGUgU3RhdGljIE1lbWJlclxuICAgKiBTdGF0aWMgTWVtYmVycyBhcmUgc2NvcGVkIHRvIE5ldHdvcmsgR3JvdXBzXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVzb2x2ZVBhcmVudElkKHByb3BzOiBhbnkpOiBzdHJpbmcge1xuICAgIGNvbnN0IHR5cGVkUHJvcHMgPSBwcm9wcyBhcyBOZXR3b3JrR3JvdXBTdGF0aWNNZW1iZXJQcm9wcztcbiAgICByZXR1cm4gdHlwZWRQcm9wcy5uZXR3b3JrR3JvdXBJZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBkZWZhdWx0IEFQSSB2ZXJzaW9uIHRvIHVzZSB3aGVuIG5vIGV4cGxpY2l0IHZlcnNpb24gaXMgc3BlY2lmaWVkXG4gICAqL1xuICBwcm90ZWN0ZWQgZGVmYXVsdFZlcnNpb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gXCIyMDI0LTA1LTAxXCI7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgQXp1cmUgcmVzb3VyY2UgdHlwZSBmb3IgU3RhdGljIE1lbWJlcnNcbiAgICovXG4gIHByb3RlY3RlZCByZXNvdXJjZVR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gU1RBVElDX01FTUJFUl9UWVBFO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIEFQSSBzY2hlbWEgZm9yIHRoZSByZXNvbHZlZCB2ZXJzaW9uXG4gICAqL1xuICBwcm90ZWN0ZWQgYXBpU2NoZW1hKCk6IEFwaVNjaGVtYSB7XG4gICAgcmV0dXJuIHRoaXMucmVzb2x2ZVNjaGVtYSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgdGhlIHJlc291cmNlIGJvZHkgZm9yIHRoZSBBenVyZSBBUEkgY2FsbFxuICAgKi9cbiAgcHJvdGVjdGVkIGNyZWF0ZVJlc291cmNlQm9keShwcm9wczogYW55KTogYW55IHtcbiAgICBjb25zdCB0eXBlZFByb3BzID0gcHJvcHMgYXMgTmV0d29ya0dyb3VwU3RhdGljTWVtYmVyUHJvcHM7XG4gICAgcmV0dXJuIHtcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgcmVzb3VyY2VJZDogdHlwZWRQcm9wcy5yZXNvdXJjZUlkLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gUFVCTElDIE1FVEhPRFMgRk9SIFNUQVRJQyBNRU1CRVIgT1BFUkFUSU9OU1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHJlc291cmNlIElEIG9mIHRoZSBtZW1iZXIgVk5ldCBvciBTdWJuZXRcbiAgICogUmV0dXJucyB0aGUgaW5wdXQgcmVzb3VyY2VJZCBzaW5jZSBBenVyZSBBUEkgZG9lc24ndCByZXR1cm4gaXQgaW4gdGhlIHJlc3BvbnNlXG4gICAqL1xuICBwdWJsaWMgZ2V0IG1lbWJlclJlc291cmNlSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5yZXNvdXJjZUlkO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgcmVnaW9uIG9mIHRoZSBtZW1iZXIgcmVzb3VyY2VcbiAgICovXG4gIHB1YmxpYyBnZXQgcmVnaW9uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBcXCR7JHt0aGlzLnRlcnJhZm9ybVJlc291cmNlLmZxbn0ub3V0cHV0LnByb3BlcnRpZXMucmVnaW9ufWA7XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBQUklWQVRFIEhFTFBFUiBNRVRIT0RTXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLyoqXG4gICAqIEFwcGxpZXMgaWdub3JlIGNoYW5nZXMgbGlmZWN5Y2xlIHJ1bGVzIGlmIHNwZWNpZmllZCBpbiBwcm9wc1xuICAgKi9cbiAgcHJpdmF0ZSBfYXBwbHlJZ25vcmVDaGFuZ2VzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnByb3BzLmlnbm9yZUNoYW5nZXMgJiYgdGhpcy5wcm9wcy5pZ25vcmVDaGFuZ2VzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMudGVycmFmb3JtUmVzb3VyY2UuYWRkT3ZlcnJpZGUoXCJsaWZlY3ljbGVcIiwge1xuICAgICAgICBpZ25vcmVfY2hhbmdlczogdGhpcy5wcm9wcy5pZ25vcmVDaGFuZ2VzLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,139 @@
1
+ /**
2
+ * Azure Virtual Network Manager Network Group implementation using AzapiResource framework
3
+ *
4
+ * This class provides a unified implementation for Azure Virtual Network Manager Network Groups
5
+ * that automatically handles version management, schema validation, and property transformation
6
+ * across all supported API versions.
7
+ *
8
+ * Supported API Versions:
9
+ * - 2023-11-01 (Maintenance)
10
+ * - 2024-05-01 (Active, Latest)
11
+ *
12
+ * Features:
13
+ * - Automatic latest version resolution when no version is specified
14
+ * - Explicit version pinning for stability requirements
15
+ * - Schema-driven validation and transformation
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 { AzapiResource, AzapiResourceProps } from "../../core-azure/lib/azapi/azapi-resource";
22
+ import { ApiSchema } from "../../core-azure/lib/version-manager/interfaces/version-interfaces";
23
+ /**
24
+ * Properties for the Azure Virtual Network Manager Network Group
25
+ *
26
+ * Extends AzapiResourceProps with Network Group specific properties
27
+ */
28
+ export interface NetworkGroupProps extends AzapiResourceProps {
29
+ /**
30
+ * Resource ID of the parent Network Manager
31
+ * @example "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Network/networkManagers/vnm"
32
+ */
33
+ readonly networkManagerId: string;
34
+ /**
35
+ * Optional description of the network group
36
+ * @example "Production virtual networks for region East US"
37
+ */
38
+ readonly description?: string;
39
+ /**
40
+ * Type of members in this network group
41
+ * @default undefined (can contain both VirtualNetwork and Subnet members)
42
+ * @example "VirtualNetwork"
43
+ * @example "Subnet"
44
+ */
45
+ readonly memberType?: "VirtualNetwork" | "Subnet";
46
+ /**
47
+ * The lifecycle rules to ignore changes
48
+ * @example ["tags"]
49
+ */
50
+ readonly ignoreChanges?: string[];
51
+ }
52
+ /**
53
+ * Properties for Network Group body
54
+ */
55
+ export interface NetworkGroupProperties {
56
+ readonly description?: string;
57
+ readonly memberType?: string;
58
+ }
59
+ /**
60
+ * The resource body interface for Azure Network Group API calls
61
+ */
62
+ export interface NetworkGroupBody {
63
+ readonly properties?: NetworkGroupProperties;
64
+ }
65
+ /**
66
+ * Azure Virtual Network Manager Network Group implementation
67
+ *
68
+ * Network Groups are logical containers for virtual networks or subnets that allow you to
69
+ * apply connectivity, security, or routing configurations at scale. They are a foundational
70
+ * component required by connectivity configurations, security admin configurations, and
71
+ * routing configurations.
72
+ *
73
+ * @example
74
+ * // Basic network group for production VNets:
75
+ * const productionGroup = new NetworkGroup(this, "prod-group", {
76
+ * name: "production-vnets",
77
+ * networkManagerId: networkManager.id,
78
+ * description: "Production virtual networks",
79
+ * memberType: "VirtualNetwork"
80
+ * });
81
+ *
82
+ * @example
83
+ * // Network group with explicit version pinning:
84
+ * const devGroup = new NetworkGroup(this, "dev-group", {
85
+ * name: "development-vnets",
86
+ * networkManagerId: networkManager.id,
87
+ * apiVersion: "2024-05-01",
88
+ * description: "Development virtual networks"
89
+ * });
90
+ *
91
+ * @stability stable
92
+ */
93
+ export declare class NetworkGroup extends AzapiResource {
94
+ /**
95
+ * The input properties for this Network Group instance
96
+ */
97
+ readonly props: NetworkGroupProps;
98
+ readonly idOutput: cdktf.TerraformOutput;
99
+ readonly nameOutput: cdktf.TerraformOutput;
100
+ readonly provisioningStateOutput: cdktf.TerraformOutput;
101
+ readonly resourceName: string;
102
+ /**
103
+ * Creates a new Azure Virtual Network Manager Network Group using the AzapiResource framework
104
+ *
105
+ * @param scope - The scope in which to define this construct
106
+ * @param id - The unique identifier for this instance
107
+ * @param props - Configuration properties for the Network Group
108
+ */
109
+ constructor(scope: Construct, id: string, props: NetworkGroupProps);
110
+ /**
111
+ * Resolves the parent resource ID for the Network Group
112
+ * Network Groups are scoped to Network Managers
113
+ */
114
+ protected resolveParentId(props: any): string;
115
+ /**
116
+ * Gets the default API version to use when no explicit version is specified
117
+ */
118
+ protected defaultVersion(): string;
119
+ /**
120
+ * Gets the Azure resource type for Network Groups
121
+ */
122
+ protected resourceType(): string;
123
+ /**
124
+ * Gets the API schema for the resolved version
125
+ */
126
+ protected apiSchema(): ApiSchema;
127
+ /**
128
+ * Creates the resource body for the Azure API call
129
+ */
130
+ protected createResourceBody(props: any): any;
131
+ /**
132
+ * Get the provisioning state of the Network Group
133
+ */
134
+ get provisioningState(): string;
135
+ /**
136
+ * Applies ignore changes lifecycle rules if specified in props
137
+ */
138
+ private _applyIgnoreChanges;
139
+ }
@@ -0,0 +1,158 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.NetworkGroup = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ /**
7
+ * Azure Virtual Network Manager Network Group implementation using AzapiResource framework
8
+ *
9
+ * This class provides a unified implementation for Azure Virtual Network Manager Network Groups
10
+ * that automatically handles version management, schema validation, and property transformation
11
+ * across all supported API versions.
12
+ *
13
+ * Supported API Versions:
14
+ * - 2023-11-01 (Maintenance)
15
+ * - 2024-05-01 (Active, Latest)
16
+ *
17
+ * Features:
18
+ * - Automatic latest version resolution when no version is specified
19
+ * - Explicit version pinning for stability requirements
20
+ * - Schema-driven validation and transformation
21
+ * - Full backward compatibility
22
+ * - JSII compliance for multi-language support
23
+ */
24
+ const cdktf = require("cdktf");
25
+ const network_group_schemas_1 = require("./network-group-schemas");
26
+ const azapi_resource_1 = require("../../core-azure/lib/azapi/azapi-resource");
27
+ /**
28
+ * Azure Virtual Network Manager Network Group implementation
29
+ *
30
+ * Network Groups are logical containers for virtual networks or subnets that allow you to
31
+ * apply connectivity, security, or routing configurations at scale. They are a foundational
32
+ * component required by connectivity configurations, security admin configurations, and
33
+ * routing configurations.
34
+ *
35
+ * @example
36
+ * // Basic network group for production VNets:
37
+ * const productionGroup = new NetworkGroup(this, "prod-group", {
38
+ * name: "production-vnets",
39
+ * networkManagerId: networkManager.id,
40
+ * description: "Production virtual networks",
41
+ * memberType: "VirtualNetwork"
42
+ * });
43
+ *
44
+ * @example
45
+ * // Network group with explicit version pinning:
46
+ * const devGroup = new NetworkGroup(this, "dev-group", {
47
+ * name: "development-vnets",
48
+ * networkManagerId: networkManager.id,
49
+ * apiVersion: "2024-05-01",
50
+ * description: "Development virtual networks"
51
+ * });
52
+ *
53
+ * @stability stable
54
+ */
55
+ class NetworkGroup extends azapi_resource_1.AzapiResource {
56
+ /**
57
+ * Creates a new Azure Virtual Network Manager Network Group using the AzapiResource framework
58
+ *
59
+ * @param scope - The scope in which to define this construct
60
+ * @param id - The unique identifier for this instance
61
+ * @param props - Configuration properties for the Network Group
62
+ */
63
+ constructor(scope, id, props) {
64
+ super(scope, id, props);
65
+ this.props = props;
66
+ // Extract properties from the AZAPI resource outputs using Terraform interpolation
67
+ this.resourceName = `\${${this.terraformResource.fqn}.name}`;
68
+ // Create Terraform outputs for easy access and referencing from other resources
69
+ this.idOutput = new cdktf.TerraformOutput(this, "id", {
70
+ value: this.id,
71
+ description: "The ID of the Network Group",
72
+ });
73
+ this.nameOutput = new cdktf.TerraformOutput(this, "name", {
74
+ value: this.resourceName,
75
+ description: "The name of the Network Group",
76
+ });
77
+ this.provisioningStateOutput = new cdktf.TerraformOutput(this, "provisioningState", {
78
+ value: `\${${this.terraformResource.fqn}.output.properties.provisioningState}`,
79
+ description: "The provisioning state of the Network Group",
80
+ });
81
+ // Override logical IDs to match naming convention
82
+ this.idOutput.overrideLogicalId("id");
83
+ this.nameOutput.overrideLogicalId("name");
84
+ this.provisioningStateOutput.overrideLogicalId("provisioningState");
85
+ // Apply ignore changes if specified
86
+ this._applyIgnoreChanges();
87
+ }
88
+ // =============================================================================
89
+ // REQUIRED ABSTRACT METHODS FROM AzapiResource
90
+ // =============================================================================
91
+ /**
92
+ * Resolves the parent resource ID for the Network Group
93
+ * Network Groups are scoped to Network Managers
94
+ */
95
+ resolveParentId(props) {
96
+ const typedProps = props;
97
+ return typedProps.networkManagerId;
98
+ }
99
+ /**
100
+ * Gets the default API version to use when no explicit version is specified
101
+ */
102
+ defaultVersion() {
103
+ return "2024-05-01";
104
+ }
105
+ /**
106
+ * Gets the Azure resource type for Network Groups
107
+ */
108
+ resourceType() {
109
+ return network_group_schemas_1.NETWORK_GROUP_TYPE;
110
+ }
111
+ /**
112
+ * Gets the API schema for the resolved version
113
+ */
114
+ apiSchema() {
115
+ return this.resolveSchema();
116
+ }
117
+ /**
118
+ * Creates the resource body for the Azure API call
119
+ */
120
+ createResourceBody(props) {
121
+ const typedProps = props;
122
+ return {
123
+ properties: {
124
+ description: typedProps.description,
125
+ memberType: typedProps.memberType,
126
+ },
127
+ };
128
+ }
129
+ // =============================================================================
130
+ // PUBLIC METHODS FOR NETWORK GROUP OPERATIONS
131
+ // =============================================================================
132
+ /**
133
+ * Get the provisioning state of the Network Group
134
+ */
135
+ get provisioningState() {
136
+ return `\${${this.terraformResource.fqn}.output.properties.provisioningState}`;
137
+ }
138
+ // =============================================================================
139
+ // PRIVATE HELPER METHODS
140
+ // =============================================================================
141
+ /**
142
+ * Applies ignore changes lifecycle rules if specified in props
143
+ */
144
+ _applyIgnoreChanges() {
145
+ if (this.props.ignoreChanges && this.props.ignoreChanges.length > 0) {
146
+ this.terraformResource.addOverride("lifecycle", {
147
+ ignore_changes: this.props.ignoreChanges,
148
+ });
149
+ }
150
+ }
151
+ }
152
+ exports.NetworkGroup = NetworkGroup;
153
+ _a = JSII_RTTI_SYMBOL_1;
154
+ NetworkGroup[_a] = { fqn: "@microsoft/terraform-cdk-constructs.NetworkGroup", version: "1.3.0" };
155
+ (() => {
156
+ azapi_resource_1.AzapiResource.registerSchemas(network_group_schemas_1.NETWORK_GROUP_TYPE, network_group_schemas_1.ALL_NETWORK_GROUP_VERSIONS);
157
+ })();
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay1ncm91cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9henVyZS12aXJ0dWFsbmV0d29ya21hbmFnZXIvbGliL25ldHdvcmstZ3JvdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQkc7QUFFSCwrQkFBK0I7QUFFL0IsbUVBR2lDO0FBQ2pDLDhFQUdtRDtBQW1EbkQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTJCRztBQUNILE1BQWEsWUFBYSxTQUFRLDhCQUFhO0lBcUI3Qzs7Ozs7O09BTUc7SUFDSCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXdCO1FBQ2hFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXhCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBRW5CLG1GQUFtRjtRQUNuRixJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsUUFBUSxDQUFDO1FBRTdELGdGQUFnRjtRQUNoRixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQ3BELEtBQUssRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNkLFdBQVcsRUFBRSw2QkFBNkI7U0FDM0MsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRTtZQUN4RCxLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDeEIsV0FBVyxFQUFFLCtCQUErQjtTQUM3QyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxLQUFLLENBQUMsZUFBZSxDQUN0RCxJQUFJLEVBQ0osbUJBQW1CLEVBQ25CO1lBQ0UsS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsdUNBQXVDO1lBQzlFLFdBQVcsRUFBRSw2Q0FBNkM7U0FDM0QsQ0FDRixDQUFDO1FBRUYsa0RBQWtEO1FBQ2xELElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsaUJBQWlCLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUVwRSxvQ0FBb0M7UUFDcEMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELGdGQUFnRjtJQUNoRiwrQ0FBK0M7SUFDL0MsZ0ZBQWdGO0lBRWhGOzs7T0FHRztJQUNPLGVBQWUsQ0FBQyxLQUFVO1FBQ2xDLE1BQU0sVUFBVSxHQUFHLEtBQTBCLENBQUM7UUFDOUMsT0FBTyxVQUFVLENBQUMsZ0JBQWdCLENBQUM7SUFDckMsQ0FBQztJQUVEOztPQUVHO0lBQ08sY0FBYztRQUN0QixPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO0lBRUQ7O09BRUc7SUFDTyxZQUFZO1FBQ3BCLE9BQU8sMENBQWtCLENBQUM7SUFDNUIsQ0FBQztJQUVEOztPQUVHO0lBQ08sU0FBUztRQUNqQixPQUFPLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQ7O09BRUc7SUFDTyxrQkFBa0IsQ0FBQyxLQUFVO1FBQ3JDLE1BQU0sVUFBVSxHQUFHLEtBQTBCLENBQUM7UUFDOUMsT0FBTztZQUNMLFVBQVUsRUFBRTtnQkFDVixXQUFXLEVBQUUsVUFBVSxDQUFDLFdBQVc7Z0JBQ25DLFVBQVUsRUFBRSxVQUFVLENBQUMsVUFBVTthQUNsQztTQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsZ0ZBQWdGO0lBQ2hGLDhDQUE4QztJQUM5QyxnRkFBZ0Y7SUFFaEY7O09BRUc7SUFDSCxJQUFXLGlCQUFpQjtRQUMxQixPQUFPLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsdUNBQXVDLENBQUM7SUFDakYsQ0FBQztJQUVELGdGQUFnRjtJQUNoRix5QkFBeUI7SUFDekIsZ0ZBQWdGO0lBRWhGOztPQUVHO0lBQ0ssbUJBQW1CO1FBQ3pCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3BFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFO2dCQUM5QyxjQUFjLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhO2FBQ3pDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDOztBQXhJSCxvQ0F5SUM7OztBQXhJQztJQUNFLDhCQUFhLENBQUMsZUFBZSxDQUMzQiwwQ0FBa0IsRUFDbEIsa0RBQTBCLENBQzNCLENBQUM7QUFDSixDQUFDLEdBQUEsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQXp1cmUgVmlydHVhbCBOZXR3b3JrIE1hbmFnZXIgTmV0d29yayBHcm91cCBpbXBsZW1lbnRhdGlvbiB1c2luZyBBemFwaVJlc291cmNlIGZyYW1ld29ya1xuICpcbiAqIFRoaXMgY2xhc3MgcHJvdmlkZXMgYSB1bmlmaWVkIGltcGxlbWVudGF0aW9uIGZvciBBenVyZSBWaXJ0dWFsIE5ldHdvcmsgTWFuYWdlciBOZXR3b3JrIEdyb3Vwc1xuICogdGhhdCBhdXRvbWF0aWNhbGx5IGhhbmRsZXMgdmVyc2lvbiBtYW5hZ2VtZW50LCBzY2hlbWEgdmFsaWRhdGlvbiwgYW5kIHByb3BlcnR5IHRyYW5zZm9ybWF0aW9uXG4gKiBhY3Jvc3MgYWxsIHN1cHBvcnRlZCBBUEkgdmVyc2lvbnMuXG4gKlxuICogU3VwcG9ydGVkIEFQSSBWZXJzaW9uczpcbiAqIC0gMjAyMy0xMS0wMSAoTWFpbnRlbmFuY2UpXG4gKiAtIDIwMjQtMDUtMDEgKEFjdGl2ZSwgTGF0ZXN0KVxuICpcbiAqIEZlYXR1cmVzOlxuICogLSBBdXRvbWF0aWMgbGF0ZXN0IHZlcnNpb24gcmVzb2x1dGlvbiB3aGVuIG5vIHZlcnNpb24gaXMgc3BlY2lmaWVkXG4gKiAtIEV4cGxpY2l0IHZlcnNpb24gcGlubmluZyBmb3Igc3RhYmlsaXR5IHJlcXVpcmVtZW50c1xuICogLSBTY2hlbWEtZHJpdmVuIHZhbGlkYXRpb24gYW5kIHRyYW5zZm9ybWF0aW9uXG4gKiAtIEZ1bGwgYmFja3dhcmQgY29tcGF0aWJpbGl0eVxuICogLSBKU0lJIGNvbXBsaWFuY2UgZm9yIG11bHRpLWxhbmd1YWdlIHN1cHBvcnRcbiAqL1xuXG5pbXBvcnQgKiBhcyBjZGt0ZiBmcm9tIFwiY2RrdGZcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge1xuICBBTExfTkVUV09SS19HUk9VUF9WRVJTSU9OUyxcbiAgTkVUV09SS19HUk9VUF9UWVBFLFxufSBmcm9tIFwiLi9uZXR3b3JrLWdyb3VwLXNjaGVtYXNcIjtcbmltcG9ydCB7XG4gIEF6YXBpUmVzb3VyY2UsXG4gIEF6YXBpUmVzb3VyY2VQcm9wcyxcbn0gZnJvbSBcIi4uLy4uL2NvcmUtYXp1cmUvbGliL2F6YXBpL2F6YXBpLXJlc291cmNlXCI7XG5pbXBvcnQgeyBBcGlTY2hlbWEgfSBmcm9tIFwiLi4vLi4vY29yZS1henVyZS9saWIvdmVyc2lvbi1tYW5hZ2VyL2ludGVyZmFjZXMvdmVyc2lvbi1pbnRlcmZhY2VzXCI7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgdGhlIEF6dXJlIFZpcnR1YWwgTmV0d29yayBNYW5hZ2VyIE5ldHdvcmsgR3JvdXBcbiAqXG4gKiBFeHRlbmRzIEF6YXBpUmVzb3VyY2VQcm9wcyB3aXRoIE5ldHdvcmsgR3JvdXAgc3BlY2lmaWMgcHJvcGVydGllc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIE5ldHdvcmtHcm91cFByb3BzIGV4dGVuZHMgQXphcGlSZXNvdXJjZVByb3BzIHtcbiAgLyoqXG4gICAqIFJlc291cmNlIElEIG9mIHRoZSBwYXJlbnQgTmV0d29yayBNYW5hZ2VyXG4gICAqIEBleGFtcGxlIFwiL3N1YnNjcmlwdGlvbnMvMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwL3Jlc291cmNlR3JvdXBzL3JnL3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9uZXR3b3JrTWFuYWdlcnMvdm5tXCJcbiAgICovXG4gIHJlYWRvbmx5IG5ldHdvcmtNYW5hZ2VySWQ6IHN0cmluZztcblxuICAvKipcbiAgICogT3B0aW9uYWwgZGVzY3JpcHRpb24gb2YgdGhlIG5ldHdvcmsgZ3JvdXBcbiAgICogQGV4YW1wbGUgXCJQcm9kdWN0aW9uIHZpcnR1YWwgbmV0d29ya3MgZm9yIHJlZ2lvbiBFYXN0IFVTXCJcbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUeXBlIG9mIG1lbWJlcnMgaW4gdGhpcyBuZXR3b3JrIGdyb3VwXG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZCAoY2FuIGNvbnRhaW4gYm90aCBWaXJ0dWFsTmV0d29yayBhbmQgU3VibmV0IG1lbWJlcnMpXG4gICAqIEBleGFtcGxlIFwiVmlydHVhbE5ldHdvcmtcIlxuICAgKiBAZXhhbXBsZSBcIlN1Ym5ldFwiXG4gICAqL1xuICByZWFkb25seSBtZW1iZXJUeXBlPzogXCJWaXJ0dWFsTmV0d29ya1wiIHwgXCJTdWJuZXRcIjtcblxuICAvKipcbiAgICogVGhlIGxpZmVjeWNsZSBydWxlcyB0byBpZ25vcmUgY2hhbmdlc1xuICAgKiBAZXhhbXBsZSBbXCJ0YWdzXCJdXG4gICAqL1xuICByZWFkb25seSBpZ25vcmVDaGFuZ2VzPzogc3RyaW5nW107XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgTmV0d29yayBHcm91cCBib2R5XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmV0d29ya0dyb3VwUHJvcGVydGllcyB7XG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICByZWFkb25seSBtZW1iZXJUeXBlPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFRoZSByZXNvdXJjZSBib2R5IGludGVyZmFjZSBmb3IgQXp1cmUgTmV0d29yayBHcm91cCBBUEkgY2FsbHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOZXR3b3JrR3JvdXBCb2R5IHtcbiAgcmVhZG9ubHkgcHJvcGVydGllcz86IE5ldHdvcmtHcm91cFByb3BlcnRpZXM7XG59XG5cbi8qKlxuICogQXp1cmUgVmlydHVhbCBOZXR3b3JrIE1hbmFnZXIgTmV0d29yayBHcm91cCBpbXBsZW1lbnRhdGlvblxuICpcbiAqIE5ldHdvcmsgR3JvdXBzIGFyZSBsb2dpY2FsIGNvbnRhaW5lcnMgZm9yIHZpcnR1YWwgbmV0d29ya3Mgb3Igc3VibmV0cyB0aGF0IGFsbG93IHlvdSB0b1xuICogYXBwbHkgY29ubmVjdGl2aXR5LCBzZWN1cml0eSwgb3Igcm91dGluZyBjb25maWd1cmF0aW9ucyBhdCBzY2FsZS4gVGhleSBhcmUgYSBmb3VuZGF0aW9uYWxcbiAqIGNvbXBvbmVudCByZXF1aXJlZCBieSBjb25uZWN0aXZpdHkgY29uZmlndXJhdGlvbnMsIHNlY3VyaXR5IGFkbWluIGNvbmZpZ3VyYXRpb25zLCBhbmRcbiAqIHJvdXRpbmcgY29uZmlndXJhdGlvbnMuXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEJhc2ljIG5ldHdvcmsgZ3JvdXAgZm9yIHByb2R1Y3Rpb24gVk5ldHM6XG4gKiBjb25zdCBwcm9kdWN0aW9uR3JvdXAgPSBuZXcgTmV0d29ya0dyb3VwKHRoaXMsIFwicHJvZC1ncm91cFwiLCB7XG4gKiAgIG5hbWU6IFwicHJvZHVjdGlvbi12bmV0c1wiLFxuICogICBuZXR3b3JrTWFuYWdlcklkOiBuZXR3b3JrTWFuYWdlci5pZCxcbiAqICAgZGVzY3JpcHRpb246IFwiUHJvZHVjdGlvbiB2aXJ0dWFsIG5ldHdvcmtzXCIsXG4gKiAgIG1lbWJlclR5cGU6IFwiVmlydHVhbE5ldHdvcmtcIlxuICogfSk7XG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIE5ldHdvcmsgZ3JvdXAgd2l0aCBleHBsaWNpdCB2ZXJzaW9uIHBpbm5pbmc6XG4gKiBjb25zdCBkZXZHcm91cCA9IG5ldyBOZXR3b3JrR3JvdXAodGhpcywgXCJkZXYtZ3JvdXBcIiwge1xuICogICBuYW1lOiBcImRldmVsb3BtZW50LXZuZXRzXCIsXG4gKiAgIG5ldHdvcmtNYW5hZ2VySWQ6IG5ldHdvcmtNYW5hZ2VyLmlkLFxuICogICBhcGlWZXJzaW9uOiBcIjIwMjQtMDUtMDFcIixcbiAqICAgZGVzY3JpcHRpb246IFwiRGV2ZWxvcG1lbnQgdmlydHVhbCBuZXR3b3Jrc1wiXG4gKiB9KTtcbiAqXG4gKiBAc3RhYmlsaXR5IHN0YWJsZVxuICovXG5leHBvcnQgY2xhc3MgTmV0d29ya0dyb3VwIGV4dGVuZHMgQXphcGlSZXNvdXJjZSB7XG4gIHN0YXRpYyB7XG4gICAgQXphcGlSZXNvdXJjZS5yZWdpc3RlclNjaGVtYXMoXG4gICAgICBORVRXT1JLX0dST1VQX1RZUEUsXG4gICAgICBBTExfTkVUV09SS19HUk9VUF9WRVJTSU9OUyxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBpbnB1dCBwcm9wZXJ0aWVzIGZvciB0aGlzIE5ldHdvcmsgR3JvdXAgaW5zdGFuY2VcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBwcm9wczogTmV0d29ya0dyb3VwUHJvcHM7XG5cbiAgLy8gT3V0cHV0IHByb3BlcnRpZXMgZm9yIGVhc3kgYWNjZXNzIGFuZCByZWZlcmVuY2luZ1xuICBwdWJsaWMgcmVhZG9ubHkgaWRPdXRwdXQ6IGNka3RmLlRlcnJhZm9ybU91dHB1dDtcbiAgcHVibGljIHJlYWRvbmx5IG5hbWVPdXRwdXQ6IGNka3RmLlRlcnJhZm9ybU91dHB1dDtcbiAgcHVibGljIHJlYWRvbmx5IHByb3Zpc2lvbmluZ1N0YXRlT3V0cHV0OiBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQ7XG5cbiAgLy8gUHVibGljIHByb3BlcnRpZXNcbiAgcHVibGljIHJlYWRvbmx5IHJlc291cmNlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IEF6dXJlIFZpcnR1YWwgTmV0d29yayBNYW5hZ2VyIE5ldHdvcmsgR3JvdXAgdXNpbmcgdGhlIEF6YXBpUmVzb3VyY2UgZnJhbWV3b3JrXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSAtIFRoZSBzY29wZSBpbiB3aGljaCB0byBkZWZpbmUgdGhpcyBjb25zdHJ1Y3RcbiAgICogQHBhcmFtIGlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGlzIGluc3RhbmNlXG4gICAqIEBwYXJhbSBwcm9wcyAtIENvbmZpZ3VyYXRpb24gcHJvcGVydGllcyBmb3IgdGhlIE5ldHdvcmsgR3JvdXBcbiAgICovXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBOZXR3b3JrR3JvdXBQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuXG4gICAgdGhpcy5wcm9wcyA9IHByb3BzO1xuXG4gICAgLy8gRXh0cmFjdCBwcm9wZXJ0aWVzIGZyb20gdGhlIEFaQVBJIHJlc291cmNlIG91dHB1dHMgdXNpbmcgVGVycmFmb3JtIGludGVycG9sYXRpb25cbiAgICB0aGlzLnJlc291cmNlTmFtZSA9IGBcXCR7JHt0aGlzLnRlcnJhZm9ybVJlc291cmNlLmZxbn0ubmFtZX1gO1xuXG4gICAgLy8gQ3JlYXRlIFRlcnJhZm9ybSBvdXRwdXRzIGZvciBlYXN5IGFjY2VzcyBhbmQgcmVmZXJlbmNpbmcgZnJvbSBvdGhlciByZXNvdXJjZXNcbiAgICB0aGlzLmlkT3V0cHV0ID0gbmV3IGNka3RmLlRlcnJhZm9ybU91dHB1dCh0aGlzLCBcImlkXCIsIHtcbiAgICAgIHZhbHVlOiB0aGlzLmlkLFxuICAgICAgZGVzY3JpcHRpb246IFwiVGhlIElEIG9mIHRoZSBOZXR3b3JrIEdyb3VwXCIsXG4gICAgfSk7XG5cbiAgICB0aGlzLm5hbWVPdXRwdXQgPSBuZXcgY2RrdGYuVGVycmFmb3JtT3V0cHV0KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICB2YWx1ZTogdGhpcy5yZXNvdXJjZU5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogXCJUaGUgbmFtZSBvZiB0aGUgTmV0d29yayBHcm91cFwiLFxuICAgIH0pO1xuXG4gICAgdGhpcy5wcm92aXNpb25pbmdTdGF0ZU91dHB1dCA9IG5ldyBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQoXG4gICAgICB0aGlzLFxuICAgICAgXCJwcm92aXNpb25pbmdTdGF0ZVwiLFxuICAgICAge1xuICAgICAgICB2YWx1ZTogYFxcJHske3RoaXMudGVycmFmb3JtUmVzb3VyY2UuZnFufS5vdXRwdXQucHJvcGVydGllcy5wcm92aXNpb25pbmdTdGF0ZX1gLFxuICAgICAgICBkZXNjcmlwdGlvbjogXCJUaGUgcHJvdmlzaW9uaW5nIHN0YXRlIG9mIHRoZSBOZXR3b3JrIEdyb3VwXCIsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICAvLyBPdmVycmlkZSBsb2dpY2FsIElEcyB0byBtYXRjaCBuYW1pbmcgY29udmVudGlvblxuICAgIHRoaXMuaWRPdXRwdXQub3ZlcnJpZGVMb2dpY2FsSWQoXCJpZFwiKTtcbiAgICB0aGlzLm5hbWVPdXRwdXQub3ZlcnJpZGVMb2dpY2FsSWQoXCJuYW1lXCIpO1xuICAgIHRoaXMucHJvdmlzaW9uaW5nU3RhdGVPdXRwdXQub3ZlcnJpZGVMb2dpY2FsSWQoXCJwcm92aXNpb25pbmdTdGF0ZVwiKTtcblxuICAgIC8vIEFwcGx5IGlnbm9yZSBjaGFuZ2VzIGlmIHNwZWNpZmllZFxuICAgIHRoaXMuX2FwcGx5SWdub3JlQ2hhbmdlcygpO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gUkVRVUlSRUQgQUJTVFJBQ1QgTUVUSE9EUyBGUk9NIEF6YXBpUmVzb3VyY2VcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvKipcbiAgICogUmVzb2x2ZXMgdGhlIHBhcmVudCByZXNvdXJjZSBJRCBmb3IgdGhlIE5ldHdvcmsgR3JvdXBcbiAgICogTmV0d29yayBHcm91cHMgYXJlIHNjb3BlZCB0byBOZXR3b3JrIE1hbmFnZXJzXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVzb2x2ZVBhcmVudElkKHByb3BzOiBhbnkpOiBzdHJpbmcge1xuICAgIGNvbnN0IHR5cGVkUHJvcHMgPSBwcm9wcyBhcyBOZXR3b3JrR3JvdXBQcm9wcztcbiAgICByZXR1cm4gdHlwZWRQcm9wcy5uZXR3b3JrTWFuYWdlcklkO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGRlZmF1bHQgQVBJIHZlcnNpb24gdG8gdXNlIHdoZW4gbm8gZXhwbGljaXQgdmVyc2lvbiBpcyBzcGVjaWZpZWRcbiAgICovXG4gIHByb3RlY3RlZCBkZWZhdWx0VmVyc2lvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiBcIjIwMjQtMDUtMDFcIjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBBenVyZSByZXNvdXJjZSB0eXBlIGZvciBOZXR3b3JrIEdyb3Vwc1xuICAgKi9cbiAgcHJvdGVjdGVkIHJlc291cmNlVHlwZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBORVRXT1JLX0dST1VQX1RZUEU7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgQVBJIHNjaGVtYSBmb3IgdGhlIHJlc29sdmVkIHZlcnNpb25cbiAgICovXG4gIHByb3RlY3RlZCBhcGlTY2hlbWEoKTogQXBpU2NoZW1hIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlU2NoZW1hKCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyB0aGUgcmVzb3VyY2UgYm9keSBmb3IgdGhlIEF6dXJlIEFQSSBjYWxsXG4gICAqL1xuICBwcm90ZWN0ZWQgY3JlYXRlUmVzb3VyY2VCb2R5KHByb3BzOiBhbnkpOiBhbnkge1xuICAgIGNvbnN0IHR5cGVkUHJvcHMgPSBwcm9wcyBhcyBOZXR3b3JrR3JvdXBQcm9wcztcbiAgICByZXR1cm4ge1xuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBkZXNjcmlwdGlvbjogdHlwZWRQcm9wcy5kZXNjcmlwdGlvbixcbiAgICAgICAgbWVtYmVyVHlwZTogdHlwZWRQcm9wcy5tZW1iZXJUeXBlLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gUFVCTElDIE1FVEhPRFMgRk9SIE5FVFdPUksgR1JPVVAgT1BFUkFUSU9OU1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHByb3Zpc2lvbmluZyBzdGF0ZSBvZiB0aGUgTmV0d29yayBHcm91cFxuICAgKi9cbiAgcHVibGljIGdldCBwcm92aXNpb25pbmdTdGF0ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgXFwkeyR7dGhpcy50ZXJyYWZvcm1SZXNvdXJjZS5mcW59Lm91dHB1dC5wcm9wZXJ0aWVzLnByb3Zpc2lvbmluZ1N0YXRlfWA7XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBQUklWQVRFIEhFTFBFUiBNRVRIT0RTXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLyoqXG4gICAqIEFwcGxpZXMgaWdub3JlIGNoYW5nZXMgbGlmZWN5Y2xlIHJ1bGVzIGlmIHNwZWNpZmllZCBpbiBwcm9wc1xuICAgKi9cbiAgcHJpdmF0ZSBfYXBwbHlJZ25vcmVDaGFuZ2VzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnByb3BzLmlnbm9yZUNoYW5nZXMgJiYgdGhpcy5wcm9wcy5pZ25vcmVDaGFuZ2VzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMudGVycmFmb3JtUmVzb3VyY2UuYWRkT3ZlcnJpZGUoXCJsaWZlY3ljbGVcIiwge1xuICAgICAgICBpZ25vcmVfY2hhbmdlczogdGhpcy5wcm9wcy5pZ25vcmVDaGFuZ2VzLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,32 @@
1
+ /**
2
+ * API schemas for Azure Virtual Network Manager Security Admin Configurations across all supported versions
3
+ *
4
+ * This file defines the complete API schemas for Microsoft.Network/networkManagers/securityAdminConfigurations
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 Security Admin Configuration version 2024-05-01
11
+ */
12
+ export declare const SECURITY_ADMIN_CONFIGURATION_SCHEMA_2024_05_01: ApiSchema;
13
+ /**
14
+ * API Schema for Security Admin Configuration version 2023-11-01
15
+ */
16
+ export declare const SECURITY_ADMIN_CONFIGURATION_SCHEMA_2023_11_01: ApiSchema;
17
+ /**
18
+ * Version configuration for Security Admin Configuration 2024-05-01
19
+ */
20
+ export declare const SECURITY_ADMIN_CONFIGURATION_VERSION_2024_05_01: VersionConfig;
21
+ /**
22
+ * Version configuration for Security Admin Configuration 2023-11-01
23
+ */
24
+ export declare const SECURITY_ADMIN_CONFIGURATION_VERSION_2023_11_01: VersionConfig;
25
+ /**
26
+ * All supported Security Admin Configuration versions for registration
27
+ */
28
+ export declare const ALL_SECURITY_ADMIN_CONFIGURATION_VERSIONS: VersionConfig[];
29
+ /**
30
+ * Resource type constant
31
+ */
32
+ export declare const SECURITY_ADMIN_CONFIGURATION_TYPE = "Microsoft.Network/networkManagers/securityAdminConfigurations";