@microsoft/terraform-cdk-constructs 0.0.3-pre.7 → 1.0.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 (970) hide show
  1. package/.devcontainer/devcontainer.json +2 -2
  2. package/.jsii +22878 -10724
  3. package/API.md +25087 -9636
  4. package/LICENSE +16 -18
  5. package/README.md +147 -72
  6. package/cdktf.json +1 -1
  7. package/docs/ARCHITECTURE.md +836 -0
  8. package/docs/azapi-testing-architecture.md +482 -0
  9. package/docs/testing.md +39 -137
  10. package/docs/versioning-and-migrations-user-guide.md +409 -0
  11. package/go.mod +12 -12
  12. package/go.sum +27 -23
  13. package/lib/azure-resourcegroup/index.d.ts +37 -0
  14. package/lib/azure-resourcegroup/index.js +39 -1
  15. package/lib/azure-resourcegroup/lib/index.d.ts +44 -0
  16. package/lib/azure-resourcegroup/lib/index.js +43 -1
  17. package/lib/azure-resourcegroup/lib/resource-group-schemas.d.ts +40 -0
  18. package/lib/azure-resourcegroup/lib/resource-group-schemas.js +243 -0
  19. package/lib/azure-resourcegroup/lib/resource-group.d.ts +170 -46
  20. package/lib/azure-resourcegroup/lib/resource-group.js +222 -56
  21. package/lib/azure-resourcegroup/test/resource-group.integ.d.ts +9 -0
  22. package/lib/azure-resourcegroup/test/resource-group.integ.js +60 -0
  23. package/lib/azure-resourcegroup/test/resource-group.spec.d.ts +9 -0
  24. package/lib/azure-resourcegroup/test/resource-group.spec.js +554 -0
  25. package/lib/azure-storageaccount/index.d.ts +19 -0
  26. package/lib/azure-storageaccount/index.js +20 -1
  27. package/lib/azure-storageaccount/lib/index.d.ts +8 -5
  28. package/lib/azure-storageaccount/lib/index.js +9 -6
  29. package/lib/azure-storageaccount/lib/storage-account-schemas.d.ts +40 -0
  30. package/lib/azure-storageaccount/lib/storage-account-schemas.js +378 -0
  31. package/lib/azure-storageaccount/lib/storage-account.d.ts +311 -0
  32. package/lib/azure-storageaccount/lib/storage-account.js +229 -0
  33. package/lib/azure-storageaccount/test/storage-account.integ.d.ts +9 -0
  34. package/lib/azure-storageaccount/test/storage-account.integ.js +72 -0
  35. package/lib/azure-storageaccount/test/storage-account.spec.d.ts +4 -0
  36. package/lib/azure-storageaccount/test/storage-account.spec.js +315 -0
  37. package/lib/core-azure/lib/azapi/azapi-exports.d.ts +16 -0
  38. package/lib/core-azure/lib/azapi/azapi-exports.js +38 -0
  39. package/lib/core-azure/lib/azapi/azapi-resource.d.ts +413 -0
  40. package/lib/core-azure/lib/azapi/azapi-resource.js +468 -0
  41. package/lib/core-azure/lib/azapi/azapi-resource.spec.d.ts +7 -0
  42. package/lib/core-azure/lib/azapi/azapi-resource.spec.js +545 -0
  43. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-client-config/index.d.ts +62 -0
  44. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-client-config/index.js +161 -0
  45. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource/index.d.ts +327 -0
  46. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource/index.js +521 -0
  47. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-action/index.d.ts +331 -0
  48. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-action/index.js +436 -0
  49. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-id/index.d.ts +116 -0
  50. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-id/index.js +213 -0
  51. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-list/index.d.ts +272 -0
  52. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-list/index.js +368 -0
  53. package/lib/core-azure/lib/azapi/providers-azapi/data-plane-resource/index.d.ts +505 -0
  54. package/lib/core-azure/lib/azapi/providers-azapi/data-plane-resource/index.js +620 -0
  55. package/lib/core-azure/lib/azapi/providers-azapi/index.d.ts +10 -0
  56. package/lib/core-azure/lib/azapi/providers-azapi/index.js +15 -0
  57. package/lib/core-azure/lib/azapi/providers-azapi/provider/index.d.ts +435 -0
  58. package/lib/core-azure/lib/azapi/providers-azapi/provider/index.js +584 -0
  59. package/lib/core-azure/lib/azapi/providers-azapi/resource/index.d.ts +675 -0
  60. package/lib/core-azure/lib/azapi/providers-azapi/resource/index.js +856 -0
  61. package/lib/core-azure/lib/azapi/providers-azapi/resource-action/index.d.ts +387 -0
  62. package/lib/core-azure/lib/azapi/providers-azapi/resource-action/index.js +531 -0
  63. package/lib/core-azure/lib/azapi/providers-azapi/update-resource/index.d.ts +437 -0
  64. package/lib/core-azure/lib/azapi/providers-azapi/update-resource/index.js +589 -0
  65. package/lib/core-azure/lib/azapi/schema-mapper/schema-mapper.d.ts +215 -0
  66. package/lib/core-azure/lib/azapi/schema-mapper/schema-mapper.js +565 -0
  67. package/lib/core-azure/lib/azapi/schema-mapper/schema-mapper.spec.d.ts +7 -0
  68. package/lib/core-azure/lib/azapi/schema-mapper/schema-mapper.spec.js +630 -0
  69. package/lib/core-azure/lib/index.d.ts +18 -3
  70. package/lib/core-azure/lib/index.js +24 -4
  71. package/lib/core-azure/lib/version-manager/api-version-manager.d.ts +253 -0
  72. package/lib/core-azure/lib/version-manager/api-version-manager.js +509 -0
  73. package/lib/core-azure/lib/version-manager/api-version-manager.spec.d.ts +7 -0
  74. package/lib/core-azure/lib/version-manager/api-version-manager.spec.js +510 -0
  75. package/lib/core-azure/lib/version-manager/interfaces/version-interfaces.d.ts +669 -0
  76. package/lib/core-azure/lib/version-manager/interfaces/version-interfaces.js +202 -0
  77. package/lib/core-azure/lib/version-manager/version-manager.d.ts +9 -0
  78. package/lib/core-azure/lib/version-manager/version-manager.js +23 -0
  79. package/lib/index.d.ts +20 -16
  80. package/lib/index.js +41 -18
  81. package/lib/testing/index.d.ts +33 -0
  82. package/lib/testing/index.js +238 -2
  83. package/lib/util/azureTenantIdHelpers.js +3 -4
  84. package/lib/util/randomName.js +2 -3
  85. package/package.json +53 -40
  86. package/cdktf.out/manifest.json +0 -13
  87. package/cdktf.out/stacks/testAzureActionGroup/cdk.tf.json +0 -111
  88. package/cdktf.out/stacks/testAzureApplicationGateway/cdk.tf.json +0 -588
  89. package/cdktf.out/stacks/testAzureApplicationInsights/cdk.tf.json +0 -245
  90. package/cdktf.out/stacks/testAzureContainerRegistry/cdk.tf.json +0 -179
  91. package/cdktf.out/stacks/testAzureEventhub/cdk.tf.json +0 -236
  92. package/cdktf.out/stacks/testAzureKeyVault/cdk.tf.json +0 -436
  93. package/cdktf.out/stacks/testAzureKubernetesCluster/cdk.tf.json +0 -152
  94. package/cdktf.out/stacks/testAzureKusto/cdk.tf.json +0 -209
  95. package/cdktf.out/stacks/testAzureLinuxFunctionApp/cdk.tf.json +0 -439
  96. package/cdktf.out/stacks/testAzureLinuxVirtualMachineExample/cdk.tf.json +0 -283
  97. package/cdktf.out/stacks/testAzureLinuxVirtualMachineScaleSetExample/cdk.tf.json +0 -261
  98. package/cdktf.out/stacks/testAzureLogAnalytics/cdk.tf.json +0 -309
  99. package/cdktf.out/stacks/testAzureMetricAlert/cdk.tf.json +0 -161
  100. package/cdktf.out/stacks/testAzureNetworkSecurityGroup/cdk.tf.json +0 -271
  101. package/cdktf.out/stacks/testAzureQueryRuleAlert/cdk.tf.json +0 -122
  102. package/cdktf.out/stacks/testAzureResourceGroup/cdk.tf.json +0 -88
  103. package/cdktf.out/stacks/testAzureStorageAccount/cdk.tf.json +0 -339
  104. package/cdktf.out/stacks/testAzureVirtualNetwork/cdk.tf.json +0 -264
  105. package/cdktf.out/stacks/testAzureWindowVirtualMachineScaleSetExample/cdk.tf.json +0 -261
  106. package/cdktf.out/stacks/testAzureWindowsVirtualMachineExample/cdk.tf.json +0 -280
  107. package/cdktf.out/stacks/testExampleAzureResource/cdk.tf.json +0 -167
  108. package/lib/azure-actiongroup/index.d.ts +0 -1
  109. package/lib/azure-actiongroup/index.js +0 -18
  110. package/lib/azure-actiongroup/lib/actiongroup.d.ts +0 -49
  111. package/lib/azure-actiongroup/lib/actiongroup.js +0 -85
  112. package/lib/azure-actiongroup/lib/index.d.ts +0 -1
  113. package/lib/azure-actiongroup/lib/index.js +0 -18
  114. package/lib/azure-actiongroup/model/action-group-props.d.ts +0 -47
  115. package/lib/azure-actiongroup/model/action-group-props.js +0 -3
  116. package/lib/azure-actiongroup/model/arm-role-receiver-props.d.ts +0 -20
  117. package/lib/azure-actiongroup/model/arm-role-receiver-props.js +0 -3
  118. package/lib/azure-actiongroup/model/azure-app-push-receiver-props.d.ts +0 -14
  119. package/lib/azure-actiongroup/model/azure-app-push-receiver-props.js +0 -3
  120. package/lib/azure-actiongroup/model/email-receiver-props.d.ts +0 -19
  121. package/lib/azure-actiongroup/model/email-receiver-props.js +0 -3
  122. package/lib/azure-actiongroup/model/eventhub-receiver-props.d.ts +0 -23
  123. package/lib/azure-actiongroup/model/eventhub-receiver-props.js +0 -3
  124. package/lib/azure-actiongroup/model/function.d.ts +0 -40
  125. package/lib/azure-actiongroup/model/function.js +0 -118
  126. package/lib/azure-actiongroup/model/index.d.ts +0 -10
  127. package/lib/azure-actiongroup/model/index.js +0 -27
  128. package/lib/azure-actiongroup/model/logic-app-receiver-props.d.ts +0 -23
  129. package/lib/azure-actiongroup/model/logic-app-receiver-props.js +0 -3
  130. package/lib/azure-actiongroup/model/sms-receiver-props.d.ts +0 -18
  131. package/lib/azure-actiongroup/model/sms-receiver-props.js +0 -3
  132. package/lib/azure-actiongroup/model/voice-receiver-props.d.ts +0 -18
  133. package/lib/azure-actiongroup/model/voice-receiver-props.js +0 -3
  134. package/lib/azure-actiongroup/model/webhook-receiver-props.d.ts +0 -18
  135. package/lib/azure-actiongroup/model/webhook-receiver-props.js +0 -3
  136. package/lib/azure-actiongroup/test/AzureActionGroup.spec.d.ts +0 -1
  137. package/lib/azure-actiongroup/test/AzureActionGroup.spec.js +0 -294
  138. package/lib/azure-actiongroup/test/ExampleAzureActionGroup.d.ts +0 -5
  139. package/lib/azure-actiongroup/test/ExampleAzureActionGroup.js +0 -66
  140. package/lib/azure-applicationgateway/index.d.ts +0 -1
  141. package/lib/azure-applicationgateway/index.js +0 -18
  142. package/lib/azure-applicationgateway/lib/gateway.d.ts +0 -248
  143. package/lib/azure-applicationgateway/lib/gateway.js +0 -199
  144. package/lib/azure-applicationgateway/lib/index.d.ts +0 -1
  145. package/lib/azure-applicationgateway/lib/index.js +0 -18
  146. package/lib/azure-applicationgateway/test/AzureApplicationGateway.spec.d.ts +0 -1
  147. package/lib/azure-applicationgateway/test/AzureApplicationGateway.spec.js +0 -106
  148. package/lib/azure-applicationgateway/test/ExampleAzureApplicationGateway.d.ts +0 -5
  149. package/lib/azure-applicationgateway/test/ExampleAzureApplicationGateway.js +0 -267
  150. package/lib/azure-applicationinsights/index.d.ts +0 -1
  151. package/lib/azure-applicationinsights/index.js +0 -18
  152. package/lib/azure-applicationinsights/lib/appinsights.d.ts +0 -110
  153. package/lib/azure-applicationinsights/lib/appinsights.js +0 -134
  154. package/lib/azure-applicationinsights/lib/index.d.ts +0 -1
  155. package/lib/azure-applicationinsights/lib/index.js +0 -18
  156. package/lib/azure-applicationinsights/test/AzureAppInsights.spec.d.ts +0 -1
  157. package/lib/azure-applicationinsights/test/AzureAppInsights.spec.js +0 -55
  158. package/lib/azure-applicationinsights/test/ExampleAzureApplicationInsights.d.ts +0 -5
  159. package/lib/azure-applicationinsights/test/ExampleAzureApplicationInsights.js +0 -87
  160. package/lib/azure-containerregistry/index.d.ts +0 -1
  161. package/lib/azure-containerregistry/index.js +0 -18
  162. package/lib/azure-containerregistry/lib/index.d.ts +0 -1
  163. package/lib/azure-containerregistry/lib/index.js +0 -18
  164. package/lib/azure-containerregistry/lib/registry.d.ts +0 -70
  165. package/lib/azure-containerregistry/lib/registry.js +0 -76
  166. package/lib/azure-containerregistry/test/AzureContainerRegistry.spec.d.ts +0 -1
  167. package/lib/azure-containerregistry/test/AzureContainerRegistry.spec.js +0 -50
  168. package/lib/azure-containerregistry/test/ExampleAzureContainerRegistry.d.ts +0 -5
  169. package/lib/azure-containerregistry/test/ExampleAzureContainerRegistry.js +0 -57
  170. package/lib/azure-datalake/index.d.ts +0 -1
  171. package/lib/azure-datalake/index.js +0 -18
  172. package/lib/azure-datalake/lib/datalake.d.ts +0 -64
  173. package/lib/azure-datalake/lib/datalake.js +0 -92
  174. package/lib/azure-datalake/lib/filesystem.d.ts +0 -70
  175. package/lib/azure-datalake/lib/filesystem.js +0 -83
  176. package/lib/azure-datalake/lib/index.d.ts +0 -3
  177. package/lib/azure-datalake/lib/index.js +0 -20
  178. package/lib/azure-datalake/lib/path.d.ts +0 -49
  179. package/lib/azure-datalake/lib/path.js +0 -51
  180. package/lib/azure-eventhub/index.d.ts +0 -1
  181. package/lib/azure-eventhub/index.js +0 -18
  182. package/lib/azure-eventhub/lib/authorization.d.ts +0 -58
  183. package/lib/azure-eventhub/lib/authorization.js +0 -84
  184. package/lib/azure-eventhub/lib/cluster.d.ts +0 -56
  185. package/lib/azure-eventhub/lib/cluster.js +0 -64
  186. package/lib/azure-eventhub/lib/consumer.d.ts +0 -54
  187. package/lib/azure-eventhub/lib/consumer.js +0 -59
  188. package/lib/azure-eventhub/lib/index.d.ts +0 -6
  189. package/lib/azure-eventhub/lib/index.js +0 -23
  190. package/lib/azure-eventhub/lib/instance.d.ts +0 -164
  191. package/lib/azure-eventhub/lib/instance.js +0 -184
  192. package/lib/azure-eventhub/lib/kusto-connection.d.ts +0 -109
  193. package/lib/azure-eventhub/lib/kusto-connection.js +0 -76
  194. package/lib/azure-eventhub/lib/namespace.d.ts +0 -151
  195. package/lib/azure-eventhub/lib/namespace.js +0 -131
  196. package/lib/azure-eventhub/test/AzureEventhub.spec.d.ts +0 -1
  197. package/lib/azure-eventhub/test/AzureEventhub.spec.js +0 -56
  198. package/lib/azure-eventhub/test/ExampleAzureEventhub.d.ts +0 -5
  199. package/lib/azure-eventhub/test/ExampleAzureEventhub.js +0 -72
  200. package/lib/azure-functionapp/index.d.ts +0 -1
  201. package/lib/azure-functionapp/index.js +0 -18
  202. package/lib/azure-functionapp/lib/functionapplinux.d.ts +0 -211
  203. package/lib/azure-functionapp/lib/functionapplinux.js +0 -141
  204. package/lib/azure-functionapp/lib/index.d.ts +0 -1
  205. package/lib/azure-functionapp/lib/index.js +0 -18
  206. package/lib/azure-functionapp/serviceplanskus.d.ts +0 -70
  207. package/lib/azure-functionapp/serviceplanskus.js +0 -81
  208. package/lib/azure-functionapp/test/AzureLinuxFunctionApp.spec.d.ts +0 -1
  209. package/lib/azure-functionapp/test/AzureLinuxFunctionApp.spec.js +0 -48
  210. package/lib/azure-functionapp/test/ExampleAzureLinuxFunctionApp.d.ts +0 -5
  211. package/lib/azure-functionapp/test/ExampleAzureLinuxFunctionApp.js +0 -123
  212. package/lib/azure-keyvault/index.d.ts +0 -1
  213. package/lib/azure-keyvault/index.js +0 -18
  214. package/lib/azure-keyvault/lib/certificate.d.ts +0 -133
  215. package/lib/azure-keyvault/lib/certificate.js +0 -146
  216. package/lib/azure-keyvault/lib/index.d.ts +0 -5
  217. package/lib/azure-keyvault/lib/index.js +0 -22
  218. package/lib/azure-keyvault/lib/key.d.ts +0 -72
  219. package/lib/azure-keyvault/lib/key.js +0 -69
  220. package/lib/azure-keyvault/lib/policy.d.ts +0 -76
  221. package/lib/azure-keyvault/lib/policy.js +0 -56
  222. package/lib/azure-keyvault/lib/secret.d.ts +0 -70
  223. package/lib/azure-keyvault/lib/secret.js +0 -64
  224. package/lib/azure-keyvault/lib/vault.d.ts +0 -282
  225. package/lib/azure-keyvault/lib/vault.js +0 -392
  226. package/lib/azure-keyvault/test/AzureKeyVault.spec.d.ts +0 -1
  227. package/lib/azure-keyvault/test/AzureKeyVault.spec.js +0 -63
  228. package/lib/azure-keyvault/test/ExampleAzureKeyVault.d.ts +0 -5
  229. package/lib/azure-keyvault/test/ExampleAzureKeyVault.js +0 -112
  230. package/lib/azure-kubernetes/index.d.ts +0 -1
  231. package/lib/azure-kubernetes/index.js +0 -18
  232. package/lib/azure-kubernetes/lib/cluster.d.ts +0 -93
  233. package/lib/azure-kubernetes/lib/cluster.js +0 -63
  234. package/lib/azure-kubernetes/lib/index.d.ts +0 -1
  235. package/lib/azure-kubernetes/lib/index.js +0 -18
  236. package/lib/azure-kubernetes/test/AzureKubernetesCluster.spec.d.ts +0 -1
  237. package/lib/azure-kubernetes/test/AzureKubernetesCluster.spec.js +0 -56
  238. package/lib/azure-kubernetes/test/ExampleAzureKubernetesCluster.d.ts +0 -5
  239. package/lib/azure-kubernetes/test/ExampleAzureKubernetesCluster.js +0 -65
  240. package/lib/azure-kusto/index.d.ts +0 -1
  241. package/lib/azure-kusto/index.js +0 -18
  242. package/lib/azure-kusto/lib/cluster.d.ts +0 -136
  243. package/lib/azure-kusto/lib/cluster.js +0 -138
  244. package/lib/azure-kusto/lib/compute-specification.d.ts +0 -71
  245. package/lib/azure-kusto/lib/compute-specification.js +0 -651
  246. package/lib/azure-kusto/lib/database.d.ts +0 -162
  247. package/lib/azure-kusto/lib/database.js +0 -180
  248. package/lib/azure-kusto/lib/index.d.ts +0 -3
  249. package/lib/azure-kusto/lib/index.js +0 -20
  250. package/lib/azure-kusto/test/AzureKusto.spec.d.ts +0 -1
  251. package/lib/azure-kusto/test/AzureKusto.spec.js +0 -50
  252. package/lib/azure-kusto/test/ExampleAzureKusto.d.ts +0 -5
  253. package/lib/azure-kusto/test/ExampleAzureKusto.js +0 -71
  254. package/lib/azure-loganalytics/index.d.ts +0 -1
  255. package/lib/azure-loganalytics/index.js +0 -18
  256. package/lib/azure-loganalytics/lib/index.d.ts +0 -1
  257. package/lib/azure-loganalytics/lib/index.js +0 -18
  258. package/lib/azure-loganalytics/lib/workspace.d.ts +0 -163
  259. package/lib/azure-loganalytics/lib/workspace.js +0 -126
  260. package/lib/azure-loganalytics/test/AzureLogAnalytics.spec.d.ts +0 -1
  261. package/lib/azure-loganalytics/test/AzureLogAnalytics.spec.js +0 -50
  262. package/lib/azure-loganalytics/test/ExampleAzureLogAnalytics.d.ts +0 -5
  263. package/lib/azure-loganalytics/test/ExampleAzureLogAnalytics.js +0 -115
  264. package/lib/azure-metricalert/index.d.ts +0 -2
  265. package/lib/azure-metricalert/index.js +0 -19
  266. package/lib/azure-metricalert/lib/index.d.ts +0 -1
  267. package/lib/azure-metricalert/lib/index.js +0 -18
  268. package/lib/azure-metricalert/lib/metric-alert.d.ts +0 -56
  269. package/lib/azure-metricalert/lib/metric-alert.js +0 -128
  270. package/lib/azure-metricalert/model/action-props.d.ts +0 -11
  271. package/lib/azure-metricalert/model/action-props.js +0 -3
  272. package/lib/azure-metricalert/model/criteria-base-props.d.ts +0 -38
  273. package/lib/azure-metricalert/model/criteria-base-props.js +0 -3
  274. package/lib/azure-metricalert/model/criteria-dimension-props.d.ts +0 -21
  275. package/lib/azure-metricalert/model/criteria-dimension-props.js +0 -3
  276. package/lib/azure-metricalert/model/criteria-props.d.ts +0 -12
  277. package/lib/azure-metricalert/model/criteria-props.js +0 -3
  278. package/lib/azure-metricalert/model/dynamic-criteria-props.d.ts +0 -29
  279. package/lib/azure-metricalert/model/dynamic-criteria-props.js +0 -3
  280. package/lib/azure-metricalert/model/function.d.ts +0 -28
  281. package/lib/azure-metricalert/model/function.js +0 -78
  282. package/lib/azure-metricalert/model/index.d.ts +0 -7
  283. package/lib/azure-metricalert/model/index.js +0 -24
  284. package/lib/azure-metricalert/model/metric-alert-props.d.ts +0 -86
  285. package/lib/azure-metricalert/model/metric-alert-props.js +0 -3
  286. package/lib/azure-metricalert/test/AzureMetricAlert.spec.d.ts +0 -1
  287. package/lib/azure-metricalert/test/AzureMetricAlert.spec.js +0 -63
  288. package/lib/azure-metricalert/test/ExampleAzureMetricAlert.d.ts +0 -5
  289. package/lib/azure-metricalert/test/ExampleAzureMetricAlert.js +0 -81
  290. package/lib/azure-networksecuritygroup/index.d.ts +0 -1
  291. package/lib/azure-networksecuritygroup/index.js +0 -18
  292. package/lib/azure-networksecuritygroup/lib/index.d.ts +0 -2
  293. package/lib/azure-networksecuritygroup/lib/index.js +0 -19
  294. package/lib/azure-networksecuritygroup/lib/preconfigured-rules.d.ts +0 -77
  295. package/lib/azure-networksecuritygroup/lib/preconfigured-rules.js +0 -608
  296. package/lib/azure-networksecuritygroup/lib/securitygroup.d.ts +0 -190
  297. package/lib/azure-networksecuritygroup/lib/securitygroup.js +0 -172
  298. package/lib/azure-networksecuritygroup/test/AzureNetworkSecurityGroup.spec.d.ts +0 -1
  299. package/lib/azure-networksecuritygroup/test/AzureNetworkSecurityGroup.spec.js +0 -54
  300. package/lib/azure-networksecuritygroup/test/ExampleAzureNetworkSecurityGroup.d.ts +0 -5
  301. package/lib/azure-networksecuritygroup/test/ExampleAzureNetworkSecurityGroup.js +0 -97
  302. package/lib/azure-queryrulealert/index.d.ts +0 -1
  303. package/lib/azure-queryrulealert/index.js +0 -18
  304. package/lib/azure-queryrulealert/lib/index.d.ts +0 -1
  305. package/lib/azure-queryrulealert/lib/index.js +0 -18
  306. package/lib/azure-queryrulealert/lib/query-rule-alert.d.ts +0 -175
  307. package/lib/azure-queryrulealert/lib/query-rule-alert.js +0 -205
  308. package/lib/azure-queryrulealert/test/AzureQueryRuleAlert.spec.d.ts +0 -1
  309. package/lib/azure-queryrulealert/test/AzureQueryRuleAlert.spec.js +0 -67
  310. package/lib/azure-queryrulealert/test/ExampleAzureQueryRuleAlert.d.ts +0 -5
  311. package/lib/azure-queryrulealert/test/ExampleAzureQueryRuleAlert.js +0 -67
  312. package/lib/azure-resourcegroup/test/AzureResourceGroup.spec.d.ts +0 -1
  313. package/lib/azure-resourcegroup/test/AzureResourceGroup.spec.js +0 -41
  314. package/lib/azure-resourcegroup/test/ExampleAzureResourceGroup.d.ts +0 -5
  315. package/lib/azure-resourcegroup/test/ExampleAzureResourceGroup.js +0 -29
  316. package/lib/azure-storageaccount/lib/account.d.ts +0 -232
  317. package/lib/azure-storageaccount/lib/account.js +0 -225
  318. package/lib/azure-storageaccount/lib/container.d.ts +0 -122
  319. package/lib/azure-storageaccount/lib/container.js +0 -167
  320. package/lib/azure-storageaccount/lib/fileshare.d.ts +0 -105
  321. package/lib/azure-storageaccount/lib/fileshare.js +0 -126
  322. package/lib/azure-storageaccount/lib/queue.d.ts +0 -35
  323. package/lib/azure-storageaccount/lib/queue.js +0 -52
  324. package/lib/azure-storageaccount/lib/table.d.ts +0 -38
  325. package/lib/azure-storageaccount/lib/table.js +0 -55
  326. package/lib/azure-storageaccount/test/AzureStorageAccount.spec.d.ts +0 -1
  327. package/lib/azure-storageaccount/test/AzureStorageAccount.spec.js +0 -45
  328. package/lib/azure-storageaccount/test/ExampleAzureStorageAccount.d.ts +0 -5
  329. package/lib/azure-storageaccount/test/ExampleAzureStorageAccount.js +0 -102
  330. package/lib/azure-virtualmachine/index.d.ts +0 -1
  331. package/lib/azure-virtualmachine/index.js +0 -18
  332. package/lib/azure-virtualmachine/lib/image-references.d.ts +0 -22
  333. package/lib/azure-virtualmachine/lib/image-references.js +0 -128
  334. package/lib/azure-virtualmachine/lib/index.d.ts +0 -2
  335. package/lib/azure-virtualmachine/lib/index.js +0 -19
  336. package/lib/azure-virtualmachine/lib/vm.d.ts +0 -281
  337. package/lib/azure-virtualmachine/lib/vm.js +0 -283
  338. package/lib/azure-virtualmachine/test/AzureLinuxVirtualMachine.spec.d.ts +0 -1
  339. package/lib/azure-virtualmachine/test/AzureLinuxVirtualMachine.spec.js +0 -48
  340. package/lib/azure-virtualmachine/test/AzureWindowsVirtualMachine.spec.d.ts +0 -1
  341. package/lib/azure-virtualmachine/test/AzureWindowsVirtualMachine.spec.js +0 -50
  342. package/lib/azure-virtualmachine/test/ExampleAzureLinuxVirtualMachine.d.ts +0 -5
  343. package/lib/azure-virtualmachine/test/ExampleAzureLinuxVirtualMachine.js +0 -106
  344. package/lib/azure-virtualmachine/test/ExampleAzureWindowsVirtualMachine.d.ts +0 -5
  345. package/lib/azure-virtualmachine/test/ExampleAzureWindowsVirtualMachine.js +0 -102
  346. package/lib/azure-virtualmachinescaleset/index.d.ts +0 -1
  347. package/lib/azure-virtualmachinescaleset/index.js +0 -18
  348. package/lib/azure-virtualmachinescaleset/lib/cluster.d.ts +0 -324
  349. package/lib/azure-virtualmachinescaleset/lib/cluster.js +0 -264
  350. package/lib/azure-virtualmachinescaleset/lib/index.d.ts +0 -1
  351. package/lib/azure-virtualmachinescaleset/lib/index.js +0 -18
  352. package/lib/azure-virtualmachinescaleset/test/AzureLinuxVirtualMachineScaleSet.spec.d.ts +0 -1
  353. package/lib/azure-virtualmachinescaleset/test/AzureLinuxVirtualMachineScaleSet.spec.js +0 -48
  354. package/lib/azure-virtualmachinescaleset/test/AzureWindowsVirtualMachineScaleSet.spec.d.ts +0 -1
  355. package/lib/azure-virtualmachinescaleset/test/AzureWindowsVirtualMachineScaleSet.spec.js +0 -50
  356. package/lib/azure-virtualmachinescaleset/test/ExampleAzureLinuxVirtualMachineScaleSet.d.ts +0 -5
  357. package/lib/azure-virtualmachinescaleset/test/ExampleAzureLinuxVirtualMachineScaleSet.js +0 -107
  358. package/lib/azure-virtualmachinescaleset/test/ExampleAzureWindowsVirtualMachineScaleSet.d.ts +0 -5
  359. package/lib/azure-virtualmachinescaleset/test/ExampleAzureWindowsVirtualMachineScaleSet.js +0 -103
  360. package/lib/azure-virtualnetwork/index.d.ts +0 -1
  361. package/lib/azure-virtualnetwork/index.js +0 -18
  362. package/lib/azure-virtualnetwork/lib/index.d.ts +0 -2
  363. package/lib/azure-virtualnetwork/lib/index.js +0 -19
  364. package/lib/azure-virtualnetwork/lib/network.d.ts +0 -122
  365. package/lib/azure-virtualnetwork/lib/network.js +0 -120
  366. package/lib/azure-virtualnetwork/lib/peering.d.ts +0 -90
  367. package/lib/azure-virtualnetwork/lib/peering.js +0 -71
  368. package/lib/azure-virtualnetwork/test/AzureVirtualNetwork.spec.d.ts +0 -1
  369. package/lib/azure-virtualnetwork/test/AzureVirtualNetwork.spec.js +0 -48
  370. package/lib/azure-virtualnetwork/test/ExampleAzureVirtualNetwork.d.ts +0 -5
  371. package/lib/azure-virtualnetwork/test/ExampleAzureVirtualNetwork.js +0 -88
  372. package/lib/core-azure/lib/diagsettings.d.ts +0 -89
  373. package/lib/core-azure/lib/diagsettings.js +0 -83
  374. package/lib/core-azure/lib/rbac.d.ts +0 -50
  375. package/lib/core-azure/lib/rbac.js +0 -48
  376. package/lib/core-azure/lib/resource.d.ts +0 -62
  377. package/lib/core-azure/lib/resource.js +0 -118
  378. package/lib/core-azure/test/AzureResource.spec.d.ts +0 -1
  379. package/lib/core-azure/test/AzureResource.spec.js +0 -19
  380. package/lib/core-azure/test/ExampleAzureResource.d.ts +0 -5
  381. package/lib/core-azure/test/ExampleAzureResource.js +0 -67
  382. package/node_modules/moment/CHANGELOG.md +0 -996
  383. package/node_modules/moment/LICENSE +0 -22
  384. package/node_modules/moment/README.md +0 -55
  385. package/node_modules/moment/dist/locale/af.js +0 -71
  386. package/node_modules/moment/dist/locale/ar-dz.js +0 -156
  387. package/node_modules/moment/dist/locale/ar-kw.js +0 -55
  388. package/node_modules/moment/dist/locale/ar-ly.js +0 -171
  389. package/node_modules/moment/dist/locale/ar-ma.js +0 -56
  390. package/node_modules/moment/dist/locale/ar-ps.js +0 -112
  391. package/node_modules/moment/dist/locale/ar-sa.js +0 -105
  392. package/node_modules/moment/dist/locale/ar-tn.js +0 -55
  393. package/node_modules/moment/dist/locale/ar.js +0 -189
  394. package/node_modules/moment/dist/locale/az.js +0 -102
  395. package/node_modules/moment/dist/locale/be.js +0 -142
  396. package/node_modules/moment/dist/locale/bg.js +0 -87
  397. package/node_modules/moment/dist/locale/bm.js +0 -52
  398. package/node_modules/moment/dist/locale/bn-bd.js +0 -129
  399. package/node_modules/moment/dist/locale/bn.js +0 -119
  400. package/node_modules/moment/dist/locale/bo.js +0 -124
  401. package/node_modules/moment/dist/locale/br.js +0 -168
  402. package/node_modules/moment/dist/locale/bs.js +0 -160
  403. package/node_modules/moment/dist/locale/ca.js +0 -100
  404. package/node_modules/moment/dist/locale/cs.js +0 -181
  405. package/node_modules/moment/dist/locale/cv.js +0 -63
  406. package/node_modules/moment/dist/locale/cy.js +0 -98
  407. package/node_modules/moment/dist/locale/da.js +0 -53
  408. package/node_modules/moment/dist/locale/de-at.js +0 -79
  409. package/node_modules/moment/dist/locale/de-ch.js +0 -78
  410. package/node_modules/moment/dist/locale/de.js +0 -78
  411. package/node_modules/moment/dist/locale/dv.js +0 -90
  412. package/node_modules/moment/dist/locale/el.js +0 -106
  413. package/node_modules/moment/dist/locale/en-au.js +0 -68
  414. package/node_modules/moment/dist/locale/en-ca.js +0 -64
  415. package/node_modules/moment/dist/locale/en-gb.js +0 -68
  416. package/node_modules/moment/dist/locale/en-ie.js +0 -68
  417. package/node_modules/moment/dist/locale/en-il.js +0 -64
  418. package/node_modules/moment/dist/locale/en-in.js +0 -68
  419. package/node_modules/moment/dist/locale/en-nz.js +0 -68
  420. package/node_modules/moment/dist/locale/en-sg.js +0 -68
  421. package/node_modules/moment/dist/locale/eo.js +0 -68
  422. package/node_modules/moment/dist/locale/es-do.js +0 -108
  423. package/node_modules/moment/dist/locale/es-mx.js +0 -110
  424. package/node_modules/moment/dist/locale/es-us.js +0 -110
  425. package/node_modules/moment/dist/locale/es.js +0 -110
  426. package/node_modules/moment/dist/locale/et.js +0 -78
  427. package/node_modules/moment/dist/locale/eu.js +0 -65
  428. package/node_modules/moment/dist/locale/fa.js +0 -113
  429. package/node_modules/moment/dist/locale/fi.js +0 -124
  430. package/node_modules/moment/dist/locale/fil.js +0 -58
  431. package/node_modules/moment/dist/locale/fo.js +0 -57
  432. package/node_modules/moment/dist/locale/fr-ca.js +0 -70
  433. package/node_modules/moment/dist/locale/fr-ch.js +0 -74
  434. package/node_modules/moment/dist/locale/fr.js +0 -108
  435. package/node_modules/moment/dist/locale/fy.js +0 -75
  436. package/node_modules/moment/dist/locale/ga.js +0 -95
  437. package/node_modules/moment/dist/locale/gd.js +0 -95
  438. package/node_modules/moment/dist/locale/gl.js +0 -75
  439. package/node_modules/moment/dist/locale/gom-deva.js +0 -126
  440. package/node_modules/moment/dist/locale/gom-latn.js +0 -124
  441. package/node_modules/moment/dist/locale/gu.js +0 -122
  442. package/node_modules/moment/dist/locale/he.js +0 -94
  443. package/node_modules/moment/dist/locale/hi.js +0 -168
  444. package/node_modules/moment/dist/locale/hr.js +0 -156
  445. package/node_modules/moment/dist/locale/hu.js +0 -118
  446. package/node_modules/moment/dist/locale/hy-am.js +0 -94
  447. package/node_modules/moment/dist/locale/id.js +0 -76
  448. package/node_modules/moment/dist/locale/is.js +0 -140
  449. package/node_modules/moment/dist/locale/it-ch.js +0 -64
  450. package/node_modules/moment/dist/locale/it.js +0 -106
  451. package/node_modules/moment/dist/locale/ja.js +0 -148
  452. package/node_modules/moment/dist/locale/jv.js +0 -76
  453. package/node_modules/moment/dist/locale/ka.js +0 -92
  454. package/node_modules/moment/dist/locale/kk.js +0 -82
  455. package/node_modules/moment/dist/locale/km.js +0 -103
  456. package/node_modules/moment/dist/locale/kn.js +0 -124
  457. package/node_modules/moment/dist/locale/ko.js +0 -75
  458. package/node_modules/moment/dist/locale/ku-kmr.js +0 -121
  459. package/node_modules/moment/dist/locale/ku.js +0 -118
  460. package/node_modules/moment/dist/locale/ky.js +0 -84
  461. package/node_modules/moment/dist/locale/lb.js +0 -137
  462. package/node_modules/moment/dist/locale/lo.js +0 -66
  463. package/node_modules/moment/dist/locale/lt.js +0 -125
  464. package/node_modules/moment/dist/locale/lv.js +0 -94
  465. package/node_modules/moment/dist/locale/me.js +0 -117
  466. package/node_modules/moment/dist/locale/mi.js +0 -60
  467. package/node_modules/moment/dist/locale/mk.js +0 -85
  468. package/node_modules/moment/dist/locale/ml.js +0 -82
  469. package/node_modules/moment/dist/locale/mn.js +0 -100
  470. package/node_modules/moment/dist/locale/mr.js +0 -203
  471. package/node_modules/moment/dist/locale/ms-my.js +0 -76
  472. package/node_modules/moment/dist/locale/ms.js +0 -75
  473. package/node_modules/moment/dist/locale/mt.js +0 -56
  474. package/node_modules/moment/dist/locale/my.js +0 -91
  475. package/node_modules/moment/dist/locale/nb.js +0 -60
  476. package/node_modules/moment/dist/locale/ne.js +0 -121
  477. package/node_modules/moment/dist/locale/nl-be.js +0 -102
  478. package/node_modules/moment/dist/locale/nl.js +0 -104
  479. package/node_modules/moment/dist/locale/nn.js +0 -59
  480. package/node_modules/moment/dist/locale/oc-lnc.js +0 -85
  481. package/node_modules/moment/dist/locale/pa-in.js +0 -122
  482. package/node_modules/moment/dist/locale/pl.js +0 -140
  483. package/node_modules/moment/dist/locale/pt-br.js +0 -58
  484. package/node_modules/moment/dist/locale/pt.js +0 -63
  485. package/node_modules/moment/dist/locale/ro.js +0 -76
  486. package/node_modules/moment/dist/locale/ru.js +0 -213
  487. package/node_modules/moment/dist/locale/sd.js +0 -81
  488. package/node_modules/moment/dist/locale/se.js +0 -57
  489. package/node_modules/moment/dist/locale/si.js +0 -69
  490. package/node_modules/moment/dist/locale/sk.js +0 -145
  491. package/node_modules/moment/dist/locale/sl.js +0 -171
  492. package/node_modules/moment/dist/locale/sq.js +0 -65
  493. package/node_modules/moment/dist/locale/sr-cyrl.js +0 -127
  494. package/node_modules/moment/dist/locale/sr.js +0 -129
  495. package/node_modules/moment/dist/locale/ss.js +0 -84
  496. package/node_modules/moment/dist/locale/sv.js +0 -68
  497. package/node_modules/moment/dist/locale/sw.js +0 -55
  498. package/node_modules/moment/dist/locale/ta.js +0 -131
  499. package/node_modules/moment/dist/locale/te.js +0 -88
  500. package/node_modules/moment/dist/locale/tet.js +0 -68
  501. package/node_modules/moment/dist/locale/tg.js +0 -117
  502. package/node_modules/moment/dist/locale/th.js +0 -65
  503. package/node_modules/moment/dist/locale/tk.js +0 -91
  504. package/node_modules/moment/dist/locale/tl-ph.js +0 -57
  505. package/node_modules/moment/dist/locale/tlh.js +0 -124
  506. package/node_modules/moment/dist/locale/tr.js +0 -106
  507. package/node_modules/moment/dist/locale/tzl.js +0 -89
  508. package/node_modules/moment/dist/locale/tzm-latn.js +0 -54
  509. package/node_modules/moment/dist/locale/tzm.js +0 -54
  510. package/node_modules/moment/dist/locale/ug-cn.js +0 -111
  511. package/node_modules/moment/dist/locale/uk.js +0 -167
  512. package/node_modules/moment/dist/locale/ur.js +0 -82
  513. package/node_modules/moment/dist/locale/uz-latn.js +0 -54
  514. package/node_modules/moment/dist/locale/uz.js +0 -51
  515. package/node_modules/moment/dist/locale/vi.js +0 -80
  516. package/node_modules/moment/dist/locale/x-pseudo.js +0 -73
  517. package/node_modules/moment/dist/locale/yo.js +0 -53
  518. package/node_modules/moment/dist/locale/zh-cn.js +0 -120
  519. package/node_modules/moment/dist/locale/zh-hk.js +0 -101
  520. package/node_modules/moment/dist/locale/zh-mo.js +0 -100
  521. package/node_modules/moment/dist/locale/zh-tw.js +0 -99
  522. package/node_modules/moment/dist/moment.js +0 -5680
  523. package/node_modules/moment/ender.js +0 -1
  524. package/node_modules/moment/locale/af.js +0 -82
  525. package/node_modules/moment/locale/ar-dz.js +0 -167
  526. package/node_modules/moment/locale/ar-kw.js +0 -66
  527. package/node_modules/moment/locale/ar-ly.js +0 -182
  528. package/node_modules/moment/locale/ar-ma.js +0 -67
  529. package/node_modules/moment/locale/ar-ps.js +0 -123
  530. package/node_modules/moment/locale/ar-sa.js +0 -116
  531. package/node_modules/moment/locale/ar-tn.js +0 -66
  532. package/node_modules/moment/locale/ar.js +0 -200
  533. package/node_modules/moment/locale/az.js +0 -113
  534. package/node_modules/moment/locale/be.js +0 -153
  535. package/node_modules/moment/locale/bg.js +0 -98
  536. package/node_modules/moment/locale/bm.js +0 -62
  537. package/node_modules/moment/locale/bn-bd.js +0 -140
  538. package/node_modules/moment/locale/bn.js +0 -130
  539. package/node_modules/moment/locale/bo.js +0 -135
  540. package/node_modules/moment/locale/br.js +0 -179
  541. package/node_modules/moment/locale/bs.js +0 -171
  542. package/node_modules/moment/locale/ca.js +0 -111
  543. package/node_modules/moment/locale/cs.js +0 -192
  544. package/node_modules/moment/locale/cv.js +0 -74
  545. package/node_modules/moment/locale/cy.js +0 -109
  546. package/node_modules/moment/locale/da.js +0 -64
  547. package/node_modules/moment/locale/de-at.js +0 -90
  548. package/node_modules/moment/locale/de-ch.js +0 -87
  549. package/node_modules/moment/locale/de.js +0 -89
  550. package/node_modules/moment/locale/dv.js +0 -101
  551. package/node_modules/moment/locale/el.js +0 -117
  552. package/node_modules/moment/locale/en-au.js +0 -79
  553. package/node_modules/moment/locale/en-ca.js +0 -75
  554. package/node_modules/moment/locale/en-gb.js +0 -79
  555. package/node_modules/moment/locale/en-ie.js +0 -79
  556. package/node_modules/moment/locale/en-il.js +0 -75
  557. package/node_modules/moment/locale/en-in.js +0 -79
  558. package/node_modules/moment/locale/en-nz.js +0 -79
  559. package/node_modules/moment/locale/en-sg.js +0 -79
  560. package/node_modules/moment/locale/eo.js +0 -79
  561. package/node_modules/moment/locale/es-do.js +0 -119
  562. package/node_modules/moment/locale/es-mx.js +0 -121
  563. package/node_modules/moment/locale/es-us.js +0 -121
  564. package/node_modules/moment/locale/es.js +0 -121
  565. package/node_modules/moment/locale/et.js +0 -89
  566. package/node_modules/moment/locale/eu.js +0 -76
  567. package/node_modules/moment/locale/fa.js +0 -124
  568. package/node_modules/moment/locale/fi.js +0 -135
  569. package/node_modules/moment/locale/fil.js +0 -69
  570. package/node_modules/moment/locale/fo.js +0 -68
  571. package/node_modules/moment/locale/fr-ca.js +0 -81
  572. package/node_modules/moment/locale/fr-ch.js +0 -85
  573. package/node_modules/moment/locale/fr.js +0 -119
  574. package/node_modules/moment/locale/fy.js +0 -86
  575. package/node_modules/moment/locale/ga.js +0 -106
  576. package/node_modules/moment/locale/gd.js +0 -106
  577. package/node_modules/moment/locale/gl.js +0 -86
  578. package/node_modules/moment/locale/gom-deva.js +0 -137
  579. package/node_modules/moment/locale/gom-latn.js +0 -135
  580. package/node_modules/moment/locale/gu.js +0 -133
  581. package/node_modules/moment/locale/he.js +0 -105
  582. package/node_modules/moment/locale/hi.js +0 -179
  583. package/node_modules/moment/locale/hr.js +0 -167
  584. package/node_modules/moment/locale/hu.js +0 -129
  585. package/node_modules/moment/locale/hy-am.js +0 -105
  586. package/node_modules/moment/locale/id.js +0 -87
  587. package/node_modules/moment/locale/is.js +0 -151
  588. package/node_modules/moment/locale/it-ch.js +0 -75
  589. package/node_modules/moment/locale/it.js +0 -117
  590. package/node_modules/moment/locale/ja.js +0 -159
  591. package/node_modules/moment/locale/jv.js +0 -87
  592. package/node_modules/moment/locale/ka.js +0 -103
  593. package/node_modules/moment/locale/kk.js +0 -93
  594. package/node_modules/moment/locale/km.js +0 -114
  595. package/node_modules/moment/locale/kn.js +0 -135
  596. package/node_modules/moment/locale/ko.js +0 -86
  597. package/node_modules/moment/locale/ku-kmr.js +0 -125
  598. package/node_modules/moment/locale/ku.js +0 -129
  599. package/node_modules/moment/locale/ky.js +0 -95
  600. package/node_modules/moment/locale/lb.js +0 -148
  601. package/node_modules/moment/locale/lo.js +0 -77
  602. package/node_modules/moment/locale/lt.js +0 -136
  603. package/node_modules/moment/locale/lv.js +0 -105
  604. package/node_modules/moment/locale/me.js +0 -128
  605. package/node_modules/moment/locale/mi.js +0 -71
  606. package/node_modules/moment/locale/mk.js +0 -97
  607. package/node_modules/moment/locale/ml.js +0 -93
  608. package/node_modules/moment/locale/mn.js +0 -111
  609. package/node_modules/moment/locale/mr.js +0 -214
  610. package/node_modules/moment/locale/ms-my.js +0 -87
  611. package/node_modules/moment/locale/ms.js +0 -86
  612. package/node_modules/moment/locale/mt.js +0 -67
  613. package/node_modules/moment/locale/my.js +0 -102
  614. package/node_modules/moment/locale/nb.js +0 -71
  615. package/node_modules/moment/locale/ne.js +0 -132
  616. package/node_modules/moment/locale/nl-be.js +0 -113
  617. package/node_modules/moment/locale/nl.js +0 -115
  618. package/node_modules/moment/locale/nn.js +0 -70
  619. package/node_modules/moment/locale/oc-lnc.js +0 -96
  620. package/node_modules/moment/locale/pa-in.js +0 -133
  621. package/node_modules/moment/locale/pl.js +0 -151
  622. package/node_modules/moment/locale/pt-br.js +0 -69
  623. package/node_modules/moment/locale/pt.js +0 -74
  624. package/node_modules/moment/locale/ro.js +0 -87
  625. package/node_modules/moment/locale/ru.js +0 -224
  626. package/node_modules/moment/locale/sd.js +0 -92
  627. package/node_modules/moment/locale/se.js +0 -68
  628. package/node_modules/moment/locale/si.js +0 -80
  629. package/node_modules/moment/locale/sk.js +0 -156
  630. package/node_modules/moment/locale/sl.js +0 -182
  631. package/node_modules/moment/locale/sq.js +0 -76
  632. package/node_modules/moment/locale/sr-cyrl.js +0 -138
  633. package/node_modules/moment/locale/sr.js +0 -140
  634. package/node_modules/moment/locale/ss.js +0 -95
  635. package/node_modules/moment/locale/sv.js +0 -79
  636. package/node_modules/moment/locale/sw.js +0 -66
  637. package/node_modules/moment/locale/ta.js +0 -142
  638. package/node_modules/moment/locale/te.js +0 -99
  639. package/node_modules/moment/locale/tet.js +0 -79
  640. package/node_modules/moment/locale/tg.js +0 -128
  641. package/node_modules/moment/locale/th.js +0 -76
  642. package/node_modules/moment/locale/tk.js +0 -102
  643. package/node_modules/moment/locale/tl-ph.js +0 -68
  644. package/node_modules/moment/locale/tlh.js +0 -135
  645. package/node_modules/moment/locale/tr.js +0 -117
  646. package/node_modules/moment/locale/tzl.js +0 -100
  647. package/node_modules/moment/locale/tzm-latn.js +0 -65
  648. package/node_modules/moment/locale/tzm.js +0 -65
  649. package/node_modules/moment/locale/ug-cn.js +0 -122
  650. package/node_modules/moment/locale/uk.js +0 -178
  651. package/node_modules/moment/locale/ur.js +0 -93
  652. package/node_modules/moment/locale/uz-latn.js +0 -65
  653. package/node_modules/moment/locale/uz.js +0 -62
  654. package/node_modules/moment/locale/vi.js +0 -91
  655. package/node_modules/moment/locale/x-pseudo.js +0 -84
  656. package/node_modules/moment/locale/yo.js +0 -64
  657. package/node_modules/moment/locale/zh-cn.js +0 -131
  658. package/node_modules/moment/locale/zh-hk.js +0 -112
  659. package/node_modules/moment/locale/zh-mo.js +0 -111
  660. package/node_modules/moment/locale/zh-tw.js +0 -110
  661. package/node_modules/moment/min/locales.js +0 -12800
  662. package/node_modules/moment/min/locales.min.js +0 -2
  663. package/node_modules/moment/min/locales.min.js.map +0 -1
  664. package/node_modules/moment/min/moment-with-locales.js +0 -18472
  665. package/node_modules/moment/min/moment-with-locales.min.js +0 -2
  666. package/node_modules/moment/min/moment-with-locales.min.js.map +0 -1
  667. package/node_modules/moment/min/moment.min.js +0 -2
  668. package/node_modules/moment/min/moment.min.js.map +0 -1
  669. package/node_modules/moment/moment.d.ts +0 -796
  670. package/node_modules/moment/moment.js +0 -5688
  671. package/node_modules/moment/package.js +0 -11
  672. package/node_modules/moment/package.json +0 -116
  673. package/node_modules/moment/src/lib/create/check-overflow.js +0 -57
  674. package/node_modules/moment/src/lib/create/date-from-array.js +0 -35
  675. package/node_modules/moment/src/lib/create/from-anything.js +0 -117
  676. package/node_modules/moment/src/lib/create/from-array.js +0 -187
  677. package/node_modules/moment/src/lib/create/from-object.js +0 -20
  678. package/node_modules/moment/src/lib/create/from-string-and-array.js +0 -67
  679. package/node_modules/moment/src/lib/create/from-string-and-format.js +0 -135
  680. package/node_modules/moment/src/lib/create/from-string.js +0 -258
  681. package/node_modules/moment/src/lib/create/local.js +0 -5
  682. package/node_modules/moment/src/lib/create/parsing-flags.js +0 -28
  683. package/node_modules/moment/src/lib/create/utc.js +0 -5
  684. package/node_modules/moment/src/lib/create/valid.js +0 -51
  685. package/node_modules/moment/src/lib/duration/abs.js +0 -18
  686. package/node_modules/moment/src/lib/duration/add-subtract.js +0 -21
  687. package/node_modules/moment/src/lib/duration/as.js +0 -76
  688. package/node_modules/moment/src/lib/duration/bubble.js +0 -68
  689. package/node_modules/moment/src/lib/duration/clone.js +0 -5
  690. package/node_modules/moment/src/lib/duration/constructor.js +0 -42
  691. package/node_modules/moment/src/lib/duration/create.js +0 -133
  692. package/node_modules/moment/src/lib/duration/duration.js +0 -16
  693. package/node_modules/moment/src/lib/duration/get.js +0 -27
  694. package/node_modules/moment/src/lib/duration/humanize.js +0 -114
  695. package/node_modules/moment/src/lib/duration/iso-string.js +0 -68
  696. package/node_modules/moment/src/lib/duration/prototype.js +0 -78
  697. package/node_modules/moment/src/lib/duration/valid.js +0 -55
  698. package/node_modules/moment/src/lib/format/format.js +0 -104
  699. package/node_modules/moment/src/lib/locale/base-config.js +0 -41
  700. package/node_modules/moment/src/lib/locale/calendar.js +0 -15
  701. package/node_modules/moment/src/lib/locale/constructor.js +0 -5
  702. package/node_modules/moment/src/lib/locale/en.js +0 -39
  703. package/node_modules/moment/src/lib/locale/formats.js +0 -36
  704. package/node_modules/moment/src/lib/locale/invalid.js +0 -5
  705. package/node_modules/moment/src/lib/locale/lists.js +0 -93
  706. package/node_modules/moment/src/lib/locale/locale.js +0 -45
  707. package/node_modules/moment/src/lib/locale/locales.js +0 -249
  708. package/node_modules/moment/src/lib/locale/ordinal.js +0 -8
  709. package/node_modules/moment/src/lib/locale/pre-post-format.js +0 -3
  710. package/node_modules/moment/src/lib/locale/prototype.js +0 -88
  711. package/node_modules/moment/src/lib/locale/relative.js +0 -32
  712. package/node_modules/moment/src/lib/locale/set.js +0 -56
  713. package/node_modules/moment/src/lib/moment/add-subtract.js +0 -61
  714. package/node_modules/moment/src/lib/moment/calendar.js +0 -53
  715. package/node_modules/moment/src/lib/moment/clone.js +0 -5
  716. package/node_modules/moment/src/lib/moment/compare.js +0 -72
  717. package/node_modules/moment/src/lib/moment/constructor.js +0 -80
  718. package/node_modules/moment/src/lib/moment/creation-data.js +0 -9
  719. package/node_modules/moment/src/lib/moment/diff.js +0 -79
  720. package/node_modules/moment/src/lib/moment/format.js +0 -78
  721. package/node_modules/moment/src/lib/moment/from.js +0 -20
  722. package/node_modules/moment/src/lib/moment/get-set.js +0 -117
  723. package/node_modules/moment/src/lib/moment/locale.js +0 -34
  724. package/node_modules/moment/src/lib/moment/min-max.js +0 -62
  725. package/node_modules/moment/src/lib/moment/moment.js +0 -28
  726. package/node_modules/moment/src/lib/moment/now.js +0 -3
  727. package/node_modules/moment/src/lib/moment/prototype.js +0 -197
  728. package/node_modules/moment/src/lib/moment/start-end-of.js +0 -164
  729. package/node_modules/moment/src/lib/moment/to-type.js +0 -42
  730. package/node_modules/moment/src/lib/moment/to.js +0 -20
  731. package/node_modules/moment/src/lib/moment/valid.js +0 -15
  732. package/node_modules/moment/src/lib/parse/regex.js +0 -84
  733. package/node_modules/moment/src/lib/parse/token.js +0 -36
  734. package/node_modules/moment/src/lib/units/aliases.js +0 -75
  735. package/node_modules/moment/src/lib/units/constants.js +0 -9
  736. package/node_modules/moment/src/lib/units/day-of-month.js +0 -35
  737. package/node_modules/moment/src/lib/units/day-of-week.js +0 -432
  738. package/node_modules/moment/src/lib/units/day-of-year.js +0 -28
  739. package/node_modules/moment/src/lib/units/era.js +0 -293
  740. package/node_modules/moment/src/lib/units/hour.js +0 -152
  741. package/node_modules/moment/src/lib/units/millisecond.js +0 -66
  742. package/node_modules/moment/src/lib/units/minute.js +0 -24
  743. package/node_modules/moment/src/lib/units/month.js +0 -340
  744. package/node_modules/moment/src/lib/units/offset.js +0 -249
  745. package/node_modules/moment/src/lib/units/priorities.js +0 -34
  746. package/node_modules/moment/src/lib/units/quarter.js +0 -24
  747. package/node_modules/moment/src/lib/units/second.js +0 -24
  748. package/node_modules/moment/src/lib/units/timestamp.js +0 -20
  749. package/node_modules/moment/src/lib/units/timezone.js +0 -16
  750. package/node_modules/moment/src/lib/units/units.js +0 -20
  751. package/node_modules/moment/src/lib/units/week-calendar-utils.js +0 -66
  752. package/node_modules/moment/src/lib/units/week-year.js +0 -128
  753. package/node_modules/moment/src/lib/units/week.js +0 -62
  754. package/node_modules/moment/src/lib/units/year.js +0 -75
  755. package/node_modules/moment/src/lib/utils/abs-ceil.js +0 -7
  756. package/node_modules/moment/src/lib/utils/abs-floor.js +0 -8
  757. package/node_modules/moment/src/lib/utils/abs-round.js +0 -7
  758. package/node_modules/moment/src/lib/utils/compare-arrays.js +0 -18
  759. package/node_modules/moment/src/lib/utils/defaults.js +0 -10
  760. package/node_modules/moment/src/lib/utils/deprecate.js +0 -69
  761. package/node_modules/moment/src/lib/utils/extend.js +0 -19
  762. package/node_modules/moment/src/lib/utils/has-own-prop.js +0 -3
  763. package/node_modules/moment/src/lib/utils/hooks.js +0 -13
  764. package/node_modules/moment/src/lib/utils/index-of.js +0 -18
  765. package/node_modules/moment/src/lib/utils/is-array.js +0 -6
  766. package/node_modules/moment/src/lib/utils/is-calendar-spec.js +0 -25
  767. package/node_modules/moment/src/lib/utils/is-date.js +0 -6
  768. package/node_modules/moment/src/lib/utils/is-function.js +0 -6
  769. package/node_modules/moment/src/lib/utils/is-leap-year.js +0 -3
  770. package/node_modules/moment/src/lib/utils/is-moment-input.js +0 -75
  771. package/node_modules/moment/src/lib/utils/is-number.js +0 -6
  772. package/node_modules/moment/src/lib/utils/is-object-empty.js +0 -15
  773. package/node_modules/moment/src/lib/utils/is-object.js +0 -8
  774. package/node_modules/moment/src/lib/utils/is-string.js +0 -3
  775. package/node_modules/moment/src/lib/utils/is-undefined.js +0 -3
  776. package/node_modules/moment/src/lib/utils/keys.js +0 -20
  777. package/node_modules/moment/src/lib/utils/map.js +0 -9
  778. package/node_modules/moment/src/lib/utils/mod.js +0 -3
  779. package/node_modules/moment/src/lib/utils/some.js +0 -20
  780. package/node_modules/moment/src/lib/utils/to-int.js +0 -12
  781. package/node_modules/moment/src/lib/utils/zero-fill.js +0 -10
  782. package/node_modules/moment/src/locale/af.js +0 -71
  783. package/node_modules/moment/src/locale/ar-dz.js +0 -156
  784. package/node_modules/moment/src/locale/ar-kw.js +0 -55
  785. package/node_modules/moment/src/locale/ar-ly.js +0 -171
  786. package/node_modules/moment/src/locale/ar-ma.js +0 -56
  787. package/node_modules/moment/src/locale/ar-ps.js +0 -112
  788. package/node_modules/moment/src/locale/ar-sa.js +0 -105
  789. package/node_modules/moment/src/locale/ar-tn.js +0 -55
  790. package/node_modules/moment/src/locale/ar.js +0 -189
  791. package/node_modules/moment/src/locale/az.js +0 -102
  792. package/node_modules/moment/src/locale/be.js +0 -142
  793. package/node_modules/moment/src/locale/bg.js +0 -87
  794. package/node_modules/moment/src/locale/bm.js +0 -52
  795. package/node_modules/moment/src/locale/bn-bd.js +0 -129
  796. package/node_modules/moment/src/locale/bn.js +0 -119
  797. package/node_modules/moment/src/locale/bo.js +0 -124
  798. package/node_modules/moment/src/locale/br.js +0 -168
  799. package/node_modules/moment/src/locale/bs.js +0 -160
  800. package/node_modules/moment/src/locale/ca.js +0 -100
  801. package/node_modules/moment/src/locale/cs.js +0 -181
  802. package/node_modules/moment/src/locale/cv.js +0 -63
  803. package/node_modules/moment/src/locale/cy.js +0 -98
  804. package/node_modules/moment/src/locale/da.js +0 -53
  805. package/node_modules/moment/src/locale/de-at.js +0 -79
  806. package/node_modules/moment/src/locale/de-ch.js +0 -78
  807. package/node_modules/moment/src/locale/de.js +0 -78
  808. package/node_modules/moment/src/locale/dv.js +0 -90
  809. package/node_modules/moment/src/locale/el.js +0 -106
  810. package/node_modules/moment/src/locale/en-au.js +0 -68
  811. package/node_modules/moment/src/locale/en-ca.js +0 -64
  812. package/node_modules/moment/src/locale/en-gb.js +0 -68
  813. package/node_modules/moment/src/locale/en-ie.js +0 -68
  814. package/node_modules/moment/src/locale/en-il.js +0 -64
  815. package/node_modules/moment/src/locale/en-in.js +0 -68
  816. package/node_modules/moment/src/locale/en-nz.js +0 -68
  817. package/node_modules/moment/src/locale/en-sg.js +0 -68
  818. package/node_modules/moment/src/locale/eo.js +0 -68
  819. package/node_modules/moment/src/locale/es-do.js +0 -108
  820. package/node_modules/moment/src/locale/es-mx.js +0 -110
  821. package/node_modules/moment/src/locale/es-us.js +0 -110
  822. package/node_modules/moment/src/locale/es.js +0 -110
  823. package/node_modules/moment/src/locale/et.js +0 -78
  824. package/node_modules/moment/src/locale/eu.js +0 -65
  825. package/node_modules/moment/src/locale/fa.js +0 -113
  826. package/node_modules/moment/src/locale/fi.js +0 -124
  827. package/node_modules/moment/src/locale/fil.js +0 -58
  828. package/node_modules/moment/src/locale/fo.js +0 -57
  829. package/node_modules/moment/src/locale/fr-ca.js +0 -70
  830. package/node_modules/moment/src/locale/fr-ch.js +0 -74
  831. package/node_modules/moment/src/locale/fr.js +0 -108
  832. package/node_modules/moment/src/locale/fy.js +0 -75
  833. package/node_modules/moment/src/locale/ga.js +0 -95
  834. package/node_modules/moment/src/locale/gd.js +0 -95
  835. package/node_modules/moment/src/locale/gl.js +0 -75
  836. package/node_modules/moment/src/locale/gom-deva.js +0 -126
  837. package/node_modules/moment/src/locale/gom-latn.js +0 -124
  838. package/node_modules/moment/src/locale/gu.js +0 -122
  839. package/node_modules/moment/src/locale/he.js +0 -94
  840. package/node_modules/moment/src/locale/hi.js +0 -168
  841. package/node_modules/moment/src/locale/hr.js +0 -156
  842. package/node_modules/moment/src/locale/hu.js +0 -118
  843. package/node_modules/moment/src/locale/hy-am.js +0 -94
  844. package/node_modules/moment/src/locale/id.js +0 -76
  845. package/node_modules/moment/src/locale/is.js +0 -140
  846. package/node_modules/moment/src/locale/it-ch.js +0 -64
  847. package/node_modules/moment/src/locale/it.js +0 -106
  848. package/node_modules/moment/src/locale/ja.js +0 -148
  849. package/node_modules/moment/src/locale/jv.js +0 -76
  850. package/node_modules/moment/src/locale/ka.js +0 -92
  851. package/node_modules/moment/src/locale/kk.js +0 -82
  852. package/node_modules/moment/src/locale/km.js +0 -103
  853. package/node_modules/moment/src/locale/kn.js +0 -124
  854. package/node_modules/moment/src/locale/ko.js +0 -75
  855. package/node_modules/moment/src/locale/ku-kmr.js +0 -121
  856. package/node_modules/moment/src/locale/ku.js +0 -118
  857. package/node_modules/moment/src/locale/ky.js +0 -84
  858. package/node_modules/moment/src/locale/lb.js +0 -137
  859. package/node_modules/moment/src/locale/lo.js +0 -66
  860. package/node_modules/moment/src/locale/lt.js +0 -125
  861. package/node_modules/moment/src/locale/lv.js +0 -94
  862. package/node_modules/moment/src/locale/me.js +0 -117
  863. package/node_modules/moment/src/locale/mi.js +0 -60
  864. package/node_modules/moment/src/locale/mk.js +0 -85
  865. package/node_modules/moment/src/locale/ml.js +0 -82
  866. package/node_modules/moment/src/locale/mn.js +0 -100
  867. package/node_modules/moment/src/locale/mr.js +0 -203
  868. package/node_modules/moment/src/locale/ms-my.js +0 -76
  869. package/node_modules/moment/src/locale/ms.js +0 -75
  870. package/node_modules/moment/src/locale/mt.js +0 -56
  871. package/node_modules/moment/src/locale/my.js +0 -91
  872. package/node_modules/moment/src/locale/nb.js +0 -60
  873. package/node_modules/moment/src/locale/ne.js +0 -121
  874. package/node_modules/moment/src/locale/nl-be.js +0 -102
  875. package/node_modules/moment/src/locale/nl.js +0 -104
  876. package/node_modules/moment/src/locale/nn.js +0 -59
  877. package/node_modules/moment/src/locale/oc-lnc.js +0 -85
  878. package/node_modules/moment/src/locale/pa-in.js +0 -122
  879. package/node_modules/moment/src/locale/pl.js +0 -140
  880. package/node_modules/moment/src/locale/pt-br.js +0 -58
  881. package/node_modules/moment/src/locale/pt.js +0 -63
  882. package/node_modules/moment/src/locale/ro.js +0 -76
  883. package/node_modules/moment/src/locale/ru.js +0 -213
  884. package/node_modules/moment/src/locale/sd.js +0 -81
  885. package/node_modules/moment/src/locale/se.js +0 -57
  886. package/node_modules/moment/src/locale/si.js +0 -69
  887. package/node_modules/moment/src/locale/sk.js +0 -145
  888. package/node_modules/moment/src/locale/sl.js +0 -171
  889. package/node_modules/moment/src/locale/sq.js +0 -65
  890. package/node_modules/moment/src/locale/sr-cyrl.js +0 -127
  891. package/node_modules/moment/src/locale/sr.js +0 -129
  892. package/node_modules/moment/src/locale/ss.js +0 -84
  893. package/node_modules/moment/src/locale/sv.js +0 -68
  894. package/node_modules/moment/src/locale/sw.js +0 -55
  895. package/node_modules/moment/src/locale/ta.js +0 -131
  896. package/node_modules/moment/src/locale/te.js +0 -88
  897. package/node_modules/moment/src/locale/tet.js +0 -68
  898. package/node_modules/moment/src/locale/tg.js +0 -117
  899. package/node_modules/moment/src/locale/th.js +0 -65
  900. package/node_modules/moment/src/locale/tk.js +0 -91
  901. package/node_modules/moment/src/locale/tl-ph.js +0 -57
  902. package/node_modules/moment/src/locale/tlh.js +0 -124
  903. package/node_modules/moment/src/locale/tr.js +0 -106
  904. package/node_modules/moment/src/locale/tzl.js +0 -89
  905. package/node_modules/moment/src/locale/tzm-latn.js +0 -54
  906. package/node_modules/moment/src/locale/tzm.js +0 -54
  907. package/node_modules/moment/src/locale/ug-cn.js +0 -111
  908. package/node_modules/moment/src/locale/uk.js +0 -167
  909. package/node_modules/moment/src/locale/ur.js +0 -82
  910. package/node_modules/moment/src/locale/uz-latn.js +0 -54
  911. package/node_modules/moment/src/locale/uz.js +0 -51
  912. package/node_modules/moment/src/locale/vi.js +0 -80
  913. package/node_modules/moment/src/locale/x-pseudo.js +0 -73
  914. package/node_modules/moment/src/locale/yo.js +0 -53
  915. package/node_modules/moment/src/locale/zh-cn.js +0 -120
  916. package/node_modules/moment/src/locale/zh-hk.js +0 -101
  917. package/node_modules/moment/src/locale/zh-mo.js +0 -100
  918. package/node_modules/moment/src/locale/zh-tw.js +0 -99
  919. package/node_modules/moment/src/moment.js +0 -93
  920. package/node_modules/moment/ts3.1-typings/moment.d.ts +0 -785
  921. package/node_modules/nanoid/LICENSE +0 -20
  922. package/node_modules/nanoid/README.md +0 -38
  923. package/node_modules/nanoid/async/index.browser.js +0 -33
  924. package/node_modules/nanoid/async/index.d.ts +0 -56
  925. package/node_modules/nanoid/async/index.js +0 -34
  926. package/node_modules/nanoid/async/index.native.js +0 -25
  927. package/node_modules/nanoid/bin/nanoid.js +0 -46
  928. package/node_modules/nanoid/index.browser.js +0 -33
  929. package/node_modules/nanoid/index.d.ts +0 -91
  930. package/node_modules/nanoid/index.js +0 -45
  931. package/node_modules/nanoid/nanoid.js +0 -1
  932. package/node_modules/nanoid/non-secure/index.d.ts +0 -33
  933. package/node_modules/nanoid/non-secure/index.js +0 -20
  934. package/node_modules/nanoid/package.json +0 -46
  935. package/node_modules/nanoid/url-alphabet/index.js +0 -2
  936. package/node_modules/ts-md5/LICENSE +0 -21
  937. package/node_modules/ts-md5/README.md +0 -101
  938. package/node_modules/ts-md5/dist/cjs/index.d.ts +0 -3
  939. package/node_modules/ts-md5/dist/cjs/index.js +0 -10
  940. package/node_modules/ts-md5/dist/cjs/index.js.map +0 -1
  941. package/node_modules/ts-md5/dist/cjs/md5.d.ts +0 -70
  942. package/node_modules/ts-md5/dist/cjs/md5.js +0 -429
  943. package/node_modules/ts-md5/dist/cjs/md5.js.map +0 -1
  944. package/node_modules/ts-md5/dist/cjs/md5_file_hasher.d.ts +0 -25
  945. package/node_modules/ts-md5/dist/cjs/md5_file_hasher.js +0 -96
  946. package/node_modules/ts-md5/dist/cjs/md5_file_hasher.js.map +0 -1
  947. package/node_modules/ts-md5/dist/cjs/parallel_hasher.d.ts +0 -22
  948. package/node_modules/ts-md5/dist/cjs/parallel_hasher.js +0 -69
  949. package/node_modules/ts-md5/dist/cjs/parallel_hasher.js.map +0 -1
  950. package/node_modules/ts-md5/dist/esm/index.d.ts +0 -3
  951. package/node_modules/ts-md5/dist/esm/index.js +0 -4
  952. package/node_modules/ts-md5/dist/esm/index.js.map +0 -1
  953. package/node_modules/ts-md5/dist/esm/md5.d.ts +0 -70
  954. package/node_modules/ts-md5/dist/esm/md5.js +0 -421
  955. package/node_modules/ts-md5/dist/esm/md5.js.map +0 -1
  956. package/node_modules/ts-md5/dist/esm/md5_file_hasher.d.ts +0 -25
  957. package/node_modules/ts-md5/dist/esm/md5_file_hasher.js +0 -89
  958. package/node_modules/ts-md5/dist/esm/md5_file_hasher.js.map +0 -1
  959. package/node_modules/ts-md5/dist/esm/parallel_hasher.d.ts +0 -22
  960. package/node_modules/ts-md5/dist/esm/parallel_hasher.js +0 -64
  961. package/node_modules/ts-md5/dist/esm/parallel_hasher.js.map +0 -1
  962. package/node_modules/ts-md5/dist/md5.js +0 -429
  963. package/node_modules/ts-md5/dist/md5_worker.js +0 -523
  964. package/node_modules/ts-md5/package.json +0 -82
  965. package/node_modules/ts-md5/src/index.ts +0 -4
  966. package/node_modules/ts-md5/src/md5.ts +0 -473
  967. package/node_modules/ts-md5/src/md5_file_hasher.ts +0 -110
  968. package/node_modules/ts-md5/src/parallel_hasher.ts +0 -90
  969. package/node_modules/ts-md5/src/worker.js +0 -20
  970. package/tfsec.json +0 -4
@@ -0,0 +1,836 @@
1
+ # Terraform CDK Constructs - High-Level Architecture
2
+
3
+ **Version:** 1.0.0
4
+ **Last Updated:** 2025-10-22
5
+ **Status:** AZAPI Provider Implementation
6
+
7
+ ---
8
+
9
+ ## Table of Contents
10
+
11
+ 1. [Executive Summary](#executive-summary)
12
+ 2. [Architecture Overview](#architecture-overview)
13
+ 3. [Core Components](#core-components)
14
+ 4. [Package Structure](#package-structure)
15
+ 5. [Key Architectural Patterns](#key-architectural-patterns)
16
+ 6. [Version Management System](#version-management-system)
17
+ 7. [Resource Creation Flow](#resource-creation-flow)
18
+ 8. [Testing Architecture](#testing-architecture)
19
+ 9. [Multi-Language Support](#multi-language-support)
20
+ 10. [Design Principles](#design-principles)
21
+ 11. [Future Extensibility](#future-extensibility)
22
+
23
+ ---
24
+
25
+ ## Executive Summary
26
+
27
+ The `@microsoft/terraform-cdk-constructs` package is a TypeScript-based library that provides **Level 2 (L2) constructs** for Azure infrastructure using the **AZAPI provider**. Version 1.0.0 represents a major architectural shift from AzureRM provider to AZAPI provider, enabling direct Azure REST API access without provider limitations.
28
+
29
+ ### Key Characteristics
30
+
31
+ - **Direct API Access**: Uses AZAPI provider for immediate access to new Azure features
32
+ - **Version-Aware**: Automatic API version management with migration guidance
33
+ - **Multi-Language**: JSII-compliant for TypeScript, Python, Java, and C#/.NET
34
+ - **Self-Contained**: Includes AZAPI provider bindings (no external generation needed)
35
+ - **Production-Ready**: Comprehensive testing with unit, integration, and E2E tests
36
+
37
+ ---
38
+
39
+ ## Architecture Overview
40
+
41
+ ```mermaid
42
+ graph TB
43
+ subgraph "User Layer"
44
+ A[TypeScript/Python/Java/C# Code]
45
+ end
46
+
47
+ subgraph "L2 Constructs Layer"
48
+ B[ResourceGroup]
49
+ C[StorageAccount]
50
+ D[Future Services]
51
+ end
52
+
53
+ subgraph "Core Framework Layer"
54
+ E[AzapiResource Base Class]
55
+ F[ApiVersionManager]
56
+ G[SchemaMapper]
57
+ end
58
+
59
+ subgraph "AZAPI Provider Layer"
60
+ H[AZAPI Resource]
61
+ I[AZAPI Data Sources]
62
+ J[Client Config]
63
+ end
64
+
65
+ subgraph "Azure Layer"
66
+ K[Azure REST APIs]
67
+ end
68
+
69
+ A --> B
70
+ A --> C
71
+ A --> D
72
+
73
+ B --> E
74
+ C --> E
75
+ D --> E
76
+
77
+ E --> F
78
+ E --> G
79
+ E --> H
80
+
81
+ H --> K
82
+ I --> K
83
+ J --> K
84
+
85
+ F -.Version Resolution.-> E
86
+ G -.Schema Validation.-> E
87
+ ```
88
+
89
+ ### Architectural Layers
90
+
91
+ 1. **User Layer**: Developer code in multiple languages
92
+ 2. **L2 Constructs Layer**: High-level Azure service abstractions
93
+ 3. **Core Framework Layer**: Version management and validation
94
+ 4. **AZAPI Provider Layer**: Direct Azure API communication
95
+ 5. **Azure Layer**: Azure REST APIs
96
+
97
+ ---
98
+
99
+ ## Core Components
100
+
101
+ ### 1. AzapiResource (Base Class)
102
+
103
+ **Location**: [`src/core-azure/lib/azapi/azapi-resource.ts`](../src/core-azure/lib/azapi/azapi-resource.ts)
104
+
105
+ The foundational abstract class for all Azure resources with version awareness.
106
+
107
+ #### Responsibilities
108
+
109
+ - **Version Resolution**: Automatic latest version or explicit pinning
110
+ - **Schema Management**: Load and validate API schemas
111
+ - **Property Processing**: Transform and validate properties
112
+ - **Migration Analysis**: Detect breaking changes and provide guidance
113
+ - **Resource Creation**: Generate AZAPI Terraform resources
114
+ - **Lifecycle Management**: RBAC and diagnostic settings support
115
+
116
+ #### Key Features
117
+
118
+ ```typescript
119
+ export abstract class AzapiResource extends Construct {
120
+ // Version management
121
+ public readonly resolvedApiVersion: string;
122
+ public readonly schema: ApiSchema;
123
+ public readonly versionConfig: VersionConfig;
124
+
125
+ // Abstract methods (must be implemented by subclasses)
126
+ protected abstract defaultVersion(): string;
127
+ protected abstract resourceType(): string;
128
+ protected abstract apiSchema(): ApiSchema;
129
+ protected abstract createResourceBody(props: any): any;
130
+
131
+ // Public API
132
+ public latestVersion(): string | undefined;
133
+ public supportedVersions(): string[];
134
+ public analyzeMigrationTo(targetVersion: string): MigrationAnalysis;
135
+ }
136
+ ```
137
+
138
+ ### 2. ApiVersionManager (Singleton)
139
+
140
+ **Location**: [`src/core-azure/lib/version-manager/api-version-manager.ts`](../src/core-azure/lib/version-manager/api-version-manager.ts)
141
+
142
+ Centralized registry for managing Azure API versions across all resource types.
143
+
144
+ #### Responsibilities
145
+
146
+ - **Version Registration**: Store version metadata and schemas
147
+ - **Version Resolution**: Find latest/best version based on constraints
148
+ - **Compatibility Analysis**: Analyze migration paths between versions
149
+ - **Lifecycle Tracking**: Monitor version deprecation and sunset phases
150
+
151
+ #### Key Features
152
+
153
+ ```typescript
154
+ export class ApiVersionManager {
155
+ // Singleton access
156
+ public static instance(): ApiVersionManager;
157
+
158
+ // Version registration
159
+ public registerResourceType(resourceType: string, versions: VersionConfig[]): void;
160
+
161
+ // Version queries
162
+ public latestVersion(resourceType: string): string | undefined;
163
+ public supportedVersions(resourceType: string): string[];
164
+ public versionConfig(resourceType: string, version: string): VersionConfig | undefined;
165
+
166
+ // Analysis
167
+ public analyzeMigration(resourceType: string, from: string, to: string): MigrationAnalysis;
168
+ public validateVersionSupport(resourceType: string, version: string): boolean;
169
+ }
170
+ ```
171
+
172
+ ### 3. SchemaMapper
173
+
174
+ **Location**: [`src/core-azure/lib/azapi/schema-mapper/schema-mapper.ts`](../src/core-azure/lib/azapi/schema-mapper/schema-mapper.ts)
175
+
176
+ Property transformation and validation engine for API schemas.
177
+
178
+ #### Responsibilities
179
+
180
+ - **Property Transformation**: Map properties between schema versions
181
+ - **Validation**: Comprehensive property validation with detailed errors
182
+ - **Default Application**: Inject default values from schemas
183
+ - **Type Conversion**: Convert between property types safely
184
+
185
+ #### Key Features
186
+
187
+ ```typescript
188
+ export class SchemaMapper {
189
+ public static create(schema: ApiSchema): SchemaMapper;
190
+
191
+ // Transformation
192
+ public transformProperties(sourceProps: any, targetSchema: ApiSchema): any;
193
+ public mapProperty(name: string, value: any, target: PropertyDefinition): any;
194
+
195
+ // Validation
196
+ public validateProperties(properties: any): ValidationResult;
197
+
198
+ // Defaults
199
+ public applyDefaults(properties: any): any;
200
+ }
201
+ ```
202
+
203
+ ### 4. AZAPI Provider Classes
204
+
205
+ **Location**: [`src/core-azure/lib/azapi/providers-azapi/`](../src/core-azure/lib/azapi/providers-azapi/)
206
+
207
+ Pre-generated TypeScript classes for AZAPI provider resources and data sources.
208
+
209
+ #### Included Classes
210
+
211
+ - **Resource**: Main AZAPI resource for Azure API calls
212
+ - **DataAzapiClientConfig**: Azure subscription and tenant information
213
+ - **DataAzapiResource**: Read existing Azure resources
214
+ - **ResourceAction**: Invoke Azure resource actions
215
+ - **UpdateResource**: Update existing resources
216
+ - **DataPlaneResource**: Data plane operations
217
+
218
+ ---
219
+
220
+ ## Package Structure
221
+
222
+ ```
223
+ terraform-cdk-constructs/
224
+ ├── src/
225
+ │ ├── index.ts # Main package entry point
226
+ │ │
227
+ │ ├── core-azure/ # Core framework
228
+ │ │ ├── index.ts # Core exports
229
+ │ │ └── lib/
230
+ │ │ ├── azapi/
231
+ │ │ │ ├── azapi-resource.ts # Base class for all resources
232
+ │ │ │ ├── azapi-exports.ts # Public API exports
233
+ │ │ │ ├── providers-azapi/ # AZAPI provider classes
234
+ │ │ │ └── schema-mapper/ # Property transformation
235
+ │ │ │ └── schema-mapper.ts
236
+ │ │ └── version-manager/ # Version management
237
+ │ │ ├── api-version-manager.ts
238
+ │ │ ├── version-manager.ts
239
+ │ │ └── interfaces/
240
+ │ │ └── version-interfaces.ts
241
+ │ │
242
+ │ ├── azure-resourcegroup/ # Resource Group construct
243
+ │ │ ├── index.ts
244
+ │ │ ├── lib/
245
+ │ │ │ ├── resource-group.ts # Implementation
246
+ │ │ │ └── resource-group-schemas.ts # API schemas
247
+ │ │ └── test/
248
+ │ │ ├── resource-group.spec.ts # Unit tests
249
+ │ │ └── resource-group.integ.ts # Integration tests
250
+ │ │
251
+ │ ├── azure-storageaccount/ # Storage Account construct
252
+ │ │ ├── index.ts
253
+ │ │ ├── lib/
254
+ │ │ │ ├── storage-account.ts
255
+ │ │ │ └── storage-account-schemas.ts
256
+ │ │ └── test/
257
+ │ │ ├── storage-account.spec.ts
258
+ │ │ └── storage-account.integ.ts
259
+ │ │
260
+ │ ├── testing/ # Testing utilities
261
+ │ │ └── index.ts # Test helpers
262
+ │ │
263
+ │ └── util/ # Utility functions
264
+ │ ├── azureTenantIdHelpers.ts
265
+ │ └── randomName.ts
266
+
267
+ ├── docs/ # Documentation
268
+ │ ├── ARCHITECTURE.md # This file
269
+ │ ├── design_guide.md # Design guidelines
270
+ │ ├── testing.md # Testing guide
271
+ │ └── versioning-and-migrations-user-guide.md
272
+
273
+ ├── .projenrc.ts # Projen configuration
274
+ ├── package.json # NPM package manifest
275
+ ├── tsconfig.dev.json # TypeScript configuration
276
+ └── README.md # Package readme
277
+ ```
278
+
279
+ ---
280
+
281
+ ## Key Architectural Patterns
282
+
283
+ ### 1. Template Method Pattern
284
+
285
+ **AzapiResource** uses the Template Method pattern where the base class defines the algorithm structure, and subclasses implement specific steps:
286
+
287
+ ```typescript
288
+ // Base class defines the algorithm
289
+ constructor(scope: Construct, id: string, props: AzapiResourceProps) {
290
+ super(scope, id);
291
+
292
+ // 1. Resolve version
293
+ this.resolvedApiVersion = this._resolveApiVersion(props.apiVersion);
294
+
295
+ // 2. Load schema
296
+ this.schema = this.apiSchema(); // Abstract method
297
+
298
+ // 3. Process properties
299
+ const processedProps = this._processProperties(props);
300
+
301
+ // 4. Validate
302
+ this.validationResult = this._validateProperties(processedProps);
303
+
304
+ // 5. Create resource
305
+ this._createAzureResource(processedProps); // Uses abstract createResourceBody()
306
+ }
307
+ ```
308
+
309
+ ### 2. Singleton Pattern
310
+
311
+ **ApiVersionManager** uses a JSII-compliant singleton to ensure a single version registry:
312
+
313
+ ```typescript
314
+ export class ApiVersionManager {
315
+ private static _instance: ApiVersionManager | undefined;
316
+
317
+ public static instance(): ApiVersionManager {
318
+ if (!ApiVersionManager._instance) {
319
+ ApiVersionManager._instance = new ApiVersionManager();
320
+ }
321
+ return ApiVersionManager._instance;
322
+ }
323
+
324
+ private constructor() {
325
+ // Initialize registries
326
+ }
327
+ }
328
+ ```
329
+
330
+ ### 3. Factory Pattern
331
+
332
+ **SchemaMapper** uses a factory method for creating validated instances:
333
+
334
+ ```typescript
335
+ export class SchemaMapper {
336
+ public static create(schema: ApiSchema): SchemaMapper {
337
+ // Validate schema
338
+ if (!schema || !schema.resourceType) {
339
+ throw new Error("Invalid schema");
340
+ }
341
+ return new SchemaMapper(schema);
342
+ }
343
+
344
+ private constructor(schema: ApiSchema) {
345
+ // Private constructor enforces factory usage
346
+ }
347
+ }
348
+ ```
349
+
350
+ ### 4. Strategy Pattern
351
+
352
+ Version resolution uses different strategies based on context:
353
+
354
+ - **Automatic**: Use latest active version
355
+ - **Pinned**: Use explicitly specified version
356
+ - **Constrained**: Use version matching constraints
357
+
358
+ ---
359
+
360
+ ## Version Management System
361
+
362
+ ### Version Lifecycle
363
+
364
+ ```mermaid
365
+ stateDiagram-v2
366
+ [*] --> Active: Release
367
+ Active --> Maintenance: Feature Complete
368
+ Maintenance --> Deprecated: Migration Available
369
+ Deprecated --> Sunset: End of Support
370
+ Sunset --> [*]: Removed
371
+
372
+ note right of Active
373
+ Full support
374
+ New features
375
+ Recommended
376
+ end note
377
+
378
+ note right of Maintenance
379
+ Bug fixes only
380
+ No new features
381
+ Still supported
382
+ end note
383
+
384
+ note right of Deprecated
385
+ Migration recommended
386
+ Limited support
387
+ Warnings shown
388
+ end note
389
+
390
+ note right of Sunset
391
+ End of life
392
+ Immediate migration
393
+ May be removed
394
+ end note
395
+ ```
396
+
397
+ ### Version Resolution Algorithm
398
+
399
+ ```typescript
400
+ function resolveApiVersion(explicitVersion?: string, resourceType: string): string {
401
+ // 1. If version explicitly specified, validate and use it
402
+ if (explicitVersion) {
403
+ if (!validateVersionSupport(resourceType, explicitVersion)) {
404
+ throw new Error(`Unsupported version: ${explicitVersion}`);
405
+ }
406
+ return explicitVersion;
407
+ }
408
+
409
+ // 2. Try to get latest active version from registry
410
+ const latestVersion = apiVersionManager.latestVersion(resourceType);
411
+ if (latestVersion) {
412
+ return latestVersion;
413
+ }
414
+
415
+ // 3. Fall back to default version from subclass
416
+ const defaultVersion = defaultVersion();
417
+ console.warn(`Using default version: ${defaultVersion}`);
418
+ return defaultVersion;
419
+ }
420
+ ```
421
+
422
+ ### Migration Analysis
423
+
424
+ ```mermaid
425
+ graph LR
426
+ A[Source Version] --> B[Collect Breaking Changes]
427
+ B --> C[Calculate Effort]
428
+ C --> D[Check Auto-Upgrade]
429
+ D --> E[Generate Warnings]
430
+ E --> F[Return Analysis]
431
+
432
+ style A fill:#e1f5ff
433
+ style F fill:#c8e6c9
434
+ ```
435
+
436
+ ---
437
+
438
+ ## Resource Creation Flow
439
+
440
+ ### Complete Lifecycle
441
+
442
+ ```mermaid
443
+ sequenceDiagram
444
+ participant U as User Code
445
+ participant RC as Resource Construct
446
+ participant AR as AzapiResource
447
+ participant AVM as ApiVersionManager
448
+ participant SM as SchemaMapper
449
+ participant AP as AZAPI Provider
450
+ participant Azure as Azure API
451
+
452
+ U->>RC: new ResourceGroup(props)
453
+ RC->>RC: ensureSchemasRegistered()
454
+ RC->>AVM: registerResourceType()
455
+
456
+ RC->>AR: super(scope, id, props)
457
+ AR->>AVM: resolveApiVersion()
458
+ AVM-->>AR: resolvedVersion
459
+
460
+ AR->>AVM: versionConfig()
461
+ AVM-->>AR: schema + metadata
462
+
463
+ AR->>SM: create(schema)
464
+ SM-->>AR: schemaMapper
465
+
466
+ AR->>SM: applyDefaults(props)
467
+ SM-->>AR: propsWithDefaults
468
+
469
+ AR->>SM: validateProperties()
470
+ SM-->>AR: validationResult
471
+
472
+ alt Validation Failed
473
+ AR-->>U: throw Error
474
+ end
475
+
476
+ AR->>AVM: analyzeMigration()
477
+ AVM-->>AR: migrationAnalysis
478
+
479
+ AR->>RC: createResourceBody()
480
+ RC-->>AR: resourceBody
481
+
482
+ AR->>AP: new Resource(config)
483
+ AP->>Azure: REST API Call
484
+ Azure-->>AP: Response
485
+ AP-->>AR: terraformResource
486
+
487
+ AR->>AR: logFrameworkMessages()
488
+ AR-->>U: Resource Instance
489
+ ```
490
+
491
+ ### Step-by-Step Process
492
+
493
+ 1. **User Creates Resource**: Instantiates L2 construct (e.g., ResourceGroup)
494
+ 2. **Schema Registration**: Ensure API versions registered with ApiVersionManager
495
+ 3. **Version Resolution**: Determine which API version to use
496
+ 4. **Schema Loading**: Load schema and version configuration
497
+ 5. **Property Processing**: Apply defaults and transformations
498
+ 6. **Validation**: Validate properties against schema
499
+ 7. **Migration Analysis**: Check for deprecations and breaking changes
500
+ 8. **Resource Creation**: Generate AZAPI Terraform resource
501
+ 9. **Warning Display**: Show deprecation warnings and migration guidance
502
+
503
+ ---
504
+
505
+ ## Testing Architecture
506
+
507
+ ### Testing Pyramid
508
+
509
+ ```mermaid
510
+ graph TB
511
+ subgraph "E2E Tests (Few)"
512
+ A[Complete Scenarios<br/>Real Deployments]
513
+ end
514
+
515
+ subgraph "Integration Tests (Some)"
516
+ B[Terraform Apply<br/>Idempotency Check<br/>Terraform Destroy]
517
+ end
518
+
519
+ subgraph "Unit Tests (Many)"
520
+ C[Snapshot Tests<br/>Terraform Validate<br/>Terraform Plan]
521
+ end
522
+
523
+ A --> B
524
+ B --> C
525
+
526
+ style A fill:#ffcdd2
527
+ style B fill:#fff9c4
528
+ style C fill:#c8e6c9
529
+ ```
530
+
531
+ ### Test Types
532
+
533
+ #### Unit Tests (`.spec.ts`)
534
+
535
+ **Purpose**: Fast validation without Azure deployment
536
+
537
+ **Tools**: Jest, CDKTF Testing Framework
538
+
539
+ **Coverage**:
540
+ - Snapshot testing for configuration drift detection
541
+ - Terraform validate for syntax checking
542
+ - Terraform plan for basic validation
543
+
544
+ ```typescript
545
+ describe("Resource Group With Defaults", () => {
546
+ it("renders correctly and matches snapshot", () => {
547
+ const stack = new TerraformStack(app, "test");
548
+ new ResourceGroup(stack, "rg", {
549
+ name: "test-rg",
550
+ location: "eastus"
551
+ });
552
+ expect(Testing.synth(stack)).toMatchSnapshot();
553
+ });
554
+
555
+ it("produces valid terraform configuration", () => {
556
+ expect(Testing.fullSynth(stack)).toBeValidTerraform();
557
+ });
558
+ });
559
+ ```
560
+
561
+ #### Integration Tests (`.integ.ts`)
562
+
563
+ **Purpose**: Real deployment validation
564
+
565
+ **Tools**: Jest, Azure CLI authentication
566
+
567
+ **Coverage**:
568
+ - terraform apply → Create resources
569
+ - terraform plan → Verify idempotency
570
+ - terraform destroy → Cleanup validation
571
+
572
+ ```typescript
573
+ describe("Resource Group Integration", () => {
574
+ it("can be created and destroyed", () => {
575
+ const app = Testing.app();
576
+ const stack = new TerraformStack(app, "test");
577
+
578
+ new ResourceGroup(stack, "rg", {
579
+ name: `rg-test-${randomName()}`,
580
+ location: "eastus"
581
+ });
582
+
583
+ const output = app.synth();
584
+ TerraformApplyAndCheckIdempotency(output);
585
+ TerraformDestroy(output);
586
+ });
587
+ });
588
+ ```
589
+
590
+ ### Test Utilities
591
+
592
+ **Location**: [`src/testing/index.ts`](../src/testing/index.ts)
593
+
594
+ Provides helper functions for testing:
595
+
596
+ - `TerraformApply()`: Deploy infrastructure
597
+ - `TerraformPlan()`: Generate execution plan
598
+ - `TerraformPlanExitCode()`: Check plan status
599
+ - `TerraformDestroy()`: Cleanup resources
600
+ - `TerraformApplyAndCheckIdempotency()`: Full integration test
601
+ - `TerraformIdempotentCheck()`: Verify no changes needed
602
+
603
+ ---
604
+
605
+ ## Multi-Language Support
606
+
607
+ ### JSII Compilation
608
+
609
+ The package uses **JSII (JavaScript Interoperability Interface)** to generate bindings for multiple languages:
610
+
611
+ ```mermaid
612
+ graph LR
613
+ A[TypeScript Source] --> B[JSII Compiler]
614
+ B --> C[JavaScript/TypeScript]
615
+ B --> D[Python]
616
+ B --> E[Java]
617
+ B --> F[C#/.NET]
618
+
619
+ style A fill:#e1f5ff
620
+ style B fill:#fff9c4
621
+ style C fill:#c8e6c9
622
+ style D fill:#c8e6c9
623
+ style E fill:#c8e6c9
624
+ style F fill:#c8e6c9
625
+ ```
626
+
627
+ ### Language-Specific Packages
628
+
629
+ | Language | Package | Example |
630
+ |----------|---------|---------|
631
+ | TypeScript/JavaScript | `@microsoft/terraform-cdk-constructs` | `npm install @microsoft/terraform-cdk-constructs` |
632
+ | Python | `microsoft-cdktfconstructs` | `pip install microsoft-cdktfconstructs` |
633
+ | Java | `com.microsoft.terraformcdkconstructs` | Maven/Gradle dependency |
634
+ | C#/.NET | `Microsoft.Cdktf.Azure.TFConstructs` | `dotnet add package Microsoft.Cdktf.Azure.TFConstructs` |
635
+
636
+ ### JSII Compatibility Guidelines
637
+
638
+ To ensure multi-language support, the codebase follows JSII constraints:
639
+
640
+ 1. **No function types in public APIs** (use interfaces with methods)
641
+ 2. **Use concrete types** (avoid complex generics)
642
+ 3. **Implement proper serialization** for all data structures
643
+ 4. **Explicit return types** for all public methods
644
+ 5. **Singleton patterns** using instance methods
645
+
646
+ ---
647
+
648
+ ## Design Principles
649
+
650
+ ### 1. User-Centric Design
651
+
652
+ Focus on how developers think, not how Azure APIs work:
653
+
654
+ ```typescript
655
+ // Good: Simple, intuitive API
656
+ new ResourceGroup(this, "rg", {
657
+ name: "my-rg",
658
+ location: "eastus"
659
+ });
660
+
661
+ // Avoid: Exposing Azure API complexity
662
+ new ResourceGroup(this, "rg", {
663
+ properties: {
664
+ location: "eastus"
665
+ },
666
+ type: "Microsoft.Resources/resourceGroups@2024-11-01"
667
+ });
668
+ ```
669
+
670
+ ### 2. Sensible Defaults
671
+
672
+ Minimize required properties, provide secure defaults:
673
+
674
+ ```typescript
675
+ // Only essential properties required
676
+ const rg = new ResourceGroup(this, "rg", {
677
+ name: "my-rg",
678
+ location: "eastus"
679
+ // Optional: tags, managedBy, apiVersion, etc.
680
+ });
681
+ ```
682
+
683
+ ### 3. Version Transparency
684
+
685
+ Automatic version management with opt-in pinning:
686
+
687
+ ```typescript
688
+ // Automatic (recommended): Uses latest active version
689
+ new ResourceGroup(this, "rg", { name: "rg", location: "eastus" });
690
+
691
+ // Pinned (for stability): Uses specific version
692
+ new ResourceGroup(this, "rg", {
693
+ name: "rg",
694
+ location: "eastus",
695
+ apiVersion: "2024-11-01"
696
+ });
697
+ ```
698
+
699
+ ### 4. Progressive Disclosure
700
+
701
+ Advanced features available but not required:
702
+
703
+ - **Level 1**: Basic resource creation with defaults
704
+ - **Level 2**: Custom configuration with props
705
+ - **Level 3**: Advanced features (RBAC, diagnostics)
706
+ - **Level 4**: Version management and migration
707
+
708
+ ### 5. Fail-Fast Validation
709
+
710
+ Catch errors early with detailed messages:
711
+
712
+ ```typescript
713
+ // Validation happens at construct time
714
+ try {
715
+ new ResourceGroup(this, "rg", {
716
+ name: "", // Invalid
717
+ location: "eastus"
718
+ });
719
+ } catch (error) {
720
+ // Error: Property validation failed for Microsoft.Resources/resourceGroups:
721
+ // - Required property 'name' is missing
722
+ }
723
+ ```
724
+
725
+ ---
726
+
727
+ ## Future Extensibility
728
+
729
+ ### Adding New Azure Services
730
+
731
+ The framework is designed for easy extensibility. Adding a new service requires:
732
+
733
+ 1. **Create service directory** in `src/`
734
+ 2. **Define schemas** for each API version
735
+ 3. **Implement construct** extending `AzapiResource`
736
+ 4. **Register versions** with `ApiVersionManager`
737
+ 5. **Add tests** (unit and integration)
738
+
739
+ ```typescript
740
+ // Example: Adding a new service
741
+ export class KeyVault extends AzapiResource {
742
+ protected defaultVersion(): string {
743
+ return "2024-01-01";
744
+ }
745
+
746
+ protected resourceType(): string {
747
+ return "Microsoft.KeyVault/vaults";
748
+ }
749
+
750
+ protected apiSchema(): ApiSchema {
751
+ return this.resolveSchema();
752
+ }
753
+
754
+ protected createResourceBody(props: any): any {
755
+ return {
756
+ location: props.location,
757
+ properties: {
758
+ sku: { name: props.sku || "standard" },
759
+ tenantId: props.tenantId
760
+ }
761
+ };
762
+ }
763
+ }
764
+ ```
765
+
766
+ ### Adding New API Versions
767
+
768
+ When Azure releases a new API version:
769
+
770
+ 1. **Define new schema** in service schemas file
771
+ 2. **Add version config** with lifecycle metadata
772
+ 3. **Register with ApiVersionManager**
773
+ 4. **Update tests** to cover new version
774
+ 5. **Document breaking changes** if any
775
+
776
+ ### Extensibility Points
777
+
778
+ - **Custom Validation Rules**: Extend `ValidationRule` interface
779
+ - **Property Transformers**: Add custom transformation logic
780
+ - **Migration Strategies**: Define version-specific migrations
781
+ - **Provider Extensions**: Add new AZAPI provider features
782
+
783
+ ---
784
+
785
+ ## Key Innovations
786
+
787
+ ### 1. Automatic Version Resolution
788
+
789
+ Unlike traditional Terraform providers, this framework automatically resolves to the latest API version, keeping infrastructure current with minimal effort.
790
+
791
+ ### 2. Migration Analysis Engine
792
+
793
+ Built-in analysis of breaking changes between versions with effort estimation and automatic upgrade feasibility detection.
794
+
795
+ ### 3. Schema-Driven Development
796
+
797
+ All validation and transformation is driven by API schemas, ensuring type safety and consistency across versions.
798
+
799
+ ### 4. Framework-Level Abstractions
800
+
801
+ The `AzapiResource` base class provides a unified framework that handles version management, validation, and transformation transparently.
802
+
803
+ ### 5. Zero Provider Generation
804
+
805
+ AZAPI provider classes are included in the package, eliminating the need for external provider generation tools.
806
+
807
+ ---
808
+
809
+ ## Conclusion
810
+
811
+ The `@microsoft/terraform-cdk-constructs` package represents a modern approach to Azure infrastructure as code, combining:
812
+
813
+ - **Direct API Access** via AZAPI provider
814
+ - **Intelligent Version Management** with automatic resolution
815
+ - **Type Safety** through JSII and TypeScript
816
+ - **Multi-Language Support** for diverse development teams
817
+ - **Comprehensive Testing** ensuring production readiness
818
+
819
+ The architecture is designed for **extensibility**, allowing easy addition of new Azure services while maintaining backward compatibility and providing migration guidance for existing resources.
820
+
821
+ ---
822
+
823
+ ## References
824
+
825
+ - [Design Guide](./design_guide.md) - Module design guidelines
826
+ - [Testing Guide](./testing.md) - Testing practices and utilities
827
+ - [Versioning User Guide](./versioning-and-migrations-user-guide.md) - API version management
828
+ - [README](../README.md) - Package overview and quick start
829
+ - [CDKTF Documentation](https://developer.hashicorp.com/terraform/cdktf) - Terraform CDK reference
830
+ - [JSII Documentation](https://aws.github.io/jsii/) - Multi-language support
831
+
832
+ ---
833
+
834
+ **Document Version**: 1.0.0
835
+ **Last Updated**: 2025-10-22
836
+ **Maintained By**: Microsoft Cloud Infrastructure Solutions Team