@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,189 @@
1
+ "use strict";
2
+ /**
3
+ * API schemas for Azure Virtual Network Manager Network Groups across all supported versions
4
+ *
5
+ * This file defines the complete API schemas for Microsoft.Network/networkManagers/networkGroups
6
+ * across all supported API versions. The schemas are used by the AzapiResource
7
+ * framework for validation, transformation, and version management.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.NETWORK_GROUP_TYPE = exports.ALL_NETWORK_GROUP_VERSIONS = exports.NETWORK_GROUP_VERSION_2023_11_01 = exports.NETWORK_GROUP_VERSION_2024_05_01 = exports.NETWORK_GROUP_SCHEMA_2023_11_01 = exports.NETWORK_GROUP_SCHEMA_2024_05_01 = void 0;
11
+ const version_interfaces_1 = require("../../core-azure/lib/version-manager/interfaces/version-interfaces");
12
+ // =============================================================================
13
+ // COMMON PROPERTY DEFINITIONS
14
+ // =============================================================================
15
+ /**
16
+ * Common property definitions shared across all Network Group versions
17
+ */
18
+ const COMMON_PROPERTIES = {
19
+ name: {
20
+ dataType: version_interfaces_1.PropertyType.STRING,
21
+ required: true,
22
+ description: "Name of the network group",
23
+ validation: [
24
+ {
25
+ ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
26
+ message: "Network group name is required",
27
+ },
28
+ {
29
+ ruleType: version_interfaces_1.ValidationRuleType.PATTERN_MATCH,
30
+ value: "^[a-zA-Z0-9][a-zA-Z0-9._-]{0,62}[a-zA-Z0-9_]$",
31
+ message: "Network group name must be 2-64 chars, alphanumeric, periods, underscores, hyphens",
32
+ },
33
+ ],
34
+ },
35
+ networkManagerId: {
36
+ dataType: version_interfaces_1.PropertyType.STRING,
37
+ required: true,
38
+ description: "Resource ID of the parent Network Manager",
39
+ validation: [
40
+ {
41
+ ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
42
+ message: "Network Manager ID is required",
43
+ },
44
+ ],
45
+ },
46
+ description: {
47
+ dataType: version_interfaces_1.PropertyType.STRING,
48
+ required: false,
49
+ description: "Description of the network group",
50
+ },
51
+ memberType: {
52
+ dataType: version_interfaces_1.PropertyType.STRING,
53
+ required: false,
54
+ description: "Type of members in the network group (VirtualNetwork or Subnet)",
55
+ validation: [
56
+ {
57
+ ruleType: version_interfaces_1.ValidationRuleType.PATTERN_MATCH,
58
+ value: "^(VirtualNetwork|Subnet)$",
59
+ message: "Member type must be 'VirtualNetwork' or 'Subnet'",
60
+ },
61
+ ],
62
+ },
63
+ };
64
+ // =============================================================================
65
+ // VERSION-SPECIFIC SCHEMAS
66
+ // =============================================================================
67
+ /**
68
+ * API Schema for Network Group version 2024-05-01
69
+ */
70
+ exports.NETWORK_GROUP_SCHEMA_2024_05_01 = {
71
+ resourceType: "Microsoft.Network/networkManagers/networkGroups",
72
+ version: "2024-05-01",
73
+ properties: {
74
+ ...COMMON_PROPERTIES,
75
+ },
76
+ required: ["name", "networkManagerId"],
77
+ optional: ["description", "memberType"],
78
+ deprecated: [],
79
+ transformationRules: {},
80
+ validationRules: [
81
+ {
82
+ property: "name",
83
+ rules: [
84
+ {
85
+ ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
86
+ message: "Network group name is required",
87
+ },
88
+ ],
89
+ },
90
+ {
91
+ property: "networkManagerId",
92
+ rules: [
93
+ {
94
+ ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
95
+ message: "Network Manager ID is required",
96
+ },
97
+ ],
98
+ },
99
+ ],
100
+ };
101
+ /**
102
+ * API Schema for Network Group version 2023-11-01
103
+ */
104
+ exports.NETWORK_GROUP_SCHEMA_2023_11_01 = {
105
+ resourceType: "Microsoft.Network/networkManagers/networkGroups",
106
+ version: "2023-11-01",
107
+ properties: {
108
+ ...COMMON_PROPERTIES,
109
+ },
110
+ required: ["name", "networkManagerId"],
111
+ optional: ["description", "memberType"],
112
+ deprecated: [],
113
+ transformationRules: {},
114
+ validationRules: [
115
+ {
116
+ property: "name",
117
+ rules: [
118
+ {
119
+ ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
120
+ message: "Network group name is required",
121
+ },
122
+ ],
123
+ },
124
+ {
125
+ property: "networkManagerId",
126
+ rules: [
127
+ {
128
+ ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
129
+ message: "Network Manager ID is required",
130
+ },
131
+ ],
132
+ },
133
+ ],
134
+ };
135
+ // =============================================================================
136
+ // VERSION CONFIGURATIONS
137
+ // =============================================================================
138
+ /**
139
+ * Version configuration for Network Group 2024-05-01
140
+ */
141
+ exports.NETWORK_GROUP_VERSION_2024_05_01 = {
142
+ version: "2024-05-01",
143
+ schema: exports.NETWORK_GROUP_SCHEMA_2024_05_01,
144
+ supportLevel: version_interfaces_1.VersionSupportLevel.ACTIVE,
145
+ releaseDate: "2024-05-01",
146
+ deprecationDate: undefined,
147
+ sunsetDate: undefined,
148
+ breakingChanges: [],
149
+ migrationGuide: "/docs/virtual-network-manager/migration-2024-05-01",
150
+ changeLog: [
151
+ {
152
+ changeType: "added",
153
+ description: "Latest stable release with full network group support",
154
+ breaking: false,
155
+ },
156
+ ],
157
+ };
158
+ /**
159
+ * Version configuration for Network Group 2023-11-01
160
+ */
161
+ exports.NETWORK_GROUP_VERSION_2023_11_01 = {
162
+ version: "2023-11-01",
163
+ schema: exports.NETWORK_GROUP_SCHEMA_2023_11_01,
164
+ supportLevel: version_interfaces_1.VersionSupportLevel.MAINTENANCE,
165
+ releaseDate: "2023-11-01",
166
+ deprecationDate: undefined,
167
+ sunsetDate: undefined,
168
+ breakingChanges: [],
169
+ migrationGuide: "/docs/virtual-network-manager/migration-2023-11-01",
170
+ changeLog: [
171
+ {
172
+ changeType: "added",
173
+ description: "Stable release with core network group features",
174
+ breaking: false,
175
+ },
176
+ ],
177
+ };
178
+ /**
179
+ * All supported Network Group versions for registration
180
+ */
181
+ exports.ALL_NETWORK_GROUP_VERSIONS = [
182
+ exports.NETWORK_GROUP_VERSION_2024_05_01,
183
+ exports.NETWORK_GROUP_VERSION_2023_11_01,
184
+ ];
185
+ /**
186
+ * Resource type constant
187
+ */
188
+ exports.NETWORK_GROUP_TYPE = "Microsoft.Network/networkManagers/networkGroups";
189
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay1ncm91cC1zY2hlbWFzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F6dXJlLXZpcnR1YWxuZXR3b3JrbWFuYWdlci9saWIvbmV0d29yay1ncm91cC1zY2hlbWFzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7OztBQUVILDJHQU80RTtBQUU1RSxnRkFBZ0Y7QUFDaEYsOEJBQThCO0FBQzlCLGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQU0saUJBQWlCLEdBQTBDO0lBQy9ELElBQUksRUFBRTtRQUNKLFFBQVEsRUFBRSxpQ0FBWSxDQUFDLE1BQU07UUFDN0IsUUFBUSxFQUFFLElBQUk7UUFDZCxXQUFXLEVBQUUsMkJBQTJCO1FBQ3hDLFVBQVUsRUFBRTtZQUNWO2dCQUNFLFFBQVEsRUFBRSx1Q0FBa0IsQ0FBQyxRQUFRO2dCQUNyQyxPQUFPLEVBQUUsZ0NBQWdDO2FBQzFDO1lBQ0Q7Z0JBQ0UsUUFBUSxFQUFFLHVDQUFrQixDQUFDLGFBQWE7Z0JBQzFDLEtBQUssRUFBRSwrQ0FBK0M7Z0JBQ3RELE9BQU8sRUFDTCxvRkFBb0Y7YUFDdkY7U0FDRjtLQUNGO0lBQ0QsZ0JBQWdCLEVBQUU7UUFDaEIsUUFBUSxFQUFFLGlDQUFZLENBQUMsTUFBTTtRQUM3QixRQUFRLEVBQUUsSUFBSTtRQUNkLFdBQVcsRUFBRSwyQ0FBMkM7UUFDeEQsVUFBVSxFQUFFO1lBQ1Y7Z0JBQ0UsUUFBUSxFQUFFLHVDQUFrQixDQUFDLFFBQVE7Z0JBQ3JDLE9BQU8sRUFBRSxnQ0FBZ0M7YUFDMUM7U0FDRjtLQUNGO0lBQ0QsV0FBVyxFQUFFO1FBQ1gsUUFBUSxFQUFFLGlDQUFZLENBQUMsTUFBTTtRQUM3QixRQUFRLEVBQUUsS0FBSztRQUNmLFdBQVcsRUFBRSxrQ0FBa0M7S0FDaEQ7SUFDRCxVQUFVLEVBQUU7UUFDVixRQUFRLEVBQUUsaUNBQVksQ0FBQyxNQUFNO1FBQzdCLFFBQVEsRUFBRSxLQUFLO1FB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RDtJQUNwRSxTQUFTLEVBQUU7UUFDVDtZQUNFLFVBQVUsRUFBRSxPQUFPO1lBQ25CLFdBQVcsRUFBRSxpREFBaUQ7WUFDOUQsUUFBUSxFQUFFLEtBQUs7U0FDaEI7S0FDRjtDQUNGLENBQUM7QUFFRjs7R0FFRztBQUNVLFFBQUEsMEJBQTBCLEdBQW9CO0lBQ3pELHdDQUFnQztJQUNoQyx3Q0FBZ0M7Q0FDakMsQ0FBQztBQUVGOztHQUVHO0FBQ1UsUUFBQSxrQkFBa0IsR0FDN0IsaURBQWlELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFQSSBzY2hlbWFzIGZvciBBenVyZSBWaXJ0dWFsIE5ldHdvcmsgTWFuYWdlciBOZXR3b3JrIEdyb3VwcyBhY3Jvc3MgYWxsIHN1cHBvcnRlZCB2ZXJzaW9uc1xuICpcbiAqIFRoaXMgZmlsZSBkZWZpbmVzIHRoZSBjb21wbGV0ZSBBUEkgc2NoZW1hcyBmb3IgTWljcm9zb2Z0Lk5ldHdvcmsvbmV0d29ya01hbmFnZXJzL25ldHdvcmtHcm91cHNcbiAqIGFjcm9zcyBhbGwgc3VwcG9ydGVkIEFQSSB2ZXJzaW9ucy4gVGhlIHNjaGVtYXMgYXJlIHVzZWQgYnkgdGhlIEF6YXBpUmVzb3VyY2VcbiAqIGZyYW1ld29yayBmb3IgdmFsaWRhdGlvbiwgdHJhbnNmb3JtYXRpb24sIGFuZCB2ZXJzaW9uIG1hbmFnZW1lbnQuXG4gKi9cblxuaW1wb3J0IHtcbiAgQXBpU2NoZW1hLFxuICBQcm9wZXJ0eURlZmluaXRpb24sXG4gIFByb3BlcnR5VHlwZSxcbiAgVmFsaWRhdGlvblJ1bGVUeXBlLFxuICBWZXJzaW9uQ29uZmlnLFxuICBWZXJzaW9uU3VwcG9ydExldmVsLFxufSBmcm9tIFwiLi4vLi4vY29yZS1henVyZS9saWIvdmVyc2lvbi1tYW5hZ2VyL2ludGVyZmFjZXMvdmVyc2lvbi1pbnRlcmZhY2VzXCI7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDT01NT04gUFJPUEVSVFkgREVGSU5JVElPTlNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogQ29tbW9uIHByb3BlcnR5IGRlZmluaXRpb25zIHNoYXJlZCBhY3Jvc3MgYWxsIE5ldHdvcmsgR3JvdXAgdmVyc2lvbnNcbiAqL1xuY29uc3QgQ09NTU9OX1BST1BFUlRJRVM6IHsgW2tleTogc3RyaW5nXTogUHJvcGVydHlEZWZpbml0aW9uIH0gPSB7XG4gIG5hbWU6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICBkZXNjcmlwdGlvbjogXCJOYW1lIG9mIHRoZSBuZXR3b3JrIGdyb3VwXCIsXG4gICAgdmFsaWRhdGlvbjogW1xuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlJFUVVJUkVELFxuICAgICAgICBtZXNzYWdlOiBcIk5ldHdvcmsgZ3JvdXAgbmFtZSBpcyByZXF1aXJlZFwiLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5QQVRURVJOX01BVENILFxuICAgICAgICB2YWx1ZTogXCJeW2EtekEtWjAtOV1bYS16QS1aMC05Ll8tXXswLDYyfVthLXpBLVowLTlfXSRcIixcbiAgICAgICAgbWVzc2FnZTpcbiAgICAgICAgICBcIk5ldHdvcmsgZ3JvdXAgbmFtZSBtdXN0IGJlIDItNjQgY2hhcnMsIGFscGhhbnVtZXJpYywgcGVyaW9kcywgdW5kZXJzY29yZXMsIGh5cGhlbnNcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgbmV0d29ya01hbmFnZXJJZDoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuU1RSSU5HLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIGRlc2NyaXB0aW9uOiBcIlJlc291cmNlIElEIG9mIHRoZSBwYXJlbnQgTmV0d29yayBNYW5hZ2VyXCIsXG4gICAgdmFsaWRhdGlvbjogW1xuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlJFUVVJUkVELFxuICAgICAgICBtZXNzYWdlOiBcIk5ldHdvcmsgTWFuYWdlciBJRCBpcyByZXF1aXJlZFwiLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICBkZXNjcmlwdGlvbjoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuU1RSSU5HLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZXNjcmlwdGlvbjogXCJEZXNjcmlwdGlvbiBvZiB0aGUgbmV0d29yayBncm91cFwiLFxuICB9LFxuICBtZW1iZXJUeXBlOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5TVFJJTkcsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgXCJUeXBlIG9mIG1lbWJlcnMgaW4gdGhlIG5ldHdvcmsgZ3JvdXAgKFZpcnR1YWxOZXR3b3JrIG9yIFN1Ym5ldClcIixcbiAgICB2YWxpZGF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUEFUVEVSTl9NQVRDSCxcbiAgICAgICAgdmFsdWU6IFwiXihWaXJ0dWFsTmV0d29ya3xTdWJuZXQpJFwiLFxuICAgICAgICBtZXNzYWdlOiBcIk1lbWJlciB0eXBlIG11c3QgYmUgJ1ZpcnR1YWxOZXR3b3JrJyBvciAnU3VibmV0J1wiLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFZFUlNJT04tU1BFQ0lGSUMgU0NIRU1BU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBBUEkgU2NoZW1hIGZvciBOZXR3b3JrIEdyb3VwIHZlcnNpb24gMjAyNC0wNS0wMVxuICovXG5leHBvcnQgY29uc3QgTkVUV09SS19HUk9VUF9TQ0hFTUFfMjAyNF8wNV8wMTogQXBpU2NoZW1hID0ge1xuICByZXNvdXJjZVR5cGU6IFwiTWljcm9zb2Z0Lk5ldHdvcmsvbmV0d29ya01hbmFnZXJzL25ldHdvcmtHcm91cHNcIixcbiAgdmVyc2lvbjogXCIyMDI0LTA1LTAxXCIsXG4gIHByb3BlcnRpZXM6IHtcbiAgICAuLi5DT01NT05fUFJPUEVSVElFUyxcbiAgfSxcbiAgcmVxdWlyZWQ6IFtcIm5hbWVcIiwgXCJuZXR3b3JrTWFuYWdlcklkXCJdLFxuICBvcHRpb25hbDogW1wiZGVzY3JpcHRpb25cIiwgXCJtZW1iZXJUeXBlXCJdLFxuICBkZXByZWNhdGVkOiBbXSxcbiAgdHJhbnNmb3JtYXRpb25SdWxlczoge30sXG4gIHZhbGlkYXRpb25SdWxlczogW1xuICAgIHtcbiAgICAgIHByb3BlcnR5OiBcIm5hbWVcIixcbiAgICAgIHJ1bGVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlJFUVVJUkVELFxuICAgICAgICAgIG1lc3NhZ2U6IFwiTmV0d29yayBncm91cCBuYW1lIGlzIHJlcXVpcmVkXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvcGVydHk6IFwibmV0d29ya01hbmFnZXJJZFwiLFxuICAgICAgcnVsZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUkVRVUlSRUQsXG4gICAgICAgICAgbWVzc2FnZTogXCJOZXR3b3JrIE1hbmFnZXIgSUQgaXMgcmVxdWlyZWRcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgXSxcbn07XG5cbi8qKlxuICogQVBJIFNjaGVtYSBmb3IgTmV0d29yayBHcm91cCB2ZXJzaW9uIDIwMjMtMTEtMDFcbiAqL1xuZXhwb3J0IGNvbnN0IE5FVFdPUktfR1JPVVBfU0NIRU1BXzIwMjNfMTFfMDE6IEFwaVNjaGVtYSA9IHtcbiAgcmVzb3VyY2VUeXBlOiBcIk1pY3Jvc29mdC5OZXR3b3JrL25ldHdvcmtNYW5hZ2Vycy9uZXR3b3JrR3JvdXBzXCIsXG4gIHZlcnNpb246IFwiMjAyMy0xMS0wMVwiLFxuICBwcm9wZXJ0aWVzOiB7XG4gICAgLi4uQ09NTU9OX1BST1BFUlRJRVMsXG4gIH0sXG4gIHJlcXVpcmVkOiBbXCJuYW1lXCIsIFwibmV0d29ya01hbmFnZXJJZFwiXSxcbiAgb3B0aW9uYWw6IFtcImRlc2NyaXB0aW9uXCIsIFwibWVtYmVyVHlwZVwiXSxcbiAgZGVwcmVjYXRlZDogW10sXG4gIHRyYW5zZm9ybWF0aW9uUnVsZXM6IHt9LFxuICB2YWxpZGF0aW9uUnVsZXM6IFtcbiAgICB7XG4gICAgICBwcm9wZXJ0eTogXCJuYW1lXCIsXG4gICAgICBydWxlczogW1xuICAgICAgICB7XG4gICAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5SRVFVSVJFRCxcbiAgICAgICAgICBtZXNzYWdlOiBcIk5ldHdvcmsgZ3JvdXAgbmFtZSBpcyByZXF1aXJlZFwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3BlcnR5OiBcIm5ldHdvcmtNYW5hZ2VySWRcIixcbiAgICAgIHJ1bGVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlJFUVVJUkVELFxuICAgICAgICAgIG1lc3NhZ2U6IFwiTmV0d29yayBNYW5hZ2VyIElEIGlzIHJlcXVpcmVkXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gIF0sXG59O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVkVSU0lPTiBDT05GSUdVUkFUSU9OU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBWZXJzaW9uIGNvbmZpZ3VyYXRpb24gZm9yIE5ldHdvcmsgR3JvdXAgMjAyNC0wNS0wMVxuICovXG5leHBvcnQgY29uc3QgTkVUV09SS19HUk9VUF9WRVJTSU9OXzIwMjRfMDVfMDE6IFZlcnNpb25Db25maWcgPSB7XG4gIHZlcnNpb246IFwiMjAyNC0wNS0wMVwiLFxuICBzY2hlbWE6IE5FVFdPUktfR1JPVVBfU0NIRU1BXzIwMjRfMDVfMDEsXG4gIHN1cHBvcnRMZXZlbDogVmVyc2lvblN1cHBvcnRMZXZlbC5BQ1RJVkUsXG4gIHJlbGVhc2VEYXRlOiBcIjIwMjQtMDUtMDFcIixcbiAgZGVwcmVjYXRpb25EYXRlOiB1bmRlZmluZWQsXG4gIHN1bnNldERhdGU6IHVuZGVmaW5lZCxcbiAgYnJlYWtpbmdDaGFuZ2VzOiBbXSxcbiAgbWlncmF0aW9uR3VpZGU6IFwiL2RvY3MvdmlydHVhbC1uZXR3b3JrLW1hbmFnZXIvbWlncmF0aW9uLTIwMjQtMDUtMDFcIixcbiAgY2hhbmdlTG9nOiBbXG4gICAge1xuICAgICAgY2hhbmdlVHlwZTogXCJhZGRlZFwiLFxuICAgICAgZGVzY3JpcHRpb246IFwiTGF0ZXN0IHN0YWJsZSByZWxlYXNlIHdpdGggZnVsbCBuZXR3b3JrIGdyb3VwIHN1cHBvcnRcIixcbiAgICAgIGJyZWFraW5nOiBmYWxzZSxcbiAgICB9LFxuICBdLFxufTtcblxuLyoqXG4gKiBWZXJzaW9uIGNvbmZpZ3VyYXRpb24gZm9yIE5ldHdvcmsgR3JvdXAgMjAyMy0xMS0wMVxuICovXG5leHBvcnQgY29uc3QgTkVUV09SS19HUk9VUF9WRVJTSU9OXzIwMjNfMTFfMDE6IFZlcnNpb25Db25maWcgPSB7XG4gIHZlcnNpb246IFwiMjAyMy0xMS0wMVwiLFxuICBzY2hlbWE6IE5FVFdPUktfR1JPVVBfU0NIRU1BXzIwMjNfMTFfMDEsXG4gIHN1cHBvcnRMZXZlbDogVmVyc2lvblN1cHBvcnRMZXZlbC5NQUlOVEVOQU5DRSxcbiAgcmVsZWFzZURhdGU6IFwiMjAyMy0xMS0wMVwiLFxuICBkZXByZWNhdGlvbkRhdGU6IHVuZGVmaW5lZCxcbiAgc3Vuc2V0RGF0ZTogdW5kZWZpbmVkLFxuICBicmVha2luZ0NoYW5nZXM6IFtdLFxuICBtaWdyYXRpb25HdWlkZTogXCIvZG9jcy92aXJ0dWFsLW5ldHdvcmstbWFuYWdlci9taWdyYXRpb24tMjAyMy0xMS0wMVwiLFxuICBjaGFuZ2VMb2c6IFtcbiAgICB7XG4gICAgICBjaGFuZ2VUeXBlOiBcImFkZGVkXCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJTdGFibGUgcmVsZWFzZSB3aXRoIGNvcmUgbmV0d29yayBncm91cCBmZWF0dXJlc1wiLFxuICAgICAgYnJlYWtpbmc6IGZhbHNlLFxuICAgIH0sXG4gIF0sXG59O1xuXG4vKipcbiAqIEFsbCBzdXBwb3J0ZWQgTmV0d29yayBHcm91cCB2ZXJzaW9ucyBmb3IgcmVnaXN0cmF0aW9uXG4gKi9cbmV4cG9ydCBjb25zdCBBTExfTkVUV09SS19HUk9VUF9WRVJTSU9OUzogVmVyc2lvbkNvbmZpZ1tdID0gW1xuICBORVRXT1JLX0dST1VQX1ZFUlNJT05fMjAyNF8wNV8wMSxcbiAgTkVUV09SS19HUk9VUF9WRVJTSU9OXzIwMjNfMTFfMDEsXG5dO1xuXG4vKipcbiAqIFJlc291cmNlIHR5cGUgY29uc3RhbnRcbiAqL1xuZXhwb3J0IGNvbnN0IE5FVFdPUktfR1JPVVBfVFlQRSA9XG4gIFwiTWljcm9zb2Z0Lk5ldHdvcmsvbmV0d29ya01hbmFnZXJzL25ldHdvcmtHcm91cHNcIjtcbiJdfQ==
@@ -0,0 +1,32 @@
1
+ /**
2
+ * API schemas for Azure Virtual Network Manager Network Group Static Members across all supported versions
3
+ *
4
+ * This file defines the complete API schemas for Microsoft.Network/networkManagers/networkGroups/staticMembers
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 Static Member version 2024-05-01
11
+ */
12
+ export declare const STATIC_MEMBER_SCHEMA_2024_05_01: ApiSchema;
13
+ /**
14
+ * API Schema for Static Member version 2023-11-01
15
+ */
16
+ export declare const STATIC_MEMBER_SCHEMA_2023_11_01: ApiSchema;
17
+ /**
18
+ * Version configuration for Static Member 2024-05-01
19
+ */
20
+ export declare const STATIC_MEMBER_VERSION_2024_05_01: VersionConfig;
21
+ /**
22
+ * Version configuration for Static Member 2023-11-01
23
+ */
24
+ export declare const STATIC_MEMBER_VERSION_2023_11_01: VersionConfig;
25
+ /**
26
+ * All supported Static Member versions for registration
27
+ */
28
+ export declare const ALL_STATIC_MEMBER_VERSIONS: VersionConfig[];
29
+ /**
30
+ * Resource type constant
31
+ */
32
+ export declare const STATIC_MEMBER_TYPE = "Microsoft.Network/networkManagers/networkGroups/staticMembers";
@@ -0,0 +1,201 @@
1
+ "use strict";
2
+ /**
3
+ * API schemas for Azure Virtual Network Manager Network Group Static Members across all supported versions
4
+ *
5
+ * This file defines the complete API schemas for Microsoft.Network/networkManagers/networkGroups/staticMembers
6
+ * across all supported API versions. The schemas are used by the AzapiResource
7
+ * framework for validation, transformation, and version management.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.STATIC_MEMBER_TYPE = exports.ALL_STATIC_MEMBER_VERSIONS = exports.STATIC_MEMBER_VERSION_2023_11_01 = exports.STATIC_MEMBER_VERSION_2024_05_01 = exports.STATIC_MEMBER_SCHEMA_2023_11_01 = exports.STATIC_MEMBER_SCHEMA_2024_05_01 = void 0;
11
+ const version_interfaces_1 = require("../../core-azure/lib/version-manager/interfaces/version-interfaces");
12
+ // =============================================================================
13
+ // COMMON PROPERTY DEFINITIONS
14
+ // =============================================================================
15
+ /**
16
+ * Common property definitions shared across all Static Member versions
17
+ */
18
+ const COMMON_PROPERTIES = {
19
+ name: {
20
+ dataType: version_interfaces_1.PropertyType.STRING,
21
+ required: true,
22
+ description: "Name of the static member",
23
+ validation: [
24
+ {
25
+ ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
26
+ message: "Static member name is required",
27
+ },
28
+ {
29
+ ruleType: version_interfaces_1.ValidationRuleType.PATTERN_MATCH,
30
+ value: "^[a-zA-Z0-9][a-zA-Z0-9._-]{0,62}[a-zA-Z0-9_]$",
31
+ message: "Static member name must be 2-64 chars, alphanumeric, periods, underscores, hyphens",
32
+ },
33
+ ],
34
+ },
35
+ networkGroupId: {
36
+ dataType: version_interfaces_1.PropertyType.STRING,
37
+ required: true,
38
+ description: "Resource ID of the parent Network Group",
39
+ validation: [
40
+ {
41
+ ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
42
+ message: "Network Group ID is required",
43
+ },
44
+ ],
45
+ },
46
+ resourceId: {
47
+ dataType: version_interfaces_1.PropertyType.STRING,
48
+ required: true,
49
+ description: "Full resource ID of the VNet or Subnet to add to the group",
50
+ validation: [
51
+ {
52
+ ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
53
+ message: "Resource ID is required for static members",
54
+ },
55
+ ],
56
+ },
57
+ };
58
+ // =============================================================================
59
+ // VERSION-SPECIFIC SCHEMAS
60
+ // =============================================================================
61
+ /**
62
+ * API Schema for Static Member version 2024-05-01
63
+ */
64
+ exports.STATIC_MEMBER_SCHEMA_2024_05_01 = {
65
+ resourceType: "Microsoft.Network/networkManagers/networkGroups/staticMembers",
66
+ version: "2024-05-01",
67
+ properties: {
68
+ ...COMMON_PROPERTIES,
69
+ },
70
+ required: ["name", "networkGroupId", "resourceId"],
71
+ optional: [],
72
+ deprecated: [],
73
+ transformationRules: {},
74
+ validationRules: [
75
+ {
76
+ property: "name",
77
+ rules: [
78
+ {
79
+ ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
80
+ message: "Static member name is required",
81
+ },
82
+ ],
83
+ },
84
+ {
85
+ property: "networkGroupId",
86
+ rules: [
87
+ {
88
+ ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
89
+ message: "Network Group ID is required",
90
+ },
91
+ ],
92
+ },
93
+ {
94
+ property: "resourceId",
95
+ rules: [
96
+ {
97
+ ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
98
+ message: "Resource ID is required",
99
+ },
100
+ ],
101
+ },
102
+ ],
103
+ };
104
+ /**
105
+ * API Schema for Static Member version 2023-11-01
106
+ */
107
+ exports.STATIC_MEMBER_SCHEMA_2023_11_01 = {
108
+ resourceType: "Microsoft.Network/networkManagers/networkGroups/staticMembers",
109
+ version: "2023-11-01",
110
+ properties: {
111
+ ...COMMON_PROPERTIES,
112
+ },
113
+ required: ["name", "networkGroupId", "resourceId"],
114
+ optional: [],
115
+ deprecated: [],
116
+ transformationRules: {},
117
+ validationRules: [
118
+ {
119
+ property: "name",
120
+ rules: [
121
+ {
122
+ ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
123
+ message: "Static member name is required",
124
+ },
125
+ ],
126
+ },
127
+ {
128
+ property: "networkGroupId",
129
+ rules: [
130
+ {
131
+ ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
132
+ message: "Network Group ID is required",
133
+ },
134
+ ],
135
+ },
136
+ {
137
+ property: "resourceId",
138
+ rules: [
139
+ {
140
+ ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
141
+ message: "Resource ID is required",
142
+ },
143
+ ],
144
+ },
145
+ ],
146
+ };
147
+ // =============================================================================
148
+ // VERSION CONFIGURATIONS
149
+ // =============================================================================
150
+ /**
151
+ * Version configuration for Static Member 2024-05-01
152
+ */
153
+ exports.STATIC_MEMBER_VERSION_2024_05_01 = {
154
+ version: "2024-05-01",
155
+ schema: exports.STATIC_MEMBER_SCHEMA_2024_05_01,
156
+ supportLevel: version_interfaces_1.VersionSupportLevel.ACTIVE,
157
+ releaseDate: "2024-05-01",
158
+ deprecationDate: undefined,
159
+ sunsetDate: undefined,
160
+ breakingChanges: [],
161
+ migrationGuide: "/docs/virtual-network-manager/migration-2024-05-01",
162
+ changeLog: [
163
+ {
164
+ changeType: "added",
165
+ description: "Latest stable release with full static member support",
166
+ breaking: false,
167
+ },
168
+ ],
169
+ };
170
+ /**
171
+ * Version configuration for Static Member 2023-11-01
172
+ */
173
+ exports.STATIC_MEMBER_VERSION_2023_11_01 = {
174
+ version: "2023-11-01",
175
+ schema: exports.STATIC_MEMBER_SCHEMA_2023_11_01,
176
+ supportLevel: version_interfaces_1.VersionSupportLevel.MAINTENANCE,
177
+ releaseDate: "2023-11-01",
178
+ deprecationDate: undefined,
179
+ sunsetDate: undefined,
180
+ breakingChanges: [],
181
+ migrationGuide: "/docs/virtual-network-manager/migration-2023-11-01",
182
+ changeLog: [
183
+ {
184
+ changeType: "added",
185
+ description: "Stable release with core static member features",
186
+ breaking: false,
187
+ },
188
+ ],
189
+ };
190
+ /**
191
+ * All supported Static Member versions for registration
192
+ */
193
+ exports.ALL_STATIC_MEMBER_VERSIONS = [
194
+ exports.STATIC_MEMBER_VERSION_2024_05_01,
195
+ exports.STATIC_MEMBER_VERSION_2023_11_01,
196
+ ];
197
+ /**
198
+ * Resource type constant
199
+ */
200
+ exports.STATIC_MEMBER_TYPE = "Microsoft.Network/networkManagers/networkGroups/staticMembers";
201
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay1ncm91cC1zdGF0aWMtbWVtYmVyLXNjaGVtYXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUtdmlydHVhbG5ldHdvcmttYW5hZ2VyL2xpYi9uZXR3b3JrLWdyb3VwLXN0YXRpYy1tZW1iZXItc2NoZW1hcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOzs7QUFFSCwyR0FPNEU7QUFFNUUsZ0ZBQWdGO0FBQ2hGLDhCQUE4QjtBQUM5QixnRkFBZ0Y7QUFFaEY7O0dBRUc7QUFDSCxNQUFNLGlCQUFpQixHQUEwQztJQUMvRCxJQUFJLEVBQUU7UUFDSixRQUFRLEVBQUUsaUNBQVksQ0FBQyxNQUFNO1FBQzdCLFFBQVEsRUFBRSxJQUFJO1FBQ2QsV0FBVyxFQUFFLDJCQUEyQjtRQUN4QyxVQUFVLEVBQUU7WUFDVjtnQkFDRSxRQUFRLEVBQUUsdUNBQWtCLENBQUMsUUFBUTtnQkFDckMsT0FBTyxFQUFFLGdDQUFnQzthQUMxQztZQUNEO2dCQUNFLFFBQVEsRUFBRSx1Q0FBa0IsQ0FBQyxhQUFhO2dCQUMxQyxLQUFLLEVBQUUsK0NBQStDO2dCQUN0RCxPQUFPLEVBQ0wsb0ZBQW9GO2FBQ3ZGO1NBQ0Y7S0FDRjtJQUNELGNBQWMsRUFBRTtRQUNkLFFBQVEsRUFBRSxpQ0FBWSxDQUFDLE1BQU07UUFDN0IsUUFBUSxFQUFFLElBQUk7UUFDZCxXQUFXLEVBQUUseUNBQXlDO1FBQ3RELFVBQVUsRUFBRTtZQUNWO2dCQUNFLFFBQVEsRUFBRSx1Q0FBa0IsQ0FBQyxRQUFRO2dCQUNyQyxPQUFPLEVBQUUsOEJBQThCO2FBQ3hDO1NBQ0Y7S0FDRjtJQUNELFVBQVUsRUFBRTtRQUNWLFFBQVEsRUFBRSxpQ0FBWSxDQUFDLE1BQU07UUFDN0IsUUFBUSxFQUFFLElBQUk7UUFDZCxXQUFXLEVBQUUsNERBQTREO1FBQ3pFLFVBQVUsRUFBRTtZQUNWO2dCQUNFLFFBQVEsRUFBRSx1Q0FBa0IsQ0FBQyxR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QUFFLHdDQUFtQixDQUFDLFdBQVc7SUFDN0MsV0FBVyxFQUFFLFlBQVk7SUFDekIsZUFBZSxFQUFFLFNBQVM7SUFDMUIsVUFBVSxFQUFFLFNBQVM7SUFDckIsZUFBZSxFQUFFLEVBQUU7SUFDbkIsY0FBYyxFQUFFLG9EQUFvRDtJQUNwRSxTQUFTLEVBQUU7UUFDVDtZQUNFLFVBQVUsRUFBRSxPQUFPO1lBQ25CLFdBQVcsRUFBRSxpREFBaUQ7WUFDOUQsUUFBUSxFQUFFLEtBQUs7U0FDaEI7S0FDRjtDQUNGLENBQUM7QUFFRjs7R0FFRztBQUNVLFFBQUEsMEJBQTBCLEdBQW9CO0lBQ3pELHdDQUFnQztJQUNoQyx3Q0FBZ0M7Q0FDakMsQ0FBQztBQUVGOztHQUVHO0FBQ1UsUUFBQSxrQkFBa0IsR0FDN0IsK0RBQStELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFQSSBzY2hlbWFzIGZvciBBenVyZSBWaXJ0dWFsIE5ldHdvcmsgTWFuYWdlciBOZXR3b3JrIEdyb3VwIFN0YXRpYyBNZW1iZXJzIGFjcm9zcyBhbGwgc3VwcG9ydGVkIHZlcnNpb25zXG4gKlxuICogVGhpcyBmaWxlIGRlZmluZXMgdGhlIGNvbXBsZXRlIEFQSSBzY2hlbWFzIGZvciBNaWNyb3NvZnQuTmV0d29yay9uZXR3b3JrTWFuYWdlcnMvbmV0d29ya0dyb3Vwcy9zdGF0aWNNZW1iZXJzXG4gKiBhY3Jvc3MgYWxsIHN1cHBvcnRlZCBBUEkgdmVyc2lvbnMuIFRoZSBzY2hlbWFzIGFyZSB1c2VkIGJ5IHRoZSBBemFwaVJlc291cmNlXG4gKiBmcmFtZXdvcmsgZm9yIHZhbGlkYXRpb24sIHRyYW5zZm9ybWF0aW9uLCBhbmQgdmVyc2lvbiBtYW5hZ2VtZW50LlxuICovXG5cbmltcG9ydCB7XG4gIEFwaVNjaGVtYSxcbiAgUHJvcGVydHlEZWZpbml0aW9uLFxuICBQcm9wZXJ0eVR5cGUsXG4gIFZhbGlkYXRpb25SdWxlVHlwZSxcbiAgVmVyc2lvbkNvbmZpZyxcbiAgVmVyc2lvblN1cHBvcnRMZXZlbCxcbn0gZnJvbSBcIi4uLy4uL2NvcmUtYXp1cmUvbGliL3ZlcnNpb24tbWFuYWdlci9pbnRlcmZhY2VzL3ZlcnNpb24taW50ZXJmYWNlc1wiO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ09NTU9OIFBST1BFUlRZIERFRklOSVRJT05TXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIENvbW1vbiBwcm9wZXJ0eSBkZWZpbml0aW9ucyBzaGFyZWQgYWNyb3NzIGFsbCBTdGF0aWMgTWVtYmVyIHZlcnNpb25zXG4gKi9cbmNvbnN0IENPTU1PTl9QUk9QRVJUSUVTOiB7IFtrZXk6IHN0cmluZ106IFByb3BlcnR5RGVmaW5pdGlvbiB9ID0ge1xuICBuYW1lOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5TVFJJTkcsXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgZGVzY3JpcHRpb246IFwiTmFtZSBvZiB0aGUgc3RhdGljIG1lbWJlclwiLFxuICAgIHZhbGlkYXRpb246IFtcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5SRVFVSVJFRCxcbiAgICAgICAgbWVzc2FnZTogXCJTdGF0aWMgbWVtYmVyIG5hbWUgaXMgcmVxdWlyZWRcIixcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUEFUVEVSTl9NQVRDSCxcbiAgICAgICAgdmFsdWU6IFwiXlthLXpBLVowLTldW2EtekEtWjAtOS5fLV17MCw2Mn1bYS16QS1aMC05X10kXCIsXG4gICAgICAgIG1lc3NhZ2U6XG4gICAgICAgICAgXCJTdGF0aWMgbWVtYmVyIG5hbWUgbXVzdCBiZSAyLTY0IGNoYXJzLCBhbHBoYW51bWVyaWMsIHBlcmlvZHMsIHVuZGVyc2NvcmVzLCBoeXBoZW5zXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIG5ldHdvcmtHcm91cElkOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5TVFJJTkcsXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgZGVzY3JpcHRpb246IFwiUmVzb3VyY2UgSUQgb2YgdGhlIHBhcmVudCBOZXR3b3JrIEdyb3VwXCIsXG4gICAgdmFsaWRhdGlvbjogW1xuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlJFUVVJUkVELFxuICAgICAgICBtZXNzYWdlOiBcIk5ldHdvcmsgR3JvdXAgSUQgaXMgcmVxdWlyZWRcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgcmVzb3VyY2VJZDoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuU1RSSU5HLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIGRlc2NyaXB0aW9uOiBcIkZ1bGwgcmVzb3VyY2UgSUQgb2YgdGhlIFZOZXQgb3IgU3VibmV0IHRvIGFkZCB0byB0aGUgZ3JvdXBcIixcbiAgICB2YWxpZGF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUkVRVUlSRUQsXG4gICAgICAgIG1lc3NhZ2U6IFwiUmVzb3VyY2UgSUQgaXMgcmVxdWlyZWQgZm9yIHN0YXRpYyBtZW1iZXJzXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG59O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVkVSU0lPTi1TUEVDSUZJQyBTQ0hFTUFTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIEFQSSBTY2hlbWEgZm9yIFN0YXRpYyBNZW1iZXIgdmVyc2lvbiAyMDI0LTA1LTAxXG4gKi9cbmV4cG9ydCBjb25zdCBTVEFUSUNfTUVNQkVSX1NDSEVNQV8yMDI0XzA1XzAxOiBBcGlTY2hlbWEgPSB7XG4gIHJlc291cmNlVHlwZTogXCJNaWNyb3NvZnQuTmV0d29yay9uZXR3b3JrTWFuYWdlcnMvbmV0d29ya0dyb3Vwcy9zdGF0aWNNZW1iZXJzXCIsXG4gIHZlcnNpb246IFwiMjAyNC0wNS0wMVwiLFxuICBwcm9wZXJ0aWVzOiB7XG4gICAgLi4uQ09NTU9OX1BST1BFUlRJRVMsXG4gIH0sXG4gIHJlcXVpcmVkOiBbXCJuYW1lXCIsIFwibmV0d29ya0dyb3VwSWRcIiwgXCJyZXNvdXJjZUlkXCJdLFxuICBvcHRpb25hbDogW10sXG4gIGRlcHJlY2F0ZWQ6IFtdLFxuICB0cmFuc2Zvcm1hdGlvblJ1bGVzOiB7fSxcbiAgdmFsaWRhdGlvblJ1bGVzOiBbXG4gICAge1xuICAgICAgcHJvcGVydHk6IFwibmFtZVwiLFxuICAgICAgcnVsZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUkVRVUlSRUQsXG4gICAgICAgICAgbWVzc2FnZTogXCJTdGF0aWMgbWVtYmVyIG5hbWUgaXMgcmVxdWlyZWRcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm9wZXJ0eTogXCJuZXR3b3JrR3JvdXBJZFwiLFxuICAgICAgcnVsZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUkVRVUlSRUQsXG4gICAgICAgICAgbWVzc2FnZTogXCJOZXR3b3JrIEdyb3VwIElEIGlzIHJlcXVpcmVkXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvcGVydHk6IFwicmVzb3VyY2VJZFwiLFxuICAgICAgcnVsZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUkVRVUlSRUQsXG4gICAgICAgICAgbWVzc2FnZTogXCJSZXNvdXJjZSBJRCBpcyByZXF1aXJlZFwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICBdLFxufTtcblxuLyoqXG4gKiBBUEkgU2NoZW1hIGZvciBTdGF0aWMgTWVtYmVyIHZlcnNpb24gMjAyMy0xMS0wMVxuICovXG5leHBvcnQgY29uc3QgU1RBVElDX01FTUJFUl9TQ0hFTUFfMjAyM18xMV8wMTogQXBpU2NoZW1hID0ge1xuICByZXNvdXJjZVR5cGU6IFwiTWljcm9zb2Z0Lk5ldHdvcmsvbmV0d29ya01hbmFnZXJzL25ldHdvcmtHcm91cHMvc3RhdGljTWVtYmVyc1wiLFxuICB2ZXJzaW9uOiBcIjIwMjMtMTEtMDFcIixcbiAgcHJvcGVydGllczoge1xuICAgIC4uLkNPTU1PTl9QUk9QRVJUSUVTLFxuICB9LFxuICByZXF1aXJlZDogW1wibmFtZVwiLCBcIm5ldHdvcmtHcm91cElkXCIsIFwicmVzb3VyY2VJZFwiXSxcbiAgb3B0aW9uYWw6IFtdLFxuICBkZXByZWNhdGVkOiBbXSxcbiAgdHJhbnNmb3JtYXRpb25SdWxlczoge30sXG4gIHZhbGlkYXRpb25SdWxlczogW1xuICAgIHtcbiAgICAgIHByb3BlcnR5OiBcIm5hbWVcIixcbiAgICAgIHJ1bGVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlJFUVVJUkVELFxuICAgICAgICAgIG1lc3NhZ2U6IFwiU3RhdGljIG1lbWJlciBuYW1lIGlzIHJlcXVpcmVkXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvcGVydHk6IFwibmV0d29ya0dyb3VwSWRcIixcbiAgICAgIHJ1bGVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlJFUVVJUkVELFxuICAgICAgICAgIG1lc3NhZ2U6IFwiTmV0d29yayBHcm91cCBJRCBpcyByZXF1aXJlZFwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3BlcnR5OiBcInJlc291cmNlSWRcIixcbiAgICAgIHJ1bGVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlJFUVVJUkVELFxuICAgICAgICAgIG1lc3NhZ2U6IFwiUmVzb3VyY2UgSUQgaXMgcmVxdWlyZWRcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgXSxcbn07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBWRVJTSU9OIENPTkZJR1VSQVRJT05TXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIFZlcnNpb24gY29uZmlndXJhdGlvbiBmb3IgU3RhdGljIE1lbWJlciAyMDI0LTA1LTAxXG4gKi9cbmV4cG9ydCBjb25zdCBTVEFUSUNfTUVNQkVSX1ZFUlNJT05fMjAyNF8wNV8wMTogVmVyc2lvbkNvbmZpZyA9IHtcbiAgdmVyc2lvbjogXCIyMDI0LTA1LTAxXCIsXG4gIHNjaGVtYTogU1RBVElDX01FTUJFUl9TQ0hFTUFfMjAyNF8wNV8wMSxcbiAgc3VwcG9ydExldmVsOiBWZXJzaW9uU3VwcG9ydExldmVsLkFDVElWRSxcbiAgcmVsZWFzZURhdGU6IFwiMjAyNC0wNS0wMVwiLFxuICBkZXByZWNhdGlvbkRhdGU6IHVuZGVmaW5lZCxcbiAgc3Vuc2V0RGF0ZTogdW5kZWZpbmVkLFxuICBicmVha2luZ0NoYW5nZXM6IFtdLFxuICBtaWdyYXRpb25HdWlkZTogXCIvZG9jcy92aXJ0dWFsLW5ldHdvcmstbWFuYWdlci9taWdyYXRpb24tMjAyNC0wNS0wMVwiLFxuICBjaGFuZ2VMb2c6IFtcbiAgICB7XG4gICAgICBjaGFuZ2VUeXBlOiBcImFkZGVkXCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJMYXRlc3Qgc3RhYmxlIHJlbGVhc2Ugd2l0aCBmdWxsIHN0YXRpYyBtZW1iZXIgc3VwcG9ydFwiLFxuICAgICAgYnJlYWtpbmc6IGZhbHNlLFxuICAgIH0sXG4gIF0sXG59O1xuXG4vKipcbiAqIFZlcnNpb24gY29uZmlndXJhdGlvbiBmb3IgU3RhdGljIE1lbWJlciAyMDIzLTExLTAxXG4gKi9cbmV4cG9ydCBjb25zdCBTVEFUSUNfTUVNQkVSX1ZFUlNJT05fMjAyM18xMV8wMTogVmVyc2lvbkNvbmZpZyA9IHtcbiAgdmVyc2lvbjogXCIyMDIzLTExLTAxXCIsXG4gIHNjaGVtYTogU1RBVElDX01FTUJFUl9TQ0hFTUFfMjAyM18xMV8wMSxcbiAgc3VwcG9ydExldmVsOiBWZXJzaW9uU3VwcG9ydExldmVsLk1BSU5URU5BTkNFLFxuICByZWxlYXNlRGF0ZTogXCIyMDIzLTExLTAxXCIsXG4gIGRlcHJlY2F0aW9uRGF0ZTogdW5kZWZpbmVkLFxuICBzdW5zZXREYXRlOiB1bmRlZmluZWQsXG4gIGJyZWFraW5nQ2hhbmdlczogW10sXG4gIG1pZ3JhdGlvbkd1aWRlOiBcIi9kb2NzL3ZpcnR1YWwtbmV0d29yay1tYW5hZ2VyL21pZ3JhdGlvbi0yMDIzLTExLTAxXCIsXG4gIGNoYW5nZUxvZzogW1xuICAgIHtcbiAgICAgIGNoYW5nZVR5cGU6IFwiYWRkZWRcIixcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlN0YWJsZSByZWxlYXNlIHdpdGggY29yZSBzdGF0aWMgbWVtYmVyIGZlYXR1cmVzXCIsXG4gICAgICBicmVha2luZzogZmFsc2UsXG4gICAgfSxcbiAgXSxcbn07XG5cbi8qKlxuICogQWxsIHN1cHBvcnRlZCBTdGF0aWMgTWVtYmVyIHZlcnNpb25zIGZvciByZWdpc3RyYXRpb25cbiAqL1xuZXhwb3J0IGNvbnN0IEFMTF9TVEFUSUNfTUVNQkVSX1ZFUlNJT05TOiBWZXJzaW9uQ29uZmlnW10gPSBbXG4gIFNUQVRJQ19NRU1CRVJfVkVSU0lPTl8yMDI0XzA1XzAxLFxuICBTVEFUSUNfTUVNQkVSX1ZFUlNJT05fMjAyM18xMV8wMSxcbl07XG5cbi8qKlxuICogUmVzb3VyY2UgdHlwZSBjb25zdGFudFxuICovXG5leHBvcnQgY29uc3QgU1RBVElDX01FTUJFUl9UWVBFID1cbiAgXCJNaWNyb3NvZnQuTmV0d29yay9uZXR3b3JrTWFuYWdlcnMvbmV0d29ya0dyb3Vwcy9zdGF0aWNNZW1iZXJzXCI7XG4iXX0=
@@ -0,0 +1,135 @@
1
+ /**
2
+ * Azure Virtual Network Manager Network Group Static Member implementation using AzapiResource framework
3
+ *
4
+ * This class provides a unified implementation for explicitly adding virtual networks or subnets
5
+ * to a network group. Static members allow precise control over which resources receive
6
+ * configurations applied to the network group.
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 Static Member
25
+ *
26
+ * Extends AzapiResourceProps with Static Member specific properties
27
+ */
28
+ export interface NetworkGroupStaticMemberProps extends AzapiResourceProps {
29
+ /**
30
+ * Resource ID of the parent Network Group
31
+ * @example "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Network/networkManagers/vnm/networkGroups/prod-group"
32
+ */
33
+ readonly networkGroupId: string;
34
+ /**
35
+ * Full resource ID of the VNet or Subnet to add to the group
36
+ * @example "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnet1"
37
+ * @example "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1"
38
+ */
39
+ readonly resourceId: string;
40
+ /**
41
+ * The lifecycle rules to ignore changes
42
+ * @example ["tags"]
43
+ */
44
+ readonly ignoreChanges?: string[];
45
+ }
46
+ /**
47
+ * Properties for Static Member body
48
+ */
49
+ export interface NetworkGroupStaticMemberProperties {
50
+ readonly resourceId: string;
51
+ }
52
+ /**
53
+ * The resource body interface for Azure Static Member API calls
54
+ */
55
+ export interface NetworkGroupStaticMemberBody {
56
+ readonly properties: NetworkGroupStaticMemberProperties;
57
+ }
58
+ /**
59
+ * Azure Virtual Network Manager Network Group Static Member implementation
60
+ *
61
+ * Static members explicitly add virtual networks or subnets to a network group,
62
+ * providing precise control over which resources receive configurations applied
63
+ * to the network group. This is in contrast to dynamic membership via Azure Policy.
64
+ *
65
+ * @example
66
+ * // Add a VNet to a network group:
67
+ * const vnetMember = new NetworkGroupStaticMember(this, "vnet-member", {
68
+ * name: "prod-vnet1-member",
69
+ * networkGroupId: productionGroup.id,
70
+ * resourceId: vnet.id
71
+ * });
72
+ *
73
+ * @example
74
+ * // Add a subnet to a network group:
75
+ * const subnetMember = new NetworkGroupStaticMember(this, "subnet-member", {
76
+ * name: "prod-subnet1-member",
77
+ * networkGroupId: productionGroup.id,
78
+ * resourceId: subnet.id,
79
+ * apiVersion: "2024-05-01"
80
+ * });
81
+ *
82
+ * @stability stable
83
+ */
84
+ export declare class NetworkGroupStaticMember extends AzapiResource {
85
+ /**
86
+ * The input properties for this Static Member instance
87
+ */
88
+ readonly props: NetworkGroupStaticMemberProps;
89
+ readonly idOutput: cdktf.TerraformOutput;
90
+ readonly nameOutput: cdktf.TerraformOutput;
91
+ readonly resourceIdOutput: cdktf.TerraformOutput;
92
+ readonly resourceName: string;
93
+ /**
94
+ * Creates a new Azure Virtual Network Manager Network Group Static Member using the AzapiResource framework
95
+ *
96
+ * @param scope - The scope in which to define this construct
97
+ * @param id - The unique identifier for this instance
98
+ * @param props - Configuration properties for the Static Member
99
+ */
100
+ constructor(scope: Construct, id: string, props: NetworkGroupStaticMemberProps);
101
+ /**
102
+ * Resolves the parent resource ID for the Static Member
103
+ * Static Members are scoped to Network Groups
104
+ */
105
+ protected resolveParentId(props: any): string;
106
+ /**
107
+ * Gets the default API version to use when no explicit version is specified
108
+ */
109
+ protected defaultVersion(): string;
110
+ /**
111
+ * Gets the Azure resource type for Static Members
112
+ */
113
+ protected resourceType(): string;
114
+ /**
115
+ * Gets the API schema for the resolved version
116
+ */
117
+ protected apiSchema(): ApiSchema;
118
+ /**
119
+ * Creates the resource body for the Azure API call
120
+ */
121
+ protected createResourceBody(props: any): any;
122
+ /**
123
+ * Get the resource ID of the member VNet or Subnet
124
+ * Returns the input resourceId since Azure API doesn't return it in the response
125
+ */
126
+ get memberResourceId(): string;
127
+ /**
128
+ * Get the region of the member resource
129
+ */
130
+ get region(): string;
131
+ /**
132
+ * Applies ignore changes lifecycle rules if specified in props
133
+ */
134
+ private _applyIgnoreChanges;
135
+ }