@microsoft/terraform-cdk-constructs 0.0.3-pre.6 → 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 (971) hide show
  1. package/.devcontainer/devcontainer.json +2 -2
  2. package/.jsii +23090 -10333
  3. package/API.md +25525 -7841
  4. package/LICENSE +16 -18
  5. package/README.md +192 -23
  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/images/ide-documentation.png +0 -0
  10. package/docs/testing.md +39 -137
  11. package/docs/versioning-and-migrations-user-guide.md +409 -0
  12. package/go.mod +12 -12
  13. package/go.sum +27 -23
  14. package/lib/azure-resourcegroup/index.d.ts +37 -0
  15. package/lib/azure-resourcegroup/index.js +39 -1
  16. package/lib/azure-resourcegroup/lib/index.d.ts +44 -0
  17. package/lib/azure-resourcegroup/lib/index.js +43 -1
  18. package/lib/azure-resourcegroup/lib/resource-group-schemas.d.ts +40 -0
  19. package/lib/azure-resourcegroup/lib/resource-group-schemas.js +243 -0
  20. package/lib/azure-resourcegroup/lib/resource-group.d.ts +173 -21
  21. package/lib/azure-resourcegroup/lib/resource-group.js +226 -32
  22. package/lib/azure-resourcegroup/test/resource-group.integ.d.ts +9 -0
  23. package/lib/azure-resourcegroup/test/resource-group.integ.js +60 -0
  24. package/lib/azure-resourcegroup/test/resource-group.spec.d.ts +9 -0
  25. package/lib/azure-resourcegroup/test/resource-group.spec.js +554 -0
  26. package/lib/azure-storageaccount/index.d.ts +19 -0
  27. package/lib/azure-storageaccount/index.js +20 -1
  28. package/lib/azure-storageaccount/lib/index.d.ts +8 -5
  29. package/lib/azure-storageaccount/lib/index.js +9 -6
  30. package/lib/azure-storageaccount/lib/storage-account-schemas.d.ts +40 -0
  31. package/lib/azure-storageaccount/lib/storage-account-schemas.js +378 -0
  32. package/lib/azure-storageaccount/lib/storage-account.d.ts +311 -0
  33. package/lib/azure-storageaccount/lib/storage-account.js +229 -0
  34. package/lib/azure-storageaccount/test/storage-account.integ.d.ts +9 -0
  35. package/lib/azure-storageaccount/test/storage-account.integ.js +72 -0
  36. package/lib/azure-storageaccount/test/storage-account.spec.d.ts +4 -0
  37. package/lib/azure-storageaccount/test/storage-account.spec.js +315 -0
  38. package/lib/core-azure/lib/azapi/azapi-exports.d.ts +16 -0
  39. package/lib/core-azure/lib/azapi/azapi-exports.js +38 -0
  40. package/lib/core-azure/lib/azapi/azapi-resource.d.ts +413 -0
  41. package/lib/core-azure/lib/azapi/azapi-resource.js +468 -0
  42. package/lib/core-azure/lib/azapi/azapi-resource.spec.d.ts +7 -0
  43. package/lib/core-azure/lib/azapi/azapi-resource.spec.js +545 -0
  44. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-client-config/index.d.ts +62 -0
  45. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-client-config/index.js +161 -0
  46. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource/index.d.ts +327 -0
  47. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource/index.js +521 -0
  48. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-action/index.d.ts +331 -0
  49. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-action/index.js +436 -0
  50. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-id/index.d.ts +116 -0
  51. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-id/index.js +213 -0
  52. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-list/index.d.ts +272 -0
  53. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-list/index.js +368 -0
  54. package/lib/core-azure/lib/azapi/providers-azapi/data-plane-resource/index.d.ts +505 -0
  55. package/lib/core-azure/lib/azapi/providers-azapi/data-plane-resource/index.js +620 -0
  56. package/lib/core-azure/lib/azapi/providers-azapi/index.d.ts +10 -0
  57. package/lib/core-azure/lib/azapi/providers-azapi/index.js +15 -0
  58. package/lib/core-azure/lib/azapi/providers-azapi/provider/index.d.ts +435 -0
  59. package/lib/core-azure/lib/azapi/providers-azapi/provider/index.js +584 -0
  60. package/lib/core-azure/lib/azapi/providers-azapi/resource/index.d.ts +675 -0
  61. package/lib/core-azure/lib/azapi/providers-azapi/resource/index.js +856 -0
  62. package/lib/core-azure/lib/azapi/providers-azapi/resource-action/index.d.ts +387 -0
  63. package/lib/core-azure/lib/azapi/providers-azapi/resource-action/index.js +531 -0
  64. package/lib/core-azure/lib/azapi/providers-azapi/update-resource/index.d.ts +437 -0
  65. package/lib/core-azure/lib/azapi/providers-azapi/update-resource/index.js +589 -0
  66. package/lib/core-azure/lib/azapi/schema-mapper/schema-mapper.d.ts +215 -0
  67. package/lib/core-azure/lib/azapi/schema-mapper/schema-mapper.js +565 -0
  68. package/lib/core-azure/lib/azapi/schema-mapper/schema-mapper.spec.d.ts +7 -0
  69. package/lib/core-azure/lib/azapi/schema-mapper/schema-mapper.spec.js +630 -0
  70. package/lib/core-azure/lib/index.d.ts +18 -3
  71. package/lib/core-azure/lib/index.js +24 -4
  72. package/lib/core-azure/lib/version-manager/api-version-manager.d.ts +253 -0
  73. package/lib/core-azure/lib/version-manager/api-version-manager.js +509 -0
  74. package/lib/core-azure/lib/version-manager/api-version-manager.spec.d.ts +7 -0
  75. package/lib/core-azure/lib/version-manager/api-version-manager.spec.js +510 -0
  76. package/lib/core-azure/lib/version-manager/interfaces/version-interfaces.d.ts +669 -0
  77. package/lib/core-azure/lib/version-manager/interfaces/version-interfaces.js +202 -0
  78. package/lib/core-azure/lib/version-manager/version-manager.d.ts +9 -0
  79. package/lib/core-azure/lib/version-manager/version-manager.js +23 -0
  80. package/lib/index.d.ts +20 -16
  81. package/lib/index.js +41 -18
  82. package/lib/testing/index.d.ts +33 -0
  83. package/lib/testing/index.js +238 -2
  84. package/lib/util/azureTenantIdHelpers.js +3 -4
  85. package/lib/util/randomName.js +2 -3
  86. package/package.json +53 -40
  87. package/cdktf.out/manifest.json +0 -13
  88. package/cdktf.out/stacks/testAzureActionGroup/cdk.tf.json +0 -111
  89. package/cdktf.out/stacks/testAzureApplicationGateway/cdk.tf.json +0 -588
  90. package/cdktf.out/stacks/testAzureApplicationInsights/cdk.tf.json +0 -245
  91. package/cdktf.out/stacks/testAzureContainerRegistry/cdk.tf.json +0 -179
  92. package/cdktf.out/stacks/testAzureEventhub/cdk.tf.json +0 -236
  93. package/cdktf.out/stacks/testAzureKeyVault/cdk.tf.json +0 -436
  94. package/cdktf.out/stacks/testAzureKubernetesCluster/cdk.tf.json +0 -152
  95. package/cdktf.out/stacks/testAzureKusto/cdk.tf.json +0 -209
  96. package/cdktf.out/stacks/testAzureLinuxFunctionApp/cdk.tf.json +0 -439
  97. package/cdktf.out/stacks/testAzureLinuxVirtualMachineExample/cdk.tf.json +0 -283
  98. package/cdktf.out/stacks/testAzureLinuxVirtualMachineScaleSetExample/cdk.tf.json +0 -261
  99. package/cdktf.out/stacks/testAzureLogAnalytics/cdk.tf.json +0 -309
  100. package/cdktf.out/stacks/testAzureMetricAlert/cdk.tf.json +0 -161
  101. package/cdktf.out/stacks/testAzureNetworkSecurityGroup/cdk.tf.json +0 -271
  102. package/cdktf.out/stacks/testAzureQueryRuleAlert/cdk.tf.json +0 -122
  103. package/cdktf.out/stacks/testAzureResourceGroup/cdk.tf.json +0 -88
  104. package/cdktf.out/stacks/testAzureStorageAccount/cdk.tf.json +0 -339
  105. package/cdktf.out/stacks/testAzureVirtualNetwork/cdk.tf.json +0 -264
  106. package/cdktf.out/stacks/testAzureWindowVirtualMachineScaleSetExample/cdk.tf.json +0 -261
  107. package/cdktf.out/stacks/testAzureWindowsVirtualMachineExample/cdk.tf.json +0 -280
  108. package/cdktf.out/stacks/testExampleAzureResource/cdk.tf.json +0 -167
  109. package/lib/azure-actiongroup/index.d.ts +0 -1
  110. package/lib/azure-actiongroup/index.js +0 -18
  111. package/lib/azure-actiongroup/lib/actiongroup.d.ts +0 -10
  112. package/lib/azure-actiongroup/lib/actiongroup.js +0 -46
  113. package/lib/azure-actiongroup/lib/index.d.ts +0 -1
  114. package/lib/azure-actiongroup/lib/index.js +0 -18
  115. package/lib/azure-actiongroup/model/action-group-props.d.ts +0 -47
  116. package/lib/azure-actiongroup/model/action-group-props.js +0 -3
  117. package/lib/azure-actiongroup/model/arm-role-receiver-props.d.ts +0 -20
  118. package/lib/azure-actiongroup/model/arm-role-receiver-props.js +0 -3
  119. package/lib/azure-actiongroup/model/azure-app-push-receiver-props.d.ts +0 -14
  120. package/lib/azure-actiongroup/model/azure-app-push-receiver-props.js +0 -3
  121. package/lib/azure-actiongroup/model/email-receiver-props.d.ts +0 -19
  122. package/lib/azure-actiongroup/model/email-receiver-props.js +0 -3
  123. package/lib/azure-actiongroup/model/eventhub-receiver-props.d.ts +0 -23
  124. package/lib/azure-actiongroup/model/eventhub-receiver-props.js +0 -3
  125. package/lib/azure-actiongroup/model/function.d.ts +0 -40
  126. package/lib/azure-actiongroup/model/function.js +0 -118
  127. package/lib/azure-actiongroup/model/index.d.ts +0 -10
  128. package/lib/azure-actiongroup/model/index.js +0 -27
  129. package/lib/azure-actiongroup/model/logic-app-receiver-props.d.ts +0 -23
  130. package/lib/azure-actiongroup/model/logic-app-receiver-props.js +0 -3
  131. package/lib/azure-actiongroup/model/sms-receiver-props.d.ts +0 -18
  132. package/lib/azure-actiongroup/model/sms-receiver-props.js +0 -3
  133. package/lib/azure-actiongroup/model/voice-receiver-props.d.ts +0 -18
  134. package/lib/azure-actiongroup/model/voice-receiver-props.js +0 -3
  135. package/lib/azure-actiongroup/model/webhook-receiver-props.d.ts +0 -18
  136. package/lib/azure-actiongroup/model/webhook-receiver-props.js +0 -3
  137. package/lib/azure-actiongroup/test/AzureActionGroup.spec.d.ts +0 -1
  138. package/lib/azure-actiongroup/test/AzureActionGroup.spec.js +0 -294
  139. package/lib/azure-actiongroup/test/ExampleAzureActionGroup.d.ts +0 -5
  140. package/lib/azure-actiongroup/test/ExampleAzureActionGroup.js +0 -66
  141. package/lib/azure-applicationgateway/index.d.ts +0 -1
  142. package/lib/azure-applicationgateway/index.js +0 -18
  143. package/lib/azure-applicationgateway/lib/gateway.d.ts +0 -172
  144. package/lib/azure-applicationgateway/lib/gateway.js +0 -123
  145. package/lib/azure-applicationgateway/lib/index.d.ts +0 -1
  146. package/lib/azure-applicationgateway/lib/index.js +0 -18
  147. package/lib/azure-applicationgateway/test/AzureApplicationGateway.spec.d.ts +0 -1
  148. package/lib/azure-applicationgateway/test/AzureApplicationGateway.spec.js +0 -106
  149. package/lib/azure-applicationgateway/test/ExampleAzureApplicationGateway.d.ts +0 -5
  150. package/lib/azure-applicationgateway/test/ExampleAzureApplicationGateway.js +0 -267
  151. package/lib/azure-applicationinsights/index.d.ts +0 -1
  152. package/lib/azure-applicationinsights/index.js +0 -18
  153. package/lib/azure-applicationinsights/lib/appinsights.d.ts +0 -60
  154. package/lib/azure-applicationinsights/lib/appinsights.js +0 -85
  155. package/lib/azure-applicationinsights/lib/index.d.ts +0 -1
  156. package/lib/azure-applicationinsights/lib/index.js +0 -18
  157. package/lib/azure-applicationinsights/test/AzureAppInsights.spec.d.ts +0 -1
  158. package/lib/azure-applicationinsights/test/AzureAppInsights.spec.js +0 -55
  159. package/lib/azure-applicationinsights/test/ExampleAzureApplicationInsights.d.ts +0 -5
  160. package/lib/azure-applicationinsights/test/ExampleAzureApplicationInsights.js +0 -87
  161. package/lib/azure-containerregistry/index.d.ts +0 -1
  162. package/lib/azure-containerregistry/index.js +0 -18
  163. package/lib/azure-containerregistry/lib/index.d.ts +0 -1
  164. package/lib/azure-containerregistry/lib/index.js +0 -18
  165. package/lib/azure-containerregistry/lib/registry.d.ts +0 -41
  166. package/lib/azure-containerregistry/lib/registry.js +0 -47
  167. package/lib/azure-containerregistry/test/AzureContainerRegistry.spec.d.ts +0 -1
  168. package/lib/azure-containerregistry/test/AzureContainerRegistry.spec.js +0 -50
  169. package/lib/azure-containerregistry/test/ExampleAzureContainerRegistry.d.ts +0 -5
  170. package/lib/azure-containerregistry/test/ExampleAzureContainerRegistry.js +0 -57
  171. package/lib/azure-datalake/index.d.ts +0 -1
  172. package/lib/azure-datalake/index.js +0 -18
  173. package/lib/azure-datalake/lib/datalake.d.ts +0 -14
  174. package/lib/azure-datalake/lib/datalake.js +0 -42
  175. package/lib/azure-datalake/lib/filesystem.d.ts +0 -19
  176. package/lib/azure-datalake/lib/filesystem.js +0 -32
  177. package/lib/azure-datalake/lib/index.d.ts +0 -3
  178. package/lib/azure-datalake/lib/index.js +0 -20
  179. package/lib/azure-datalake/lib/path.d.ts +0 -12
  180. package/lib/azure-datalake/lib/path.js +0 -14
  181. package/lib/azure-eventhub/index.d.ts +0 -1
  182. package/lib/azure-eventhub/index.js +0 -18
  183. package/lib/azure-eventhub/lib/authorization.d.ts +0 -28
  184. package/lib/azure-eventhub/lib/authorization.js +0 -54
  185. package/lib/azure-eventhub/lib/cluster.d.ts +0 -27
  186. package/lib/azure-eventhub/lib/cluster.js +0 -35
  187. package/lib/azure-eventhub/lib/consumer.d.ts +0 -26
  188. package/lib/azure-eventhub/lib/consumer.js +0 -31
  189. package/lib/azure-eventhub/lib/index.d.ts +0 -6
  190. package/lib/azure-eventhub/lib/index.js +0 -23
  191. package/lib/azure-eventhub/lib/instance.d.ts +0 -46
  192. package/lib/azure-eventhub/lib/instance.js +0 -66
  193. package/lib/azure-eventhub/lib/kusto-connection.d.ts +0 -68
  194. package/lib/azure-eventhub/lib/kusto-connection.js +0 -35
  195. package/lib/azure-eventhub/lib/namespace.d.ts +0 -77
  196. package/lib/azure-eventhub/lib/namespace.js +0 -58
  197. package/lib/azure-eventhub/test/AzureEventhub.spec.d.ts +0 -1
  198. package/lib/azure-eventhub/test/AzureEventhub.spec.js +0 -56
  199. package/lib/azure-eventhub/test/ExampleAzureEventhub.d.ts +0 -5
  200. package/lib/azure-eventhub/test/ExampleAzureEventhub.js +0 -72
  201. package/lib/azure-functionapp/index.d.ts +0 -1
  202. package/lib/azure-functionapp/index.js +0 -18
  203. package/lib/azure-functionapp/lib/functionapplinux.d.ts +0 -211
  204. package/lib/azure-functionapp/lib/functionapplinux.js +0 -141
  205. package/lib/azure-functionapp/lib/index.d.ts +0 -1
  206. package/lib/azure-functionapp/lib/index.js +0 -18
  207. package/lib/azure-functionapp/serviceplanskus.d.ts +0 -70
  208. package/lib/azure-functionapp/serviceplanskus.js +0 -81
  209. package/lib/azure-functionapp/test/AzureLinuxFunctionApp.spec.d.ts +0 -1
  210. package/lib/azure-functionapp/test/AzureLinuxFunctionApp.spec.js +0 -48
  211. package/lib/azure-functionapp/test/ExampleAzureLinuxFunctionApp.d.ts +0 -5
  212. package/lib/azure-functionapp/test/ExampleAzureLinuxFunctionApp.js +0 -123
  213. package/lib/azure-keyvault/index.d.ts +0 -1
  214. package/lib/azure-keyvault/index.js +0 -18
  215. package/lib/azure-keyvault/lib/certificate.d.ts +0 -39
  216. package/lib/azure-keyvault/lib/certificate.js +0 -94
  217. package/lib/azure-keyvault/lib/index.d.ts +0 -5
  218. package/lib/azure-keyvault/lib/index.js +0 -22
  219. package/lib/azure-keyvault/lib/key.d.ts +0 -36
  220. package/lib/azure-keyvault/lib/key.js +0 -33
  221. package/lib/azure-keyvault/lib/policy.d.ts +0 -46
  222. package/lib/azure-keyvault/lib/policy.js +0 -26
  223. package/lib/azure-keyvault/lib/secret.d.ts +0 -39
  224. package/lib/azure-keyvault/lib/secret.js +0 -33
  225. package/lib/azure-keyvault/lib/vault.d.ts +0 -94
  226. package/lib/azure-keyvault/lib/vault.js +0 -208
  227. package/lib/azure-keyvault/test/AzureKeyVault.spec.d.ts +0 -1
  228. package/lib/azure-keyvault/test/AzureKeyVault.spec.js +0 -63
  229. package/lib/azure-keyvault/test/ExampleAzureKeyVault.d.ts +0 -5
  230. package/lib/azure-keyvault/test/ExampleAzureKeyVault.js +0 -112
  231. package/lib/azure-kubernetes/index.d.ts +0 -1
  232. package/lib/azure-kubernetes/index.js +0 -18
  233. package/lib/azure-kubernetes/lib/cluster.d.ts +0 -72
  234. package/lib/azure-kubernetes/lib/cluster.js +0 -42
  235. package/lib/azure-kubernetes/lib/index.d.ts +0 -1
  236. package/lib/azure-kubernetes/lib/index.js +0 -18
  237. package/lib/azure-kubernetes/test/AzureKubernetesCluster.spec.d.ts +0 -1
  238. package/lib/azure-kubernetes/test/AzureKubernetesCluster.spec.js +0 -56
  239. package/lib/azure-kubernetes/test/ExampleAzureKubernetesCluster.d.ts +0 -5
  240. package/lib/azure-kubernetes/test/ExampleAzureKubernetesCluster.js +0 -65
  241. package/lib/azure-kusto/index.d.ts +0 -1
  242. package/lib/azure-kusto/index.js +0 -18
  243. package/lib/azure-kusto/lib/cluster.d.ts +0 -83
  244. package/lib/azure-kusto/lib/cluster.js +0 -85
  245. package/lib/azure-kusto/lib/compute-specification.d.ts +0 -71
  246. package/lib/azure-kusto/lib/compute-specification.js +0 -651
  247. package/lib/azure-kusto/lib/database.d.ts +0 -59
  248. package/lib/azure-kusto/lib/database.js +0 -77
  249. package/lib/azure-kusto/lib/index.d.ts +0 -3
  250. package/lib/azure-kusto/lib/index.js +0 -20
  251. package/lib/azure-kusto/test/AzureKusto.spec.d.ts +0 -1
  252. package/lib/azure-kusto/test/AzureKusto.spec.js +0 -50
  253. package/lib/azure-kusto/test/ExampleAzureKusto.d.ts +0 -5
  254. package/lib/azure-kusto/test/ExampleAzureKusto.js +0 -71
  255. package/lib/azure-loganalytics/index.d.ts +0 -1
  256. package/lib/azure-loganalytics/index.js +0 -18
  257. package/lib/azure-loganalytics/lib/index.d.ts +0 -1
  258. package/lib/azure-loganalytics/lib/index.js +0 -18
  259. package/lib/azure-loganalytics/lib/workspace.d.ts +0 -116
  260. package/lib/azure-loganalytics/lib/workspace.js +0 -79
  261. package/lib/azure-loganalytics/test/AzureLogAnalytics.spec.d.ts +0 -1
  262. package/lib/azure-loganalytics/test/AzureLogAnalytics.spec.js +0 -50
  263. package/lib/azure-loganalytics/test/ExampleAzureLogAnalytics.d.ts +0 -5
  264. package/lib/azure-loganalytics/test/ExampleAzureLogAnalytics.js +0 -115
  265. package/lib/azure-metricalert/index.d.ts +0 -2
  266. package/lib/azure-metricalert/index.js +0 -19
  267. package/lib/azure-metricalert/lib/index.d.ts +0 -1
  268. package/lib/azure-metricalert/lib/index.js +0 -18
  269. package/lib/azure-metricalert/lib/metric-alert.d.ts +0 -17
  270. package/lib/azure-metricalert/lib/metric-alert.js +0 -89
  271. package/lib/azure-metricalert/model/action-props.d.ts +0 -11
  272. package/lib/azure-metricalert/model/action-props.js +0 -3
  273. package/lib/azure-metricalert/model/criteria-base-props.d.ts +0 -38
  274. package/lib/azure-metricalert/model/criteria-base-props.js +0 -3
  275. package/lib/azure-metricalert/model/criteria-dimension-props.d.ts +0 -21
  276. package/lib/azure-metricalert/model/criteria-dimension-props.js +0 -3
  277. package/lib/azure-metricalert/model/criteria-props.d.ts +0 -12
  278. package/lib/azure-metricalert/model/criteria-props.js +0 -3
  279. package/lib/azure-metricalert/model/dynamic-criteria-props.d.ts +0 -29
  280. package/lib/azure-metricalert/model/dynamic-criteria-props.js +0 -3
  281. package/lib/azure-metricalert/model/function.d.ts +0 -28
  282. package/lib/azure-metricalert/model/function.js +0 -78
  283. package/lib/azure-metricalert/model/index.d.ts +0 -7
  284. package/lib/azure-metricalert/model/index.js +0 -24
  285. package/lib/azure-metricalert/model/metric-alert-props.d.ts +0 -86
  286. package/lib/azure-metricalert/model/metric-alert-props.js +0 -3
  287. package/lib/azure-metricalert/test/AzureMetricAlert.spec.d.ts +0 -1
  288. package/lib/azure-metricalert/test/AzureMetricAlert.spec.js +0 -63
  289. package/lib/azure-metricalert/test/ExampleAzureMetricAlert.d.ts +0 -5
  290. package/lib/azure-metricalert/test/ExampleAzureMetricAlert.js +0 -81
  291. package/lib/azure-networksecuritygroup/index.d.ts +0 -1
  292. package/lib/azure-networksecuritygroup/index.js +0 -18
  293. package/lib/azure-networksecuritygroup/lib/index.d.ts +0 -2
  294. package/lib/azure-networksecuritygroup/lib/index.js +0 -19
  295. package/lib/azure-networksecuritygroup/lib/preconfigured-rules.d.ts +0 -77
  296. package/lib/azure-networksecuritygroup/lib/preconfigured-rules.js +0 -608
  297. package/lib/azure-networksecuritygroup/lib/securitygroup.d.ts +0 -98
  298. package/lib/azure-networksecuritygroup/lib/securitygroup.js +0 -82
  299. package/lib/azure-networksecuritygroup/test/AzureNetworkSecurityGroup.spec.d.ts +0 -1
  300. package/lib/azure-networksecuritygroup/test/AzureNetworkSecurityGroup.spec.js +0 -54
  301. package/lib/azure-networksecuritygroup/test/ExampleAzureNetworkSecurityGroup.d.ts +0 -5
  302. package/lib/azure-networksecuritygroup/test/ExampleAzureNetworkSecurityGroup.js +0 -97
  303. package/lib/azure-queryrulealert/index.d.ts +0 -1
  304. package/lib/azure-queryrulealert/index.js +0 -18
  305. package/lib/azure-queryrulealert/lib/index.d.ts +0 -1
  306. package/lib/azure-queryrulealert/lib/index.js +0 -18
  307. package/lib/azure-queryrulealert/lib/query-rule-alert.d.ts +0 -144
  308. package/lib/azure-queryrulealert/lib/query-rule-alert.js +0 -174
  309. package/lib/azure-queryrulealert/test/AzureQueryRuleAlert.spec.d.ts +0 -1
  310. package/lib/azure-queryrulealert/test/AzureQueryRuleAlert.spec.js +0 -67
  311. package/lib/azure-queryrulealert/test/ExampleAzureQueryRuleAlert.d.ts +0 -5
  312. package/lib/azure-queryrulealert/test/ExampleAzureQueryRuleAlert.js +0 -67
  313. package/lib/azure-resourcegroup/test/AzureResourceGroup.spec.d.ts +0 -1
  314. package/lib/azure-resourcegroup/test/AzureResourceGroup.spec.js +0 -41
  315. package/lib/azure-resourcegroup/test/ExampleAzureResourceGroup.d.ts +0 -5
  316. package/lib/azure-resourcegroup/test/ExampleAzureResourceGroup.js +0 -29
  317. package/lib/azure-storageaccount/lib/account.d.ts +0 -205
  318. package/lib/azure-storageaccount/lib/account.js +0 -198
  319. package/lib/azure-storageaccount/lib/container.d.ts +0 -40
  320. package/lib/azure-storageaccount/lib/container.js +0 -85
  321. package/lib/azure-storageaccount/lib/fileshare.d.ts +0 -69
  322. package/lib/azure-storageaccount/lib/fileshare.js +0 -90
  323. package/lib/azure-storageaccount/lib/queue.d.ts +0 -6
  324. package/lib/azure-storageaccount/lib/queue.js +0 -23
  325. package/lib/azure-storageaccount/lib/table.d.ts +0 -6
  326. package/lib/azure-storageaccount/lib/table.js +0 -23
  327. package/lib/azure-storageaccount/test/AzureStorageAccount.spec.d.ts +0 -1
  328. package/lib/azure-storageaccount/test/AzureStorageAccount.spec.js +0 -45
  329. package/lib/azure-storageaccount/test/ExampleAzureStorageAccount.d.ts +0 -5
  330. package/lib/azure-storageaccount/test/ExampleAzureStorageAccount.js +0 -102
  331. package/lib/azure-virtualmachine/index.d.ts +0 -1
  332. package/lib/azure-virtualmachine/index.js +0 -18
  333. package/lib/azure-virtualmachine/lib/image-references.d.ts +0 -22
  334. package/lib/azure-virtualmachine/lib/image-references.js +0 -128
  335. package/lib/azure-virtualmachine/lib/index.d.ts +0 -2
  336. package/lib/azure-virtualmachine/lib/index.js +0 -19
  337. package/lib/azure-virtualmachine/lib/vm.d.ts +0 -205
  338. package/lib/azure-virtualmachine/lib/vm.js +0 -207
  339. package/lib/azure-virtualmachine/test/AzureLinuxVirtualMachine.spec.d.ts +0 -1
  340. package/lib/azure-virtualmachine/test/AzureLinuxVirtualMachine.spec.js +0 -48
  341. package/lib/azure-virtualmachine/test/AzureWindowsVirtualMachine.spec.d.ts +0 -1
  342. package/lib/azure-virtualmachine/test/AzureWindowsVirtualMachine.spec.js +0 -50
  343. package/lib/azure-virtualmachine/test/ExampleAzureLinuxVirtualMachine.d.ts +0 -5
  344. package/lib/azure-virtualmachine/test/ExampleAzureLinuxVirtualMachine.js +0 -106
  345. package/lib/azure-virtualmachine/test/ExampleAzureWindowsVirtualMachine.d.ts +0 -5
  346. package/lib/azure-virtualmachine/test/ExampleAzureWindowsVirtualMachine.js +0 -102
  347. package/lib/azure-virtualmachinescaleset/index.d.ts +0 -1
  348. package/lib/azure-virtualmachinescaleset/index.js +0 -18
  349. package/lib/azure-virtualmachinescaleset/lib/cluster.d.ts +0 -234
  350. package/lib/azure-virtualmachinescaleset/lib/cluster.js +0 -174
  351. package/lib/azure-virtualmachinescaleset/lib/index.d.ts +0 -1
  352. package/lib/azure-virtualmachinescaleset/lib/index.js +0 -18
  353. package/lib/azure-virtualmachinescaleset/test/AzureLinuxVirtualMachineScaleSet.spec.d.ts +0 -1
  354. package/lib/azure-virtualmachinescaleset/test/AzureLinuxVirtualMachineScaleSet.spec.js +0 -48
  355. package/lib/azure-virtualmachinescaleset/test/AzureWindowsVirtualMachineScaleSet.spec.d.ts +0 -1
  356. package/lib/azure-virtualmachinescaleset/test/AzureWindowsVirtualMachineScaleSet.spec.js +0 -50
  357. package/lib/azure-virtualmachinescaleset/test/ExampleAzureLinuxVirtualMachineScaleSet.d.ts +0 -5
  358. package/lib/azure-virtualmachinescaleset/test/ExampleAzureLinuxVirtualMachineScaleSet.js +0 -107
  359. package/lib/azure-virtualmachinescaleset/test/ExampleAzureWindowsVirtualMachineScaleSet.d.ts +0 -5
  360. package/lib/azure-virtualmachinescaleset/test/ExampleAzureWindowsVirtualMachineScaleSet.js +0 -103
  361. package/lib/azure-virtualnetwork/index.d.ts +0 -1
  362. package/lib/azure-virtualnetwork/index.js +0 -18
  363. package/lib/azure-virtualnetwork/lib/index.d.ts +0 -2
  364. package/lib/azure-virtualnetwork/lib/index.js +0 -19
  365. package/lib/azure-virtualnetwork/lib/network.d.ts +0 -61
  366. package/lib/azure-virtualnetwork/lib/network.js +0 -60
  367. package/lib/azure-virtualnetwork/lib/peering.d.ts +0 -51
  368. package/lib/azure-virtualnetwork/lib/peering.js +0 -32
  369. package/lib/azure-virtualnetwork/test/AzureVirtualNetwork.spec.d.ts +0 -1
  370. package/lib/azure-virtualnetwork/test/AzureVirtualNetwork.spec.js +0 -48
  371. package/lib/azure-virtualnetwork/test/ExampleAzureVirtualNetwork.d.ts +0 -5
  372. package/lib/azure-virtualnetwork/test/ExampleAzureVirtualNetwork.js +0 -88
  373. package/lib/core-azure/lib/diagsettings.d.ts +0 -52
  374. package/lib/core-azure/lib/diagsettings.js +0 -46
  375. package/lib/core-azure/lib/rbac.d.ts +0 -32
  376. package/lib/core-azure/lib/rbac.js +0 -30
  377. package/lib/core-azure/lib/resource.d.ts +0 -17
  378. package/lib/core-azure/lib/resource.js +0 -74
  379. package/lib/core-azure/test/AzureResource.spec.d.ts +0 -1
  380. package/lib/core-azure/test/AzureResource.spec.js +0 -19
  381. package/lib/core-azure/test/ExampleAzureResource.d.ts +0 -5
  382. package/lib/core-azure/test/ExampleAzureResource.js +0 -67
  383. package/node_modules/moment/CHANGELOG.md +0 -996
  384. package/node_modules/moment/LICENSE +0 -22
  385. package/node_modules/moment/README.md +0 -55
  386. package/node_modules/moment/dist/locale/af.js +0 -71
  387. package/node_modules/moment/dist/locale/ar-dz.js +0 -156
  388. package/node_modules/moment/dist/locale/ar-kw.js +0 -55
  389. package/node_modules/moment/dist/locale/ar-ly.js +0 -171
  390. package/node_modules/moment/dist/locale/ar-ma.js +0 -56
  391. package/node_modules/moment/dist/locale/ar-ps.js +0 -112
  392. package/node_modules/moment/dist/locale/ar-sa.js +0 -105
  393. package/node_modules/moment/dist/locale/ar-tn.js +0 -55
  394. package/node_modules/moment/dist/locale/ar.js +0 -189
  395. package/node_modules/moment/dist/locale/az.js +0 -102
  396. package/node_modules/moment/dist/locale/be.js +0 -142
  397. package/node_modules/moment/dist/locale/bg.js +0 -87
  398. package/node_modules/moment/dist/locale/bm.js +0 -52
  399. package/node_modules/moment/dist/locale/bn-bd.js +0 -129
  400. package/node_modules/moment/dist/locale/bn.js +0 -119
  401. package/node_modules/moment/dist/locale/bo.js +0 -124
  402. package/node_modules/moment/dist/locale/br.js +0 -168
  403. package/node_modules/moment/dist/locale/bs.js +0 -160
  404. package/node_modules/moment/dist/locale/ca.js +0 -100
  405. package/node_modules/moment/dist/locale/cs.js +0 -181
  406. package/node_modules/moment/dist/locale/cv.js +0 -63
  407. package/node_modules/moment/dist/locale/cy.js +0 -98
  408. package/node_modules/moment/dist/locale/da.js +0 -53
  409. package/node_modules/moment/dist/locale/de-at.js +0 -79
  410. package/node_modules/moment/dist/locale/de-ch.js +0 -78
  411. package/node_modules/moment/dist/locale/de.js +0 -78
  412. package/node_modules/moment/dist/locale/dv.js +0 -90
  413. package/node_modules/moment/dist/locale/el.js +0 -106
  414. package/node_modules/moment/dist/locale/en-au.js +0 -68
  415. package/node_modules/moment/dist/locale/en-ca.js +0 -64
  416. package/node_modules/moment/dist/locale/en-gb.js +0 -68
  417. package/node_modules/moment/dist/locale/en-ie.js +0 -68
  418. package/node_modules/moment/dist/locale/en-il.js +0 -64
  419. package/node_modules/moment/dist/locale/en-in.js +0 -68
  420. package/node_modules/moment/dist/locale/en-nz.js +0 -68
  421. package/node_modules/moment/dist/locale/en-sg.js +0 -68
  422. package/node_modules/moment/dist/locale/eo.js +0 -68
  423. package/node_modules/moment/dist/locale/es-do.js +0 -108
  424. package/node_modules/moment/dist/locale/es-mx.js +0 -110
  425. package/node_modules/moment/dist/locale/es-us.js +0 -110
  426. package/node_modules/moment/dist/locale/es.js +0 -110
  427. package/node_modules/moment/dist/locale/et.js +0 -78
  428. package/node_modules/moment/dist/locale/eu.js +0 -65
  429. package/node_modules/moment/dist/locale/fa.js +0 -113
  430. package/node_modules/moment/dist/locale/fi.js +0 -124
  431. package/node_modules/moment/dist/locale/fil.js +0 -58
  432. package/node_modules/moment/dist/locale/fo.js +0 -57
  433. package/node_modules/moment/dist/locale/fr-ca.js +0 -70
  434. package/node_modules/moment/dist/locale/fr-ch.js +0 -74
  435. package/node_modules/moment/dist/locale/fr.js +0 -108
  436. package/node_modules/moment/dist/locale/fy.js +0 -75
  437. package/node_modules/moment/dist/locale/ga.js +0 -95
  438. package/node_modules/moment/dist/locale/gd.js +0 -95
  439. package/node_modules/moment/dist/locale/gl.js +0 -75
  440. package/node_modules/moment/dist/locale/gom-deva.js +0 -126
  441. package/node_modules/moment/dist/locale/gom-latn.js +0 -124
  442. package/node_modules/moment/dist/locale/gu.js +0 -122
  443. package/node_modules/moment/dist/locale/he.js +0 -94
  444. package/node_modules/moment/dist/locale/hi.js +0 -168
  445. package/node_modules/moment/dist/locale/hr.js +0 -156
  446. package/node_modules/moment/dist/locale/hu.js +0 -118
  447. package/node_modules/moment/dist/locale/hy-am.js +0 -94
  448. package/node_modules/moment/dist/locale/id.js +0 -76
  449. package/node_modules/moment/dist/locale/is.js +0 -140
  450. package/node_modules/moment/dist/locale/it-ch.js +0 -64
  451. package/node_modules/moment/dist/locale/it.js +0 -106
  452. package/node_modules/moment/dist/locale/ja.js +0 -148
  453. package/node_modules/moment/dist/locale/jv.js +0 -76
  454. package/node_modules/moment/dist/locale/ka.js +0 -92
  455. package/node_modules/moment/dist/locale/kk.js +0 -82
  456. package/node_modules/moment/dist/locale/km.js +0 -103
  457. package/node_modules/moment/dist/locale/kn.js +0 -124
  458. package/node_modules/moment/dist/locale/ko.js +0 -75
  459. package/node_modules/moment/dist/locale/ku-kmr.js +0 -121
  460. package/node_modules/moment/dist/locale/ku.js +0 -118
  461. package/node_modules/moment/dist/locale/ky.js +0 -84
  462. package/node_modules/moment/dist/locale/lb.js +0 -137
  463. package/node_modules/moment/dist/locale/lo.js +0 -66
  464. package/node_modules/moment/dist/locale/lt.js +0 -125
  465. package/node_modules/moment/dist/locale/lv.js +0 -94
  466. package/node_modules/moment/dist/locale/me.js +0 -117
  467. package/node_modules/moment/dist/locale/mi.js +0 -60
  468. package/node_modules/moment/dist/locale/mk.js +0 -85
  469. package/node_modules/moment/dist/locale/ml.js +0 -82
  470. package/node_modules/moment/dist/locale/mn.js +0 -100
  471. package/node_modules/moment/dist/locale/mr.js +0 -203
  472. package/node_modules/moment/dist/locale/ms-my.js +0 -76
  473. package/node_modules/moment/dist/locale/ms.js +0 -75
  474. package/node_modules/moment/dist/locale/mt.js +0 -56
  475. package/node_modules/moment/dist/locale/my.js +0 -91
  476. package/node_modules/moment/dist/locale/nb.js +0 -60
  477. package/node_modules/moment/dist/locale/ne.js +0 -121
  478. package/node_modules/moment/dist/locale/nl-be.js +0 -102
  479. package/node_modules/moment/dist/locale/nl.js +0 -104
  480. package/node_modules/moment/dist/locale/nn.js +0 -59
  481. package/node_modules/moment/dist/locale/oc-lnc.js +0 -85
  482. package/node_modules/moment/dist/locale/pa-in.js +0 -122
  483. package/node_modules/moment/dist/locale/pl.js +0 -140
  484. package/node_modules/moment/dist/locale/pt-br.js +0 -58
  485. package/node_modules/moment/dist/locale/pt.js +0 -63
  486. package/node_modules/moment/dist/locale/ro.js +0 -76
  487. package/node_modules/moment/dist/locale/ru.js +0 -213
  488. package/node_modules/moment/dist/locale/sd.js +0 -81
  489. package/node_modules/moment/dist/locale/se.js +0 -57
  490. package/node_modules/moment/dist/locale/si.js +0 -69
  491. package/node_modules/moment/dist/locale/sk.js +0 -145
  492. package/node_modules/moment/dist/locale/sl.js +0 -171
  493. package/node_modules/moment/dist/locale/sq.js +0 -65
  494. package/node_modules/moment/dist/locale/sr-cyrl.js +0 -127
  495. package/node_modules/moment/dist/locale/sr.js +0 -129
  496. package/node_modules/moment/dist/locale/ss.js +0 -84
  497. package/node_modules/moment/dist/locale/sv.js +0 -68
  498. package/node_modules/moment/dist/locale/sw.js +0 -55
  499. package/node_modules/moment/dist/locale/ta.js +0 -131
  500. package/node_modules/moment/dist/locale/te.js +0 -88
  501. package/node_modules/moment/dist/locale/tet.js +0 -68
  502. package/node_modules/moment/dist/locale/tg.js +0 -117
  503. package/node_modules/moment/dist/locale/th.js +0 -65
  504. package/node_modules/moment/dist/locale/tk.js +0 -91
  505. package/node_modules/moment/dist/locale/tl-ph.js +0 -57
  506. package/node_modules/moment/dist/locale/tlh.js +0 -124
  507. package/node_modules/moment/dist/locale/tr.js +0 -106
  508. package/node_modules/moment/dist/locale/tzl.js +0 -89
  509. package/node_modules/moment/dist/locale/tzm-latn.js +0 -54
  510. package/node_modules/moment/dist/locale/tzm.js +0 -54
  511. package/node_modules/moment/dist/locale/ug-cn.js +0 -111
  512. package/node_modules/moment/dist/locale/uk.js +0 -167
  513. package/node_modules/moment/dist/locale/ur.js +0 -82
  514. package/node_modules/moment/dist/locale/uz-latn.js +0 -54
  515. package/node_modules/moment/dist/locale/uz.js +0 -51
  516. package/node_modules/moment/dist/locale/vi.js +0 -80
  517. package/node_modules/moment/dist/locale/x-pseudo.js +0 -73
  518. package/node_modules/moment/dist/locale/yo.js +0 -53
  519. package/node_modules/moment/dist/locale/zh-cn.js +0 -120
  520. package/node_modules/moment/dist/locale/zh-hk.js +0 -101
  521. package/node_modules/moment/dist/locale/zh-mo.js +0 -100
  522. package/node_modules/moment/dist/locale/zh-tw.js +0 -99
  523. package/node_modules/moment/dist/moment.js +0 -5680
  524. package/node_modules/moment/ender.js +0 -1
  525. package/node_modules/moment/locale/af.js +0 -82
  526. package/node_modules/moment/locale/ar-dz.js +0 -167
  527. package/node_modules/moment/locale/ar-kw.js +0 -66
  528. package/node_modules/moment/locale/ar-ly.js +0 -182
  529. package/node_modules/moment/locale/ar-ma.js +0 -67
  530. package/node_modules/moment/locale/ar-ps.js +0 -123
  531. package/node_modules/moment/locale/ar-sa.js +0 -116
  532. package/node_modules/moment/locale/ar-tn.js +0 -66
  533. package/node_modules/moment/locale/ar.js +0 -200
  534. package/node_modules/moment/locale/az.js +0 -113
  535. package/node_modules/moment/locale/be.js +0 -153
  536. package/node_modules/moment/locale/bg.js +0 -98
  537. package/node_modules/moment/locale/bm.js +0 -62
  538. package/node_modules/moment/locale/bn-bd.js +0 -140
  539. package/node_modules/moment/locale/bn.js +0 -130
  540. package/node_modules/moment/locale/bo.js +0 -135
  541. package/node_modules/moment/locale/br.js +0 -179
  542. package/node_modules/moment/locale/bs.js +0 -171
  543. package/node_modules/moment/locale/ca.js +0 -111
  544. package/node_modules/moment/locale/cs.js +0 -192
  545. package/node_modules/moment/locale/cv.js +0 -74
  546. package/node_modules/moment/locale/cy.js +0 -109
  547. package/node_modules/moment/locale/da.js +0 -64
  548. package/node_modules/moment/locale/de-at.js +0 -90
  549. package/node_modules/moment/locale/de-ch.js +0 -87
  550. package/node_modules/moment/locale/de.js +0 -89
  551. package/node_modules/moment/locale/dv.js +0 -101
  552. package/node_modules/moment/locale/el.js +0 -117
  553. package/node_modules/moment/locale/en-au.js +0 -79
  554. package/node_modules/moment/locale/en-ca.js +0 -75
  555. package/node_modules/moment/locale/en-gb.js +0 -79
  556. package/node_modules/moment/locale/en-ie.js +0 -79
  557. package/node_modules/moment/locale/en-il.js +0 -75
  558. package/node_modules/moment/locale/en-in.js +0 -79
  559. package/node_modules/moment/locale/en-nz.js +0 -79
  560. package/node_modules/moment/locale/en-sg.js +0 -79
  561. package/node_modules/moment/locale/eo.js +0 -79
  562. package/node_modules/moment/locale/es-do.js +0 -119
  563. package/node_modules/moment/locale/es-mx.js +0 -121
  564. package/node_modules/moment/locale/es-us.js +0 -121
  565. package/node_modules/moment/locale/es.js +0 -121
  566. package/node_modules/moment/locale/et.js +0 -89
  567. package/node_modules/moment/locale/eu.js +0 -76
  568. package/node_modules/moment/locale/fa.js +0 -124
  569. package/node_modules/moment/locale/fi.js +0 -135
  570. package/node_modules/moment/locale/fil.js +0 -69
  571. package/node_modules/moment/locale/fo.js +0 -68
  572. package/node_modules/moment/locale/fr-ca.js +0 -81
  573. package/node_modules/moment/locale/fr-ch.js +0 -85
  574. package/node_modules/moment/locale/fr.js +0 -119
  575. package/node_modules/moment/locale/fy.js +0 -86
  576. package/node_modules/moment/locale/ga.js +0 -106
  577. package/node_modules/moment/locale/gd.js +0 -106
  578. package/node_modules/moment/locale/gl.js +0 -86
  579. package/node_modules/moment/locale/gom-deva.js +0 -137
  580. package/node_modules/moment/locale/gom-latn.js +0 -135
  581. package/node_modules/moment/locale/gu.js +0 -133
  582. package/node_modules/moment/locale/he.js +0 -105
  583. package/node_modules/moment/locale/hi.js +0 -179
  584. package/node_modules/moment/locale/hr.js +0 -167
  585. package/node_modules/moment/locale/hu.js +0 -129
  586. package/node_modules/moment/locale/hy-am.js +0 -105
  587. package/node_modules/moment/locale/id.js +0 -87
  588. package/node_modules/moment/locale/is.js +0 -151
  589. package/node_modules/moment/locale/it-ch.js +0 -75
  590. package/node_modules/moment/locale/it.js +0 -117
  591. package/node_modules/moment/locale/ja.js +0 -159
  592. package/node_modules/moment/locale/jv.js +0 -87
  593. package/node_modules/moment/locale/ka.js +0 -103
  594. package/node_modules/moment/locale/kk.js +0 -93
  595. package/node_modules/moment/locale/km.js +0 -114
  596. package/node_modules/moment/locale/kn.js +0 -135
  597. package/node_modules/moment/locale/ko.js +0 -86
  598. package/node_modules/moment/locale/ku-kmr.js +0 -125
  599. package/node_modules/moment/locale/ku.js +0 -129
  600. package/node_modules/moment/locale/ky.js +0 -95
  601. package/node_modules/moment/locale/lb.js +0 -148
  602. package/node_modules/moment/locale/lo.js +0 -77
  603. package/node_modules/moment/locale/lt.js +0 -136
  604. package/node_modules/moment/locale/lv.js +0 -105
  605. package/node_modules/moment/locale/me.js +0 -128
  606. package/node_modules/moment/locale/mi.js +0 -71
  607. package/node_modules/moment/locale/mk.js +0 -97
  608. package/node_modules/moment/locale/ml.js +0 -93
  609. package/node_modules/moment/locale/mn.js +0 -111
  610. package/node_modules/moment/locale/mr.js +0 -214
  611. package/node_modules/moment/locale/ms-my.js +0 -87
  612. package/node_modules/moment/locale/ms.js +0 -86
  613. package/node_modules/moment/locale/mt.js +0 -67
  614. package/node_modules/moment/locale/my.js +0 -102
  615. package/node_modules/moment/locale/nb.js +0 -71
  616. package/node_modules/moment/locale/ne.js +0 -132
  617. package/node_modules/moment/locale/nl-be.js +0 -113
  618. package/node_modules/moment/locale/nl.js +0 -115
  619. package/node_modules/moment/locale/nn.js +0 -70
  620. package/node_modules/moment/locale/oc-lnc.js +0 -96
  621. package/node_modules/moment/locale/pa-in.js +0 -133
  622. package/node_modules/moment/locale/pl.js +0 -151
  623. package/node_modules/moment/locale/pt-br.js +0 -69
  624. package/node_modules/moment/locale/pt.js +0 -74
  625. package/node_modules/moment/locale/ro.js +0 -87
  626. package/node_modules/moment/locale/ru.js +0 -224
  627. package/node_modules/moment/locale/sd.js +0 -92
  628. package/node_modules/moment/locale/se.js +0 -68
  629. package/node_modules/moment/locale/si.js +0 -80
  630. package/node_modules/moment/locale/sk.js +0 -156
  631. package/node_modules/moment/locale/sl.js +0 -182
  632. package/node_modules/moment/locale/sq.js +0 -76
  633. package/node_modules/moment/locale/sr-cyrl.js +0 -138
  634. package/node_modules/moment/locale/sr.js +0 -140
  635. package/node_modules/moment/locale/ss.js +0 -95
  636. package/node_modules/moment/locale/sv.js +0 -79
  637. package/node_modules/moment/locale/sw.js +0 -66
  638. package/node_modules/moment/locale/ta.js +0 -142
  639. package/node_modules/moment/locale/te.js +0 -99
  640. package/node_modules/moment/locale/tet.js +0 -79
  641. package/node_modules/moment/locale/tg.js +0 -128
  642. package/node_modules/moment/locale/th.js +0 -76
  643. package/node_modules/moment/locale/tk.js +0 -102
  644. package/node_modules/moment/locale/tl-ph.js +0 -68
  645. package/node_modules/moment/locale/tlh.js +0 -135
  646. package/node_modules/moment/locale/tr.js +0 -117
  647. package/node_modules/moment/locale/tzl.js +0 -100
  648. package/node_modules/moment/locale/tzm-latn.js +0 -65
  649. package/node_modules/moment/locale/tzm.js +0 -65
  650. package/node_modules/moment/locale/ug-cn.js +0 -122
  651. package/node_modules/moment/locale/uk.js +0 -178
  652. package/node_modules/moment/locale/ur.js +0 -93
  653. package/node_modules/moment/locale/uz-latn.js +0 -65
  654. package/node_modules/moment/locale/uz.js +0 -62
  655. package/node_modules/moment/locale/vi.js +0 -91
  656. package/node_modules/moment/locale/x-pseudo.js +0 -84
  657. package/node_modules/moment/locale/yo.js +0 -64
  658. package/node_modules/moment/locale/zh-cn.js +0 -131
  659. package/node_modules/moment/locale/zh-hk.js +0 -112
  660. package/node_modules/moment/locale/zh-mo.js +0 -111
  661. package/node_modules/moment/locale/zh-tw.js +0 -110
  662. package/node_modules/moment/min/locales.js +0 -12800
  663. package/node_modules/moment/min/locales.min.js +0 -2
  664. package/node_modules/moment/min/locales.min.js.map +0 -1
  665. package/node_modules/moment/min/moment-with-locales.js +0 -18472
  666. package/node_modules/moment/min/moment-with-locales.min.js +0 -2
  667. package/node_modules/moment/min/moment-with-locales.min.js.map +0 -1
  668. package/node_modules/moment/min/moment.min.js +0 -2
  669. package/node_modules/moment/min/moment.min.js.map +0 -1
  670. package/node_modules/moment/moment.d.ts +0 -796
  671. package/node_modules/moment/moment.js +0 -5688
  672. package/node_modules/moment/package.js +0 -11
  673. package/node_modules/moment/package.json +0 -116
  674. package/node_modules/moment/src/lib/create/check-overflow.js +0 -57
  675. package/node_modules/moment/src/lib/create/date-from-array.js +0 -35
  676. package/node_modules/moment/src/lib/create/from-anything.js +0 -117
  677. package/node_modules/moment/src/lib/create/from-array.js +0 -187
  678. package/node_modules/moment/src/lib/create/from-object.js +0 -20
  679. package/node_modules/moment/src/lib/create/from-string-and-array.js +0 -67
  680. package/node_modules/moment/src/lib/create/from-string-and-format.js +0 -135
  681. package/node_modules/moment/src/lib/create/from-string.js +0 -258
  682. package/node_modules/moment/src/lib/create/local.js +0 -5
  683. package/node_modules/moment/src/lib/create/parsing-flags.js +0 -28
  684. package/node_modules/moment/src/lib/create/utc.js +0 -5
  685. package/node_modules/moment/src/lib/create/valid.js +0 -51
  686. package/node_modules/moment/src/lib/duration/abs.js +0 -18
  687. package/node_modules/moment/src/lib/duration/add-subtract.js +0 -21
  688. package/node_modules/moment/src/lib/duration/as.js +0 -76
  689. package/node_modules/moment/src/lib/duration/bubble.js +0 -68
  690. package/node_modules/moment/src/lib/duration/clone.js +0 -5
  691. package/node_modules/moment/src/lib/duration/constructor.js +0 -42
  692. package/node_modules/moment/src/lib/duration/create.js +0 -133
  693. package/node_modules/moment/src/lib/duration/duration.js +0 -16
  694. package/node_modules/moment/src/lib/duration/get.js +0 -27
  695. package/node_modules/moment/src/lib/duration/humanize.js +0 -114
  696. package/node_modules/moment/src/lib/duration/iso-string.js +0 -68
  697. package/node_modules/moment/src/lib/duration/prototype.js +0 -78
  698. package/node_modules/moment/src/lib/duration/valid.js +0 -55
  699. package/node_modules/moment/src/lib/format/format.js +0 -104
  700. package/node_modules/moment/src/lib/locale/base-config.js +0 -41
  701. package/node_modules/moment/src/lib/locale/calendar.js +0 -15
  702. package/node_modules/moment/src/lib/locale/constructor.js +0 -5
  703. package/node_modules/moment/src/lib/locale/en.js +0 -39
  704. package/node_modules/moment/src/lib/locale/formats.js +0 -36
  705. package/node_modules/moment/src/lib/locale/invalid.js +0 -5
  706. package/node_modules/moment/src/lib/locale/lists.js +0 -93
  707. package/node_modules/moment/src/lib/locale/locale.js +0 -45
  708. package/node_modules/moment/src/lib/locale/locales.js +0 -249
  709. package/node_modules/moment/src/lib/locale/ordinal.js +0 -8
  710. package/node_modules/moment/src/lib/locale/pre-post-format.js +0 -3
  711. package/node_modules/moment/src/lib/locale/prototype.js +0 -88
  712. package/node_modules/moment/src/lib/locale/relative.js +0 -32
  713. package/node_modules/moment/src/lib/locale/set.js +0 -56
  714. package/node_modules/moment/src/lib/moment/add-subtract.js +0 -61
  715. package/node_modules/moment/src/lib/moment/calendar.js +0 -53
  716. package/node_modules/moment/src/lib/moment/clone.js +0 -5
  717. package/node_modules/moment/src/lib/moment/compare.js +0 -72
  718. package/node_modules/moment/src/lib/moment/constructor.js +0 -80
  719. package/node_modules/moment/src/lib/moment/creation-data.js +0 -9
  720. package/node_modules/moment/src/lib/moment/diff.js +0 -79
  721. package/node_modules/moment/src/lib/moment/format.js +0 -78
  722. package/node_modules/moment/src/lib/moment/from.js +0 -20
  723. package/node_modules/moment/src/lib/moment/get-set.js +0 -117
  724. package/node_modules/moment/src/lib/moment/locale.js +0 -34
  725. package/node_modules/moment/src/lib/moment/min-max.js +0 -62
  726. package/node_modules/moment/src/lib/moment/moment.js +0 -28
  727. package/node_modules/moment/src/lib/moment/now.js +0 -3
  728. package/node_modules/moment/src/lib/moment/prototype.js +0 -197
  729. package/node_modules/moment/src/lib/moment/start-end-of.js +0 -164
  730. package/node_modules/moment/src/lib/moment/to-type.js +0 -42
  731. package/node_modules/moment/src/lib/moment/to.js +0 -20
  732. package/node_modules/moment/src/lib/moment/valid.js +0 -15
  733. package/node_modules/moment/src/lib/parse/regex.js +0 -84
  734. package/node_modules/moment/src/lib/parse/token.js +0 -36
  735. package/node_modules/moment/src/lib/units/aliases.js +0 -75
  736. package/node_modules/moment/src/lib/units/constants.js +0 -9
  737. package/node_modules/moment/src/lib/units/day-of-month.js +0 -35
  738. package/node_modules/moment/src/lib/units/day-of-week.js +0 -432
  739. package/node_modules/moment/src/lib/units/day-of-year.js +0 -28
  740. package/node_modules/moment/src/lib/units/era.js +0 -293
  741. package/node_modules/moment/src/lib/units/hour.js +0 -152
  742. package/node_modules/moment/src/lib/units/millisecond.js +0 -66
  743. package/node_modules/moment/src/lib/units/minute.js +0 -24
  744. package/node_modules/moment/src/lib/units/month.js +0 -340
  745. package/node_modules/moment/src/lib/units/offset.js +0 -249
  746. package/node_modules/moment/src/lib/units/priorities.js +0 -34
  747. package/node_modules/moment/src/lib/units/quarter.js +0 -24
  748. package/node_modules/moment/src/lib/units/second.js +0 -24
  749. package/node_modules/moment/src/lib/units/timestamp.js +0 -20
  750. package/node_modules/moment/src/lib/units/timezone.js +0 -16
  751. package/node_modules/moment/src/lib/units/units.js +0 -20
  752. package/node_modules/moment/src/lib/units/week-calendar-utils.js +0 -66
  753. package/node_modules/moment/src/lib/units/week-year.js +0 -128
  754. package/node_modules/moment/src/lib/units/week.js +0 -62
  755. package/node_modules/moment/src/lib/units/year.js +0 -75
  756. package/node_modules/moment/src/lib/utils/abs-ceil.js +0 -7
  757. package/node_modules/moment/src/lib/utils/abs-floor.js +0 -8
  758. package/node_modules/moment/src/lib/utils/abs-round.js +0 -7
  759. package/node_modules/moment/src/lib/utils/compare-arrays.js +0 -18
  760. package/node_modules/moment/src/lib/utils/defaults.js +0 -10
  761. package/node_modules/moment/src/lib/utils/deprecate.js +0 -69
  762. package/node_modules/moment/src/lib/utils/extend.js +0 -19
  763. package/node_modules/moment/src/lib/utils/has-own-prop.js +0 -3
  764. package/node_modules/moment/src/lib/utils/hooks.js +0 -13
  765. package/node_modules/moment/src/lib/utils/index-of.js +0 -18
  766. package/node_modules/moment/src/lib/utils/is-array.js +0 -6
  767. package/node_modules/moment/src/lib/utils/is-calendar-spec.js +0 -25
  768. package/node_modules/moment/src/lib/utils/is-date.js +0 -6
  769. package/node_modules/moment/src/lib/utils/is-function.js +0 -6
  770. package/node_modules/moment/src/lib/utils/is-leap-year.js +0 -3
  771. package/node_modules/moment/src/lib/utils/is-moment-input.js +0 -75
  772. package/node_modules/moment/src/lib/utils/is-number.js +0 -6
  773. package/node_modules/moment/src/lib/utils/is-object-empty.js +0 -15
  774. package/node_modules/moment/src/lib/utils/is-object.js +0 -8
  775. package/node_modules/moment/src/lib/utils/is-string.js +0 -3
  776. package/node_modules/moment/src/lib/utils/is-undefined.js +0 -3
  777. package/node_modules/moment/src/lib/utils/keys.js +0 -20
  778. package/node_modules/moment/src/lib/utils/map.js +0 -9
  779. package/node_modules/moment/src/lib/utils/mod.js +0 -3
  780. package/node_modules/moment/src/lib/utils/some.js +0 -20
  781. package/node_modules/moment/src/lib/utils/to-int.js +0 -12
  782. package/node_modules/moment/src/lib/utils/zero-fill.js +0 -10
  783. package/node_modules/moment/src/locale/af.js +0 -71
  784. package/node_modules/moment/src/locale/ar-dz.js +0 -156
  785. package/node_modules/moment/src/locale/ar-kw.js +0 -55
  786. package/node_modules/moment/src/locale/ar-ly.js +0 -171
  787. package/node_modules/moment/src/locale/ar-ma.js +0 -56
  788. package/node_modules/moment/src/locale/ar-ps.js +0 -112
  789. package/node_modules/moment/src/locale/ar-sa.js +0 -105
  790. package/node_modules/moment/src/locale/ar-tn.js +0 -55
  791. package/node_modules/moment/src/locale/ar.js +0 -189
  792. package/node_modules/moment/src/locale/az.js +0 -102
  793. package/node_modules/moment/src/locale/be.js +0 -142
  794. package/node_modules/moment/src/locale/bg.js +0 -87
  795. package/node_modules/moment/src/locale/bm.js +0 -52
  796. package/node_modules/moment/src/locale/bn-bd.js +0 -129
  797. package/node_modules/moment/src/locale/bn.js +0 -119
  798. package/node_modules/moment/src/locale/bo.js +0 -124
  799. package/node_modules/moment/src/locale/br.js +0 -168
  800. package/node_modules/moment/src/locale/bs.js +0 -160
  801. package/node_modules/moment/src/locale/ca.js +0 -100
  802. package/node_modules/moment/src/locale/cs.js +0 -181
  803. package/node_modules/moment/src/locale/cv.js +0 -63
  804. package/node_modules/moment/src/locale/cy.js +0 -98
  805. package/node_modules/moment/src/locale/da.js +0 -53
  806. package/node_modules/moment/src/locale/de-at.js +0 -79
  807. package/node_modules/moment/src/locale/de-ch.js +0 -78
  808. package/node_modules/moment/src/locale/de.js +0 -78
  809. package/node_modules/moment/src/locale/dv.js +0 -90
  810. package/node_modules/moment/src/locale/el.js +0 -106
  811. package/node_modules/moment/src/locale/en-au.js +0 -68
  812. package/node_modules/moment/src/locale/en-ca.js +0 -64
  813. package/node_modules/moment/src/locale/en-gb.js +0 -68
  814. package/node_modules/moment/src/locale/en-ie.js +0 -68
  815. package/node_modules/moment/src/locale/en-il.js +0 -64
  816. package/node_modules/moment/src/locale/en-in.js +0 -68
  817. package/node_modules/moment/src/locale/en-nz.js +0 -68
  818. package/node_modules/moment/src/locale/en-sg.js +0 -68
  819. package/node_modules/moment/src/locale/eo.js +0 -68
  820. package/node_modules/moment/src/locale/es-do.js +0 -108
  821. package/node_modules/moment/src/locale/es-mx.js +0 -110
  822. package/node_modules/moment/src/locale/es-us.js +0 -110
  823. package/node_modules/moment/src/locale/es.js +0 -110
  824. package/node_modules/moment/src/locale/et.js +0 -78
  825. package/node_modules/moment/src/locale/eu.js +0 -65
  826. package/node_modules/moment/src/locale/fa.js +0 -113
  827. package/node_modules/moment/src/locale/fi.js +0 -124
  828. package/node_modules/moment/src/locale/fil.js +0 -58
  829. package/node_modules/moment/src/locale/fo.js +0 -57
  830. package/node_modules/moment/src/locale/fr-ca.js +0 -70
  831. package/node_modules/moment/src/locale/fr-ch.js +0 -74
  832. package/node_modules/moment/src/locale/fr.js +0 -108
  833. package/node_modules/moment/src/locale/fy.js +0 -75
  834. package/node_modules/moment/src/locale/ga.js +0 -95
  835. package/node_modules/moment/src/locale/gd.js +0 -95
  836. package/node_modules/moment/src/locale/gl.js +0 -75
  837. package/node_modules/moment/src/locale/gom-deva.js +0 -126
  838. package/node_modules/moment/src/locale/gom-latn.js +0 -124
  839. package/node_modules/moment/src/locale/gu.js +0 -122
  840. package/node_modules/moment/src/locale/he.js +0 -94
  841. package/node_modules/moment/src/locale/hi.js +0 -168
  842. package/node_modules/moment/src/locale/hr.js +0 -156
  843. package/node_modules/moment/src/locale/hu.js +0 -118
  844. package/node_modules/moment/src/locale/hy-am.js +0 -94
  845. package/node_modules/moment/src/locale/id.js +0 -76
  846. package/node_modules/moment/src/locale/is.js +0 -140
  847. package/node_modules/moment/src/locale/it-ch.js +0 -64
  848. package/node_modules/moment/src/locale/it.js +0 -106
  849. package/node_modules/moment/src/locale/ja.js +0 -148
  850. package/node_modules/moment/src/locale/jv.js +0 -76
  851. package/node_modules/moment/src/locale/ka.js +0 -92
  852. package/node_modules/moment/src/locale/kk.js +0 -82
  853. package/node_modules/moment/src/locale/km.js +0 -103
  854. package/node_modules/moment/src/locale/kn.js +0 -124
  855. package/node_modules/moment/src/locale/ko.js +0 -75
  856. package/node_modules/moment/src/locale/ku-kmr.js +0 -121
  857. package/node_modules/moment/src/locale/ku.js +0 -118
  858. package/node_modules/moment/src/locale/ky.js +0 -84
  859. package/node_modules/moment/src/locale/lb.js +0 -137
  860. package/node_modules/moment/src/locale/lo.js +0 -66
  861. package/node_modules/moment/src/locale/lt.js +0 -125
  862. package/node_modules/moment/src/locale/lv.js +0 -94
  863. package/node_modules/moment/src/locale/me.js +0 -117
  864. package/node_modules/moment/src/locale/mi.js +0 -60
  865. package/node_modules/moment/src/locale/mk.js +0 -85
  866. package/node_modules/moment/src/locale/ml.js +0 -82
  867. package/node_modules/moment/src/locale/mn.js +0 -100
  868. package/node_modules/moment/src/locale/mr.js +0 -203
  869. package/node_modules/moment/src/locale/ms-my.js +0 -76
  870. package/node_modules/moment/src/locale/ms.js +0 -75
  871. package/node_modules/moment/src/locale/mt.js +0 -56
  872. package/node_modules/moment/src/locale/my.js +0 -91
  873. package/node_modules/moment/src/locale/nb.js +0 -60
  874. package/node_modules/moment/src/locale/ne.js +0 -121
  875. package/node_modules/moment/src/locale/nl-be.js +0 -102
  876. package/node_modules/moment/src/locale/nl.js +0 -104
  877. package/node_modules/moment/src/locale/nn.js +0 -59
  878. package/node_modules/moment/src/locale/oc-lnc.js +0 -85
  879. package/node_modules/moment/src/locale/pa-in.js +0 -122
  880. package/node_modules/moment/src/locale/pl.js +0 -140
  881. package/node_modules/moment/src/locale/pt-br.js +0 -58
  882. package/node_modules/moment/src/locale/pt.js +0 -63
  883. package/node_modules/moment/src/locale/ro.js +0 -76
  884. package/node_modules/moment/src/locale/ru.js +0 -213
  885. package/node_modules/moment/src/locale/sd.js +0 -81
  886. package/node_modules/moment/src/locale/se.js +0 -57
  887. package/node_modules/moment/src/locale/si.js +0 -69
  888. package/node_modules/moment/src/locale/sk.js +0 -145
  889. package/node_modules/moment/src/locale/sl.js +0 -171
  890. package/node_modules/moment/src/locale/sq.js +0 -65
  891. package/node_modules/moment/src/locale/sr-cyrl.js +0 -127
  892. package/node_modules/moment/src/locale/sr.js +0 -129
  893. package/node_modules/moment/src/locale/ss.js +0 -84
  894. package/node_modules/moment/src/locale/sv.js +0 -68
  895. package/node_modules/moment/src/locale/sw.js +0 -55
  896. package/node_modules/moment/src/locale/ta.js +0 -131
  897. package/node_modules/moment/src/locale/te.js +0 -88
  898. package/node_modules/moment/src/locale/tet.js +0 -68
  899. package/node_modules/moment/src/locale/tg.js +0 -117
  900. package/node_modules/moment/src/locale/th.js +0 -65
  901. package/node_modules/moment/src/locale/tk.js +0 -91
  902. package/node_modules/moment/src/locale/tl-ph.js +0 -57
  903. package/node_modules/moment/src/locale/tlh.js +0 -124
  904. package/node_modules/moment/src/locale/tr.js +0 -106
  905. package/node_modules/moment/src/locale/tzl.js +0 -89
  906. package/node_modules/moment/src/locale/tzm-latn.js +0 -54
  907. package/node_modules/moment/src/locale/tzm.js +0 -54
  908. package/node_modules/moment/src/locale/ug-cn.js +0 -111
  909. package/node_modules/moment/src/locale/uk.js +0 -167
  910. package/node_modules/moment/src/locale/ur.js +0 -82
  911. package/node_modules/moment/src/locale/uz-latn.js +0 -54
  912. package/node_modules/moment/src/locale/uz.js +0 -51
  913. package/node_modules/moment/src/locale/vi.js +0 -80
  914. package/node_modules/moment/src/locale/x-pseudo.js +0 -73
  915. package/node_modules/moment/src/locale/yo.js +0 -53
  916. package/node_modules/moment/src/locale/zh-cn.js +0 -120
  917. package/node_modules/moment/src/locale/zh-hk.js +0 -101
  918. package/node_modules/moment/src/locale/zh-mo.js +0 -100
  919. package/node_modules/moment/src/locale/zh-tw.js +0 -99
  920. package/node_modules/moment/src/moment.js +0 -93
  921. package/node_modules/moment/ts3.1-typings/moment.d.ts +0 -785
  922. package/node_modules/nanoid/LICENSE +0 -20
  923. package/node_modules/nanoid/README.md +0 -38
  924. package/node_modules/nanoid/async/index.browser.js +0 -33
  925. package/node_modules/nanoid/async/index.d.ts +0 -56
  926. package/node_modules/nanoid/async/index.js +0 -34
  927. package/node_modules/nanoid/async/index.native.js +0 -25
  928. package/node_modules/nanoid/bin/nanoid.js +0 -46
  929. package/node_modules/nanoid/index.browser.js +0 -33
  930. package/node_modules/nanoid/index.d.ts +0 -91
  931. package/node_modules/nanoid/index.js +0 -45
  932. package/node_modules/nanoid/nanoid.js +0 -1
  933. package/node_modules/nanoid/non-secure/index.d.ts +0 -33
  934. package/node_modules/nanoid/non-secure/index.js +0 -20
  935. package/node_modules/nanoid/package.json +0 -46
  936. package/node_modules/nanoid/url-alphabet/index.js +0 -2
  937. package/node_modules/ts-md5/LICENSE +0 -21
  938. package/node_modules/ts-md5/README.md +0 -101
  939. package/node_modules/ts-md5/dist/cjs/index.d.ts +0 -3
  940. package/node_modules/ts-md5/dist/cjs/index.js +0 -10
  941. package/node_modules/ts-md5/dist/cjs/index.js.map +0 -1
  942. package/node_modules/ts-md5/dist/cjs/md5.d.ts +0 -70
  943. package/node_modules/ts-md5/dist/cjs/md5.js +0 -429
  944. package/node_modules/ts-md5/dist/cjs/md5.js.map +0 -1
  945. package/node_modules/ts-md5/dist/cjs/md5_file_hasher.d.ts +0 -25
  946. package/node_modules/ts-md5/dist/cjs/md5_file_hasher.js +0 -96
  947. package/node_modules/ts-md5/dist/cjs/md5_file_hasher.js.map +0 -1
  948. package/node_modules/ts-md5/dist/cjs/parallel_hasher.d.ts +0 -22
  949. package/node_modules/ts-md5/dist/cjs/parallel_hasher.js +0 -69
  950. package/node_modules/ts-md5/dist/cjs/parallel_hasher.js.map +0 -1
  951. package/node_modules/ts-md5/dist/esm/index.d.ts +0 -3
  952. package/node_modules/ts-md5/dist/esm/index.js +0 -4
  953. package/node_modules/ts-md5/dist/esm/index.js.map +0 -1
  954. package/node_modules/ts-md5/dist/esm/md5.d.ts +0 -70
  955. package/node_modules/ts-md5/dist/esm/md5.js +0 -421
  956. package/node_modules/ts-md5/dist/esm/md5.js.map +0 -1
  957. package/node_modules/ts-md5/dist/esm/md5_file_hasher.d.ts +0 -25
  958. package/node_modules/ts-md5/dist/esm/md5_file_hasher.js +0 -89
  959. package/node_modules/ts-md5/dist/esm/md5_file_hasher.js.map +0 -1
  960. package/node_modules/ts-md5/dist/esm/parallel_hasher.d.ts +0 -22
  961. package/node_modules/ts-md5/dist/esm/parallel_hasher.js +0 -64
  962. package/node_modules/ts-md5/dist/esm/parallel_hasher.js.map +0 -1
  963. package/node_modules/ts-md5/dist/md5.js +0 -429
  964. package/node_modules/ts-md5/dist/md5_worker.js +0 -523
  965. package/node_modules/ts-md5/package.json +0 -82
  966. package/node_modules/ts-md5/src/index.ts +0 -4
  967. package/node_modules/ts-md5/src/md5.ts +0 -473
  968. package/node_modules/ts-md5/src/md5_file_hasher.ts +0 -110
  969. package/node_modules/ts-md5/src/parallel_hasher.ts +0 -90
  970. package/node_modules/ts-md5/src/worker.js +0 -20
  971. 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