@microsoft/terraform-cdk-constructs 1.0.0 → 1.2.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 (385) hide show
  1. package/.jsii +60999 -15780
  2. package/API.md +54947 -10610
  3. package/README.md +72 -36
  4. package/docs/monitoring-guide.md +206 -0
  5. package/docs/testing.md +84 -1
  6. package/lib/azure-actiongroup/index.d.ts +11 -0
  7. package/lib/azure-actiongroup/index.js +28 -0
  8. package/lib/azure-actiongroup/lib/action-group-schemas.d.ts +24 -0
  9. package/lib/azure-actiongroup/lib/action-group-schemas.js +201 -0
  10. package/lib/azure-actiongroup/lib/action-group.d.ts +312 -0
  11. package/lib/azure-actiongroup/lib/action-group.js +201 -0
  12. package/lib/azure-actiongroup/lib/index.d.ts +5 -0
  13. package/lib/azure-actiongroup/lib/index.js +22 -0
  14. package/lib/azure-actiongroup/test/action-group.integ.d.ts +9 -0
  15. package/lib/azure-actiongroup/test/action-group.integ.js +79 -0
  16. package/lib/azure-actiongroup/test/action-group.spec.d.ts +8 -0
  17. package/lib/azure-actiongroup/test/action-group.spec.js +602 -0
  18. package/lib/azure-activitylogalert/index.d.ts +11 -0
  19. package/lib/azure-activitylogalert/index.js +28 -0
  20. package/lib/azure-activitylogalert/lib/activity-log-alert-schemas.d.ts +24 -0
  21. package/lib/azure-activitylogalert/lib/activity-log-alert-schemas.js +182 -0
  22. package/lib/azure-activitylogalert/lib/activity-log-alert.d.ts +236 -0
  23. package/lib/azure-activitylogalert/lib/activity-log-alert.js +212 -0
  24. package/lib/azure-activitylogalert/lib/index.d.ts +5 -0
  25. package/lib/azure-activitylogalert/lib/index.js +22 -0
  26. package/lib/azure-activitylogalert/test/activity-log-alert.integ.d.ts +9 -0
  27. package/lib/azure-activitylogalert/test/activity-log-alert.integ.js +98 -0
  28. package/lib/azure-activitylogalert/test/activity-log-alert.spec.d.ts +9 -0
  29. package/lib/azure-activitylogalert/test/activity-log-alert.spec.js +1101 -0
  30. package/lib/azure-aks/index.d.ts +9 -0
  31. package/lib/azure-aks/index.js +28 -0
  32. package/lib/azure-aks/lib/aks-cluster-schemas.d.ts +505 -0
  33. package/lib/azure-aks/lib/aks-cluster-schemas.js +572 -0
  34. package/lib/azure-aks/lib/aks-cluster.d.ts +395 -0
  35. package/lib/azure-aks/lib/aks-cluster.js +489 -0
  36. package/lib/azure-aks/lib/index.d.ts +11 -0
  37. package/lib/azure-aks/lib/index.js +38 -0
  38. package/lib/azure-aks/test/aks-cluster.integ.d.ts +9 -0
  39. package/lib/azure-aks/test/aks-cluster.integ.js +260 -0
  40. package/lib/azure-aks/test/aks-cluster.spec.d.ts +8 -0
  41. package/lib/azure-aks/test/aks-cluster.spec.js +1396 -0
  42. package/lib/azure-diagnosticsettings/index.d.ts +7 -0
  43. package/lib/azure-diagnosticsettings/index.js +24 -0
  44. package/lib/azure-diagnosticsettings/lib/diagnostic-settings-schemas.d.ts +50 -0
  45. package/lib/azure-diagnosticsettings/lib/diagnostic-settings-schemas.js +207 -0
  46. package/lib/azure-diagnosticsettings/lib/diagnostic-settings.d.ts +193 -0
  47. package/lib/azure-diagnosticsettings/lib/diagnostic-settings.js +200 -0
  48. package/lib/azure-diagnosticsettings/lib/index.d.ts +8 -0
  49. package/lib/azure-diagnosticsettings/lib/index.js +25 -0
  50. package/lib/azure-diagnosticsettings/test/diagnostic-settings.spec.d.ts +8 -0
  51. package/lib/azure-diagnosticsettings/test/diagnostic-settings.spec.js +432 -0
  52. package/lib/azure-metricalert/index.d.ts +11 -0
  53. package/lib/azure-metricalert/index.js +28 -0
  54. package/lib/azure-metricalert/lib/index.d.ts +5 -0
  55. package/lib/azure-metricalert/lib/index.js +22 -0
  56. package/lib/azure-metricalert/lib/metric-alert-schemas.d.ts +24 -0
  57. package/lib/azure-metricalert/lib/metric-alert-schemas.js +242 -0
  58. package/lib/azure-metricalert/lib/metric-alert.d.ts +344 -0
  59. package/lib/azure-metricalert/lib/metric-alert.js +252 -0
  60. package/lib/azure-metricalert/test/metric-alert.integ.d.ts +9 -0
  61. package/lib/azure-metricalert/test/metric-alert.integ.js +123 -0
  62. package/lib/azure-metricalert/test/metric-alert.spec.d.ts +9 -0
  63. package/lib/azure-metricalert/test/metric-alert.spec.js +1266 -0
  64. package/lib/azure-networkinterface/index.d.ts +4 -0
  65. package/lib/azure-networkinterface/index.js +21 -0
  66. package/lib/azure-networkinterface/lib/index.d.ts +6 -0
  67. package/lib/azure-networkinterface/lib/index.js +22 -0
  68. package/lib/azure-networkinterface/lib/network-interface-schemas.d.ts +32 -0
  69. package/lib/azure-networkinterface/lib/network-interface-schemas.js +222 -0
  70. package/lib/azure-networkinterface/lib/network-interface.d.ts +265 -0
  71. package/lib/azure-networkinterface/lib/network-interface.js +228 -0
  72. package/lib/azure-networkinterface/test/network-interface.integ.d.ts +9 -0
  73. package/lib/azure-networkinterface/test/network-interface.integ.js +102 -0
  74. package/lib/azure-networkinterface/test/network-interface.spec.d.ts +8 -0
  75. package/lib/azure-networkinterface/test/network-interface.spec.js +655 -0
  76. package/lib/azure-networksecuritygroup/index.d.ts +6 -0
  77. package/lib/azure-networksecuritygroup/index.js +23 -0
  78. package/lib/azure-networksecuritygroup/lib/index.d.ts +5 -0
  79. package/lib/azure-networksecuritygroup/lib/index.js +16 -0
  80. package/lib/azure-networksecuritygroup/lib/network-security-group-schemas.d.ts +32 -0
  81. package/lib/azure-networksecuritygroup/lib/network-security-group-schemas.js +198 -0
  82. package/lib/azure-networksecuritygroup/lib/network-security-group.d.ts +268 -0
  83. package/lib/azure-networksecuritygroup/lib/network-security-group.js +248 -0
  84. package/lib/azure-networksecuritygroup/test/network-security-group.integ.d.ts +9 -0
  85. package/lib/azure-networksecuritygroup/test/network-security-group.integ.js +151 -0
  86. package/lib/azure-networksecuritygroup/test/network-security-group.spec.d.ts +8 -0
  87. package/lib/azure-networksecuritygroup/test/network-security-group.spec.js +652 -0
  88. package/lib/azure-publicipaddress/index.d.ts +6 -0
  89. package/lib/azure-publicipaddress/index.js +23 -0
  90. package/lib/azure-publicipaddress/lib/index.d.ts +9 -0
  91. package/lib/azure-publicipaddress/lib/index.js +19 -0
  92. package/lib/azure-publicipaddress/lib/public-ip-address-schemas.d.ts +32 -0
  93. package/lib/azure-publicipaddress/lib/public-ip-address-schemas.js +227 -0
  94. package/lib/azure-publicipaddress/lib/public-ip-address.d.ts +256 -0
  95. package/lib/azure-publicipaddress/lib/public-ip-address.js +267 -0
  96. package/lib/azure-publicipaddress/test/public-ip-address.integ.d.ts +9 -0
  97. package/lib/azure-publicipaddress/test/public-ip-address.integ.js +75 -0
  98. package/lib/azure-publicipaddress/test/public-ip-address.spec.d.ts +15 -0
  99. package/lib/azure-publicipaddress/test/public-ip-address.spec.js +498 -0
  100. package/lib/azure-resourcegroup/lib/resource-group.js +1 -1
  101. package/lib/azure-resourcegroup/test/resource-group.integ.js +23 -11
  102. package/lib/azure-storageaccount/lib/storage-account-schemas.d.ts +98 -0
  103. package/lib/azure-storageaccount/lib/storage-account-schemas.js +1 -1
  104. package/lib/azure-storageaccount/lib/storage-account.d.ts +38 -1
  105. package/lib/azure-storageaccount/lib/storage-account.js +138 -2
  106. package/lib/azure-storageaccount/test/storage-account.integ.js +91 -12
  107. package/lib/azure-subnet/index.d.ts +4 -0
  108. package/lib/azure-subnet/index.js +21 -0
  109. package/lib/azure-subnet/lib/index.d.ts +5 -0
  110. package/lib/azure-subnet/lib/index.js +22 -0
  111. package/lib/azure-subnet/lib/subnet-schemas.d.ts +32 -0
  112. package/lib/azure-subnet/lib/subnet-schemas.js +237 -0
  113. package/lib/azure-subnet/lib/subnet.d.ts +285 -0
  114. package/lib/azure-subnet/lib/subnet.js +254 -0
  115. package/lib/azure-subnet/test/subnet.integ.d.ts +11 -0
  116. package/lib/azure-subnet/test/subnet.integ.js +80 -0
  117. package/lib/azure-subnet/test/subnet.spec.d.ts +8 -0
  118. package/lib/azure-subnet/test/subnet.spec.js +396 -0
  119. package/lib/azure-virtualmachine/index.d.ts +7 -0
  120. package/lib/azure-virtualmachine/index.js +24 -0
  121. package/lib/azure-virtualmachine/lib/index.d.ts +11 -0
  122. package/lib/azure-virtualmachine/lib/index.js +38 -0
  123. package/lib/azure-virtualmachine/lib/virtual-machine-schemas.d.ts +327 -0
  124. package/lib/azure-virtualmachine/lib/virtual-machine-schemas.js +544 -0
  125. package/lib/azure-virtualmachine/lib/virtual-machine.d.ts +377 -0
  126. package/lib/azure-virtualmachine/lib/virtual-machine.js +462 -0
  127. package/lib/azure-virtualmachine/test/virtual-machine.integ.d.ts +9 -0
  128. package/lib/azure-virtualmachine/test/virtual-machine.integ.js +220 -0
  129. package/lib/azure-virtualmachine/test/virtual-machine.spec.d.ts +9 -0
  130. package/lib/azure-virtualmachine/test/virtual-machine.spec.js +1032 -0
  131. package/lib/azure-virtualnetwork/index.d.ts +10 -0
  132. package/lib/azure-virtualnetwork/index.js +28 -0
  133. package/lib/azure-virtualnetwork/lib/index.d.ts +9 -0
  134. package/lib/azure-virtualnetwork/lib/index.js +22 -0
  135. package/lib/azure-virtualnetwork/lib/virtual-network-schemas.d.ts +32 -0
  136. package/lib/azure-virtualnetwork/lib/virtual-network-schemas.js +236 -0
  137. package/lib/azure-virtualnetwork/lib/virtual-network.d.ts +213 -0
  138. package/lib/azure-virtualnetwork/lib/virtual-network.js +245 -0
  139. package/lib/azure-virtualnetwork/test/virtual-network.integ.d.ts +9 -0
  140. package/lib/azure-virtualnetwork/test/virtual-network.integ.js +91 -0
  141. package/lib/azure-virtualnetwork/test/virtual-network.spec.d.ts +8 -0
  142. package/lib/azure-virtualnetwork/test/virtual-network.spec.js +398 -0
  143. package/lib/azure-vmss/index.d.ts +6 -0
  144. package/lib/azure-vmss/index.js +23 -0
  145. package/lib/azure-vmss/lib/index.d.ts +9 -0
  146. package/lib/azure-vmss/lib/index.js +39 -0
  147. package/lib/azure-vmss/lib/virtual-machine-scale-set.d.ts +258 -0
  148. package/lib/azure-vmss/lib/virtual-machine-scale-set.js +503 -0
  149. package/lib/azure-vmss/lib/vmss-schemas.d.ts +472 -0
  150. package/lib/azure-vmss/lib/vmss-schemas.js +444 -0
  151. package/lib/azure-vmss/test/virtual-machine-scale-set.integ.d.ts +15 -0
  152. package/lib/azure-vmss/test/virtual-machine-scale-set.integ.js +261 -0
  153. package/lib/azure-vmss/test/virtual-machine-scale-set.spec.d.ts +8 -0
  154. package/lib/azure-vmss/test/virtual-machine-scale-set.spec.js +997 -0
  155. package/lib/core-azure/lib/azapi/azapi-resource.d.ts +95 -27
  156. package/lib/core-azure/lib/azapi/azapi-resource.js +95 -58
  157. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-client-config/index.d.ts +33 -21
  158. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-client-config/index.js +69 -27
  159. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource/index.d.ts +134 -120
  160. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource/index.js +209 -59
  161. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-action/index.d.ts +141 -128
  162. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-action/index.js +183 -36
  163. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-id/index.d.ts +55 -43
  164. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-id/index.js +94 -26
  165. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-list/index.d.ts +129 -116
  166. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-list/index.js +155 -32
  167. package/lib/core-azure/lib/azapi/providers-azapi/data-plane-resource/index.d.ts +187 -174
  168. package/lib/core-azure/lib/azapi/providers-azapi/data-plane-resource/index.js +267 -48
  169. package/lib/core-azure/lib/azapi/providers-azapi/index.d.ts +10 -10
  170. package/lib/core-azure/lib/azapi/providers-azapi/index.js +1 -1
  171. package/lib/core-azure/lib/azapi/providers-azapi/lazy-index.d.ts +0 -0
  172. package/lib/core-azure/lib/azapi/providers-azapi/lazy-index.js +13 -0
  173. package/lib/core-azure/lib/azapi/providers-azapi/provider/index.d.ts +174 -162
  174. package/lib/core-azure/lib/azapi/providers-azapi/provider/index.js +274 -14
  175. package/lib/core-azure/lib/azapi/providers-azapi/resource/index.d.ts +239 -225
  176. package/lib/core-azure/lib/azapi/providers-azapi/resource/index.js +360 -76
  177. package/lib/core-azure/lib/azapi/providers-azapi/resource-action/index.d.ts +163 -150
  178. package/lib/core-azure/lib/azapi/providers-azapi/resource-action/index.js +221 -46
  179. package/lib/core-azure/lib/azapi/providers-azapi/update-resource/index.d.ts +162 -149
  180. package/lib/core-azure/lib/azapi/providers-azapi/update-resource/index.js +249 -50
  181. package/lib/core-azure/lib/azapi/schema-mapper/schema-mapper.js +4 -2
  182. package/lib/core-azure/lib/version-manager/api-version-manager.js +1 -1
  183. package/lib/core-azure/lib/version-manager/interfaces/version-interfaces.js +7 -7
  184. package/lib/index.d.ts +37 -0
  185. package/lib/index.js +40 -2
  186. package/lib/testing/index.d.ts +92 -2
  187. package/lib/testing/index.js +258 -18
  188. package/lib/testing/lib/cleanup.d.ts +229 -0
  189. package/lib/testing/lib/cleanup.js +331 -0
  190. package/lib/testing/lib/metadata.d.ts +151 -0
  191. package/lib/testing/lib/metadata.js +180 -0
  192. package/lib/testing/lib/naming.d.ts +96 -0
  193. package/lib/testing/lib/naming.js +336 -0
  194. package/node_modules/uuid/LICENSE.md +9 -0
  195. package/node_modules/uuid/README.md +510 -0
  196. package/node_modules/uuid/dist/cjs/index.d.ts +15 -0
  197. package/node_modules/uuid/dist/cjs/index.js +31 -0
  198. package/node_modules/uuid/dist/cjs/max.d.ts +2 -0
  199. package/node_modules/uuid/dist/cjs/max.js +3 -0
  200. package/node_modules/uuid/dist/cjs/md5.d.ts +4 -0
  201. package/node_modules/uuid/dist/cjs/md5.js +13 -0
  202. package/node_modules/uuid/dist/cjs/native.d.ts +6 -0
  203. package/node_modules/uuid/dist/cjs/native.js +4 -0
  204. package/node_modules/uuid/dist/cjs/nil.d.ts +2 -0
  205. package/node_modules/uuid/dist/cjs/nil.js +3 -0
  206. package/node_modules/uuid/dist/cjs/package.json +1 -0
  207. package/node_modules/uuid/dist/cjs/parse.d.ts +2 -0
  208. package/node_modules/uuid/dist/cjs/parse.js +11 -0
  209. package/node_modules/uuid/dist/cjs/regex.d.ts +2 -0
  210. package/node_modules/uuid/dist/cjs/regex.js +3 -0
  211. package/node_modules/uuid/dist/cjs/rng.d.ts +1 -0
  212. package/node_modules/uuid/dist/cjs/rng.js +13 -0
  213. package/node_modules/uuid/dist/cjs/sha1.d.ts +4 -0
  214. package/node_modules/uuid/dist/cjs/sha1.js +13 -0
  215. package/node_modules/uuid/dist/cjs/stringify.d.ts +3 -0
  216. package/node_modules/uuid/dist/cjs/stringify.js +39 -0
  217. package/node_modules/uuid/dist/cjs/types.d.ts +21 -0
  218. package/node_modules/uuid/dist/cjs/types.js +2 -0
  219. package/node_modules/uuid/dist/cjs/uuid-bin.d.ts +1 -0
  220. package/node_modules/uuid/dist/cjs/uuid-bin.js +72 -0
  221. package/node_modules/uuid/dist/cjs/v1.d.ts +11 -0
  222. package/node_modules/uuid/dist/cjs/v1.js +87 -0
  223. package/node_modules/uuid/dist/cjs/v1ToV6.d.ts +2 -0
  224. package/node_modules/uuid/dist/cjs/v1ToV6.js +13 -0
  225. package/node_modules/uuid/dist/cjs/v3.d.ts +9 -0
  226. package/node_modules/uuid/dist/cjs/v3.js +14 -0
  227. package/node_modules/uuid/dist/cjs/v35.d.ts +7 -0
  228. package/node_modules/uuid/dist/cjs/v35.js +41 -0
  229. package/node_modules/uuid/dist/cjs/v4.d.ts +4 -0
  230. package/node_modules/uuid/dist/cjs/v4.js +29 -0
  231. package/node_modules/uuid/dist/cjs/v5.d.ts +9 -0
  232. package/node_modules/uuid/dist/cjs/v5.js +14 -0
  233. package/node_modules/uuid/dist/cjs/v6.d.ts +4 -0
  234. package/node_modules/uuid/dist/cjs/v6.js +19 -0
  235. package/node_modules/uuid/dist/cjs/v6ToV1.d.ts +2 -0
  236. package/node_modules/uuid/dist/cjs/v6ToV1.js +13 -0
  237. package/node_modules/uuid/dist/cjs/v7.d.ts +9 -0
  238. package/node_modules/uuid/dist/cjs/v7.js +69 -0
  239. package/node_modules/uuid/dist/cjs/validate.d.ts +2 -0
  240. package/node_modules/uuid/dist/cjs/validate.js +7 -0
  241. package/node_modules/uuid/dist/cjs/version.d.ts +2 -0
  242. package/node_modules/uuid/dist/cjs/version.js +10 -0
  243. package/node_modules/uuid/dist/cjs-browser/index.d.ts +15 -0
  244. package/node_modules/uuid/dist/cjs-browser/index.js +31 -0
  245. package/node_modules/uuid/dist/cjs-browser/max.d.ts +2 -0
  246. package/node_modules/uuid/dist/cjs-browser/max.js +3 -0
  247. package/node_modules/uuid/dist/cjs-browser/md5.d.ts +2 -0
  248. package/node_modules/uuid/dist/cjs-browser/md5.js +137 -0
  249. package/node_modules/uuid/dist/cjs-browser/native.d.ts +4 -0
  250. package/node_modules/uuid/dist/cjs-browser/native.js +4 -0
  251. package/node_modules/uuid/dist/cjs-browser/nil.d.ts +2 -0
  252. package/node_modules/uuid/dist/cjs-browser/nil.js +3 -0
  253. package/node_modules/uuid/dist/cjs-browser/package.json +1 -0
  254. package/node_modules/uuid/dist/cjs-browser/parse.d.ts +2 -0
  255. package/node_modules/uuid/dist/cjs-browser/parse.js +11 -0
  256. package/node_modules/uuid/dist/cjs-browser/regex.d.ts +2 -0
  257. package/node_modules/uuid/dist/cjs-browser/regex.js +3 -0
  258. package/node_modules/uuid/dist/cjs-browser/rng.d.ts +1 -0
  259. package/node_modules/uuid/dist/cjs-browser/rng.js +14 -0
  260. package/node_modules/uuid/dist/cjs-browser/sha1.d.ts +2 -0
  261. package/node_modules/uuid/dist/cjs-browser/sha1.js +72 -0
  262. package/node_modules/uuid/dist/cjs-browser/stringify.d.ts +3 -0
  263. package/node_modules/uuid/dist/cjs-browser/stringify.js +39 -0
  264. package/node_modules/uuid/dist/cjs-browser/types.d.ts +21 -0
  265. package/node_modules/uuid/dist/cjs-browser/types.js +2 -0
  266. package/node_modules/uuid/dist/cjs-browser/uuid-bin.d.ts +1 -0
  267. package/node_modules/uuid/dist/cjs-browser/uuid-bin.js +72 -0
  268. package/node_modules/uuid/dist/cjs-browser/v1.d.ts +11 -0
  269. package/node_modules/uuid/dist/cjs-browser/v1.js +87 -0
  270. package/node_modules/uuid/dist/cjs-browser/v1ToV6.d.ts +2 -0
  271. package/node_modules/uuid/dist/cjs-browser/v1ToV6.js +13 -0
  272. package/node_modules/uuid/dist/cjs-browser/v3.d.ts +9 -0
  273. package/node_modules/uuid/dist/cjs-browser/v3.js +14 -0
  274. package/node_modules/uuid/dist/cjs-browser/v35.d.ts +7 -0
  275. package/node_modules/uuid/dist/cjs-browser/v35.js +41 -0
  276. package/node_modules/uuid/dist/cjs-browser/v4.d.ts +4 -0
  277. package/node_modules/uuid/dist/cjs-browser/v4.js +29 -0
  278. package/node_modules/uuid/dist/cjs-browser/v5.d.ts +9 -0
  279. package/node_modules/uuid/dist/cjs-browser/v5.js +14 -0
  280. package/node_modules/uuid/dist/cjs-browser/v6.d.ts +4 -0
  281. package/node_modules/uuid/dist/cjs-browser/v6.js +19 -0
  282. package/node_modules/uuid/dist/cjs-browser/v6ToV1.d.ts +2 -0
  283. package/node_modules/uuid/dist/cjs-browser/v6ToV1.js +13 -0
  284. package/node_modules/uuid/dist/cjs-browser/v7.d.ts +9 -0
  285. package/node_modules/uuid/dist/cjs-browser/v7.js +69 -0
  286. package/node_modules/uuid/dist/cjs-browser/validate.d.ts +2 -0
  287. package/node_modules/uuid/dist/cjs-browser/validate.js +7 -0
  288. package/node_modules/uuid/dist/cjs-browser/version.d.ts +2 -0
  289. package/node_modules/uuid/dist/cjs-browser/version.js +10 -0
  290. package/node_modules/uuid/dist/esm/bin/uuid +2 -0
  291. package/node_modules/uuid/dist/esm/index.d.ts +15 -0
  292. package/node_modules/uuid/dist/esm/index.js +14 -0
  293. package/node_modules/uuid/dist/esm/max.d.ts +2 -0
  294. package/node_modules/uuid/dist/esm/max.js +1 -0
  295. package/node_modules/uuid/dist/esm/md5.d.ts +4 -0
  296. package/node_modules/uuid/dist/esm/md5.js +11 -0
  297. package/node_modules/uuid/dist/esm/native.d.ts +6 -0
  298. package/node_modules/uuid/dist/esm/native.js +2 -0
  299. package/node_modules/uuid/dist/esm/nil.d.ts +2 -0
  300. package/node_modules/uuid/dist/esm/nil.js +1 -0
  301. package/node_modules/uuid/dist/esm/parse.d.ts +2 -0
  302. package/node_modules/uuid/dist/esm/parse.js +9 -0
  303. package/node_modules/uuid/dist/esm/regex.d.ts +2 -0
  304. package/node_modules/uuid/dist/esm/regex.js +1 -0
  305. package/node_modules/uuid/dist/esm/rng.d.ts +1 -0
  306. package/node_modules/uuid/dist/esm/rng.js +10 -0
  307. package/node_modules/uuid/dist/esm/sha1.d.ts +4 -0
  308. package/node_modules/uuid/dist/esm/sha1.js +11 -0
  309. package/node_modules/uuid/dist/esm/stringify.d.ts +3 -0
  310. package/node_modules/uuid/dist/esm/stringify.js +35 -0
  311. package/node_modules/uuid/dist/esm/types.d.ts +21 -0
  312. package/node_modules/uuid/dist/esm/types.js +1 -0
  313. package/node_modules/uuid/dist/esm/uuid-bin.d.ts +1 -0
  314. package/node_modules/uuid/dist/esm/uuid-bin.js +70 -0
  315. package/node_modules/uuid/dist/esm/v1.d.ts +11 -0
  316. package/node_modules/uuid/dist/esm/v1.js +83 -0
  317. package/node_modules/uuid/dist/esm/v1ToV6.d.ts +2 -0
  318. package/node_modules/uuid/dist/esm/v1ToV6.js +10 -0
  319. package/node_modules/uuid/dist/esm/v3.d.ts +9 -0
  320. package/node_modules/uuid/dist/esm/v3.js +9 -0
  321. package/node_modules/uuid/dist/esm/v35.d.ts +7 -0
  322. package/node_modules/uuid/dist/esm/v35.js +36 -0
  323. package/node_modules/uuid/dist/esm/v4.d.ts +4 -0
  324. package/node_modules/uuid/dist/esm/v4.js +27 -0
  325. package/node_modules/uuid/dist/esm/v5.d.ts +9 -0
  326. package/node_modules/uuid/dist/esm/v5.js +9 -0
  327. package/node_modules/uuid/dist/esm/v6.d.ts +4 -0
  328. package/node_modules/uuid/dist/esm/v6.js +17 -0
  329. package/node_modules/uuid/dist/esm/v6ToV1.d.ts +2 -0
  330. package/node_modules/uuid/dist/esm/v6ToV1.js +10 -0
  331. package/node_modules/uuid/dist/esm/v7.d.ts +9 -0
  332. package/node_modules/uuid/dist/esm/v7.js +65 -0
  333. package/node_modules/uuid/dist/esm/validate.d.ts +2 -0
  334. package/node_modules/uuid/dist/esm/validate.js +5 -0
  335. package/node_modules/uuid/dist/esm/version.d.ts +2 -0
  336. package/node_modules/uuid/dist/esm/version.js +8 -0
  337. package/node_modules/uuid/dist/esm-browser/index.d.ts +15 -0
  338. package/node_modules/uuid/dist/esm-browser/index.js +14 -0
  339. package/node_modules/uuid/dist/esm-browser/max.d.ts +2 -0
  340. package/node_modules/uuid/dist/esm-browser/max.js +1 -0
  341. package/node_modules/uuid/dist/esm-browser/md5.d.ts +2 -0
  342. package/node_modules/uuid/dist/esm-browser/md5.js +135 -0
  343. package/node_modules/uuid/dist/esm-browser/native.d.ts +4 -0
  344. package/node_modules/uuid/dist/esm-browser/native.js +2 -0
  345. package/node_modules/uuid/dist/esm-browser/nil.d.ts +2 -0
  346. package/node_modules/uuid/dist/esm-browser/nil.js +1 -0
  347. package/node_modules/uuid/dist/esm-browser/parse.d.ts +2 -0
  348. package/node_modules/uuid/dist/esm-browser/parse.js +9 -0
  349. package/node_modules/uuid/dist/esm-browser/regex.d.ts +2 -0
  350. package/node_modules/uuid/dist/esm-browser/regex.js +1 -0
  351. package/node_modules/uuid/dist/esm-browser/rng.d.ts +1 -0
  352. package/node_modules/uuid/dist/esm-browser/rng.js +11 -0
  353. package/node_modules/uuid/dist/esm-browser/sha1.d.ts +2 -0
  354. package/node_modules/uuid/dist/esm-browser/sha1.js +70 -0
  355. package/node_modules/uuid/dist/esm-browser/stringify.d.ts +3 -0
  356. package/node_modules/uuid/dist/esm-browser/stringify.js +35 -0
  357. package/node_modules/uuid/dist/esm-browser/types.d.ts +21 -0
  358. package/node_modules/uuid/dist/esm-browser/types.js +1 -0
  359. package/node_modules/uuid/dist/esm-browser/uuid-bin.d.ts +1 -0
  360. package/node_modules/uuid/dist/esm-browser/uuid-bin.js +70 -0
  361. package/node_modules/uuid/dist/esm-browser/v1.d.ts +11 -0
  362. package/node_modules/uuid/dist/esm-browser/v1.js +83 -0
  363. package/node_modules/uuid/dist/esm-browser/v1ToV6.d.ts +2 -0
  364. package/node_modules/uuid/dist/esm-browser/v1ToV6.js +10 -0
  365. package/node_modules/uuid/dist/esm-browser/v3.d.ts +9 -0
  366. package/node_modules/uuid/dist/esm-browser/v3.js +9 -0
  367. package/node_modules/uuid/dist/esm-browser/v35.d.ts +7 -0
  368. package/node_modules/uuid/dist/esm-browser/v35.js +36 -0
  369. package/node_modules/uuid/dist/esm-browser/v4.d.ts +4 -0
  370. package/node_modules/uuid/dist/esm-browser/v4.js +27 -0
  371. package/node_modules/uuid/dist/esm-browser/v5.d.ts +9 -0
  372. package/node_modules/uuid/dist/esm-browser/v5.js +9 -0
  373. package/node_modules/uuid/dist/esm-browser/v6.d.ts +4 -0
  374. package/node_modules/uuid/dist/esm-browser/v6.js +17 -0
  375. package/node_modules/uuid/dist/esm-browser/v6ToV1.d.ts +2 -0
  376. package/node_modules/uuid/dist/esm-browser/v6ToV1.js +10 -0
  377. package/node_modules/uuid/dist/esm-browser/v7.d.ts +9 -0
  378. package/node_modules/uuid/dist/esm-browser/v7.js +65 -0
  379. package/node_modules/uuid/dist/esm-browser/validate.d.ts +2 -0
  380. package/node_modules/uuid/dist/esm-browser/validate.js +5 -0
  381. package/node_modules/uuid/dist/esm-browser/version.d.ts +2 -0
  382. package/node_modules/uuid/dist/esm-browser/version.js +8 -0
  383. package/node_modules/uuid/package.json +132 -0
  384. package/package.json +17 -12
  385. package/scripts/cleanup-test-resources.ts +369 -0
@@ -0,0 +1,472 @@
1
+ /**
2
+ * API schemas for Azure Virtual Machine Scale Sets (VMSS) across all supported versions
3
+ *
4
+ * This file defines the complete API schemas for Microsoft.Compute/virtualMachineScaleSets
5
+ * across all supported API versions. The schemas are used by the AzapiResource
6
+ * framework for validation, transformation, and version management.
7
+ *
8
+ * API Versions verified from Azure REST API Specifications:
9
+ * - 2025-01-02: https://github.com/Azure/azure-rest-api-specs/.../2025-01-02/virtualMachineScaleSets.json
10
+ * - 2025-02-01: https://github.com/Azure/azure-rest-api-specs/.../2025-02-01/virtualMachineScaleSets.json
11
+ * - 2025-04-01: https://github.com/Azure/azure-rest-api-specs/.../2025-04-01/virtualMachineScaleSets.json
12
+ */
13
+ import { NetworkInterfaceDnsSettings } from "../../azure-networkinterface/lib/network-interface";
14
+ import { VirtualMachineHardwareProfile, VirtualMachineStorageProfile, VirtualMachineIdentity, VirtualMachinePlan, VirtualMachineDiagnosticsProfile, VirtualMachineSecurityProfile, VirtualMachineBillingProfile, VirtualMachineImageReference, VirtualMachineOSDisk, VirtualMachineDataDisk, VirtualMachineLinuxConfiguration, VirtualMachineWindowsConfiguration, VirtualMachineBootDiagnostics, VirtualMachineUefiSettings } from "../../azure-virtualmachine/lib/virtual-machine-schemas";
15
+ import { ApiSchema, PropertyDefinition, VersionConfig } from "../../core-azure/lib/version-manager/interfaces/version-interfaces";
16
+ export type { VirtualMachineHardwareProfile, VirtualMachineStorageProfile, VirtualMachineIdentity, VirtualMachinePlan, VirtualMachineDiagnosticsProfile, VirtualMachineSecurityProfile, VirtualMachineBillingProfile, VirtualMachineImageReference, VirtualMachineOSDisk, VirtualMachineDataDisk, VirtualMachineLinuxConfiguration, VirtualMachineWindowsConfiguration, VirtualMachineBootDiagnostics, VirtualMachineUefiSettings, };
17
+ /**
18
+ * SKU for the Virtual Machine Scale Set
19
+ */
20
+ export interface VirtualMachineScaleSetSku {
21
+ readonly name: string;
22
+ readonly tier?: string;
23
+ readonly capacity?: number;
24
+ }
25
+ /**
26
+ * Upgrade policy mode type
27
+ */
28
+ export type UpgradePolicyMode = "Automatic" | "Manual" | "Rolling";
29
+ /**
30
+ * Rolling upgrade policy
31
+ */
32
+ export interface RollingUpgradePolicy {
33
+ readonly maxBatchInstancePercent?: number;
34
+ readonly maxUnhealthyInstancePercent?: number;
35
+ readonly maxUnhealthyUpgradedInstancePercent?: number;
36
+ readonly pauseTimeBetweenBatches?: string;
37
+ readonly enableCrossZoneUpgrade?: boolean;
38
+ readonly prioritizeUnhealthyInstances?: boolean;
39
+ }
40
+ /**
41
+ * Automatic OS upgrade policy
42
+ */
43
+ export interface AutomaticOSUpgradePolicy {
44
+ readonly enableAutomaticOSUpgrade?: boolean;
45
+ readonly disableAutomaticRollback?: boolean;
46
+ readonly useRollingUpgradePolicy?: boolean;
47
+ }
48
+ /**
49
+ * Upgrade policy for the Virtual Machine Scale Set
50
+ */
51
+ export interface VirtualMachineScaleSetUpgradePolicy {
52
+ readonly mode?: UpgradePolicyMode;
53
+ readonly rollingUpgradePolicy?: RollingUpgradePolicy;
54
+ readonly automaticOSUpgradePolicy?: AutomaticOSUpgradePolicy;
55
+ }
56
+ /**
57
+ * IP configuration subnet reference
58
+ */
59
+ export interface IPConfigurationSubnet {
60
+ readonly id: string;
61
+ }
62
+ /**
63
+ * DNS settings for public IP
64
+ */
65
+ export interface PublicIPDnsSettings {
66
+ readonly domainNameLabel: string;
67
+ }
68
+ /**
69
+ * Public IP address configuration properties
70
+ */
71
+ export interface PublicIPAddressConfigurationProperties {
72
+ readonly idleTimeoutInMinutes?: number;
73
+ readonly dnsSettings?: PublicIPDnsSettings;
74
+ }
75
+ /**
76
+ * Public IP address configuration
77
+ */
78
+ export interface PublicIPAddressConfiguration {
79
+ readonly name: string;
80
+ readonly properties?: PublicIPAddressConfigurationProperties;
81
+ }
82
+ /**
83
+ * Resource reference with ID
84
+ */
85
+ export interface ResourceReference {
86
+ readonly id: string;
87
+ }
88
+ /**
89
+ * IP configuration properties
90
+ */
91
+ export interface IPConfigurationProperties {
92
+ readonly subnet?: IPConfigurationSubnet;
93
+ readonly primary?: boolean;
94
+ readonly publicIPAddressConfiguration?: PublicIPAddressConfiguration;
95
+ readonly privateIPAddressVersion?: string;
96
+ readonly applicationGatewayBackendAddressPools?: ResourceReference[];
97
+ readonly loadBalancerBackendAddressPools?: ResourceReference[];
98
+ readonly loadBalancerInboundNatPools?: ResourceReference[];
99
+ }
100
+ /**
101
+ * Network interface IP configuration
102
+ */
103
+ export interface IPConfiguration {
104
+ readonly name: string;
105
+ readonly properties?: IPConfigurationProperties;
106
+ }
107
+ /**
108
+ * Network security group reference
109
+ */
110
+ export interface NetworkSecurityGroupReference {
111
+ readonly id: string;
112
+ }
113
+ /**
114
+ * Network interface configuration properties
115
+ * Uses NetworkInterfaceDnsSettings from azure-networkinterface for consistency
116
+ */
117
+ export interface NetworkInterfaceConfigurationProperties {
118
+ readonly primary?: boolean;
119
+ readonly enableAcceleratedNetworking?: boolean;
120
+ readonly enableIPForwarding?: boolean;
121
+ readonly networkSecurityGroup?: NetworkSecurityGroupReference;
122
+ readonly ipConfigurations: IPConfiguration[];
123
+ readonly dnsSettings?: NetworkInterfaceDnsSettings;
124
+ }
125
+ /**
126
+ * Network interface configuration for VMSS
127
+ */
128
+ export interface NetworkInterfaceConfiguration {
129
+ readonly name: string;
130
+ readonly properties?: NetworkInterfaceConfigurationProperties;
131
+ }
132
+ /**
133
+ * Health probe reference
134
+ */
135
+ export interface HealthProbeReference {
136
+ readonly id: string;
137
+ }
138
+ /**
139
+ * Network profile for VMSS (different from VM)
140
+ */
141
+ export interface VirtualMachineScaleSetNetworkProfile {
142
+ readonly networkInterfaceConfigurations?: NetworkInterfaceConfiguration[];
143
+ readonly healthProbe?: HealthProbeReference;
144
+ /**
145
+ * The API version to use for network interface configurations
146
+ *
147
+ * This property is automatically set to the latest Network Interface API version
148
+ * when orchestrationMode is "Flexible" and networkInterfaceConfigurations are specified.
149
+ *
150
+ * You can explicitly provide a version if you need to pin to a specific API version.
151
+ *
152
+ * @example "2024-10-01"
153
+ * @defaultValue Latest Network Interface API version (auto-resolved)
154
+ */
155
+ readonly networkApiVersion?: string;
156
+ }
157
+ /**
158
+ * Extension properties
159
+ */
160
+ export interface VMExtensionProperties {
161
+ readonly publisher: string;
162
+ readonly type: string;
163
+ readonly typeHandlerVersion: string;
164
+ readonly autoUpgradeMinorVersion?: boolean;
165
+ readonly settings?: any;
166
+ readonly protectedSettings?: any;
167
+ }
168
+ /**
169
+ * VM extension
170
+ */
171
+ export interface VMExtension {
172
+ readonly name: string;
173
+ readonly properties?: VMExtensionProperties;
174
+ }
175
+ /**
176
+ * Extension profile
177
+ */
178
+ export interface ExtensionProfile {
179
+ readonly extensions?: VMExtension[];
180
+ }
181
+ /**
182
+ * Terminate notification profile
183
+ */
184
+ export interface TerminateNotificationProfile {
185
+ readonly notBeforeTimeout?: string;
186
+ readonly enable?: boolean;
187
+ }
188
+ /**
189
+ * Scheduled events profile
190
+ */
191
+ export interface ScheduledEventsProfile {
192
+ readonly terminateNotificationProfile?: TerminateNotificationProfile;
193
+ }
194
+ /**
195
+ * OS Profile for Virtual Machine Scale Set
196
+ * VMSS uses computerNamePrefix instead of computerName
197
+ */
198
+ export interface VirtualMachineScaleSetOSProfile {
199
+ readonly computerNamePrefix?: string;
200
+ readonly adminUsername?: string;
201
+ readonly adminPassword?: string;
202
+ readonly customData?: string;
203
+ readonly windowsConfiguration?: VirtualMachineWindowsConfiguration;
204
+ readonly linuxConfiguration?: VirtualMachineLinuxConfiguration;
205
+ readonly secrets?: any[];
206
+ readonly allowExtensionOperations?: boolean;
207
+ readonly requireGuestProvisionSignal?: boolean;
208
+ }
209
+ /**
210
+ * VM profile for the Virtual Machine Scale Set
211
+ * Wraps VM configuration and reuses VM interfaces
212
+ */
213
+ export interface VirtualMachineScaleSetVMProfile {
214
+ readonly osProfile?: VirtualMachineScaleSetOSProfile;
215
+ readonly storageProfile?: VirtualMachineStorageProfile;
216
+ readonly networkProfile?: VirtualMachineScaleSetNetworkProfile;
217
+ readonly securityProfile?: VirtualMachineSecurityProfile;
218
+ readonly diagnosticsProfile?: VirtualMachineDiagnosticsProfile;
219
+ readonly extensionProfile?: ExtensionProfile;
220
+ readonly licenseType?: string;
221
+ readonly priority?: string;
222
+ readonly evictionPolicy?: string;
223
+ readonly billingProfile?: VirtualMachineBillingProfile;
224
+ readonly scheduledEventsProfile?: ScheduledEventsProfile;
225
+ }
226
+ /**
227
+ * Automatic repairs policy
228
+ */
229
+ export interface AutomaticRepairsPolicy {
230
+ readonly enabled?: boolean;
231
+ readonly gracePeriod?: string;
232
+ readonly repairAction?: string;
233
+ }
234
+ /**
235
+ * Scale-in policy
236
+ */
237
+ export interface VirtualMachineScaleSetScaleInPolicy {
238
+ readonly rules?: string[];
239
+ readonly forceDeletion?: boolean;
240
+ }
241
+ /**
242
+ * Orchestration mode type
243
+ */
244
+ export type OrchestrationMode = "Uniform" | "Flexible";
245
+ /**
246
+ * Scaling configuration
247
+ */
248
+ export interface VirtualMachineScaleSetScalingConfiguration {
249
+ readonly overprovision?: boolean;
250
+ readonly doNotRunExtensionsOnOverprovisionedVMs?: boolean;
251
+ readonly singlePlacementGroup?: boolean;
252
+ readonly zoneBalance?: boolean;
253
+ readonly platformFaultDomainCount?: number;
254
+ }
255
+ /**
256
+ * Configuration options for Virtual Machine Scale Set monitoring
257
+ *
258
+ * This interface provides options for configuring monitoring alerts and diagnostic
259
+ * settings for VMSS resources. All properties are JSII-compliant for multi-language support.
260
+ *
261
+ * @stability stable
262
+ */
263
+ export interface VmssMonitoringOptions {
264
+ /**
265
+ * CPU usage threshold percentage for triggering alerts
266
+ *
267
+ * VMSS uses a lower default threshold (75%) compared to single VMs (80%)
268
+ * to allow headroom for scaling operations before reaching saturation.
269
+ *
270
+ * @default 75
271
+ */
272
+ readonly cpuThreshold?: number;
273
+ /**
274
+ * Available memory threshold in bytes for triggering alerts
275
+ *
276
+ * When available memory drops below this threshold, an alert will be triggered.
277
+ * Default is 1GB (1073741824 bytes).
278
+ *
279
+ * @default 1073741824
280
+ */
281
+ readonly memoryThreshold?: number;
282
+ /**
283
+ * Disk queue depth threshold for triggering alerts
284
+ *
285
+ * High disk queue depth can indicate disk performance bottlenecks.
286
+ *
287
+ * @default 32
288
+ */
289
+ readonly diskQueueThreshold?: number;
290
+ /**
291
+ * Enable or disable CPU usage alert
292
+ *
293
+ * @default true
294
+ */
295
+ readonly enableCpuAlert?: boolean;
296
+ /**
297
+ * Enable or disable memory usage alert
298
+ *
299
+ * @default true
300
+ */
301
+ readonly enableMemoryAlert?: boolean;
302
+ /**
303
+ * Enable or disable disk queue depth alert
304
+ *
305
+ * @default true
306
+ */
307
+ readonly enableDiskQueueAlert?: boolean;
308
+ /**
309
+ * Enable or disable VMSS deletion activity log alert
310
+ *
311
+ * @default true
312
+ */
313
+ readonly enableDeletionAlert?: boolean;
314
+ /**
315
+ * Severity level for CPU usage alerts
316
+ *
317
+ * - 0: Critical
318
+ * - 1: Error
319
+ * - 2: Warning
320
+ * - 3: Informational
321
+ * - 4: Verbose
322
+ *
323
+ * @default 2
324
+ */
325
+ readonly cpuAlertSeverity?: 0 | 1 | 2 | 3 | 4;
326
+ /**
327
+ * Severity level for memory usage alerts
328
+ *
329
+ * - 0: Critical
330
+ * - 1: Error
331
+ * - 2: Warning
332
+ * - 3: Informational
333
+ * - 4: Verbose
334
+ *
335
+ * @default 2
336
+ */
337
+ readonly memoryAlertSeverity?: 0 | 1 | 2 | 3 | 4;
338
+ /**
339
+ * Severity level for disk queue depth alerts
340
+ *
341
+ * - 0: Critical
342
+ * - 1: Error
343
+ * - 2: Warning
344
+ * - 3: Informational
345
+ * - 4: Verbose
346
+ *
347
+ * @default 2
348
+ */
349
+ readonly diskQueueAlertSeverity?: 0 | 1 | 2 | 3 | 4;
350
+ }
351
+ /**
352
+ * Proximity placement group reference
353
+ */
354
+ export interface ProximityPlacementGroupReference {
355
+ readonly id: string;
356
+ }
357
+ /**
358
+ * Host group reference
359
+ */
360
+ export interface HostGroupReference {
361
+ readonly id: string;
362
+ }
363
+ /**
364
+ * Additional capabilities
365
+ */
366
+ export interface AdditionalCapabilities {
367
+ readonly ultraSSDEnabled?: boolean;
368
+ }
369
+ /**
370
+ * Properties for the Virtual Machine Scale Set
371
+ */
372
+ export interface VirtualMachineScaleSetProps {
373
+ readonly name: string;
374
+ readonly location: string;
375
+ readonly resourceGroupId?: string;
376
+ readonly tags?: {
377
+ [key: string]: string;
378
+ };
379
+ readonly apiVersion?: string;
380
+ readonly sku: VirtualMachineScaleSetSku;
381
+ readonly identity?: VirtualMachineIdentity;
382
+ readonly zones?: string[];
383
+ readonly plan?: VirtualMachinePlan;
384
+ readonly upgradePolicy?: VirtualMachineScaleSetUpgradePolicy;
385
+ readonly virtualMachineProfile?: VirtualMachineScaleSetVMProfile;
386
+ readonly orchestrationMode?: OrchestrationMode;
387
+ readonly overprovision?: boolean;
388
+ readonly doNotRunExtensionsOnOverprovisionedVMs?: boolean;
389
+ readonly singlePlacementGroup?: boolean;
390
+ readonly zoneBalance?: boolean;
391
+ readonly platformFaultDomainCount?: number;
392
+ readonly automaticRepairsPolicy?: AutomaticRepairsPolicy;
393
+ readonly scaleInPolicy?: VirtualMachineScaleSetScaleInPolicy;
394
+ readonly proximityPlacementGroup?: ProximityPlacementGroupReference;
395
+ readonly hostGroup?: HostGroupReference;
396
+ readonly additionalCapabilities?: AdditionalCapabilities;
397
+ readonly monitoring?: any;
398
+ readonly ignoreChanges?: string[];
399
+ readonly enableMigrationAnalysis?: boolean;
400
+ readonly enableValidation?: boolean;
401
+ readonly enableTransformation?: boolean;
402
+ }
403
+ /**
404
+ * Body properties for VMSS
405
+ */
406
+ export interface VirtualMachineScaleSetBodyProperties {
407
+ readonly upgradePolicy?: VirtualMachineScaleSetUpgradePolicy;
408
+ readonly virtualMachineProfile?: VirtualMachineScaleSetVMProfile;
409
+ readonly orchestrationMode?: OrchestrationMode;
410
+ readonly overprovision?: boolean;
411
+ readonly doNotRunExtensionsOnOverprovisionedVMs?: boolean;
412
+ readonly singlePlacementGroup?: boolean;
413
+ readonly zoneBalance?: boolean;
414
+ readonly platformFaultDomainCount?: number;
415
+ readonly automaticRepairsPolicy?: AutomaticRepairsPolicy;
416
+ readonly scaleInPolicy?: VirtualMachineScaleSetScaleInPolicy;
417
+ readonly proximityPlacementGroup?: ProximityPlacementGroupReference;
418
+ readonly hostGroup?: HostGroupReference;
419
+ readonly additionalCapabilities?: AdditionalCapabilities;
420
+ }
421
+ /**
422
+ * The resource body interface for Azure VMSS API calls
423
+ */
424
+ export interface VirtualMachineScaleSetBody {
425
+ readonly location: string;
426
+ readonly tags?: {
427
+ [key: string]: string;
428
+ };
429
+ readonly sku: VirtualMachineScaleSetSku;
430
+ readonly identity?: VirtualMachineIdentity;
431
+ readonly zones?: string[];
432
+ readonly plan?: VirtualMachinePlan;
433
+ readonly properties: VirtualMachineScaleSetBodyProperties;
434
+ }
435
+ /**
436
+ * Common property definitions shared across all VMSS versions
437
+ */
438
+ export declare const COMMON_VMSS_PROPERTIES: {
439
+ [key: string]: PropertyDefinition;
440
+ };
441
+ /**
442
+ * API Schema for VMSS version 2025-01-02
443
+ */
444
+ export declare const VMSS_SCHEMA_2025_01_02: ApiSchema;
445
+ /**
446
+ * API Schema for VMSS version 2025-02-01
447
+ */
448
+ export declare const VMSS_SCHEMA_2025_02_01: ApiSchema;
449
+ /**
450
+ * API Schema for VMSS version 2025-04-01
451
+ */
452
+ export declare const VMSS_SCHEMA_2025_04_01: ApiSchema;
453
+ /**
454
+ * Version configuration for VMSS 2025-01-02
455
+ */
456
+ export declare const VMSS_VERSION_2025_01_02: VersionConfig;
457
+ /**
458
+ * Version configuration for VMSS 2025-02-01
459
+ */
460
+ export declare const VMSS_VERSION_2025_02_01: VersionConfig;
461
+ /**
462
+ * Version configuration for VMSS 2025-04-01
463
+ */
464
+ export declare const VMSS_VERSION_2025_04_01: VersionConfig;
465
+ /**
466
+ * All supported VMSS versions for registration
467
+ */
468
+ export declare const ALL_VMSS_VERSIONS: VersionConfig[];
469
+ /**
470
+ * Resource type constant
471
+ */
472
+ export declare const VMSS_TYPE = "Microsoft.Compute/virtualMachineScaleSets";