@microsoft/terraform-cdk-constructs 1.8.0 → 2.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 (268) hide show
  1. package/.jsii +48328 -33656
  2. package/API.md +56123 -38995
  3. package/lib/azure-actiongroup/lib/action-group.d.ts +3 -3
  4. package/lib/azure-actiongroup/lib/action-group.js +5 -5
  5. package/lib/azure-actiongroup/test/action-group.integ.d.ts +1 -1
  6. package/lib/azure-actiongroup/test/action-group.integ.js +5 -5
  7. package/lib/azure-actiongroup/test/action-group.spec.js +9 -9
  8. package/lib/azure-activitylogalert/lib/activity-log-alert.d.ts +3 -3
  9. package/lib/azure-activitylogalert/lib/activity-log-alert.js +5 -5
  10. package/lib/azure-activitylogalert/test/activity-log-alert.integ.d.ts +1 -1
  11. package/lib/azure-activitylogalert/test/activity-log-alert.integ.js +6 -6
  12. package/lib/azure-activitylogalert/test/activity-log-alert.spec.js +9 -9
  13. package/lib/azure-aks/lib/aks-cluster.d.ts +6 -6
  14. package/lib/azure-aks/lib/aks-cluster.js +8 -8
  15. package/lib/azure-aks/test/aks-cluster.integ.d.ts +1 -1
  16. package/lib/azure-aks/test/aks-cluster.integ.js +5 -5
  17. package/lib/azure-aks/test/aks-cluster.spec.js +12 -12
  18. package/lib/azure-containerapps/index.d.ts +1 -0
  19. package/lib/azure-containerapps/index.js +18 -0
  20. package/lib/azure-containerapps/lib/container-app-environment-schemas.d.ts +50 -0
  21. package/lib/azure-containerapps/lib/container-app-environment-schemas.js +522 -0
  22. package/lib/azure-containerapps/lib/container-app-environment.d.ts +374 -0
  23. package/lib/azure-containerapps/lib/container-app-environment.js +310 -0
  24. package/lib/azure-containerapps/lib/container-app-schemas.d.ts +48 -0
  25. package/lib/azure-containerapps/lib/container-app-schemas.js +466 -0
  26. package/lib/azure-containerapps/lib/container-app.d.ts +925 -0
  27. package/lib/azure-containerapps/lib/container-app.js +320 -0
  28. package/lib/azure-containerapps/lib/index.d.ts +4 -0
  29. package/lib/azure-containerapps/lib/index.js +21 -0
  30. package/lib/azure-containerapps/test/container-app-environment.integ.d.ts +10 -0
  31. package/lib/azure-containerapps/test/container-app-environment.integ.js +82 -0
  32. package/lib/azure-containerapps/test/container-app-environment.spec.d.ts +9 -0
  33. package/lib/azure-containerapps/test/container-app-environment.spec.js +412 -0
  34. package/lib/azure-containerapps/test/container-app.integ.d.ts +10 -0
  35. package/lib/azure-containerapps/test/container-app.integ.js +119 -0
  36. package/lib/azure-containerapps/test/container-app.spec.d.ts +9 -0
  37. package/lib/azure-containerapps/test/container-app.spec.js +839 -0
  38. package/lib/azure-diagnosticsettings/lib/diagnostic-settings.d.ts +3 -3
  39. package/lib/azure-diagnosticsettings/lib/diagnostic-settings.js +5 -5
  40. package/lib/azure-diagnosticsettings/test/diagnostic-settings.spec.js +9 -9
  41. package/lib/azure-dnsforwardingruleset/lib/dns-forwarding-ruleset.d.ts +7 -7
  42. package/lib/azure-dnsforwardingruleset/lib/dns-forwarding-ruleset.js +9 -9
  43. package/lib/azure-dnsforwardingruleset/lib/forwarding-rule.d.ts +4 -4
  44. package/lib/azure-dnsforwardingruleset/lib/forwarding-rule.js +6 -6
  45. package/lib/azure-dnsforwardingruleset/lib/virtual-network-link.d.ts +4 -4
  46. package/lib/azure-dnsforwardingruleset/lib/virtual-network-link.js +6 -6
  47. package/lib/azure-dnsforwardingruleset/test/dns-forwarding-ruleset.integ.d.ts +1 -1
  48. package/lib/azure-dnsforwardingruleset/test/dns-forwarding-ruleset.integ.js +5 -5
  49. package/lib/azure-dnsforwardingruleset/test/dns-forwarding-ruleset.spec.js +11 -11
  50. package/lib/azure-dnsforwardingruleset/test/forwarding-rule.spec.js +14 -14
  51. package/lib/azure-dnsforwardingruleset/test/virtual-network-link.spec.js +12 -12
  52. package/lib/azure-dnsresolver/lib/dns-resolver.d.ts +8 -8
  53. package/lib/azure-dnsresolver/lib/dns-resolver.js +10 -10
  54. package/lib/azure-dnsresolver/lib/inbound-endpoint.d.ts +6 -6
  55. package/lib/azure-dnsresolver/lib/inbound-endpoint.js +8 -8
  56. package/lib/azure-dnsresolver/lib/outbound-endpoint.d.ts +7 -7
  57. package/lib/azure-dnsresolver/lib/outbound-endpoint.js +9 -9
  58. package/lib/azure-dnsresolver/test/dns-resolver.integ.d.ts +1 -1
  59. package/lib/azure-dnsresolver/test/dns-resolver.integ.js +5 -5
  60. package/lib/azure-dnsresolver/test/dns-resolver.spec.js +11 -11
  61. package/lib/azure-dnsresolver/test/inbound-endpoint.integ.d.ts +1 -1
  62. package/lib/azure-dnsresolver/test/inbound-endpoint.integ.js +5 -5
  63. package/lib/azure-dnsresolver/test/inbound-endpoint.spec.js +12 -12
  64. package/lib/azure-dnsresolver/test/outbound-endpoint.integ.d.ts +1 -1
  65. package/lib/azure-dnsresolver/test/outbound-endpoint.integ.js +5 -5
  66. package/lib/azure-dnsresolver/test/outbound-endpoint.spec.js +9 -9
  67. package/lib/azure-dnszone/lib/dns-zone.d.ts +6 -6
  68. package/lib/azure-dnszone/lib/dns-zone.js +8 -8
  69. package/lib/azure-dnszone/lib/records/dns-records.d.ts +31 -31
  70. package/lib/azure-dnszone/lib/records/dns-records.js +42 -42
  71. package/lib/azure-dnszone/test/dns-records.integ.d.ts +1 -1
  72. package/lib/azure-dnszone/test/dns-records.integ.js +5 -5
  73. package/lib/azure-dnszone/test/dns-records.spec.js +57 -57
  74. package/lib/azure-dnszone/test/dns-zone.integ.d.ts +1 -1
  75. package/lib/azure-dnszone/test/dns-zone.integ.js +5 -5
  76. package/lib/azure-dnszone/test/dns-zone.spec.js +11 -11
  77. package/lib/azure-loganalyticsworkspace/index.d.ts +6 -0
  78. package/lib/azure-loganalyticsworkspace/index.js +23 -0
  79. package/lib/azure-loganalyticsworkspace/lib/index.d.ts +5 -0
  80. package/lib/azure-loganalyticsworkspace/lib/index.js +22 -0
  81. package/lib/azure-loganalyticsworkspace/lib/log-analytics-workspace-schemas.d.ts +51 -0
  82. package/lib/azure-loganalyticsworkspace/lib/log-analytics-workspace-schemas.js +255 -0
  83. package/lib/azure-loganalyticsworkspace/lib/log-analytics-workspace.d.ts +301 -0
  84. package/lib/azure-loganalyticsworkspace/lib/log-analytics-workspace.js +213 -0
  85. package/lib/azure-loganalyticsworkspace/test/log-analytics-workspace.integ.d.ts +9 -0
  86. package/lib/azure-loganalyticsworkspace/test/log-analytics-workspace.integ.js +71 -0
  87. package/lib/azure-loganalyticsworkspace/test/log-analytics-workspace.spec.d.ts +8 -0
  88. package/lib/azure-loganalyticsworkspace/test/log-analytics-workspace.spec.js +504 -0
  89. package/lib/azure-metricalert/lib/metric-alert.d.ts +3 -3
  90. package/lib/azure-metricalert/lib/metric-alert.js +5 -5
  91. package/lib/azure-metricalert/test/metric-alert.integ.d.ts +1 -1
  92. package/lib/azure-metricalert/test/metric-alert.integ.js +5 -5
  93. package/lib/azure-metricalert/test/metric-alert.spec.js +9 -9
  94. package/lib/azure-networkinterface/lib/network-interface.d.ts +5 -5
  95. package/lib/azure-networkinterface/lib/network-interface.js +7 -7
  96. package/lib/azure-networkinterface/test/network-interface.integ.d.ts +1 -1
  97. package/lib/azure-networkinterface/test/network-interface.integ.js +5 -5
  98. package/lib/azure-networkinterface/test/network-interface.spec.js +11 -11
  99. package/lib/azure-networksecuritygroup/lib/network-security-group.d.ts +6 -6
  100. package/lib/azure-networksecuritygroup/lib/network-security-group.js +8 -8
  101. package/lib/azure-networksecuritygroup/test/network-security-group.integ.d.ts +1 -1
  102. package/lib/azure-networksecuritygroup/test/network-security-group.integ.js +5 -5
  103. package/lib/azure-networksecuritygroup/test/network-security-group.spec.js +12 -12
  104. package/lib/azure-networkwatcher/index.d.ts +14 -0
  105. package/lib/azure-networkwatcher/index.js +31 -0
  106. package/lib/azure-networkwatcher/lib/index.d.ts +5 -0
  107. package/lib/azure-networkwatcher/lib/index.js +22 -0
  108. package/lib/azure-networkwatcher/lib/network-watcher-schemas.d.ts +47 -0
  109. package/lib/azure-networkwatcher/lib/network-watcher-schemas.js +167 -0
  110. package/lib/azure-networkwatcher/lib/network-watcher.d.ts +181 -0
  111. package/lib/azure-networkwatcher/lib/network-watcher.js +187 -0
  112. package/lib/azure-networkwatcher/test/network-watcher.integ.d.ts +12 -0
  113. package/lib/azure-networkwatcher/test/network-watcher.integ.js +84 -0
  114. package/lib/azure-networkwatcher/test/network-watcher.spec.d.ts +8 -0
  115. package/lib/azure-networkwatcher/test/network-watcher.spec.js +312 -0
  116. package/lib/azure-policyassignment/lib/policy-assignment.d.ts +3 -3
  117. package/lib/azure-policyassignment/lib/policy-assignment.js +5 -5
  118. package/lib/azure-policyassignment/test/policy-assignment.integ.d.ts +1 -1
  119. package/lib/azure-policyassignment/test/policy-assignment.integ.js +5 -5
  120. package/lib/azure-policyassignment/test/policy-assignment.spec.js +12 -12
  121. package/lib/azure-policydefinition/lib/policy-definition.d.ts +3 -3
  122. package/lib/azure-policydefinition/lib/policy-definition.js +5 -5
  123. package/lib/azure-policydefinition/test/policy-definition.integ.d.ts +1 -1
  124. package/lib/azure-policydefinition/test/policy-definition.integ.js +5 -5
  125. package/lib/azure-policydefinition/test/policy-definition.spec.js +19 -19
  126. package/lib/azure-policysetdefinition/index.d.ts +10 -0
  127. package/lib/azure-policysetdefinition/index.js +27 -0
  128. package/lib/azure-policysetdefinition/lib/index.d.ts +5 -0
  129. package/lib/azure-policysetdefinition/lib/index.js +22 -0
  130. package/lib/azure-policysetdefinition/lib/policy-set-definition-schemas.d.ts +50 -0
  131. package/lib/azure-policysetdefinition/lib/policy-set-definition-schemas.js +255 -0
  132. package/lib/azure-policysetdefinition/lib/policy-set-definition.d.ts +426 -0
  133. package/lib/azure-policysetdefinition/lib/policy-set-definition.js +255 -0
  134. package/lib/azure-policysetdefinition/test/policy-set-definition.integ.d.ts +9 -0
  135. package/lib/azure-policysetdefinition/test/policy-set-definition.integ.js +56 -0
  136. package/lib/azure-policysetdefinition/test/policy-set-definition.spec.d.ts +8 -0
  137. package/lib/azure-policysetdefinition/test/policy-set-definition.spec.js +745 -0
  138. package/lib/azure-privatednszone/lib/private-dns-zone.d.ts +10 -10
  139. package/lib/azure-privatednszone/lib/private-dns-zone.js +12 -12
  140. package/lib/azure-privatednszone/lib/records/private-dns-records.d.ts +25 -25
  141. package/lib/azure-privatednszone/lib/records/private-dns-records.js +34 -34
  142. package/lib/azure-privatednszone/test/private-dns-records.integ.d.ts +1 -1
  143. package/lib/azure-privatednszone/test/private-dns-records.integ.js +5 -5
  144. package/lib/azure-privatednszone/test/private-dns-records.spec.js +49 -49
  145. package/lib/azure-privatednszone/test/private-dns-zone.integ.d.ts +1 -1
  146. package/lib/azure-privatednszone/test/private-dns-zone.integ.js +5 -5
  147. package/lib/azure-privatednszone/test/private-dns-zone.spec.js +12 -12
  148. package/lib/azure-privatednszonelink/lib/private-dns-zone-link.d.ts +6 -6
  149. package/lib/azure-privatednszonelink/lib/private-dns-zone-link.js +8 -8
  150. package/lib/azure-privatednszonelink/test/private-dns-zone-link.integ.d.ts +1 -1
  151. package/lib/azure-privatednszonelink/test/private-dns-zone-link.integ.js +5 -5
  152. package/lib/azure-privatednszonelink/test/private-dns-zone-link.spec.js +12 -12
  153. package/lib/azure-publicipaddress/lib/public-ip-address.d.ts +5 -5
  154. package/lib/azure-publicipaddress/lib/public-ip-address.js +7 -7
  155. package/lib/azure-publicipaddress/test/public-ip-address.integ.d.ts +1 -1
  156. package/lib/azure-publicipaddress/test/public-ip-address.integ.js +6 -6
  157. package/lib/azure-publicipaddress/test/public-ip-address.spec.js +11 -11
  158. package/lib/azure-resourcegroup/lib/resource-group.d.ts +5 -5
  159. package/lib/azure-resourcegroup/lib/resource-group.js +7 -7
  160. package/lib/azure-resourcegroup/test/resource-group.integ.d.ts +1 -1
  161. package/lib/azure-resourcegroup/test/resource-group.integ.js +5 -5
  162. package/lib/azure-resourcegroup/test/resource-group.spec.js +14 -14
  163. package/lib/azure-roleassignment/lib/role-assignment.d.ts +3 -3
  164. package/lib/azure-roleassignment/lib/role-assignment.js +5 -5
  165. package/lib/azure-roleassignment/test/role-assignment.integ.d.ts +1 -1
  166. package/lib/azure-roleassignment/test/role-assignment.integ.js +5 -5
  167. package/lib/azure-roleassignment/test/role-assignment.spec.js +12 -12
  168. package/lib/azure-roledefinition/lib/role-definition.d.ts +3 -3
  169. package/lib/azure-roledefinition/lib/role-definition.js +5 -5
  170. package/lib/azure-roledefinition/test/role-definition.integ.d.ts +1 -1
  171. package/lib/azure-roledefinition/test/role-definition.integ.js +5 -5
  172. package/lib/azure-roledefinition/test/role-definition.spec.js +12 -12
  173. package/lib/azure-storageaccount/lib/storage-account.d.ts +6 -6
  174. package/lib/azure-storageaccount/lib/storage-account.js +8 -8
  175. package/lib/azure-storageaccount/test/storage-account.integ.d.ts +1 -1
  176. package/lib/azure-storageaccount/test/storage-account.integ.js +5 -5
  177. package/lib/azure-storageaccount/test/storage-account.spec.js +11 -11
  178. package/lib/azure-subnet/lib/subnet.d.ts +3 -3
  179. package/lib/azure-subnet/lib/subnet.js +5 -5
  180. package/lib/azure-subnet/test/subnet.integ.d.ts +1 -1
  181. package/lib/azure-subnet/test/subnet.integ.js +5 -5
  182. package/lib/azure-subnet/test/subnet.spec.js +9 -9
  183. package/lib/azure-virtualmachine/lib/virtual-machine.d.ts +6 -6
  184. package/lib/azure-virtualmachine/lib/virtual-machine.js +8 -8
  185. package/lib/azure-virtualmachine/test/virtual-machine.integ.d.ts +1 -1
  186. package/lib/azure-virtualmachine/test/virtual-machine.integ.js +5 -5
  187. package/lib/azure-virtualmachine/test/virtual-machine.spec.js +17 -17
  188. package/lib/azure-virtualnetwork/lib/virtual-network.d.ts +6 -6
  189. package/lib/azure-virtualnetwork/lib/virtual-network.js +8 -8
  190. package/lib/azure-virtualnetwork/test/virtual-network.integ.d.ts +1 -1
  191. package/lib/azure-virtualnetwork/test/virtual-network.integ.js +5 -5
  192. package/lib/azure-virtualnetwork/test/virtual-network.spec.js +12 -12
  193. package/lib/azure-virtualnetworkgateway/lib/virtual-network-gateway-schemas.js +2 -2
  194. package/lib/azure-virtualnetworkgateway/lib/virtual-network-gateway.d.ts +9 -7
  195. package/lib/azure-virtualnetworkgateway/lib/virtual-network-gateway.js +13 -10
  196. package/lib/azure-virtualnetworkgateway/test/virtual-network-gateway.integ.d.ts +1 -1
  197. package/lib/azure-virtualnetworkgateway/test/virtual-network-gateway.integ.js +5 -5
  198. package/lib/azure-virtualnetworkgateway/test/virtual-network-gateway.spec.js +119 -11
  199. package/lib/azure-virtualnetworkgatewayconnection/lib/virtual-network-gateway-connection.d.ts +5 -5
  200. package/lib/azure-virtualnetworkgatewayconnection/lib/virtual-network-gateway-connection.js +7 -7
  201. package/lib/azure-virtualnetworkgatewayconnection/test/virtual-network-gateway-connection.integ.d.ts +1 -1
  202. package/lib/azure-virtualnetworkgatewayconnection/test/virtual-network-gateway-connection.integ.js +5 -5
  203. package/lib/azure-virtualnetworkgatewayconnection/test/virtual-network-gateway-connection.spec.js +20 -20
  204. package/lib/azure-virtualnetworkmanager/lib/connectivity-configuration.d.ts +4 -4
  205. package/lib/azure-virtualnetworkmanager/lib/connectivity-configuration.js +6 -6
  206. package/lib/azure-virtualnetworkmanager/lib/ipam-pool-static-cidr.d.ts +4 -4
  207. package/lib/azure-virtualnetworkmanager/lib/ipam-pool-static-cidr.js +6 -6
  208. package/lib/azure-virtualnetworkmanager/lib/ipam-pool.d.ts +4 -4
  209. package/lib/azure-virtualnetworkmanager/lib/ipam-pool.js +6 -6
  210. package/lib/azure-virtualnetworkmanager/lib/network-group-static-member.d.ts +4 -4
  211. package/lib/azure-virtualnetworkmanager/lib/network-group-static-member.js +6 -6
  212. package/lib/azure-virtualnetworkmanager/lib/network-group.d.ts +4 -4
  213. package/lib/azure-virtualnetworkmanager/lib/network-group.js +6 -6
  214. package/lib/azure-virtualnetworkmanager/lib/security-admin-configuration.d.ts +4 -4
  215. package/lib/azure-virtualnetworkmanager/lib/security-admin-configuration.js +6 -6
  216. package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-collection.d.ts +4 -4
  217. package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-collection.js +6 -6
  218. package/lib/azure-virtualnetworkmanager/lib/security-admin-rule.d.ts +4 -4
  219. package/lib/azure-virtualnetworkmanager/lib/security-admin-rule.js +6 -6
  220. package/lib/azure-virtualnetworkmanager/lib/virtual-network-manager.d.ts +7 -7
  221. package/lib/azure-virtualnetworkmanager/lib/virtual-network-manager.js +9 -9
  222. package/lib/azure-virtualnetworkmanager/test/ipam-pool-static-cidr.spec.js +17 -17
  223. package/lib/azure-virtualnetworkmanager/test/ipam-pool.spec.js +15 -15
  224. package/lib/azure-virtualnetworkmanager/test/virtual-network-manager.integ.d.ts +1 -1
  225. package/lib/azure-virtualnetworkmanager/test/virtual-network-manager.integ.js +5 -5
  226. package/lib/azure-virtualnetworkmanager/test/virtual-network-manager.spec.js +57 -57
  227. package/lib/azure-vmss/lib/virtual-machine-scale-set.d.ts +6 -6
  228. package/lib/azure-vmss/lib/virtual-machine-scale-set.js +8 -8
  229. package/lib/azure-vmss/test/virtual-machine-scale-set.integ.d.ts +1 -1
  230. package/lib/azure-vmss/test/virtual-machine-scale-set.integ.js +5 -5
  231. package/lib/azure-vmss/test/virtual-machine-scale-set.spec.js +12 -12
  232. package/lib/core-azure/lib/azapi/azapi-resource-tags.spec.js +6 -6
  233. package/lib/core-azure/lib/azapi/azapi-resource.d.ts +7 -7
  234. package/lib/core-azure/lib/azapi/azapi-resource.js +6 -6
  235. package/lib/core-azure/lib/azapi/azapi-resource.spec.js +7 -7
  236. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-client-config/index.d.ts +12 -12
  237. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-client-config/index.js +15 -15
  238. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource/index.d.ts +35 -35
  239. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource/index.js +58 -58
  240. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-action/index.d.ts +25 -25
  241. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-action/index.js +49 -49
  242. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-id/index.d.ts +13 -13
  243. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-id/index.js +22 -22
  244. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-list/index.d.ts +24 -24
  245. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-list/index.js +40 -40
  246. package/lib/core-azure/lib/azapi/providers-azapi/data-plane-resource/index.d.ts +44 -44
  247. package/lib/core-azure/lib/azapi/providers-azapi/data-plane-resource/index.js +72 -72
  248. package/lib/core-azure/lib/azapi/providers-azapi/index.js +2 -2
  249. package/lib/core-azure/lib/azapi/providers-azapi/lazy-index.js +2 -2
  250. package/lib/core-azure/lib/azapi/providers-azapi/provider/index.d.ts +54 -54
  251. package/lib/core-azure/lib/azapi/providers-azapi/provider/index.js +86 -86
  252. package/lib/core-azure/lib/azapi/providers-azapi/resource/index.d.ts +65 -65
  253. package/lib/core-azure/lib/azapi/providers-azapi/resource/index.js +102 -102
  254. package/lib/core-azure/lib/azapi/providers-azapi/resource-action/index.d.ts +25 -25
  255. package/lib/core-azure/lib/azapi/providers-azapi/resource-action/index.js +62 -62
  256. package/lib/core-azure/lib/azapi/providers-azapi/update-resource/index.d.ts +36 -36
  257. package/lib/core-azure/lib/azapi/providers-azapi/update-resource/index.js +69 -69
  258. package/lib/core-azure/lib/azapi/schema-mapper/schema-mapper.js +1 -1
  259. package/lib/core-azure/lib/version-manager/api-version-manager.js +1 -1
  260. package/lib/core-azure/lib/version-manager/interfaces/version-interfaces.js +7 -7
  261. package/lib/index.d.ts +12 -0
  262. package/lib/index.js +14 -2
  263. package/lib/testing/index.d.ts +1 -1
  264. package/lib/testing/index.js +8 -8
  265. package/lib/testing/lib/cleanup.js +1 -1
  266. package/lib/testing/lib/metadata.js +1 -1
  267. package/package.json +10 -22
  268. package/setup.js +2 -2
@@ -0,0 +1,255 @@
1
+ "use strict";
2
+ /**
3
+ * API schemas for Azure Log Analytics Workspace across all supported versions
4
+ *
5
+ * This file defines the complete API schemas for Microsoft.OperationalInsights/workspaces
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.LOG_ANALYTICS_WORKSPACE_TYPE = exports.ALL_LOG_ANALYTICS_WORKSPACE_VERSIONS = exports.LOG_ANALYTICS_WORKSPACE_VERSION_2022_10_01 = exports.LOG_ANALYTICS_WORKSPACE_VERSION_2023_09_01 = exports.LOG_ANALYTICS_WORKSPACE_SCHEMA_2022_10_01 = exports.LOG_ANALYTICS_WORKSPACE_SCHEMA_2023_09_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 Log Analytics Workspace versions
17
+ */
18
+ const COMMON_LOG_ANALYTICS_WORKSPACE_PROPERTIES = {
19
+ name: {
20
+ dataType: version_interfaces_1.PropertyType.STRING,
21
+ required: true,
22
+ description: "Name of the Log Analytics workspace",
23
+ validation: [
24
+ {
25
+ ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
26
+ message: "Name is required",
27
+ },
28
+ {
29
+ ruleType: version_interfaces_1.ValidationRuleType.PATTERN_MATCH,
30
+ value: "^[a-zA-Z0-9][a-zA-Z0-9-]{2,61}[a-zA-Z0-9]$",
31
+ message: "Workspace name must be 4-63 characters, start and end with a letter or number, and contain only letters, numbers, and hyphens",
32
+ },
33
+ ],
34
+ },
35
+ location: {
36
+ dataType: version_interfaces_1.PropertyType.STRING,
37
+ required: true,
38
+ description: "Azure region where the workspace will be created",
39
+ },
40
+ retentionInDays: {
41
+ dataType: version_interfaces_1.PropertyType.NUMBER,
42
+ required: false,
43
+ defaultValue: 30,
44
+ description: "Data retention in days. Values between 30 and 730 are allowed. Default is 30 days.",
45
+ validation: [
46
+ {
47
+ ruleType: version_interfaces_1.ValidationRuleType.VALUE_RANGE,
48
+ value: { min: 30, max: 730 },
49
+ message: "Retention must be between 30 and 730 days",
50
+ },
51
+ ],
52
+ },
53
+ sku: {
54
+ dataType: version_interfaces_1.PropertyType.OBJECT,
55
+ required: false,
56
+ description: "SKU configuration for the workspace. Options: Free, Standard, Premium, PerNode, PerGB2018, Standalone, CapacityReservation",
57
+ },
58
+ workspaceCapping: {
59
+ dataType: version_interfaces_1.PropertyType.OBJECT,
60
+ required: false,
61
+ description: "Daily volume cap for data ingestion in GB",
62
+ },
63
+ publicNetworkAccessForIngestion: {
64
+ dataType: version_interfaces_1.PropertyType.STRING,
65
+ required: false,
66
+ description: "Public network access for data ingestion: Enabled or Disabled",
67
+ },
68
+ publicNetworkAccessForQuery: {
69
+ dataType: version_interfaces_1.PropertyType.STRING,
70
+ required: false,
71
+ description: "Public network access for queries: Enabled or Disabled",
72
+ },
73
+ features: {
74
+ dataType: version_interfaces_1.PropertyType.OBJECT,
75
+ required: false,
76
+ description: "Workspace features like enableDataExport, immediatePurgeDataOn30Days, etc.",
77
+ },
78
+ forceCmkForQuery: {
79
+ dataType: version_interfaces_1.PropertyType.BOOLEAN,
80
+ required: false,
81
+ description: "Whether customer-managed keys are required for saved searches and alerts",
82
+ },
83
+ defaultDataCollectionRuleResourceId: {
84
+ dataType: version_interfaces_1.PropertyType.STRING,
85
+ required: false,
86
+ description: "Resource ID of the default Data Collection Rule",
87
+ addedInVersion: "2023-09-01",
88
+ },
89
+ identity: {
90
+ dataType: version_interfaces_1.PropertyType.OBJECT,
91
+ required: false,
92
+ description: "Managed identity configuration for the workspace",
93
+ },
94
+ };
95
+ // =============================================================================
96
+ // VERSION-SPECIFIC SCHEMAS
97
+ // =============================================================================
98
+ /**
99
+ * API Schema for Log Analytics Workspace version 2023-09-01
100
+ *
101
+ * This is the latest stable version for Log Analytics Workspace.
102
+ * It includes support for:
103
+ * - Data retention configuration
104
+ * - SKU management (Free, PerGB2018, CapacityReservation, etc.)
105
+ * - Daily volume cap (workspace capping)
106
+ * - Public network access controls
107
+ * - Workspace features (enableDataExport, immediatePurgeDataOn30Days, etc.)
108
+ * - Default Data Collection Rule
109
+ * - Managed identity
110
+ */
111
+ exports.LOG_ANALYTICS_WORKSPACE_SCHEMA_2023_09_01 = {
112
+ resourceType: "Microsoft.OperationalInsights/workspaces",
113
+ version: "2023-09-01",
114
+ properties: {
115
+ ...COMMON_LOG_ANALYTICS_WORKSPACE_PROPERTIES,
116
+ },
117
+ required: ["name", "location"],
118
+ optional: [
119
+ "retentionInDays",
120
+ "sku",
121
+ "workspaceCapping",
122
+ "publicNetworkAccessForIngestion",
123
+ "publicNetworkAccessForQuery",
124
+ "features",
125
+ "forceCmkForQuery",
126
+ "defaultDataCollectionRuleResourceId",
127
+ "identity",
128
+ ],
129
+ deprecated: [],
130
+ transformationRules: {},
131
+ validationRules: [
132
+ {
133
+ property: "name",
134
+ rules: [
135
+ {
136
+ ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
137
+ message: "Name is required for Log Analytics Workspace",
138
+ },
139
+ ],
140
+ },
141
+ ],
142
+ };
143
+ /**
144
+ * API Schema for Log Analytics Workspace version 2022-10-01
145
+ *
146
+ * This is a stable version for backward compatibility.
147
+ * It includes support for:
148
+ * - Data retention configuration
149
+ * - SKU management
150
+ * - Daily volume cap
151
+ * - Public network access controls
152
+ * - Workspace features
153
+ */
154
+ exports.LOG_ANALYTICS_WORKSPACE_SCHEMA_2022_10_01 = {
155
+ resourceType: "Microsoft.OperationalInsights/workspaces",
156
+ version: "2022-10-01",
157
+ properties: {
158
+ name: COMMON_LOG_ANALYTICS_WORKSPACE_PROPERTIES.name,
159
+ location: COMMON_LOG_ANALYTICS_WORKSPACE_PROPERTIES.location,
160
+ retentionInDays: COMMON_LOG_ANALYTICS_WORKSPACE_PROPERTIES.retentionInDays,
161
+ sku: COMMON_LOG_ANALYTICS_WORKSPACE_PROPERTIES.sku,
162
+ workspaceCapping: COMMON_LOG_ANALYTICS_WORKSPACE_PROPERTIES.workspaceCapping,
163
+ publicNetworkAccessForIngestion: COMMON_LOG_ANALYTICS_WORKSPACE_PROPERTIES.publicNetworkAccessForIngestion,
164
+ publicNetworkAccessForQuery: COMMON_LOG_ANALYTICS_WORKSPACE_PROPERTIES.publicNetworkAccessForQuery,
165
+ features: COMMON_LOG_ANALYTICS_WORKSPACE_PROPERTIES.features,
166
+ forceCmkForQuery: COMMON_LOG_ANALYTICS_WORKSPACE_PROPERTIES.forceCmkForQuery,
167
+ identity: COMMON_LOG_ANALYTICS_WORKSPACE_PROPERTIES.identity,
168
+ // Note: defaultDataCollectionRuleResourceId is not available in this version
169
+ },
170
+ required: ["name", "location"],
171
+ optional: [
172
+ "retentionInDays",
173
+ "sku",
174
+ "workspaceCapping",
175
+ "publicNetworkAccessForIngestion",
176
+ "publicNetworkAccessForQuery",
177
+ "features",
178
+ "forceCmkForQuery",
179
+ "identity",
180
+ ],
181
+ deprecated: [],
182
+ transformationRules: {},
183
+ validationRules: [
184
+ {
185
+ property: "name",
186
+ rules: [
187
+ {
188
+ ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
189
+ message: "Name is required for Log Analytics Workspace",
190
+ },
191
+ ],
192
+ },
193
+ ],
194
+ };
195
+ // =============================================================================
196
+ // VERSION CONFIGURATIONS
197
+ // =============================================================================
198
+ /**
199
+ * Version configuration for Log Analytics Workspace 2023-09-01
200
+ */
201
+ exports.LOG_ANALYTICS_WORKSPACE_VERSION_2023_09_01 = {
202
+ version: "2023-09-01",
203
+ schema: exports.LOG_ANALYTICS_WORKSPACE_SCHEMA_2023_09_01,
204
+ supportLevel: version_interfaces_1.VersionSupportLevel.ACTIVE,
205
+ releaseDate: "2023-09-01",
206
+ deprecationDate: undefined,
207
+ sunsetDate: undefined,
208
+ breakingChanges: [],
209
+ migrationGuide: "/docs/log-analytics-workspace/migration-2023-09-01",
210
+ changeLog: [
211
+ {
212
+ changeType: "added",
213
+ description: "Added support for default Data Collection Rule resource ID",
214
+ breaking: false,
215
+ },
216
+ {
217
+ changeType: "updated",
218
+ description: "Latest stable API version with enhanced feature support",
219
+ breaking: false,
220
+ },
221
+ ],
222
+ };
223
+ /**
224
+ * Version configuration for Log Analytics Workspace 2022-10-01
225
+ */
226
+ exports.LOG_ANALYTICS_WORKSPACE_VERSION_2022_10_01 = {
227
+ version: "2022-10-01",
228
+ schema: exports.LOG_ANALYTICS_WORKSPACE_SCHEMA_2022_10_01,
229
+ supportLevel: version_interfaces_1.VersionSupportLevel.ACTIVE,
230
+ releaseDate: "2022-10-01",
231
+ deprecationDate: undefined,
232
+ sunsetDate: undefined,
233
+ breakingChanges: [],
234
+ migrationGuide: "/docs/log-analytics-workspace/migration-2022-10-01",
235
+ changeLog: [
236
+ {
237
+ changeType: "updated",
238
+ description: "Stable API version for backward compatibility",
239
+ breaking: false,
240
+ },
241
+ ],
242
+ };
243
+ /**
244
+ * All supported Log Analytics Workspace versions for registration
245
+ * Ordered with latest stable version first
246
+ */
247
+ exports.ALL_LOG_ANALYTICS_WORKSPACE_VERSIONS = [
248
+ exports.LOG_ANALYTICS_WORKSPACE_VERSION_2023_09_01,
249
+ exports.LOG_ANALYTICS_WORKSPACE_VERSION_2022_10_01,
250
+ ];
251
+ /**
252
+ * Resource type constant
253
+ */
254
+ exports.LOG_ANALYTICS_WORKSPACE_TYPE = "Microsoft.OperationalInsights/workspaces";
255
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLWFuYWx5dGljcy13b3Jrc3BhY2Utc2NoZW1hcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9henVyZS1sb2dhbmFseXRpY3N3b3Jrc3BhY2UvbGliL2xvZy1hbmFseXRpY3Mtd29ya3NwYWNlLXNjaGVtYXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBRUgsMkdBTzRFO0FBRTVFLGdGQUFnRjtBQUNoRiw4QkFBOEI7QUFDOUIsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ0gsTUFBTSx5Q0FBeUMsR0FFM0M7SUFDRixJQUFJLEVBQUU7UUFDSixRQUFRLEVBQUUsaUNBQVksQ0FBQyxNQUFNO1FBQzdCLFFBQVEsRUFBRSxJQUFJO1FBQ2QsV0FBVyxFQUFFLHFDQUFxQztRQUNsRCxVQUFVLEVBQUU7WUFDVjtnQkFDRSxRQUFRLEVBQUUsdUNBQWtCLENBQUMsUUFBUTtnQkFDckMsT0FBTyxFQUFFLGtCQUFrQjthQUM1QjtZQUNEO2dCQUNFLFFBQVEsRUFBRSx1Q0FBa0IsQ0FBQyxhQUFhO2dCQUMxQyxLQUFLLEVBQUUsNENBQTRDO2dCQUNuRCxPQUFPLEVBQ0wsK0hBQStIO2FBQ2xJO1NBQ0Y7S0FDRjtJQUNELFFBQVEsRUFBRTtRQUNSLFFBQVEsRUFBRSxpQ0FBWSxDQUFDLE1BQU07UUFDN0IsUUFBUSxFQUFFLElBQUk7UUFDZCxXQUFXLEVBQUUsa0RBQWtEO0tBQ2hFO0lBQ0QsZUFBZSxFQUFFO1FBQ2YsUUFBUSxFQUFFLGlDQUFZLENBQUMsTUFBTTtRQUM3QixRQUFRLEVBQUUsS0FBSztRQUNmLFlBQVksRUFBRSxFQUFFO1FBQ2hCLFdBQVcsRUFDVCxvRkFBb0Y7UUFDdEYsVUFBVSxFQUFFO1lBQ1Y7Z0JBQ0UsUUFBUSxFQUFFLHVDQUFrQixDQUFDLFdBQVc7Z0JBQ3hDLEtBQUssRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRTtnQkFDNUIsT0FB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akQsWUFBWSxFQUFFLHdDQUFtQixDQUFDLE1BQU07SUFDeEMsV0FBVyxFQUFFLFlBQVk7SUFDekIsZUFBZSxFQUFFLFNBQVM7SUFDMUIsVUFBVSxFQUFFLFNBQVM7SUFDckIsZUFBZSxFQUFFLEVBQUU7SUFDbkIsY0FBYyxFQUFFLG9EQUFvRDtJQUNwRSxTQUFTLEVBQUU7UUFDVDtZQUNFLFVBQVUsRUFBRSxTQUFTO1lBQ3JCLFdBQVcsRUFBRSwrQ0FBK0M7WUFDNUQsUUFBUSxFQUFFLEtBQUs7U0FDaEI7S0FDRjtDQUNGLENBQUM7QUFFRjs7O0dBR0c7QUFDVSxRQUFBLG9DQUFvQyxHQUFvQjtJQUNuRSxrREFBMEM7SUFDMUMsa0RBQTBDO0NBQzNDLENBQUM7QUFFRjs7R0FFRztBQUNVLFFBQUEsNEJBQTRCLEdBQ3ZDLDBDQUEwQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBUEkgc2NoZW1hcyBmb3IgQXp1cmUgTG9nIEFuYWx5dGljcyBXb3Jrc3BhY2UgYWNyb3NzIGFsbCBzdXBwb3J0ZWQgdmVyc2lvbnNcbiAqXG4gKiBUaGlzIGZpbGUgZGVmaW5lcyB0aGUgY29tcGxldGUgQVBJIHNjaGVtYXMgZm9yIE1pY3Jvc29mdC5PcGVyYXRpb25hbEluc2lnaHRzL3dvcmtzcGFjZXNcbiAqIGFjcm9zcyBhbGwgc3VwcG9ydGVkIEFQSSB2ZXJzaW9ucy4gVGhlIHNjaGVtYXMgYXJlIHVzZWQgYnkgdGhlIEF6YXBpUmVzb3VyY2VcbiAqIGZyYW1ld29yayBmb3IgdmFsaWRhdGlvbiwgdHJhbnNmb3JtYXRpb24sIGFuZCB2ZXJzaW9uIG1hbmFnZW1lbnQuXG4gKi9cblxuaW1wb3J0IHtcbiAgQXBpU2NoZW1hLFxuICBQcm9wZXJ0eURlZmluaXRpb24sXG4gIFByb3BlcnR5VHlwZSxcbiAgVmFsaWRhdGlvblJ1bGVUeXBlLFxuICBWZXJzaW9uQ29uZmlnLFxuICBWZXJzaW9uU3VwcG9ydExldmVsLFxufSBmcm9tIFwiLi4vLi4vY29yZS1henVyZS9saWIvdmVyc2lvbi1tYW5hZ2VyL2ludGVyZmFjZXMvdmVyc2lvbi1pbnRlcmZhY2VzXCI7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDT01NT04gUFJPUEVSVFkgREVGSU5JVElPTlNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogQ29tbW9uIHByb3BlcnR5IGRlZmluaXRpb25zIHNoYXJlZCBhY3Jvc3MgYWxsIExvZyBBbmFseXRpY3MgV29ya3NwYWNlIHZlcnNpb25zXG4gKi9cbmNvbnN0IENPTU1PTl9MT0dfQU5BTFlUSUNTX1dPUktTUEFDRV9QUk9QRVJUSUVTOiB7XG4gIFtrZXk6IHN0cmluZ106IFByb3BlcnR5RGVmaW5pdGlvbjtcbn0gPSB7XG4gIG5hbWU6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICBkZXNjcmlwdGlvbjogXCJOYW1lIG9mIHRoZSBMb2cgQW5hbHl0aWNzIHdvcmtzcGFjZVwiLFxuICAgIHZhbGlkYXRpb246IFtcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5SRVFVSVJFRCxcbiAgICAgICAgbWVzc2FnZTogXCJOYW1lIGlzIHJlcXVpcmVkXCIsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlBBVFRFUk5fTUFUQ0gsXG4gICAgICAgIHZhbHVlOiBcIl5bYS16QS1aMC05XVthLXpBLVowLTktXXsyLDYxfVthLXpBLVowLTldJFwiLFxuICAgICAgICBtZXNzYWdlOlxuICAgICAgICAgIFwiV29ya3NwYWNlIG5hbWUgbXVzdCBiZSA0LTYzIGNoYXJhY3RlcnMsIHN0YXJ0IGFuZCBlbmQgd2l0aCBhIGxldHRlciBvciBudW1iZXIsIGFuZCBjb250YWluIG9ubHkgbGV0dGVycywgbnVtYmVycywgYW5kIGh5cGhlbnNcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgbG9jYXRpb246IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICBkZXNjcmlwdGlvbjogXCJBenVyZSByZWdpb24gd2hlcmUgdGhlIHdvcmtzcGFjZSB3aWxsIGJlIGNyZWF0ZWRcIixcbiAgfSxcbiAgcmV0ZW50aW9uSW5EYXlzOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5OVU1CRVIsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlZmF1bHRWYWx1ZTogMzAsXG4gICAgZGVzY3JpcHRpb246XG4gICAgICBcIkRhdGEgcmV0ZW50aW9uIGluIGRheXMuIFZhbHVlcyBiZXR3ZWVuIDMwIGFuZCA3MzAgYXJlIGFsbG93ZWQuIERlZmF1bHQgaXMgMzAgZGF5cy5cIixcbiAgICB2YWxpZGF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuVkFMVUVfUkFOR0UsXG4gICAgICAgIHZhbHVlOiB7IG1pbjogMzAsIG1heDogNzMwIH0sXG4gICAgICAgIG1lc3NhZ2U6IFwiUmV0ZW50aW9uIG11c3QgYmUgYmV0d2VlbiAzMCBhbmQgNzMwIGRheXNcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgc2t1OiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5PQkpFQ1QsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgXCJTS1UgY29uZmlndXJhdGlvbiBmb3IgdGhlIHdvcmtzcGFjZS4gT3B0aW9uczogRnJlZSwgU3RhbmRhcmQsIFByZW1pdW0sIFBlck5vZGUsIFBlckdCMjAxOCwgU3RhbmRhbG9uZSwgQ2FwYWNpdHlSZXNlcnZhdGlvblwiLFxuICB9LFxuICB3b3Jrc3BhY2VDYXBwaW5nOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5PQkpFQ1QsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uOiBcIkRhaWx5IHZvbHVtZSBjYXAgZm9yIGRhdGEgaW5nZXN0aW9uIGluIEdCXCIsXG4gIH0sXG4gIHB1YmxpY05ldHdvcmtBY2Nlc3NGb3JJbmdlc3Rpb246IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246XG4gICAgICBcIlB1YmxpYyBuZXR3b3JrIGFjY2VzcyBmb3IgZGF0YSBpbmdlc3Rpb246IEVuYWJsZWQgb3IgRGlzYWJsZWRcIixcbiAgfSxcbiAgcHVibGljTmV0d29ya0FjY2Vzc0ZvclF1ZXJ5OiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5TVFJJTkcsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uOiBcIlB1YmxpYyBuZXR3b3JrIGFjY2VzcyBmb3IgcXVlcmllczogRW5hYmxlZCBvciBEaXNhYmxlZFwiLFxuICB9LFxuICBmZWF0dXJlczoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuT0JKRUNULFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgIFwiV29ya3NwYWNlIGZlYXR1cmVzIGxpa2UgZW5hYmxlRGF0YUV4cG9ydCwgaW1tZWRpYXRlUHVyZ2VEYXRhT24zMERheXMsIGV0Yy5cIixcbiAgfSxcbiAgZm9yY2VDbWtGb3JRdWVyeToge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuQk9PTEVBTixcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246XG4gICAgICBcIldoZXRoZXIgY3VzdG9tZXItbWFuYWdlZCBrZXlzIGFyZSByZXF1aXJlZCBmb3Igc2F2ZWQgc2VhcmNoZXMgYW5kIGFsZXJ0c1wiLFxuICB9LFxuICBkZWZhdWx0RGF0YUNvbGxlY3Rpb25SdWxlUmVzb3VyY2VJZDoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuU1RSSU5HLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZXNjcmlwdGlvbjogXCJSZXNvdXJjZSBJRCBvZiB0aGUgZGVmYXVsdCBEYXRhIENvbGxlY3Rpb24gUnVsZVwiLFxuICAgIGFkZGVkSW5WZXJzaW9uOiBcIjIwMjMtMDktMDFcIixcbiAgfSxcbiAgaWRlbnRpdHk6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLk9CSkVDVCxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246IFwiTWFuYWdlZCBpZGVudGl0eSBjb25maWd1cmF0aW9uIGZvciB0aGUgd29ya3NwYWNlXCIsXG4gIH0sXG59O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVkVSU0lPTi1TUEVDSUZJQyBTQ0hFTUFTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIEFQSSBTY2hlbWEgZm9yIExvZyBBbmFseXRpY3MgV29ya3NwYWNlIHZlcnNpb24gMjAyMy0wOS0wMVxuICpcbiAqIFRoaXMgaXMgdGhlIGxhdGVzdCBzdGFibGUgdmVyc2lvbiBmb3IgTG9nIEFuYWx5dGljcyBXb3Jrc3BhY2UuXG4gKiBJdCBpbmNsdWRlcyBzdXBwb3J0IGZvcjpcbiAqIC0gRGF0YSByZXRlbnRpb24gY29uZmlndXJhdGlvblxuICogLSBTS1UgbWFuYWdlbWVudCAoRnJlZSwgUGVyR0IyMDE4LCBDYXBhY2l0eVJlc2VydmF0aW9uLCBldGMuKVxuICogLSBEYWlseSB2b2x1bWUgY2FwICh3b3Jrc3BhY2UgY2FwcGluZylcbiAqIC0gUHVibGljIG5ldHdvcmsgYWNjZXNzIGNvbnRyb2xzXG4gKiAtIFdvcmtzcGFjZSBmZWF0dXJlcyAoZW5hYmxlRGF0YUV4cG9ydCwgaW1tZWRpYXRlUHVyZ2VEYXRhT24zMERheXMsIGV0Yy4pXG4gKiAtIERlZmF1bHQgRGF0YSBDb2xsZWN0aW9uIFJ1bGVcbiAqIC0gTWFuYWdlZCBpZGVudGl0eVxuICovXG5leHBvcnQgY29uc3QgTE9HX0FOQUxZVElDU19XT1JLU1BBQ0VfU0NIRU1BXzIwMjNfMDlfMDE6IEFwaVNjaGVtYSA9IHtcbiAgcmVzb3VyY2VUeXBlOiBcIk1pY3Jvc29mdC5PcGVyYXRpb25hbEluc2lnaHRzL3dvcmtzcGFjZXNcIixcbiAgdmVyc2lvbjogXCIyMDIzLTA5LTAxXCIsXG4gIHByb3BlcnRpZXM6IHtcbiAgICAuLi5DT01NT05fTE9HX0FOQUxZVElDU19XT1JLU1BBQ0VfUFJPUEVSVElFUyxcbiAgfSxcbiAgcmVxdWlyZWQ6IFtcIm5hbWVcIiwgXCJsb2NhdGlvblwiXSxcbiAgb3B0aW9uYWw6IFtcbiAgICBcInJldGVudGlvbkluRGF5c1wiLFxuICAgIFwic2t1XCIsXG4gICAgXCJ3b3Jrc3BhY2VDYXBwaW5nXCIsXG4gICAgXCJwdWJsaWNOZXR3b3JrQWNjZXNzRm9ySW5nZXN0aW9uXCIsXG4gICAgXCJwdWJsaWNOZXR3b3JrQWNjZXNzRm9yUXVlcnlcIixcbiAgICBcImZlYXR1cmVzXCIsXG4gICAgXCJmb3JjZUNta0ZvclF1ZXJ5XCIsXG4gICAgXCJkZWZhdWx0RGF0YUNvbGxlY3Rpb25SdWxlUmVzb3VyY2VJZFwiLFxuICAgIFwiaWRlbnRpdHlcIixcbiAgXSxcbiAgZGVwcmVjYXRlZDogW10sXG4gIHRyYW5zZm9ybWF0aW9uUnVsZXM6IHt9LFxuICB2YWxpZGF0aW9uUnVsZXM6IFtcbiAgICB7XG4gICAgICBwcm9wZXJ0eTogXCJuYW1lXCIsXG4gICAgICBydWxlczogW1xuICAgICAgICB7XG4gICAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5SRVFVSVJFRCxcbiAgICAgICAgICBtZXNzYWdlOiBcIk5hbWUgaXMgcmVxdWlyZWQgZm9yIExvZyBBbmFseXRpY3MgV29ya3NwYWNlXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gIF0sXG59O1xuXG4vKipcbiAqIEFQSSBTY2hlbWEgZm9yIExvZyBBbmFseXRpY3MgV29ya3NwYWNlIHZlcnNpb24gMjAyMi0xMC0wMVxuICpcbiAqIFRoaXMgaXMgYSBzdGFibGUgdmVyc2lvbiBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eS5cbiAqIEl0IGluY2x1ZGVzIHN1cHBvcnQgZm9yOlxuICogLSBEYXRhIHJldGVudGlvbiBjb25maWd1cmF0aW9uXG4gKiAtIFNLVSBtYW5hZ2VtZW50XG4gKiAtIERhaWx5IHZvbHVtZSBjYXBcbiAqIC0gUHVibGljIG5ldHdvcmsgYWNjZXNzIGNvbnRyb2xzXG4gKiAtIFdvcmtzcGFjZSBmZWF0dXJlc1xuICovXG5leHBvcnQgY29uc3QgTE9HX0FOQUxZVElDU19XT1JLU1BBQ0VfU0NIRU1BXzIwMjJfMTBfMDE6IEFwaVNjaGVtYSA9IHtcbiAgcmVzb3VyY2VUeXBlOiBcIk1pY3Jvc29mdC5PcGVyYXRpb25hbEluc2lnaHRzL3dvcmtzcGFjZXNcIixcbiAgdmVyc2lvbjogXCIyMDIyLTEwLTAxXCIsXG4gIHByb3BlcnRpZXM6IHtcbiAgICBuYW1lOiBDT01NT05fTE9HX0FOQUxZVElDU19XT1JLU1BBQ0VfUFJPUEVSVElFUy5uYW1lLFxuICAgIGxvY2F0aW9uOiBDT01NT05fTE9HX0FOQUxZVElDU19XT1JLU1BBQ0VfUFJPUEVSVElFUy5sb2NhdGlvbixcbiAgICByZXRlbnRpb25JbkRheXM6IENPTU1PTl9MT0dfQU5BTFlUSUNTX1dPUktTUEFDRV9QUk9QRVJUSUVTLnJldGVudGlvbkluRGF5cyxcbiAgICBza3U6IENPTU1PTl9MT0dfQU5BTFlUSUNTX1dPUktTUEFDRV9QUk9QRVJUSUVTLnNrdSxcbiAgICB3b3Jrc3BhY2VDYXBwaW5nOlxuICAgICAgQ09NTU9OX0xPR19BTkFMWVRJQ1NfV09SS1NQQUNFX1BST1BFUlRJRVMud29ya3NwYWNlQ2FwcGluZyxcbiAgICBwdWJsaWNOZXR3b3JrQWNjZXNzRm9ySW5nZXN0aW9uOlxuICAgICAgQ09NTU9OX0xPR19BTkFMWVRJQ1NfV09SS1NQQUNFX1BST1BFUlRJRVMucHVibGljTmV0d29ya0FjY2Vzc0ZvckluZ2VzdGlvbixcbiAgICBwdWJsaWNOZXR3b3JrQWNjZXNzRm9yUXVlcnk6XG4gICAgICBDT01NT05fTE9HX0FOQUxZVElDU19XT1JLU1BBQ0VfUFJPUEVSVElFUy5wdWJsaWNOZXR3b3JrQWNjZXNzRm9yUXVlcnksXG4gICAgZmVhdHVyZXM6IENPTU1PTl9MT0dfQU5BTFlUSUNTX1dPUktTUEFDRV9QUk9QRVJUSUVTLmZlYXR1cmVzLFxuICAgIGZvcmNlQ21rRm9yUXVlcnk6XG4gICAgICBDT01NT05fTE9HX0FOQUxZVElDU19XT1JLU1BBQ0VfUFJPUEVSVElFUy5mb3JjZUNta0ZvclF1ZXJ5LFxuICAgIGlkZW50aXR5OiBDT01NT05fTE9HX0FOQUxZVElDU19XT1JLU1BBQ0VfUFJPUEVSVElFUy5pZGVudGl0eSxcbiAgICAvLyBOb3RlOiBkZWZhdWx0RGF0YUNvbGxlY3Rpb25SdWxlUmVzb3VyY2VJZCBpcyBub3QgYXZhaWxhYmxlIGluIHRoaXMgdmVyc2lvblxuICB9LFxuICByZXF1aXJlZDogW1wibmFtZVwiLCBcImxvY2F0aW9uXCJdLFxuICBvcHRpb25hbDogW1xuICAgIFwicmV0ZW50aW9uSW5EYXlzXCIsXG4gICAgXCJza3VcIixcbiAgICBcIndvcmtzcGFjZUNhcHBpbmdcIixcbiAgICBcInB1YmxpY05ldHdvcmtBY2Nlc3NGb3JJbmdlc3Rpb25cIixcbiAgICBcInB1YmxpY05ldHdvcmtBY2Nlc3NGb3JRdWVyeVwiLFxuICAgIFwiZmVhdHVyZXNcIixcbiAgICBcImZvcmNlQ21rRm9yUXVlcnlcIixcbiAgICBcImlkZW50aXR5XCIsXG4gIF0sXG4gIGRlcHJlY2F0ZWQ6IFtdLFxuICB0cmFuc2Zvcm1hdGlvblJ1bGVzOiB7fSxcbiAgdmFsaWRhdGlvblJ1bGVzOiBbXG4gICAge1xuICAgICAgcHJvcGVydHk6IFwibmFtZVwiLFxuICAgICAgcnVsZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUkVRVUlSRUQsXG4gICAgICAgICAgbWVzc2FnZTogXCJOYW1lIGlzIHJlcXVpcmVkIGZvciBMb2cgQW5hbHl0aWNzIFdvcmtzcGFjZVwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICBdLFxufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFZFUlNJT04gQ09ORklHVVJBVElPTlNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogVmVyc2lvbiBjb25maWd1cmF0aW9uIGZvciBMb2cgQW5hbHl0aWNzIFdvcmtzcGFjZSAyMDIzLTA5LTAxXG4gKi9cbmV4cG9ydCBjb25zdCBMT0dfQU5BTFlUSUNTX1dPUktTUEFDRV9WRVJTSU9OXzIwMjNfMDlfMDE6IFZlcnNpb25Db25maWcgPSB7XG4gIHZlcnNpb246IFwiMjAyMy0wOS0wMVwiLFxuICBzY2hlbWE6IExPR19BTkFMWVRJQ1NfV09SS1NQQUNFX1NDSEVNQV8yMDIzXzA5XzAxLFxuICBzdXBwb3J0TGV2ZWw6IFZlcnNpb25TdXBwb3J0TGV2ZWwuQUNUSVZFLFxuICByZWxlYXNlRGF0ZTogXCIyMDIzLTA5LTAxXCIsXG4gIGRlcHJlY2F0aW9uRGF0ZTogdW5kZWZpbmVkLFxuICBzdW5zZXREYXRlOiB1bmRlZmluZWQsXG4gIGJyZWFraW5nQ2hhbmdlczogW10sXG4gIG1pZ3JhdGlvbkd1aWRlOiBcIi9kb2NzL2xvZy1hbmFseXRpY3Mtd29ya3NwYWNlL21pZ3JhdGlvbi0yMDIzLTA5LTAxXCIsXG4gIGNoYW5nZUxvZzogW1xuICAgIHtcbiAgICAgIGNoYW5nZVR5cGU6IFwiYWRkZWRcIixcbiAgICAgIGRlc2NyaXB0aW9uOiBcIkFkZGVkIHN1cHBvcnQgZm9yIGRlZmF1bHQgRGF0YSBDb2xsZWN0aW9uIFJ1bGUgcmVzb3VyY2UgSURcIixcbiAgICAgIGJyZWFraW5nOiBmYWxzZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGNoYW5nZVR5cGU6IFwidXBkYXRlZFwiLFxuICAgICAgZGVzY3JpcHRpb246IFwiTGF0ZXN0IHN0YWJsZSBBUEkgdmVyc2lvbiB3aXRoIGVuaGFuY2VkIGZlYXR1cmUgc3VwcG9ydFwiLFxuICAgICAgYnJlYWtpbmc6IGZhbHNlLFxuICAgIH0sXG4gIF0sXG59O1xuXG4vKipcbiAqIFZlcnNpb24gY29uZmlndXJhdGlvbiBmb3IgTG9nIEFuYWx5dGljcyBXb3Jrc3BhY2UgMjAyMi0xMC0wMVxuICovXG5leHBvcnQgY29uc3QgTE9HX0FOQUxZVElDU19XT1JLU1BBQ0VfVkVSU0lPTl8yMDIyXzEwXzAxOiBWZXJzaW9uQ29uZmlnID0ge1xuICB2ZXJzaW9uOiBcIjIwMjItMTAtMDFcIixcbiAgc2NoZW1hOiBMT0dfQU5BTFlUSUNTX1dPUktTUEFDRV9TQ0hFTUFfMjAyMl8xMF8wMSxcbiAgc3VwcG9ydExldmVsOiBWZXJzaW9uU3VwcG9ydExldmVsLkFDVElWRSxcbiAgcmVsZWFzZURhdGU6IFwiMjAyMi0xMC0wMVwiLFxuICBkZXByZWNhdGlvbkRhdGU6IHVuZGVmaW5lZCxcbiAgc3Vuc2V0RGF0ZTogdW5kZWZpbmVkLFxuICBicmVha2luZ0NoYW5nZXM6IFtdLFxuICBtaWdyYXRpb25HdWlkZTogXCIvZG9jcy9sb2ctYW5hbHl0aWNzLXdvcmtzcGFjZS9taWdyYXRpb24tMjAyMi0xMC0wMVwiLFxuICBjaGFuZ2VMb2c6IFtcbiAgICB7XG4gICAgICBjaGFuZ2VUeXBlOiBcInVwZGF0ZWRcIixcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlN0YWJsZSBBUEkgdmVyc2lvbiBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eVwiLFxuICAgICAgYnJlYWtpbmc6IGZhbHNlLFxuICAgIH0sXG4gIF0sXG59O1xuXG4vKipcbiAqIEFsbCBzdXBwb3J0ZWQgTG9nIEFuYWx5dGljcyBXb3Jrc3BhY2UgdmVyc2lvbnMgZm9yIHJlZ2lzdHJhdGlvblxuICogT3JkZXJlZCB3aXRoIGxhdGVzdCBzdGFibGUgdmVyc2lvbiBmaXJzdFxuICovXG5leHBvcnQgY29uc3QgQUxMX0xPR19BTkFMWVRJQ1NfV09SS1NQQUNFX1ZFUlNJT05TOiBWZXJzaW9uQ29uZmlnW10gPSBbXG4gIExPR19BTkFMWVRJQ1NfV09SS1NQQUNFX1ZFUlNJT05fMjAyM18wOV8wMSxcbiAgTE9HX0FOQUxZVElDU19XT1JLU1BBQ0VfVkVSU0lPTl8yMDIyXzEwXzAxLFxuXTtcblxuLyoqXG4gKiBSZXNvdXJjZSB0eXBlIGNvbnN0YW50XG4gKi9cbmV4cG9ydCBjb25zdCBMT0dfQU5BTFlUSUNTX1dPUktTUEFDRV9UWVBFID1cbiAgXCJNaWNyb3NvZnQuT3BlcmF0aW9uYWxJbnNpZ2h0cy93b3Jrc3BhY2VzXCI7XG4iXX0=
@@ -0,0 +1,301 @@
1
+ /**
2
+ * Unified Azure Log Analytics Workspace implementation using AzapiResource framework
3
+ *
4
+ * This class provides a version-aware implementation for Azure Log Analytics Workspace
5
+ * that automatically handles version management, schema validation, and property
6
+ * transformation across all supported API versions.
7
+ *
8
+ * Supported API Versions:
9
+ * - 2023-09-01 (Active, Latest)
10
+ * - 2022-10-01 (Active, Backward Compatibility)
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 JSII compliance for multi-language support
17
+ * - Configurable data retention, SKU, and workspace capping
18
+ * - Public network access controls
19
+ * - Workspace features configuration
20
+ */
21
+ import * as cdktf from "cdktn";
22
+ import { Construct } from "constructs";
23
+ import { AzapiResource, AzapiResourceProps } from "../../core-azure/lib/azapi/azapi-resource";
24
+ import { ApiSchema } from "../../core-azure/lib/version-manager/interfaces/version-interfaces";
25
+ /**
26
+ * SKU configuration for Log Analytics Workspace
27
+ */
28
+ export interface LogAnalyticsWorkspaceSku {
29
+ /**
30
+ * SKU name for the Log Analytics Workspace
31
+ *
32
+ * Available options:
33
+ * - "Free" - Free tier (limited to 500MB/day, 7 day retention)
34
+ * - "Standard" - Standard tier (legacy)
35
+ * - "Premium" - Premium tier (legacy)
36
+ * - "PerNode" - Per node pricing (legacy, for OMS customers)
37
+ * - "PerGB2018" - Pay-as-you-go pricing based on data ingestion
38
+ * - "Standalone" - Standalone tier (legacy)
39
+ * - "CapacityReservation" - Commitment tier with reserved capacity
40
+ *
41
+ * @defaultValue "PerGB2018"
42
+ */
43
+ readonly name: "Free" | "Standard" | "Premium" | "PerNode" | "PerGB2018" | "Standalone" | "CapacityReservation";
44
+ /**
45
+ * Capacity reservation level in GB per day
46
+ * Only applicable when SKU name is "CapacityReservation"
47
+ * Valid values: 100, 200, 300, 400, 500, 1000, 2000, 5000
48
+ */
49
+ readonly capacityReservationLevel?: number;
50
+ }
51
+ /**
52
+ * Workspace capping configuration for daily data ingestion limits
53
+ */
54
+ export interface LogAnalyticsWorkspaceCapping {
55
+ /**
56
+ * Daily volume cap in GB
57
+ * A value of -1 means no cap
58
+ */
59
+ readonly dailyQuotaGb: number;
60
+ }
61
+ /**
62
+ * Workspace features configuration
63
+ */
64
+ export interface LogAnalyticsWorkspaceFeatures {
65
+ /**
66
+ * Flag indicating whether data export is enabled
67
+ */
68
+ readonly enableDataExport?: boolean;
69
+ /**
70
+ * Flag indicating whether data should be immediately purged after 30 days
71
+ * instead of the configured retention period
72
+ */
73
+ readonly immediatePurgeDataOn30Days?: boolean;
74
+ /**
75
+ * Flag indicating whether log access using AADIAM is disabled
76
+ */
77
+ readonly disableLocalAuth?: boolean;
78
+ /**
79
+ * Flag indicating whether cluster resource permissions are enabled
80
+ */
81
+ readonly enableLogAccessUsingOnlyResourcePermissions?: boolean;
82
+ }
83
+ /**
84
+ * Managed identity configuration for the workspace
85
+ */
86
+ export interface LogAnalyticsWorkspaceIdentity {
87
+ /**
88
+ * Type of managed identity
89
+ */
90
+ readonly type: "SystemAssigned" | "UserAssigned" | "SystemAssigned,UserAssigned" | "None";
91
+ /**
92
+ * User-assigned identity resource IDs
93
+ * Required when type includes UserAssigned
94
+ */
95
+ readonly userAssignedIdentities?: {
96
+ [key: string]: any;
97
+ };
98
+ }
99
+ /**
100
+ * Properties for the unified Azure Log Analytics Workspace
101
+ *
102
+ * Extends AzapiResourceProps with Log Analytics Workspace specific properties
103
+ */
104
+ export interface LogAnalyticsWorkspaceProps extends AzapiResourceProps {
105
+ /**
106
+ * Resource Group ID where the workspace will be created
107
+ * The workspace will be created as a child of this resource group
108
+ */
109
+ readonly resourceGroupId: string;
110
+ /**
111
+ * Data retention period in days
112
+ *
113
+ * Values between 30 and 730 are supported for pay-as-you-go pricing.
114
+ * Free tier is limited to 7 days.
115
+ *
116
+ * @defaultValue 30
117
+ */
118
+ readonly retentionInDays?: number;
119
+ /**
120
+ * SKU configuration for the workspace
121
+ *
122
+ * Determines pricing tier and capabilities of the workspace.
123
+ *
124
+ * @defaultValue { name: "PerGB2018" }
125
+ */
126
+ readonly sku?: LogAnalyticsWorkspaceSku;
127
+ /**
128
+ * Daily volume cap for data ingestion
129
+ *
130
+ * When the daily cap is reached, data ingestion stops until the next day.
131
+ * A value of dailyQuotaGb: -1 means no cap.
132
+ */
133
+ readonly workspaceCapping?: LogAnalyticsWorkspaceCapping;
134
+ /**
135
+ * Public network access for data ingestion
136
+ *
137
+ * Controls whether data can be ingested over the public internet.
138
+ *
139
+ * @defaultValue "Enabled"
140
+ */
141
+ readonly publicNetworkAccessForIngestion?: "Enabled" | "Disabled";
142
+ /**
143
+ * Public network access for querying data
144
+ *
145
+ * Controls whether queries can be executed over the public internet.
146
+ *
147
+ * @defaultValue "Enabled"
148
+ */
149
+ readonly publicNetworkAccessForQuery?: "Enabled" | "Disabled";
150
+ /**
151
+ * Workspace features configuration
152
+ *
153
+ * Enables or disables specific workspace features like data export,
154
+ * immediate purge, and local authentication.
155
+ */
156
+ readonly features?: LogAnalyticsWorkspaceFeatures;
157
+ /**
158
+ * Whether customer-managed keys are required for saved searches and alerts
159
+ *
160
+ * When enabled, all saved searches and alerts must use customer-managed keys.
161
+ */
162
+ readonly forceCmkForQuery?: boolean;
163
+ /**
164
+ * Resource ID of the default Data Collection Rule
165
+ *
166
+ * Associates a default DCR with the workspace for data collection.
167
+ * Only available in API version 2023-09-01 and later.
168
+ */
169
+ readonly defaultDataCollectionRuleResourceId?: string;
170
+ /**
171
+ * Managed identity configuration for the workspace
172
+ *
173
+ * Enables managed identity authentication for the workspace.
174
+ */
175
+ readonly identity?: LogAnalyticsWorkspaceIdentity;
176
+ }
177
+ /**
178
+ * Properties for the Log Analytics Workspace request body
179
+ */
180
+ export interface LogAnalyticsWorkspaceBodyProperties {
181
+ readonly retentionInDays?: number;
182
+ readonly sku?: LogAnalyticsWorkspaceSku;
183
+ readonly workspaceCapping?: LogAnalyticsWorkspaceCapping;
184
+ readonly publicNetworkAccessForIngestion?: string;
185
+ readonly publicNetworkAccessForQuery?: string;
186
+ readonly features?: LogAnalyticsWorkspaceFeatures;
187
+ readonly forceCmkForQuery?: boolean;
188
+ readonly defaultDataCollectionRuleResourceId?: string;
189
+ }
190
+ /**
191
+ * The resource body interface for Azure Log Analytics Workspace API calls
192
+ */
193
+ export interface LogAnalyticsWorkspaceBody {
194
+ readonly properties: LogAnalyticsWorkspaceBodyProperties;
195
+ readonly identity?: LogAnalyticsWorkspaceIdentity;
196
+ }
197
+ /**
198
+ * Unified Azure Log Analytics Workspace implementation
199
+ *
200
+ * This class provides a single, version-aware implementation that automatically handles version
201
+ * resolution, schema validation, and property transformation while maintaining full JSII compliance.
202
+ *
203
+ * Log Analytics Workspace is the central destination for log data from Azure resources,
204
+ * applications, and on-premises infrastructure. It enables querying, analysis, and
205
+ * visualization of log data using Kusto Query Language (KQL).
206
+ *
207
+ * @example
208
+ * // Basic Log Analytics Workspace with default settings:
209
+ * const workspace = new LogAnalyticsWorkspace(this, "my-workspace", {
210
+ * name: "my-log-analytics",
211
+ * location: "eastus",
212
+ * resourceGroupId: resourceGroup.id,
213
+ * });
214
+ *
215
+ * @example
216
+ * // Log Analytics Workspace with custom retention and SKU:
217
+ * const workspace = new LogAnalyticsWorkspace(this, "production-workspace", {
218
+ * name: "production-logs",
219
+ * location: "eastus",
220
+ * resourceGroupId: resourceGroup.id,
221
+ * retentionInDays: 90,
222
+ * sku: {
223
+ * name: "PerGB2018"
224
+ * },
225
+ * publicNetworkAccessForIngestion: "Enabled",
226
+ * publicNetworkAccessForQuery: "Enabled",
227
+ * tags: {
228
+ * environment: "production"
229
+ * }
230
+ * });
231
+ *
232
+ * @example
233
+ * // Log Analytics Workspace with capacity reservation:
234
+ * const workspace = new LogAnalyticsWorkspace(this, "high-volume-workspace", {
235
+ * name: "high-volume-logs",
236
+ * location: "eastus",
237
+ * resourceGroupId: resourceGroup.id,
238
+ * retentionInDays: 365,
239
+ * sku: {
240
+ * name: "CapacityReservation",
241
+ * capacityReservationLevel: 500
242
+ * },
243
+ * workspaceCapping: {
244
+ * dailyQuotaGb: 100
245
+ * }
246
+ * });
247
+ *
248
+ * @stability stable
249
+ */
250
+ export declare class LogAnalyticsWorkspace extends AzapiResource {
251
+ /**
252
+ * The input properties for this Log Analytics Workspace instance
253
+ */
254
+ readonly props: LogAnalyticsWorkspaceProps;
255
+ readonly idOutput: cdktf.TerraformOutput;
256
+ readonly nameOutput: cdktf.TerraformOutput;
257
+ readonly workspaceIdOutput: cdktf.TerraformOutput;
258
+ readonly customerIdOutput: cdktf.TerraformOutput;
259
+ /**
260
+ * Creates a new Azure Log Analytics Workspace using the AzapiResource framework
261
+ *
262
+ * The constructor automatically handles version resolution, schema registration,
263
+ * validation, and resource creation.
264
+ *
265
+ * @param scope - The scope in which to define this construct
266
+ * @param id - The unique identifier for this instance
267
+ * @param props - Configuration properties for the Log Analytics Workspace
268
+ */
269
+ constructor(scope: Construct, id: string, props: LogAnalyticsWorkspaceProps);
270
+ /**
271
+ * Gets the default API version to use when no explicit version is specified
272
+ * Returns the latest stable version as the default
273
+ */
274
+ protected defaultVersion(): string;
275
+ /**
276
+ * Gets the Azure resource type for Log Analytics Workspace
277
+ */
278
+ protected resourceType(): string;
279
+ /**
280
+ * Gets the API schema for the resolved version
281
+ * Uses the framework's schema resolution to get the appropriate schema
282
+ */
283
+ protected apiSchema(): ApiSchema;
284
+ /**
285
+ * Indicates that this resource type requires a location
286
+ */
287
+ protected requiresLocation(): boolean;
288
+ /**
289
+ * Creates the resource body for the Azure API call
290
+ * Transforms the input properties into the JSON format expected by Azure REST API
291
+ */
292
+ protected createResourceBody(props: any): any;
293
+ /**
294
+ * Resolves the parent resource ID for Log Analytics Workspace
295
+ * Log Analytics Workspace is a top-level resource within a resource group
296
+ *
297
+ * @param props - The resource properties
298
+ * @returns The parent resource ID (the resource group)
299
+ */
300
+ protected resolveParentId(props: any): string;
301
+ }