@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
@@ -1,392 +0,0 @@
1
- "use strict";
2
- var _a;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.Vault = void 0;
5
- const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
- const key_vault_1 = require("@cdktf/provider-azurerm/lib/key-vault");
7
- const cdktf = require("cdktf");
8
- const certificate_1 = require("./certificate");
9
- const key_1 = require("./key");
10
- const policy_1 = require("./policy");
11
- const secret_1 = require("./secret");
12
- const lib_1 = require("../../core-azure/lib");
13
- class Vault extends lib_1.AzureResource {
14
- /**
15
- * Constructs a new Azure Key Vault resource.
16
- *
17
- * This class creates and configures an Azure Key Vault, a secure store for managing secrets, keys, certificates, and other sensitive data.
18
- * It supports advanced configurations such as access policies, network rules, and data retention policies.
19
- *
20
- * @param scope - The scope in which to define this construct, usually representing the Cloud Development Kit (CDK) stack.
21
- * @param id - The unique identifier for this instance of the Key Vault.
22
- * @param props - The properties for creating the Key Vault as defined in VaultProps. These include settings for location, SKU, tenant ID, etc.
23
- *
24
- * Example usage:
25
- * ```typescript
26
- * new Vault(this, 'MyKeyVault', {
27
- * name: 'mySecureVault',
28
- * location: 'East US',
29
- * resourceGroup: myResourceGroup,
30
- * sku: 'premium',
31
- * tenantId: 'my-tenant-id',
32
- * softDeleteRetentionDays: 90,
33
- * purgeProtection: true,
34
- * tags: {
35
- * project: 'My Application'
36
- * }
37
- * });
38
- * ```
39
- */
40
- constructor(scope, id, props) {
41
- super(scope, id);
42
- this.accessPolicies = [];
43
- this.props = props;
44
- this.resourceGroup = props.resourceGroup;
45
- // Provide default values
46
- const purgeProtection = props.purgeProtection ?? true;
47
- const sku = props.sku ?? "standard";
48
- const softDeleteRetentionDays = props.softDeleteRetentionDays ?? 90;
49
- const azurermKeyVault = new key_vault_1.KeyVault(this, "key_vault", {
50
- name: props.name,
51
- location: props.location,
52
- resourceGroupName: props.resourceGroup.name,
53
- tags: props.tags,
54
- skuName: sku,
55
- tenantId: props.tenantId,
56
- networkAcls: props.networkAcls,
57
- purgeProtectionEnabled: purgeProtection,
58
- softDeleteRetentionDays: softDeleteRetentionDays,
59
- });
60
- this.id = azurermKeyVault.id;
61
- this.keyVault = azurermKeyVault;
62
- // Terraform Outputs
63
- const cdktfTerraformOutputKeyVaultid = new cdktf.TerraformOutput(this, "id", {
64
- value: azurermKeyVault.id,
65
- });
66
- /*This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match.*/
67
- cdktfTerraformOutputKeyVaultid.overrideLogicalId("id");
68
- const cdktfTerraformOutputKeyVaultname = new cdktf.TerraformOutput(this, "key_vault_name", {
69
- value: azurermKeyVault.name,
70
- });
71
- /*This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match.*/
72
- cdktfTerraformOutputKeyVaultname.overrideLogicalId("key_vault_name");
73
- }
74
- /**
75
- * Grants read-only access to secrets stored in the Key Vault to a specified Azure AD group.
76
- *
77
- * @param azureAdGroupId - The Azure Active Directory group ID that will receive read access to secrets.
78
- */
79
- grantSecretReaderAccess(azureAdGroupId) {
80
- const policyProps = {
81
- keyVaultId: this,
82
- tenantId: this.props.tenantId,
83
- objectId: azureAdGroupId,
84
- secretPermissions: ["Get", "List"],
85
- };
86
- const policy = new policy_1.AccessPolicy(this, `kv_secret_reader_access_${azureAdGroupId}`, policyProps);
87
- this.accessPolicies.push(policy);
88
- }
89
- /**
90
- * Grants administrative access to secrets stored in the Key Vault to a specified Azure AD group.
91
- *
92
- * @param azureAdGroupId - The Azure Active Directory group ID that will receive administrative access to secrets.
93
- */
94
- grantSecretAdminAccess(azureAdGroupId) {
95
- const policyProps = {
96
- keyVaultId: this,
97
- tenantId: this.props.tenantId,
98
- objectId: azureAdGroupId,
99
- secretPermissions: [
100
- "Get",
101
- "List",
102
- "Set",
103
- "Delete",
104
- "Backup",
105
- "Restore",
106
- "Recover",
107
- ],
108
- };
109
- const policy = new policy_1.AccessPolicy(this, `kv_secret_admin_access_${azureAdGroupId}`, policyProps);
110
- this.accessPolicies.push(policy);
111
- }
112
- /**
113
- * Grants administrative access to certificates stored in the Key Vault to a specified Azure AD group.
114
- *
115
- * @param azureAdGroupId - The Azure Active Directory group ID that will receive administrative access to certificates.
116
- */
117
- grantCertAdminAccess(azureAdGroupId) {
118
- const policyProps = {
119
- keyVaultId: this,
120
- tenantId: this.props.tenantId,
121
- objectId: azureAdGroupId,
122
- certificatePermissions: [
123
- "Get",
124
- "List",
125
- "Set",
126
- "Delete",
127
- "Backup",
128
- "Restore",
129
- "Recover",
130
- ],
131
- };
132
- const policy = new policy_1.AccessPolicy(this, `kv_cert_admin_access_${azureAdGroupId}`, policyProps);
133
- this.accessPolicies.push(policy);
134
- }
135
- /**
136
- * Grants read-only access to certificates stored in the Key Vault to a specified Azure AD group.
137
- *
138
- * @param azureAdGroupId - The Azure Active Directory group ID that will receive read access to certificates.
139
- */
140
- grantCertReaderAccess(azureAdGroupId) {
141
- const policyProps = {
142
- keyVaultId: this,
143
- tenantId: this.props.tenantId,
144
- objectId: azureAdGroupId,
145
- certificatePermissions: ["Get", "List"],
146
- };
147
- const policy = new policy_1.AccessPolicy(this, `kv_cert_reader_access_${azureAdGroupId}`, policyProps);
148
- this.accessPolicies.push(policy);
149
- }
150
- /**
151
- * Grants administrative access to keys stored in the Key Vault to a specified Azure AD group.
152
- *
153
- * @param azureAdGroupId - The Azure Active Directory group ID that will receive administrative access to keys.
154
- */
155
- grantKeyAdminAccess(azureAdGroupId) {
156
- const policyProps = {
157
- keyVaultId: this,
158
- tenantId: this.props.tenantId,
159
- objectId: azureAdGroupId,
160
- keyPermissions: [
161
- "Get",
162
- "List",
163
- "Set",
164
- "Delete",
165
- "Backup",
166
- "Restore",
167
- "Recover",
168
- ],
169
- };
170
- const policy = new policy_1.AccessPolicy(this, `kv_key_admin_access_${azureAdGroupId}`, policyProps);
171
- this.accessPolicies.push(policy);
172
- }
173
- /**
174
- * Grants read-only access to keys stored in the Key Vault to a specified Azure AD group.
175
- *
176
- * @param azureAdGroupId - The Azure Active Directory group ID that will receive read access to keys.
177
- */
178
- grantKeyReaderAccess(azureAdGroupId) {
179
- const policyProps = {
180
- keyVaultId: this,
181
- tenantId: this.props.tenantId,
182
- objectId: azureAdGroupId,
183
- keyPermissions: ["Get", "List"],
184
- };
185
- const policy = new policy_1.AccessPolicy(this, `kv_key_reader_access_${azureAdGroupId}`, policyProps);
186
- this.accessPolicies.push(policy);
187
- }
188
- /**
189
- * Grants custom access based on specified options to an Azure AD group in the Key Vault.
190
- *
191
- * @param azureAdGroupId - The Azure Active Directory group ID that will receive the custom access.
192
- * @param options - Custom access options specifying various permissions for secrets, keys, certificates, and storage.
193
- */
194
- grantCustomAccess(azureAdGroupId, options) {
195
- const policyProps = {
196
- keyVaultId: this,
197
- tenantId: this.props.tenantId,
198
- objectId: azureAdGroupId,
199
- ...options,
200
- };
201
- const policy = new policy_1.AccessPolicy(this, `kv_custom_policy_access_${azureAdGroupId}`, policyProps);
202
- this.accessPolicies.push(policy);
203
- }
204
- /**
205
- * Creates a new secret within the Azure Key Vault.
206
- *
207
- * This method facilitates the storage of sensitive information in the form of a secret within the Key Vault.
208
- * Secrets are protected items such as passwords, database connection strings, or any other piece of information
209
- * that needs to be securely stored and accessed. This method allows setting additional properties such as
210
- * expiration date and content type for better management and compliance.
211
- *
212
- * @param keyVaultSecretName - The unique name for the secret within the Key Vault.
213
- * @param secretValue - The sensitive information or data that needs to be securely stored as a secret.
214
- * @param expirationDate - Optional. The expiration date of the secret in ISO 8601 format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SSZ).
215
- * If provided, the secret will no longer be valid after this date.
216
- * @param contentType - Optional. A description of the type of information the secret contains (e.g., 'password', 'connectionString').
217
- * This can be used by applications to handle the secret appropriately.
218
- *
219
- * Example usage:
220
- * ```typescript
221
- * vault.addSecret(
222
- * 'myDatabasePassword',
223
- * 'p@ssw0rd123!',
224
- * '2030-01-01',
225
- * 'databasePassword'
226
- * );
227
- * ```
228
- * This method does not return a value. It creates a secret within the Key Vault with the specified properties.
229
- */
230
- addSecret(keyVaultSecretName, secretValue, expirationDate, contentType) {
231
- const secretProps = {
232
- keyVaultId: this,
233
- name: keyVaultSecretName,
234
- value: secretValue,
235
- expirationDate: expirationDate,
236
- contentType: contentType,
237
- accessPolicies: this.accessPolicies,
238
- };
239
- new secret_1.Secret(this, keyVaultSecretName, secretProps);
240
- }
241
- /**
242
- * Creates an RSA cryptographic key within the Azure Key Vault.
243
- *
244
- * This method facilitates the creation of an RSA key, which is useful for a variety of cryptographic operations such as
245
- * encryption, decryption, digital signature verification, and more. The RSA key created by this method is configurable
246
- * with an optional expiration date and a default key size of 2048 bits. The key operations allowed include decryption,
247
- * encryption, signing, verifying signatures, and key wrapping/unwrapping.
248
- *
249
- * @param keyVaultKeyName - The unique name for the RSA key within the Key Vault.
250
- * @param expirationDate - Optional. The expiration date of the key in ISO 8601 format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SSZ).
251
- * If provided, the key will no longer be valid after this date.
252
- * @returns A KeyVaultKey object representing the newly created RSA key within the vault.
253
- *
254
- * Example usage:
255
- * ```typescript
256
- * const rsaKey = vault.addRSAKey(
257
- * 'myRSAKey',
258
- * '2030-01-01'
259
- * );
260
- * ```
261
- * This method returns the created KeyVaultKey object, allowing further operations or references to the key.
262
- */
263
- addRSAKey(keyVaultKeyName, expirationDate) {
264
- const keyProps = {
265
- keyVaultId: this,
266
- name: keyVaultKeyName,
267
- keyType: "RSA",
268
- keySize: 2048,
269
- keyOpts: ["decrypt", "encrypt", "sign", "unwrapKey", "verify", "wrapKey"],
270
- expires: expirationDate,
271
- accessPolicies: this.accessPolicies,
272
- };
273
- const key = new key_1.Key(this, keyVaultKeyName, keyProps);
274
- return key.vaultKey;
275
- }
276
- /**
277
- * Creates a cryptographic key within the Azure Key Vault.
278
- *
279
- * This method allows the creation of a cryptographic key of specified type and size within the Key Vault. The key can be
280
- * configured with specific operations it can perform, such as encryption, decryption, signing, etc. An optional expiration
281
- * date can also be set to control the key's lifecycle. This method is flexible, supporting various key types and sizes,
282
- * making it suitable for a wide range of cryptographic needs.
283
- *
284
- * @param keyVaultKeyName - The unique name for the cryptographic key within the Key Vault.
285
- * @param keyType - The type of cryptographic key to create (e.g., 'RSA', 'EC', 'oct-HSM').
286
- * @param keySize - The size of the cryptographic key in bits (e.g., 2048, 3072, 4096 for RSA).
287
- * @param keyOpts - A list of cryptographic operations that the key is allowed to perform. Possible values might include
288
- * 'encrypt', 'decrypt', 'sign', 'verify', 'wrapKey', 'unwrapKey'.
289
- * @param expirationDate - Optional. The expiration date of the key in ISO 8601 format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SSZ).
290
- * If provided, the key will no longer be valid after this date, aligning with best practices for key management.
291
- * @returns A KeyVaultKey object representing the newly created cryptographic key within the vault.
292
- *
293
- * Example usage:
294
- * ```typescript
295
- * const myKey = vault.addKey(
296
- * 'myKey',
297
- * 'RSA',
298
- * 2048,
299
- * ['encrypt', 'decrypt', 'sign', 'verify'],
300
- * '2030-12-31'
301
- * );
302
- * ```
303
- * This method returns the created KeyVaultKey object, enabling immediate use within the application for cryptographic operations.
304
- */
305
- addKey(keyVaultKeyName, keyType, keySize, keyOpts, expirationDate) {
306
- const keyProps = {
307
- keyVaultId: this,
308
- name: keyVaultKeyName,
309
- keyType: keyType,
310
- keySize: keySize,
311
- keyOpts: keyOpts,
312
- expires: expirationDate,
313
- accessPolicies: this.accessPolicies,
314
- };
315
- const key = new key_1.Key(this, keyVaultKeyName, keyProps);
316
- return key.vaultKey;
317
- }
318
- /**
319
- * Creates a self-signed certificate within the Azure Key Vault.
320
- *
321
- * This method facilitates the creation of a self-signed certificate, which is a digital certificate that is signed by
322
- * its own creator rather than a trusted authority. Self-signed certificates can be useful for testing, internal
323
- * communications, or any scenario where public trust is not required. The method allows specifying subject details,
324
- * DNS names for the certificate, and managing its lifecycle with action types and expiry.
325
- *
326
- * @param certName - The unique name for the certificate within the Key Vault.
327
- * @param subject - The subject name of the certificate, typically formatted as an X.500 Distinguished Name (e.g., "CN=example.com").
328
- * @param dnsNames - An array of DNS names that should be associated with this certificate. This is useful for certificates
329
- * that need to be valid for multiple hostnames.
330
- * @param actionType - Optional. Specifies the action to be performed with the certificate, such as 'create' or 'renew'.
331
- * @param daysBeforeExpiry - Optional. Number of days before expiry when an action should be taken, useful for auto-renewal scenarios.
332
- * @returns A KeyVaultCertificate object representing the newly created self-signed certificate.
333
- *
334
- * Example usage:
335
- * ```typescript
336
- * const myCertificate = vault.addSelfSignedCert(
337
- * 'myCert',
338
- * 'CN=mydomain.com',
339
- * ['mydomain.com', 'www.mydomain.com'],
340
- * 'create',
341
- * 30
342
- * );
343
- * ```
344
- * This method returns the KeyVaultCertificate object, enabling it to be used immediately within the application or stored for future use.
345
- */
346
- addSelfSignedCert(certName, subject, dnsNames, actionType, daysBeforeExpiry) {
347
- const keyProps = {
348
- keyVaultId: this,
349
- name: certName,
350
- subject: subject,
351
- dnsNames: dnsNames,
352
- actionType: actionType,
353
- daysBeforeExpiry: daysBeforeExpiry,
354
- accessPolicies: this.accessPolicies,
355
- };
356
- const cert = new certificate_1.SelfSignedCertificate(this, certName, keyProps);
357
- return cert.certificate;
358
- }
359
- /**
360
- * Adds a certificate issuer to the Azure Key Vault.
361
- *
362
- * This method configures a certificate issuer within the Key Vault, allowing the Key Vault to issue certificates
363
- * through external providers. Configuring an issuer is essential for enabling automated certificate management
364
- * processes, such as issuance and renewal, directly through the Key Vault with a specified Certificate Authority (CA).
365
- *
366
- * @param name - The unique name for the certificate issuer within the Key Vault.
367
- * @param provider - The name of the external provider that will issue the certificates, such as 'DigiCert' or 'GlobalSign'.
368
- *
369
- * Example usage:
370
- * ```typescript
371
- * vault.addCertIssuer(
372
- * 'myCertIssuer',
373
- * 'DigiCert'
374
- * );
375
- * ```
376
- * This method configures a certificate issuer but does not return any value. The issuer details, including provider name
377
- * and any necessary credentials (managed externally or through additional method parameters), are set up in the Key Vault
378
- * for future certificate operations.
379
- */
380
- addCertIssuer(name, provider) {
381
- new certificate_1.CertificateIssuer(this, name, {
382
- name: name,
383
- providerName: provider,
384
- keyVaultId: this,
385
- accessPolicies: this.accessPolicies,
386
- });
387
- }
388
- }
389
- exports.Vault = Vault;
390
- _a = JSII_RTTI_SYMBOL_1;
391
- Vault[_a] = { fqn: "@microsoft/terraform-cdk-constructs.azure_keyvault.Vault", version: "0.0.3-pre.7" };
392
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmF1bHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUta2V5dmF1bHQvbGliL3ZhdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEscUVBRytDO0FBSy9DLCtCQUErQjtBQUUvQiwrQ0FJdUI7QUFDdkIsK0JBQXNDO0FBQ3RDLHFDQUEyRDtBQUMzRCxxQ0FBK0M7QUFDL0MsOENBQXFEO0FBNEVyRCxNQUFhLEtBQU0sU0FBUSxtQkFBYTtJQU90Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQXlCRztJQUNILFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBaUI7UUFDekQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQTdCWCxtQkFBYyxHQUFtQixFQUFFLENBQUM7UUErQjFDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQztRQUV6Qyx5QkFBeUI7UUFDekIsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUM7UUFDdEQsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUcsSUFBSSxVQUFVLENBQUM7UUFDcEMsTUFBTSx1QkFBdUIsR0FBRyxLQUFLLENBQUMsdUJBQXVCLElBQUksRUFBRSxDQUFDO1FBRXBFLE1BQU0sZUFBZSxHQUFHLElBQUksb0JBQVEsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFO1lBQ3RELElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtZQUNoQixRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVE7WUFDeEIsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJO1lBQzNDLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtZQUNoQixPQUFPLEVBQUUsR0FBRztZQUNaLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtZQUN4QixXQUFXLEVB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QUFjLEVBQUUsSUFBSSxDQUFDLGNBQWM7U0FDcEMsQ0FBQztRQUNGLE1BQU0sSUFBSSxHQUFHLElBQUksbUNBQXFCLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNqRSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQW9CRztJQUNJLGFBQWEsQ0FBQyxJQUFZLEVBQUUsUUFBZ0I7UUFDakQsSUFBSSwrQkFBaUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQ2hDLElBQUksRUFBRSxJQUFJO1lBQ1YsWUFBWSxFQUFFLFFBQVE7WUFDdEIsVUFBVSxFQUFFLElBQUk7WUFDaEIsY0FBYyxFQUFFLElBQUksQ0FBQyxjQUFjO1NBQ3BDLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBbmRILHNCQW9kQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEtleVZhdWx0LFxuICBLZXlWYXVsdE5ldHdvcmtBY2xzLFxufSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL2tleS12YXVsdFwiO1xuaW1wb3J0IHsgS2V5VmF1bHRDZXJ0aWZpY2F0ZSB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIva2V5LXZhdWx0LWNlcnRpZmljYXRlXCI7IC8vIEFkanVzdCB0aGUgaW1wb3J0IHBhdGggYmFzZWQgb24gdGhlIGFjdHVhbCBtb2R1bGUgbG9jYXRpb24uXG5pbXBvcnQgeyBLZXlWYXVsdEtleSB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIva2V5LXZhdWx0LWtleVwiO1xuaW1wb3J0IHsgUmVzb3VyY2VHcm91cCB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvcmVzb3VyY2UtZ3JvdXBcIjtcblxuaW1wb3J0ICogYXMgY2RrdGYgZnJvbSBcImNka3RmXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtcbiAgQ2VydGlmaWNhdGVJc3N1ZXIsXG4gIFNlbGZTaWduZWRDZXJ0aWZpY2F0ZSxcbiAgU2VsZlNpZ25lZENlcnRpZmljYXRlUHJvcHMsXG59IGZyb20gXCIuL2NlcnRpZmljYXRlXCI7XG5pbXBvcnQgeyBLZXksIEtleVByb3BzIH0gZnJvbSBcIi4va2V5XCI7XG5pbXBvcnQgeyBBY2Nlc3NQb2xpY3ksIEFjY2Vzc1BvbGljeVByb3BzIH0gZnJvbSBcIi4vcG9saWN5XCI7XG5pbXBvcnQgeyBTZWNyZXQsIFNlY3JldFByb3BzIH0gZnJvbSBcIi4vc2VjcmV0XCI7XG5pbXBvcnQgeyBBenVyZVJlc291cmNlIH0gZnJvbSBcIi4uLy4uL2NvcmUtYXp1cmUvbGliXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmF1bHRQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgS2V5IFZhdWx0LlxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIEF6dXJlIFJlZ2lvbiB0byBkZXBsb3kgdGhlIEtleSBWYXVsdC5cbiAgICovXG4gIHJlYWRvbmx5IGxvY2F0aW9uOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgQXp1cmUgUmVzb3VyY2UgR3JvdXAuXG4gICAqL1xuICByZWFkb25seSByZXNvdXJjZUdyb3VwOiBSZXNvdXJjZUdyb3VwO1xuICAvKipcbiAgICogVGhlIHRhZ3MgdG8gYXNzaWduIHRvIHRoZSBLZXkgVmF1bHQuXG4gICAqL1xuICByZWFkb25seSB0YWdzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgLyoqXG4gICAqIFRoZSB0YWdzIHRvIGFzc2lnbiB0byB0aGUgS2V5IFZhdWx0LlxuICAgKi9cbiAgcmVhZG9ubHkgc2t1Pzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIE5hbWUgb2YgdGhlIFNLVSB1c2VkIGZvciB0aGlzIEtleSBWYXVsdC4gUG9zc2libGUgdmFsdWVzIGFyZSBzdGFuZGFyZCBhbmQgcHJlbWl1bS5cbiAgICovXG4gIHJlYWRvbmx5IHRlbmFudElkOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgQXp1cmUgQWN0aXZlIERpcmVjdG9yeSB0ZW5hbnQgSUQgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgYXV0aGVudGljYXRpbmcgcmVxdWVzdHMgdG8gdGhlIGtleSB2YXVsdC5cbiAgICovXG4gIHJlYWRvbmx5IG5ldHdvcmtBY2xzPzogS2V5VmF1bHROZXR3b3JrQWNscztcbiAgLyoqXG4gICAqIEEgbWFwIG9mIElQIG5ldHdvcmsgQUNMIHJ1bGVzLiBUaGUga2V5IGlzIHRoZSBJUCBvciBJUCByYW5nZSBpbiBDSURSIG5vdGF0aW9uLlxuICAgKiBUaGUgdmFsdWUgaXMgYSBkZXNjcmlwdGlvbiBvZiB0aGF0IElQIHJhbmdlLlxuICAgKi9cbiAgcmVhZG9ubHkgcHVyZ2VQcm90ZWN0aW9uPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqICBTcGVjaWZpZXMgd2hldGhlciBwcm90ZWN0aW9uIGFnYWluc3QgcHVyZ2UgaXMgZW5hYmxlZCBmb3IgdGhpcyBLZXkgVmF1bHQuXG4gICAqIFNldHRpbmcgdGhpcyBwcm9wZXJ0eSB0byB0cnVlIGFjdGl2YXRlcyBwcm90ZWN0aW9uIGFnYWluc3QgZGVsZXRpb24gb2YgYW55IGFjdGl2ZSBrZXksIHNlY3JldCBvciBjZXJ0aWZpY2F0ZSBpbiB0aGUgdmF1bHQuIFRoZSBzZXR0aW5nIGlzIGVmZmVjdGl2ZSBvbmx5IGlmIHNvZnQgZGVsZXRlIGlzIGFsc28gZW5hYmxlZC4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgZmFsc2UuXG4gICAqIE9uY2UgYWN0aXZhdGVkLCB0aGUgcHJvcGVydHkgY2Fubm90IGJlIHJldmVydGVkIHRvIGZhbHNlLlxuICAgKi9cbiAgcmVhZG9ubHkgc29mdERlbGV0ZVJldGVudGlvbkRheXM/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIGRheXMgdGhhdCBpdGVtcyBzaG91bGQgYmUgcmV0YWluZWQgZm9yIG9uY2Ugc29mdC1kZWxldGVkLlxuICAgKi9cbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBncmFudGluZyBjdXN0b20gYWNjZXNzIHBlcm1pc3Npb25zIGluIEF6dXJlIEtleSBWYXVsdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHcmFudEN1c3RvbUFjY2Vzc09wdGlvbnMge1xuICAvKipcbiAgICogT3B0aW9uYWw6IEEgbGlzdCBvZiBwZXJtaXNzaW9ucyB0byBncmFudCBmb3Igc2VjcmV0cyBpbiB0aGUgS2V5IFZhdWx0LlxuICAgKiBFeGFtcGxlIHBlcm1pc3Npb25zIGluY2x1ZGUgJ2dldCcsICdsaXN0JywgJ3NldCcsICdkZWxldGUnLCBldGMuXG4gICAqL1xuICByZWFkb25seSBzZWNyZXRQZXJtaXNzaW9ucz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbDogQSBsaXN0IG9mIHBlcm1pc3Npb25zIHRvIGdyYW50IGZvciBjZXJ0aWZpY2F0ZXMgaW4gdGhlIEtleSBWYXVsdC5cbiAgICogRXhhbXBsZSBwZXJtaXNzaW9ucyBpbmNsdWRlICdnZXQnLCAnbGlzdCcsICdjcmVhdGUnLCAnZGVsZXRlJywgZXRjLlxuICAgKi9cbiAgcmVhZG9ubHkgY2VydGlmaWNhdGVQZXJtaXNzaW9ucz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbDogQSBsaXN0IG9mIHBlcm1pc3Npb25zIHRvIGdyYW50IGZvciBrZXlzIGluIHRoZSBLZXkgVmF1bHQuXG4gICAqIEV4YW1wbGUgcGVybWlzc2lvbnMgaW5jbHVkZSAnZW5jcnlwdCcsICdkZWNyeXB0JywgJ3dyYXBLZXknLCAndW53cmFwS2V5JywgZXRjLlxuICAgKi9cbiAgcmVhZG9ubHkga2V5UGVybWlzc2lvbnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogT3B0aW9uYWw6IEEgbGlzdCBvZiBwZXJtaXNzaW9ucyB0byBncmFudCBmb3Igc3RvcmFnZSBhY2NvdW50cyBpbiB0aGUgS2V5IFZhdWx0LlxuICAgKiBFeGFtcGxlIHBlcm1pc3Npb25zIGluY2x1ZGUgJ2dldCcsICdsaXN0JywgJ2RlbGV0ZScsICdzZXQnLCAndXBkYXRlJywgZXRjLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RvcmFnZVBlcm1pc3Npb25zPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBjbGFzcyBWYXVsdCBleHRlbmRzIEF6dXJlUmVzb3VyY2Uge1xuICByZWFkb25seSBwcm9wczogVmF1bHRQcm9wcztcbiAgcHVibGljIGtleVZhdWx0OiBLZXlWYXVsdDtcbiAgcHVibGljIHJlc291cmNlR3JvdXA6IFJlc291cmNlR3JvdXA7XG4gIHB1YmxpYyBpZDogc3RyaW5nO1xuICBwcml2YXRlIGFjY2Vzc1BvbGljaWVzOiBBY2Nlc3NQb2xpY3lbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RzIGEgbmV3IEF6dXJlIEtleSBWYXVsdCByZXNvdXJjZS5cbiAgICpcbiAgICogVGhpcyBjbGFzcyBjcmVhdGVzIGFuZCBjb25maWd1cmVzIGFuIEF6dXJlIEtleSBWYXVsdCwgYSBzZWN1cmUgc3RvcmUgZm9yIG1hbmFnaW5nIHNlY3JldHMsIGtleXMsIGNlcnRpZmljYXRlcywgYW5kIG90aGVyIHNlbnNpdGl2ZSBkYXRhLlxuICAgKiBJdCBzdXBwb3J0cyBhZHZhbmNlZCBjb25maWd1cmF0aW9ucyBzdWNoIGFzIGFjY2VzcyBwb2xpY2llcywgbmV0d29yayBydWxlcywgYW5kIGRhdGEgcmV0ZW50aW9uIHBvbGljaWVzLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgLSBUaGUgc2NvcGUgaW4gd2hpY2ggdG8gZGVmaW5lIHRoaXMgY29uc3RydWN0LCB1c3VhbGx5IHJlcHJlc2VudGluZyB0aGUgQ2xvdWQgRGV2ZWxvcG1lbnQgS2l0IChDREspIHN0YWNrLlxuICAgKiBAcGFyYW0gaWQgLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoaXMgaW5zdGFuY2Ugb2YgdGhlIEtleSBWYXVsdC5cbiAgICogQHBhcmFtIHByb3BzIC0gVGhlIHByb3BlcnRpZXMgZm9yIGNyZWF0aW5nIHRoZSBLZXkgVmF1bHQgYXMgZGVmaW5lZCBpbiBWYXVsdFByb3BzLiBUaGVzZSBpbmNsdWRlIHNldHRpbmdzIGZvciBsb2NhdGlvbiwgU0tVLCB0ZW5hbnQgSUQsIGV0Yy5cbiAgICpcbiAgICogRXhhbXBsZSB1c2FnZTpcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiBuZXcgVmF1bHQodGhpcywgJ015S2V5VmF1bHQnLCB7XG4gICAqICAgbmFtZTogJ215U2VjdXJlVmF1bHQnLFxuICAgKiAgIGxvY2F0aW9uOiAnRWFzdCBVUycsXG4gICAqICAgcmVzb3VyY2VHcm91cDogbXlSZXNvdXJjZUdyb3VwLFxuICAgKiAgIHNrdTogJ3ByZW1pdW0nLFxuICAgKiAgIHRlbmFudElkOiAnbXktdGVuYW50LWlkJyxcbiAgICogICBzb2Z0RGVsZXRlUmV0ZW50aW9uRGF5czogOTAsXG4gICAqICAgcHVyZ2VQcm90ZWN0aW9uOiB0cnVlLFxuICAgKiAgIHRhZ3M6IHtcbiAgICogICAgIHByb2plY3Q6ICdNeSBBcHBsaWNhdGlvbidcbiAgICogICB9XG4gICAqIH0pO1xuICAgKiBgYGBcbiAgICovXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBWYXVsdFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHRoaXMucHJvcHMgPSBwcm9wcztcbiAgICB0aGlzLnJlc291cmNlR3JvdXAgPSBwcm9wcy5yZXNvdXJjZUdyb3VwO1xuXG4gICAgLy8gUHJvdmlkZSBkZWZhdWx0IHZhbHVlc1xuICAgIGNvbnN0IHB1cmdlUHJvdGVjdGlvbiA9IHByb3BzLnB1cmdlUHJvdGVjdGlvbiA/PyB0cnVlO1xuICAgIGNvbnN0IHNrdSA9IHByb3BzLnNrdSA/PyBcInN0YW5kYXJkXCI7XG4gICAgY29uc3Qgc29mdERlbGV0ZVJldGVudGlvbkRheXMgPSBwcm9wcy5zb2Z0RGVsZXRlUmV0ZW50aW9uRGF5cyA/PyA5MDtcblxuICAgIGNvbnN0IGF6dXJlcm1LZXlWYXVsdCA9IG5ldyBLZXlWYXVsdCh0aGlzLCBcImtleV92YXVsdFwiLCB7XG4gICAgICBuYW1lOiBwcm9wcy5uYW1lLFxuICAgICAgbG9jYXRpb246IHByb3BzLmxvY2F0aW9uLFxuICAgICAgcmVzb3VyY2VHcm91cE5hbWU6IHByb3BzLnJlc291cmNlR3JvdXAubmFtZSxcbiAgICAgIHRhZ3M6IHByb3BzLnRhZ3MsXG4gICAgICBza3VOYW1lOiBza3UsXG4gICAgICB0ZW5hbnRJZDogcHJvcHMudGVuYW50SWQsXG4gICAgICBuZXR3b3JrQWNsczogcHJvcHMubmV0d29ya0FjbHMsXG4gICAgICBwdXJnZVByb3RlY3Rpb25FbmFibGVkOiBwdXJnZVByb3RlY3Rpb24sXG4gICAgICBzb2Z0RGVsZXRlUmV0ZW50aW9uRGF5czogc29mdERlbGV0ZVJldGVudGlvbkRheXMsXG4gICAgfSk7XG4gICAgdGhpcy5pZCA9IGF6dXJlcm1LZXlWYXVsdC5pZDtcbiAgICB0aGlzLmtleVZhdWx0ID0gYXp1cmVybUtleVZhdWx0O1xuXG4gICAgLy8gVGVycmFmb3JtIE91dHB1dHNcbiAgICBjb25zdCBjZGt0ZlRlcnJhZm9ybU91dHB1dEtleVZhdWx0aWQgPSBuZXcgY2RrdGYuVGVycmFmb3JtT3V0cHV0KFxuICAgICAgdGhpcyxcbiAgICAgIFwiaWRcIixcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6IGF6dXJlcm1LZXlWYXVsdC5pZCxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIC8qVGhpcyBhbGxvd3MgdGhlIFRlcnJhZm9ybSByZXNvdXJjZSBuYW1lIHRvIG1hdGNoIHRoZSBvcmlnaW5hbCBuYW1lLiBZb3UgY2FuIHJlbW92ZSB0aGUgY2FsbCBpZiB5b3UgZG9uJ3QgbmVlZCB0aGVtIHRvIG1hdGNoLiovXG4gICAgY2RrdGZUZXJyYWZvcm1PdXRwdXRLZXlWYXVsdGlkLm92ZXJyaWRlTG9naWNhbElkKFwiaWRcIik7XG5cbiAgICBjb25zdCBjZGt0ZlRlcnJhZm9ybU91dHB1dEtleVZhdWx0bmFtZSA9IG5ldyBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQoXG4gICAgICB0aGlzLFxuICAgICAgXCJrZXlfdmF1bHRfbmFtZVwiLFxuICAgICAge1xuICAgICAgICB2YWx1ZTogYXp1cmVybUtleVZhdWx0Lm5hbWUsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICAvKlRoaXMgYWxsb3dzIHRoZSBUZXJyYWZvcm0gcmVzb3VyY2UgbmFtZSB0byBtYXRjaCB0aGUgb3JpZ2luYWwgbmFtZS4gWW91IGNhbiByZW1vdmUgdGhlIGNhbGwgaWYgeW91IGRvbid0IG5lZWQgdGhlbSB0byBtYXRjaC4qL1xuICAgIGNka3RmVGVycmFmb3JtT3V0cHV0S2V5VmF1bHRuYW1lLm92ZXJyaWRlTG9naWNhbElkKFwia2V5X3ZhdWx0X25hbWVcIik7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHJlYWQtb25seSBhY2Nlc3MgdG8gc2VjcmV0cyBzdG9yZWQgaW4gdGhlIEtleSBWYXVsdCB0byBhIHNwZWNpZmllZCBBenVyZSBBRCBncm91cC5cbiAgICpcbiAgICogQHBhcmFtIGF6dXJlQWRHcm91cElkIC0gVGhlIEF6dXJlIEFjdGl2ZSBEaXJlY3RvcnkgZ3JvdXAgSUQgdGhhdCB3aWxsIHJlY2VpdmUgcmVhZCBhY2Nlc3MgdG8gc2VjcmV0cy5cbiAgICovXG4gIHB1YmxpYyBncmFudFNlY3JldFJlYWRlckFjY2VzcyhhenVyZUFkR3JvdXBJZDogc3RyaW5nKSB7XG4gICAgY29uc3QgcG9saWN5UHJvcHM6IEFjY2Vzc1BvbGljeVByb3BzID0ge1xuICAgICAga2V5VmF1bHRJZDogdGhpcyxcbiAgICAgIHRlbmFudElkOiB0aGlzLnByb3BzLnRlbmFudElkLFxuICAgICAgb2JqZWN0SWQ6IGF6dXJlQWRHcm91cElkLFxuICAgICAgc2VjcmV0UGVybWlzc2lvbnM6IFtcIkdldFwiLCBcIkxpc3RcIl0sXG4gICAgfTtcblxuICAgIGNvbnN0IHBvbGljeSA9IG5ldyBBY2Nlc3NQb2xpY3koXG4gICAgICB0aGlzLFxuICAgICAgYGt2X3NlY3JldF9yZWFkZXJfYWNjZXNzXyR7YXp1cmVBZEdyb3VwSWR9YCxcbiAgICAgIHBvbGljeVByb3BzLFxuICAgICk7XG4gICAgdGhpcy5hY2Nlc3NQb2xpY2llcy5wdXNoKHBvbGljeSk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIGFkbWluaXN0cmF0aXZlIGFjY2VzcyB0byBzZWNyZXRzIHN0b3JlZCBpbiB0aGUgS2V5IFZhdWx0IHRvIGEgc3BlY2lmaWVkIEF6dXJlIEFEIGdyb3VwLlxuICAgKlxuICAgKiBAcGFyYW0gYXp1cmVBZEdyb3VwSWQgLSBUaGUgQXp1cmUgQWN0aXZlIERpcmVjdG9yeSBncm91cCBJRCB0aGF0IHdpbGwgcmVjZWl2ZSBhZG1pbmlzdHJhdGl2ZSBhY2Nlc3MgdG8gc2VjcmV0cy5cbiAgICovXG4gIHB1YmxpYyBncmFudFNlY3JldEFkbWluQWNjZXNzKGF6dXJlQWRHcm91cElkOiBzdHJpbmcpIHtcbiAgICBjb25zdCBwb2xpY3lQcm9wczogQWNjZXNzUG9saWN5UHJvcHMgPSB7XG4gICAgICBrZXlWYXVsdElkOiB0aGlzLFxuICAgICAgdGVuYW50SWQ6IHRoaXMucHJvcHMudGVuYW50SWQsXG4gICAgICBvYmplY3RJZDogYXp1cmVBZEdyb3VwSWQsXG4gICAgICBzZWNyZXRQZXJtaXNzaW9uczogW1xuICAgICAgICBcIkdldFwiLFxuICAgICAgICBcIkxpc3RcIixcbiAgICAgICAgXCJTZXRcIixcbiAgICAgICAgXCJEZWxldGVcIixcbiAgICAgICAgXCJCYWNrdXBcIixcbiAgICAgICAgXCJSZXN0b3JlXCIsXG4gICAgICAgIFwiUmVjb3ZlclwiLFxuICAgICAgXSxcbiAgICB9O1xuXG4gICAgY29uc3QgcG9saWN5ID0gbmV3IEFjY2Vzc1BvbGljeShcbiAgICAgIHRoaXMsXG4gICAgICBga3Zfc2VjcmV0X2FkbWluX2FjY2Vzc18ke2F6dXJlQWRHcm91cElkfWAsXG4gICAgICBwb2xpY3lQcm9wcyxcbiAgICApO1xuICAgIHRoaXMuYWNjZXNzUG9saWNpZXMucHVzaChwb2xpY3kpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBhZG1pbmlzdHJhdGl2ZSBhY2Nlc3MgdG8gY2VydGlmaWNhdGVzIHN0b3JlZCBpbiB0aGUgS2V5IFZhdWx0IHRvIGEgc3BlY2lmaWVkIEF6dXJlIEFEIGdyb3VwLlxuICAgKlxuICAgKiBAcGFyYW0gYXp1cmVBZEdyb3VwSWQgLSBUaGUgQXp1cmUgQWN0aXZlIERpcmVjdG9yeSBncm91cCBJRCB0aGF0IHdpbGwgcmVjZWl2ZSBhZG1pbmlzdHJhdGl2ZSBhY2Nlc3MgdG8gY2VydGlmaWNhdGVzLlxuICAgKi9cbiAgcHVibGljIGdyYW50Q2VydEFkbWluQWNjZXNzKGF6dXJlQWRHcm91cElkOiBzdHJpbmcpIHtcbiAgICBjb25zdCBwb2xpY3lQcm9wczogQWNjZXNzUG9saWN5UHJvcHMgPSB7XG4gICAgICBrZXlWYXVsdElkOiB0aGlzLFxuICAgICAgdGVuYW50SWQ6IHRoaXMucHJvcHMudGVuYW50SWQsXG4gICAgICBvYmplY3RJZDogYXp1cmVBZEdyb3VwSWQsXG4gICAgICBjZXJ0aWZpY2F0ZVBlcm1pc3Npb25zOiBbXG4gICAgICAgIFwiR2V0XCIsXG4gICAgICAgIFwiTGlzdFwiLFxuICAgICAgICBcIlNldFwiLFxuICAgICAgICBcIkRlbGV0ZVwiLFxuICAgICAgICBcIkJhY2t1cFwiLFxuICAgICAgICBcIlJlc3RvcmVcIixcbiAgICAgICAgXCJSZWNvdmVyXCIsXG4gICAgICBdLFxuICAgIH07XG5cbiAgICBjb25zdCBwb2xpY3kgPSBuZXcgQWNjZXNzUG9saWN5KFxuICAgICAgdGhpcyxcbiAgICAgIGBrdl9jZXJ0X2FkbWluX2FjY2Vzc18ke2F6dXJlQWRHcm91cElkfWAsXG4gICAgICBwb2xpY3lQcm9wcyxcbiAgICApO1xuICAgIHRoaXMuYWNjZXNzUG9saWNpZXMucHVzaChwb2xpY3kpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyByZWFkLW9ubHkgYWNjZXNzIHRvIGNlcnRpZmljYXRlcyBzdG9yZWQgaW4gdGhlIEtleSBWYXVsdCB0byBhIHNwZWNpZmllZCBBenVyZSBBRCBncm91cC5cbiAgICpcbiAgICogQHBhcmFtIGF6dXJlQWRHcm91cElkIC0gVGhlIEF6dXJlIEFjdGl2ZSBEaXJlY3RvcnkgZ3JvdXAgSUQgdGhhdCB3aWxsIHJlY2VpdmUgcmVhZCBhY2Nlc3MgdG8gY2VydGlmaWNhdGVzLlxuICAgKi9cbiAgcHVibGljIGdyYW50Q2VydFJlYWRlckFjY2VzcyhhenVyZUFkR3JvdXBJZDogc3RyaW5nKSB7XG4gICAgY29uc3QgcG9saWN5UHJvcHM6IEFjY2Vzc1BvbGljeVByb3BzID0ge1xuICAgICAga2V5VmF1bHRJZDogdGhpcyxcbiAgICAgIHRlbmFudElkOiB0aGlzLnByb3BzLnRlbmFudElkLFxuICAgICAgb2JqZWN0SWQ6IGF6dXJlQWRHcm91cElkLFxuICAgICAgY2VydGlmaWNhdGVQZXJtaXNzaW9uczogW1wiR2V0XCIsIFwiTGlzdFwiXSxcbiAgICB9O1xuXG4gICAgY29uc3QgcG9saWN5ID0gbmV3IEFjY2Vzc1BvbGljeShcbiAgICAgIHRoaXMsXG4gICAgICBga3ZfY2VydF9yZWFkZXJfYWNjZXNzXyR7YXp1cmVBZEdyb3VwSWR9YCxcbiAgICAgIHBvbGljeVByb3BzLFxuICAgICk7XG4gICAgdGhpcy5hY2Nlc3NQb2xpY2llcy5wdXNoKHBvbGljeSk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIGFkbWluaXN0cmF0aXZlIGFjY2VzcyB0byBrZXlzIHN0b3JlZCBpbiB0aGUgS2V5IFZhdWx0IHRvIGEgc3BlY2lmaWVkIEF6dXJlIEFEIGdyb3VwLlxuICAgKlxuICAgKiBAcGFyYW0gYXp1cmVBZEdyb3VwSWQgLSBUaGUgQXp1cmUgQWN0aXZlIERpcmVjdG9yeSBncm91cCBJRCB0aGF0IHdpbGwgcmVjZWl2ZSBhZG1pbmlzdHJhdGl2ZSBhY2Nlc3MgdG8ga2V5cy5cbiAgICovXG4gIHB1YmxpYyBncmFudEtleUFkbWluQWNjZXNzKGF6dXJlQWRHcm91cElkOiBzdHJpbmcpIHtcbiAgICBjb25zdCBwb2xpY3lQcm9wczogQWNjZXNzUG9saWN5UHJvcHMgPSB7XG4gICAgICBrZXlWYXVsdElkOiB0aGlzLFxuICAgICAgdGVuYW50SWQ6IHRoaXMucHJvcHMudGVuYW50SWQsXG4gICAgICBvYmplY3RJZDogYXp1cmVBZEdyb3VwSWQsXG4gICAgICBrZXlQZXJtaXNzaW9uczogW1xuICAgICAgICBcIkdldFwiLFxuICAgICAgICBcIkxpc3RcIixcbiAgICAgICAgXCJTZXRcIixcbiAgICAgICAgXCJEZWxldGVcIixcbiAgICAgICAgXCJCYWNrdXBcIixcbiAgICAgICAgXCJSZXN0b3JlXCIsXG4gICAgICAgIFwiUmVjb3ZlclwiLFxuICAgICAgXSxcbiAgICB9O1xuXG4gICAgY29uc3QgcG9saWN5ID0gbmV3IEFjY2Vzc1BvbGljeShcbiAgICAgIHRoaXMsXG4gICAgICBga3Zfa2V5X2FkbWluX2FjY2Vzc18ke2F6dXJlQWRHcm91cElkfWAsXG4gICAgICBwb2xpY3lQcm9wcyxcbiAgICApO1xuICAgIHRoaXMuYWNjZXNzUG9saWNpZXMucHVzaChwb2xpY3kpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyByZWFkLW9ubHkgYWNjZXNzIHRvIGtleXMgc3RvcmVkIGluIHRoZSBLZXkgVmF1bHQgdG8gYSBzcGVjaWZpZWQgQXp1cmUgQUQgZ3JvdXAuXG4gICAqXG4gICAqIEBwYXJhbSBhenVyZUFkR3JvdXBJZCAtIFRoZSBBenVyZSBBY3RpdmUgRGlyZWN0b3J5IGdyb3VwIElEIHRoYXQgd2lsbCByZWNlaXZlIHJlYWQgYWNjZXNzIHRvIGtleXMuXG4gICAqL1xuICBwdWJsaWMgZ3JhbnRLZXlSZWFkZXJBY2Nlc3MoYXp1cmVBZEdyb3VwSWQ6IHN0cmluZykge1xuICAgIGNvbnN0IHBvbGljeVByb3BzOiBBY2Nlc3NQb2xpY3lQcm9wcyA9IHtcbiAgICAgIGtleVZhdWx0SWQ6IHRoaXMsXG4gICAgICB0ZW5hbnRJZDogdGhpcy5wcm9wcy50ZW5hbnRJZCxcbiAgICAgIG9iamVjdElkOiBhenVyZUFkR3JvdXBJZCxcbiAgICAgIGtleVBlcm1pc3Npb25zOiBbXCJHZXRcIiwgXCJMaXN0XCJdLFxuICAgIH07XG5cbiAgICBjb25zdCBwb2xpY3kgPSBuZXcgQWNjZXNzUG9saWN5KFxuICAgICAgdGhpcyxcbiAgICAgIGBrdl9rZXlfcmVhZGVyX2FjY2Vzc18ke2F6dXJlQWRHcm91cElkfWAsXG4gICAgICBwb2xpY3lQcm9wcyxcbiAgICApO1xuICAgIHRoaXMuYWNjZXNzUG9saWNpZXMucHVzaChwb2xpY3kpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBjdXN0b20gYWNjZXNzIGJhc2VkIG9uIHNwZWNpZmllZCBvcHRpb25zIHRvIGFuIEF6dXJlIEFEIGdyb3VwIGluIHRoZSBLZXkgVmF1bHQuXG4gICAqXG4gICAqIEBwYXJhbSBhenVyZUFkR3JvdXBJZCAtIFRoZSBBenVyZSBBY3RpdmUgRGlyZWN0b3J5IGdyb3VwIElEIHRoYXQgd2lsbCByZWNlaXZlIHRoZSBjdXN0b20gYWNjZXNzLlxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIEN1c3RvbSBhY2Nlc3Mgb3B0aW9ucyBzcGVjaWZ5aW5nIHZhcmlvdXMgcGVybWlzc2lvbnMgZm9yIHNlY3JldHMsIGtleXMsIGNlcnRpZmljYXRlcywgYW5kIHN0b3JhZ2UuXG4gICAqL1xuICBwdWJsaWMgZ3JhbnRDdXN0b21BY2Nlc3MoXG4gICAgYXp1cmVBZEdyb3VwSWQ6IHN0cmluZyxcbiAgICBvcHRpb25zOiBHcmFudEN1c3RvbUFjY2Vzc09wdGlvbnMsXG4gICkge1xuICAgIGNvbnN0IHBvbGljeVByb3BzOiBBY2Nlc3NQb2xpY3lQcm9wcyA9IHtcbiAgICAgIGtleVZhdWx0SWQ6IHRoaXMsXG4gICAgICB0ZW5hbnRJZDogdGhpcy5wcm9wcy50ZW5hbnRJZCxcbiAgICAgIG9iamVjdElkOiBhenVyZUFkR3JvdXBJZCxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfTtcblxuICAgIGNvbnN0IHBvbGljeSA9IG5ldyBBY2Nlc3NQb2xpY3koXG4gICAgICB0aGlzLFxuICAgICAgYGt2X2N1c3RvbV9wb2xpY3lfYWNjZXNzXyR7YXp1cmVBZEdyb3VwSWR9YCxcbiAgICAgIHBvbGljeVByb3BzLFxuICAgICk7XG4gICAgdGhpcy5hY2Nlc3NQb2xpY2llcy5wdXNoKHBvbGljeSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBzZWNyZXQgd2l0aGluIHRoZSBBenVyZSBLZXkgVmF1bHQuXG4gICAqXG4gICAqIFRoaXMgbWV0aG9kIGZhY2lsaXRhdGVzIHRoZSBzdG9yYWdlIG9mIHNlbnNpdGl2ZSBpbmZvcm1hdGlvbiBpbiB0aGUgZm9ybSBvZiBhIHNlY3JldCB3aXRoaW4gdGhlIEtleSBWYXVsdC5cbiAgICogU2VjcmV0cyBhcmUgcHJvdGVjdGVkIGl0ZW1zIHN1Y2ggYXMgcGFzc3dvcmRzLCBkYXRhYmFzZSBjb25uZWN0aW9uIHN0cmluZ3MsIG9yIGFueSBvdGhlciBwaWVjZSBvZiBpbmZvcm1hdGlvblxuICAgKiB0aGF0IG5lZWRzIHRvIGJlIHNlY3VyZWx5IHN0b3JlZCBhbmQgYWNjZXNzZWQuIFRoaXMgbWV0aG9kIGFsbG93cyBzZXR0aW5nIGFkZGl0aW9uYWwgcHJvcGVydGllcyBzdWNoIGFzXG4gICAqIGV4cGlyYXRpb24gZGF0ZSBhbmQgY29udGVudCB0eXBlIGZvciBiZXR0ZXIgbWFuYWdlbWVudCBhbmQgY29tcGxpYW5jZS5cbiAgICpcbiAgICogQHBhcmFtIGtleVZhdWx0U2VjcmV0TmFtZSAtIFRoZSB1bmlxdWUgbmFtZSBmb3IgdGhlIHNlY3JldCB3aXRoaW4gdGhlIEtleSBWYXVsdC5cbiAgICogQHBhcmFtIHNlY3JldFZhbHVlIC0gVGhlIHNlbnNpdGl2ZSBpbmZvcm1hdGlvbiBvciBkYXRhIHRoYXQgbmVlZHMgdG8gYmUgc2VjdXJlbHkgc3RvcmVkIGFzIGEgc2VjcmV0LlxuICAgKiBAcGFyYW0gZXhwaXJhdGlvbkRhdGUgLSBPcHRpb25hbC4gVGhlIGV4cGlyYXRpb24gZGF0ZSBvZiB0aGUgc2VjcmV0IGluIElTTyA4NjAxIGZvcm1hdCAoWVlZWS1NTS1ERCBvciBZWVlZLU1NLUREVEhIOk1NOlNTWikuXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgIElmIHByb3ZpZGVkLCB0aGUgc2VjcmV0IHdpbGwgbm8gbG9uZ2VyIGJlIHZhbGlkIGFmdGVyIHRoaXMgZGF0ZS5cbiAgICogQHBhcmFtIGNvbnRlbnRUeXBlIC0gT3B0aW9uYWwuIEEgZGVzY3JpcHRpb24gb2YgdGhlIHR5cGUgb2YgaW5mb3JtYXRpb24gdGhlIHNlY3JldCBjb250YWlucyAoZS5nLiwgJ3Bhc3N3b3JkJywgJ2Nvbm5lY3Rpb25TdHJpbmcnKS5cbiAgICogICAgICAgICAgICAgICAgICAgICAgVGhpcyBjYW4gYmUgdXNlZCBieSBhcHBsaWNhdGlvbnMgdG8gaGFuZGxlIHRoZSBzZWNyZXQgYXBwcm9wcmlhdGVseS5cbiAgICpcbiAgICogRXhhbXBsZSB1c2FnZTpcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiB2YXVsdC5hZGRTZWNyZXQoXG4gICAqICAgJ215RGF0YWJhc2VQYXNzd29yZCcsXG4gICAqICAgJ3BAc3N3MHJkMTIzIScsXG4gICAqICAgJzIwMzAtMDEtMDEnLFxuICAgKiAgICdkYXRhYmFzZVBhc3N3b3JkJ1xuICAgKiApO1xuICAgKiBgYGBcbiAgICogVGhpcyBtZXRob2QgZG9lcyBub3QgcmV0dXJuIGEgdmFsdWUuIEl0IGNyZWF0ZXMgYSBzZWNyZXQgd2l0aGluIHRoZSBLZXkgVmF1bHQgd2l0aCB0aGUgc3BlY2lmaWVkIHByb3BlcnRpZXMuXG4gICAqL1xuICBwdWJsaWMgYWRkU2VjcmV0KFxuICAgIGtleVZhdWx0U2VjcmV0TmFtZTogc3RyaW5nLFxuICAgIHNlY3JldFZhbHVlOiBzdHJpbmcsXG4gICAgZXhwaXJhdGlvbkRhdGU/OiBzdHJpbmcsXG4gICAgY29udGVudFR5cGU/OiBzdHJpbmcsXG4gICkge1xuICAgIGNvbnN0IHNlY3JldFByb3BzOiBTZWNyZXRQcm9wcyA9IHtcbiAgICAgIGtleVZhdWx0SWQ6IHRoaXMsXG4gICAgICBuYW1lOiBrZXlWYXVsdFNlY3JldE5hbWUsXG4gICAgICB2YWx1ZTogc2VjcmV0VmFsdWUsXG4gICAgICBleHBpcmF0aW9uRGF0ZTogZXhwaXJhdGlvbkRhdGUsXG4gICAgICBjb250ZW50VHlwZTogY29udGVudFR5cGUsXG4gICAgICBhY2Nlc3NQb2xpY2llczogdGhpcy5hY2Nlc3NQb2xpY2llcyxcbiAgICB9O1xuXG4gICAgbmV3IFNlY3JldCh0aGlzLCBrZXlWYXVsdFNlY3JldE5hbWUsIHNlY3JldFByb3BzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGFuIFJTQSBjcnlwdG9ncmFwaGljIGtleSB3aXRoaW4gdGhlIEF6dXJlIEtleSBWYXVsdC5cbiAgICpcbiAgICogVGhpcyBtZXRob2QgZmFjaWxpdGF0ZXMgdGhlIGNyZWF0aW9uIG9mIGFuIFJTQSBrZXksIHdoaWNoIGlzIHVzZWZ1bCBmb3IgYSB2YXJpZXR5IG9mIGNyeXB0b2dyYXBoaWMgb3BlcmF0aW9ucyBzdWNoIGFzXG4gICAqIGVuY3J5cHRpb24sIGRlY3J5cHRpb24sIGRpZ2l0YWwgc2lnbmF0dXJlIHZlcmlmaWNhdGlvbiwgYW5kIG1vcmUuIFRoZSBSU0Ega2V5IGNyZWF0ZWQgYnkgdGhpcyBtZXRob2QgaXMgY29uZmlndXJhYmxlXG4gICAqIHdpdGggYW4gb3B0aW9uYWwgZXhwaXJhdGlvbiBkYXRlIGFuZCBhIGRlZmF1bHQga2V5IHNpemUgb2YgMjA0OCBiaXRzLiBUaGUga2V5IG9wZXJhdGlvbnMgYWxsb3dlZCBpbmNsdWRlIGRlY3J5cHRpb24sXG4gICAqIGVuY3J5cHRpb24sIHNpZ25pbmcsIHZlcmlmeWluZyBzaWduYXR1cmVzLCBhbmQga2V5IHdyYXBwaW5nL3Vud3JhcHBpbmcuXG4gICAqXG4gICAqIEBwYXJhbSBrZXlWYXVsdEtleU5hbWUgLSBUaGUgdW5pcXVlIG5hbWUgZm9yIHRoZSBSU0Ega2V5IHdpdGhpbiB0aGUgS2V5IFZhdWx0LlxuICAgKiBAcGFyYW0gZXhwaXJhdGlvbkRhdGUgLSBPcHRpb25hbC4gVGhlIGV4cGlyYXRpb24gZGF0ZSBvZiB0aGUga2V5IGluIElTTyA4NjAxIGZvcm1hdCAoWVlZWS1NTS1ERCBvciBZWVlZLU1NLUREVEhIOk1NOlNTWikuXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgIElmIHByb3ZpZGVkLCB0aGUga2V5IHdpbGwgbm8gbG9uZ2VyIGJlIHZhbGlkIGFmdGVyIHRoaXMgZGF0ZS5cbiAgICogQHJldHVybnMgQSBLZXlWYXVsdEtleSBvYmplY3QgcmVwcmVzZW50aW5nIHRoZSBuZXdseSBjcmVhdGVkIFJTQSBrZXkgd2l0aGluIHRoZSB2YXVsdC5cbiAgICpcbiAgICogRXhhbXBsZSB1c2FnZTpcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiBjb25zdCByc2FLZXkgPSB2YXVsdC5hZGRSU0FLZXkoXG4gICAqICAgJ215UlNBS2V5JyxcbiAgICogICAnMjAzMC0wMS0wMSdcbiAgICogKTtcbiAgICogYGBgXG4gICAqIFRoaXMgbWV0aG9kIHJldHVybnMgdGhlIGNyZWF0ZWQgS2V5VmF1bHRLZXkgb2JqZWN0LCBhbGxvd2luZyBmdXJ0aGVyIG9wZXJhdGlvbnMgb3IgcmVmZXJlbmNlcyB0byB0aGUga2V5LlxuICAgKi9cbiAgcHVibGljIGFkZFJTQUtleShcbiAgICBrZXlWYXVsdEtleU5hbWU6IHN0cmluZyxcbiAgICBleHBpcmF0aW9uRGF0ZT86IHN0cmluZyxcbiAgKTogS2V5VmF1bHRLZXkge1xuICAgIGNvbnN0IGtleVByb3BzOiBLZXlQcm9wcyA9IHtcbiAgICAgIGtleVZhdWx0SWQ6IHRoaXMsXG4gICAgICBuYW1lOiBrZXlWYXVsdEtleU5hbWUsXG4gICAgICBrZXlUeXBlOiBcIlJTQVwiLFxuICAgICAga2V5U2l6ZTogMjA0OCxcbiAgICAgIGtleU9wdHM6IFtcImRlY3J5cHRcIiwgXCJlbmNyeXB0XCIsIFwic2lnblwiLCBcInVud3JhcEtleVwiLCBcInZlcmlmeVwiLCBcIndyYXBLZXlcIl0sXG4gICAgICBleHBpcmVzOiBleHBpcmF0aW9uRGF0ZSxcbiAgICAgIGFjY2Vzc1BvbGljaWVzOiB0aGlzLmFjY2Vzc1BvbGljaWVzLFxuICAgIH07XG5cbiAgICBjb25zdCBrZXkgPSBuZXcgS2V5KHRoaXMsIGtleVZhdWx0S2V5TmFtZSwga2V5UHJvcHMpO1xuICAgIHJldHVybiBrZXkudmF1bHRLZXk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIGNyeXB0b2dyYXBoaWMga2V5IHdpdGhpbiB0aGUgQXp1cmUgS2V5IFZhdWx0LlxuICAgKlxuICAgKiBUaGlzIG1ldGhvZCBhbGxvd3MgdGhlIGNyZWF0aW9uIG9mIGEgY3J5cHRvZ3JhcGhpYyBrZXkgb2Ygc3BlY2lmaWVkIHR5cGUgYW5kIHNpemUgd2l0aGluIHRoZSBLZXkgVmF1bHQuIFRoZSBrZXkgY2FuIGJlXG4gICAqIGNvbmZpZ3VyZWQgd2l0aCBzcGVjaWZpYyBvcGVyYXRpb25zIGl0IGNhbiBwZXJmb3JtLCBzdWNoIGFzIGVuY3J5cHRpb24sIGRlY3J5cHRpb24sIHNpZ25pbmcsIGV0Yy4gQW4gb3B0aW9uYWwgZXhwaXJhdGlvblxuICAgKiBkYXRlIGNhbiBhbHNvIGJlIHNldCB0byBjb250cm9sIHRoZSBrZXkncyBsaWZlY3ljbGUuIFRoaXMgbWV0aG9kIGlzIGZsZXhpYmxlLCBzdXBwb3J0aW5nIHZhcmlvdXMga2V5IHR5cGVzIGFuZCBzaXplcyxcbiAgICogbWFraW5nIGl0IHN1aXRhYmxlIGZvciBhIHdpZGUgcmFuZ2Ugb2YgY3J5cHRvZ3JhcGhpYyBuZWVkcy5cbiAgICpcbiAgICogQHBhcmFtIGtleVZhdWx0S2V5TmFtZSAtIFRoZSB1bmlxdWUgbmFtZSBmb3IgdGhlIGNyeXB0b2dyYXBoaWMga2V5IHdpdGhpbiB0aGUgS2V5IFZhdWx0LlxuICAgKiBAcGFyYW0ga2V5VHlwZSAtIFRoZSB0eXBlIG9mIGNyeXB0b2dyYXBoaWMga2V5IHRvIGNyZWF0ZSAoZS5nLiwgJ1JTQScsICdFQycsICdvY3QtSFNNJykuXG4gICAqIEBwYXJhbSBrZXlTaXplIC0gVGhlIHNpemUgb2YgdGhlIGNyeXB0b2dyYXBoaWMga2V5IGluIGJpdHMgKGUuZy4sIDIwNDgsIDMwNzIsIDQwOTYgZm9yIFJTQSkuXG4gICAqIEBwYXJhbSBrZXlPcHRzIC0gQSBsaXN0IG9mIGNyeXB0b2dyYXBoaWMgb3BlcmF0aW9ucyB0aGF0IHRoZSBrZXkgaXMgYWxsb3dlZCB0byBwZXJmb3JtLiBQb3NzaWJsZSB2YWx1ZXMgbWlnaHQgaW5jbHVkZVxuICAgKiAgICAgICAgICAgICAgICAgICdlbmNyeXB0JywgJ2RlY3J5cHQnLCAnc2lnbicsICd2ZXJpZnknLCAnd3JhcEtleScsICd1bndyYXBLZXknLlxuICAgKiBAcGFyYW0gZXhwaXJhdGlvbkRhdGUgLSBPcHRpb25hbC4gVGhlIGV4cGlyYXRpb24gZGF0ZSBvZiB0aGUga2V5IGluIElTTyA4NjAxIGZvcm1hdCAoWVlZWS1NTS1ERCBvciBZWVlZLU1NLUREVEhIOk1NOlNTWikuXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgIElmIHByb3ZpZGVkLCB0aGUga2V5IHdpbGwgbm8gbG9uZ2VyIGJlIHZhbGlkIGFmdGVyIHRoaXMgZGF0ZSwgYWxpZ25pbmcgd2l0aCBiZXN0IHByYWN0aWNlcyBmb3Iga2V5IG1hbmFnZW1lbnQuXG4gICAqIEByZXR1cm5zIEEgS2V5VmF1bHRLZXkgb2JqZWN0IHJlcHJlc2VudGluZyB0aGUgbmV3bHkgY3JlYXRlZCBjcnlwdG9ncmFwaGljIGtleSB3aXRoaW4gdGhlIHZhdWx0LlxuICAgKlxuICAgKiBFeGFtcGxlIHVzYWdlOlxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIGNvbnN0IG15S2V5ID0gdmF1bHQuYWRkS2V5KFxuICAgKiAgICdteUtleScsXG4gICAqICAgJ1JTQScsXG4gICAqICAgMjA0OCxcbiAgICogICBbJ2VuY3J5cHQnLCAnZGVjcnlwdCcsICdzaWduJywgJ3ZlcmlmeSddLFxuICAgKiAgICcyMDMwLTEyLTMxJ1xuICAgKiApO1xuICAgKiBgYGBcbiAgICogVGhpcyBtZXRob2QgcmV0dXJucyB0aGUgY3JlYXRlZCBLZXlWYXVsdEtleSBvYmplY3QsIGVuYWJsaW5nIGltbWVkaWF0ZSB1c2Ugd2l0aGluIHRoZSBhcHBsaWNhdGlvbiBmb3IgY3J5cHRvZ3JhcGhpYyBvcGVyYXRpb25zLlxuICAgKi9cbiAgcHVibGljIGFkZEtleShcbiAgICBrZXlWYXVsdEtleU5hbWU6IHN0cmluZyxcbiAgICBrZXlUeXBlOiBzdHJpbmcsXG4gICAga2V5U2l6ZTogbnVtYmVyLFxuICAgIGtleU9wdHM6IHN0cmluZ1tdLFxuICAgIGV4cGlyYXRpb25EYXRlPzogc3RyaW5nLFxuICApOiBLZXlWYXVsdEtleSB7XG4gICAgY29uc3Qga2V5UHJvcHM6IEtleVByb3BzID0ge1xuICAgICAga2V5VmF1bHRJZDogdGhpcyxcbiAgICAgIG5hbWU6IGtleVZhdWx0S2V5TmFtZSxcbiAgICAgIGtleVR5cGU6IGtleVR5cGUsXG4gICAgICBrZXlTaXplOiBrZXlTaXplLFxuICAgICAga2V5T3B0czoga2V5T3B0cyxcbiAgICAgIGV4cGlyZXM6IGV4cGlyYXRpb25EYXRlLFxuICAgICAgYWNjZXNzUG9saWNpZXM6IHRoaXMuYWNjZXNzUG9saWNpZXMsXG4gICAgfTtcblxuICAgIGNvbnN0IGtleSA9IG5ldyBLZXkodGhpcywga2V5VmF1bHRLZXlOYW1lLCBrZXlQcm9wcyk7XG4gICAgcmV0dXJuIGtleS52YXVsdEtleTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgc2VsZi1zaWduZWQgY2VydGlmaWNhdGUgd2l0aGluIHRoZSBBenVyZSBLZXkgVmF1bHQuXG4gICAqXG4gICAqIFRoaXMgbWV0aG9kIGZhY2lsaXRhdGVzIHRoZSBjcmVhdGlvbiBvZiBhIHNlbGYtc2lnbmVkIGNlcnRpZmljYXRlLCB3aGljaCBpcyBhIGRpZ2l0YWwgY2VydGlmaWNhdGUgdGhhdCBpcyBzaWduZWQgYnlcbiAgICogaXRzIG93biBjcmVhdG9yIHJhdGhlciB0aGFuIGEgdHJ1c3RlZCBhdXRob3JpdHkuIFNlbGYtc2lnbmVkIGNlcnRpZmljYXRlcyBjYW4gYmUgdXNlZnVsIGZvciB0ZXN0aW5nLCBpbnRlcm5hbFxuICAgKiBjb21tdW5pY2F0aW9ucywgb3IgYW55IHNjZW5hcmlvIHdoZXJlIHB1YmxpYyB0cnVzdCBpcyBub3QgcmVxdWlyZWQuIFRoZSBtZXRob2QgYWxsb3dzIHNwZWNpZnlpbmcgc3ViamVjdCBkZXRhaWxzLFxuICAgKiBETlMgbmFtZXMgZm9yIHRoZSBjZXJ0aWZpY2F0ZSwgYW5kIG1hbmFnaW5nIGl0cyBsaWZlY3ljbGUgd2l0aCBhY3Rpb24gdHlwZXMgYW5kIGV4cGlyeS5cbiAgICpcbiAgICogQHBhcmFtIGNlcnROYW1lIC0gVGhlIHVuaXF1ZSBuYW1lIGZvciB0aGUgY2VydGlmaWNhdGUgd2l0aGluIHRoZSBLZXkgVmF1bHQuXG4gICAqIEBwYXJhbSBzdWJqZWN0IC0gVGhlIHN1YmplY3QgbmFtZSBvZiB0aGUgY2VydGlmaWNhdGUsIHR5cGljYWxseSBmb3JtYXR0ZWQgYXMgYW4gWC41MDAgRGlzdGluZ3Vpc2hlZCBOYW1lIChlLmcuLCBcIkNOPWV4YW1wbGUuY29tXCIpLlxuICAgKiBAcGFyYW0gZG5zTmFtZXMgLSBBbiBhcnJheSBvZiBETlMgbmFtZXMgdGhhdCBzaG91bGQgYmUgYXNzb2NpYXRlZCB3aXRoIHRoaXMgY2VydGlmaWNhdGUuIFRoaXMgaXMgdXNlZnVsIGZvciBjZXJ0aWZpY2F0ZXNcbiAgICogICAgICAgICAgICAgICAgICAgdGhhdCBuZWVkIHRvIGJlIHZhbGlkIGZvciBtdWx0aXBsZSBob3N0bmFtZXMuXG4gICAqIEBwYXJhbSBhY3Rpb25UeXBlIC0gT3B0aW9uYWwuIFNwZWNpZmllcyB0aGUgYWN0aW9uIHRvIGJlIHBlcmZvcm1lZCB3aXRoIHRoZSBjZXJ0aWZpY2F0ZSwgc3VjaCBhcyAnY3JlYXRlJyBvciAncmVuZXcnLlxuICAgKiBAcGFyYW0gZGF5c0JlZm9yZUV4cGlyeSAtIE9wdGlvbmFsLiBOdW1iZXIgb2YgZGF5cyBiZWZvcmUgZXhwaXJ5IHdoZW4gYW4gYWN0aW9uIHNob3VsZCBiZSB0YWtlbiwgdXNlZnVsIGZvciBhdXRvLXJlbmV3YWwgc2NlbmFyaW9zLlxuICAgKiBAcmV0dXJucyBBIEtleVZhdWx0Q2VydGlmaWNhdGUgb2JqZWN0IHJlcHJlc2VudGluZyB0aGUgbmV3bHkgY3JlYXRlZCBzZWxmLXNpZ25lZCBjZXJ0aWZpY2F0ZS5cbiAgICpcbiAgICogRXhhbXBsZSB1c2FnZTpcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiBjb25zdCBteUNlcnRpZmljYXRlID0gdmF1bHQuYWRkU2VsZlNpZ25lZENlcnQoXG4gICAqICAgJ215Q2VydCcsXG4gICAqICAgJ0NOPW15ZG9tYWluLmNvbScsXG4gICAqICAgWydteWRvbWFpbi5jb20nLCAnd3d3Lm15ZG9tYWluLmNvbSddLFxuICAgKiAgICdjcmVhdGUnLFxuICAgKiAgIDMwXG4gICAqICk7XG4gICAqIGBgYFxuICAgKiBUaGlzIG1ldGhvZCByZXR1cm5zIHRoZSBLZXlWYXVsdENlcnRpZmljYXRlIG9iamVjdCwgZW5hYmxpbmcgaXQgdG8gYmUgdXNlZCBpbW1lZGlhdGVseSB3aXRoaW4gdGhlIGFwcGxpY2F0aW9uIG9yIHN0b3JlZCBmb3IgZnV0dXJlIHVzZS5cbiAgICovXG4gIHB1YmxpYyBhZGRTZWxmU2lnbmVkQ2VydChcbiAgICBjZXJ0TmFtZTogc3RyaW5nLFxuICAgIHN1YmplY3Q6IHN0cmluZyxcbiAgICBkbnNOYW1lczogc3RyaW5nW10sXG4gICAgYWN0aW9uVHlwZT86IHN0cmluZyxcbiAgICBkYXlzQmVmb3JlRXhwaXJ5PzogbnVtYmVyLFxuICApOiBLZXlWYXVsdENlcnRpZmljYXRlIHtcbiAgICBjb25zdCBrZXlQcm9wczogU2VsZlNpZ25lZENlcnRpZmljYXRlUHJvcHMgPSB7XG4gICAgICBrZXlWYXVsdElkOiB0aGlzLFxuICAgICAgbmFtZTogY2VydE5hbWUsXG4gICAgICBzdWJqZWN0OiBzdWJqZWN0LFxuICAgICAgZG5zTmFtZXM6IGRuc05hbWVzLFxuICAgICAgYWN0aW9uVHlwZTogYWN0aW9uVHlwZSxcbiAgICAgIGRheXNCZWZvcmVFeHBpcnk6IGRheXNCZWZvcmVFeHBpcnksXG4gICAgICBhY2Nlc3NQb2xpY2llczogdGhpcy5hY2Nlc3NQb2xpY2llcyxcbiAgICB9O1xuICAgIGNvbnN0IGNlcnQgPSBuZXcgU2VsZlNpZ25lZENlcnRpZmljYXRlKHRoaXMsIGNlcnROYW1lLCBrZXlQcm9wcyk7XG4gICAgcmV0dXJuIGNlcnQuY2VydGlmaWNhdGU7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIGNlcnRpZmljYXRlIGlzc3VlciB0byB0aGUgQXp1cmUgS2V5IFZhdWx0LlxuICAgKlxuICAgKiBUaGlzIG1ldGhvZCBjb25maWd1cmVzIGEgY2VydGlmaWNhdGUgaXNzdWVyIHdpdGhpbiB0aGUgS2V5IFZhdWx0LCBhbGxvd2luZyB0aGUgS2V5IFZhdWx0IHRvIGlzc3VlIGNlcnRpZmljYXRlc1xuICAgKiB0aHJvdWdoIGV4dGVybmFsIHByb3ZpZGVycy4gQ29uZmlndXJpbmcgYW4gaXNzdWVyIGlzIGVzc2VudGlhbCBmb3IgZW5hYmxpbmcgYXV0b21hdGVkIGNlcnRpZmljYXRlIG1hbmFnZW1lbnRcbiAgICogcHJvY2Vzc2VzLCBzdWNoIGFzIGlzc3VhbmNlIGFuZCByZW5ld2FsLCBkaXJlY3RseSB0aHJvdWdoIHRoZSBLZXkgVmF1bHQgd2l0aCBhIHNwZWNpZmllZCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgKENBKS5cbiAgICpcbiAgICogQHBhcmFtIG5hbWUgLSBUaGUgdW5pcXVlIG5hbWUgZm9yIHRoZSBjZXJ0aWZpY2F0ZSBpc3N1ZXIgd2l0aGluIHRoZSBLZXkgVmF1bHQuXG4gICAqIEBwYXJhbSBwcm92aWRlciAtIFRoZSBuYW1lIG9mIHRoZSBleHRlcm5hbCBwcm92aWRlciB0aGF0IHdpbGwgaXNzdWUgdGhlIGNlcnRpZmljYXRlcywgc3VjaCBhcyAnRGlnaUNlcnQnIG9yICdHbG9iYWxTaWduJy5cbiAgICpcbiAgICogRXhhbXBsZSB1c2FnZTpcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiB2YXVsdC5hZGRDZXJ0SXNzdWVyKFxuICAgKiAgICdteUNlcnRJc3N1ZXInLFxuICAgKiAgICdEaWdpQ2VydCdcbiAgICogKTtcbiAgICogYGBgXG4gICAqIFRoaXMgbWV0aG9kIGNvbmZpZ3VyZXMgYSBjZXJ0aWZpY2F0ZSBpc3N1ZXIgYnV0IGRvZXMgbm90IHJldHVybiBhbnkgdmFsdWUuIFRoZSBpc3N1ZXIgZGV0YWlscywgaW5jbHVkaW5nIHByb3ZpZGVyIG5hbWVcbiAgICogYW5kIGFueSBuZWNlc3NhcnkgY3JlZGVudGlhbHMgKG1hbmFnZWQgZXh0ZXJuYWxseSBvciB0aHJvdWdoIGFkZGl0aW9uYWwgbWV0aG9kIHBhcmFtZXRlcnMpLCBhcmUgc2V0IHVwIGluIHRoZSBLZXkgVmF1bHRcbiAgICogZm9yIGZ1dHVyZSBjZXJ0aWZpY2F0ZSBvcGVyYXRpb25zLlxuICAgKi9cbiAgcHVibGljIGFkZENlcnRJc3N1ZXIobmFtZTogc3RyaW5nLCBwcm92aWRlcjogc3RyaW5nKSB7XG4gICAgbmV3IENlcnRpZmljYXRlSXNzdWVyKHRoaXMsIG5hbWUsIHtcbiAgICAgIG5hbWU6IG5hbWUsXG4gICAgICBwcm92aWRlck5hbWU6IHByb3ZpZGVyLFxuICAgICAga2V5VmF1bHRJZDogdGhpcyxcbiAgICAgIGFjY2Vzc1BvbGljaWVzOiB0aGlzLmFjY2Vzc1BvbGljaWVzLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -1 +0,0 @@
1
- import "cdktf/lib/testing/adapters/jest";
@@ -1,63 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const provider_1 = require("@cdktf/provider-azurerm/lib/provider");
4
- const resource_group_1 = require("@cdktf/provider-azurerm/lib/resource-group");
5
- const cdktf_1 = require("cdktf");
6
- const ExampleAzureKeyVault_1 = require("./ExampleAzureKeyVault");
7
- require("cdktf/lib/testing/adapters/jest");
8
- const kv = require("..");
9
- const util = require("../../util/azureTenantIdHelpers");
10
- describe("Azure Key Vault With Defaults", () => {
11
- let stack;
12
- let fullSynthResult;
13
- beforeEach(() => {
14
- const app = cdktf_1.Testing.app();
15
- stack = new cdktf_1.TerraformStack(app, "test");
16
- new provider_1.AzurermProvider(stack, "azureFeature", { features: {} });
17
- const rg = new resource_group_1.ResourceGroup(stack, "MyResourceGroup", {
18
- name: "rg-test",
19
- location: "eastus",
20
- });
21
- new kv.Vault(stack, "testAzureKeyVaultDefaults", {
22
- name: "kv-test",
23
- location: "eastus",
24
- resourceGroup: rg,
25
- tenantId: "123e4567-e89b-12d3-a456-426614174000",
26
- });
27
- fullSynthResult = cdktf_1.Testing.fullSynth(stack); // Save the result for reuse
28
- });
29
- it("renders an Azure Key Vault with defaults and checks snapshot", () => {
30
- expect(cdktf_1.Testing.synth(stack)).toMatchSnapshot(); // Compare the already prepared stack
31
- });
32
- it("check if the produced terraform configuration is valid", () => {
33
- expect(fullSynthResult).toBeValidTerraform(); // Use the saved result
34
- });
35
- it("check if this can be planned", () => {
36
- expect(fullSynthResult).toPlanSuccessfully(); // Use the saved result
37
- });
38
- });
39
- describe("Azure Key Vault Example", () => {
40
- //let stack: TerraformStack;
41
- // beforeEach(() => {
42
- // const app = Testing.app();
43
- // stack = new TerraformStack(app, "test");
44
- // Testing.synthScope((stack) => {
45
- // new exampleAzureKeyVault(stack, "testAzureKeyVault");
46
- // });
47
- // });
48
- it("renders the Example Azure KeyVault and checks snapshot", () => {
49
- // Need to remove the tenant_id from the snapshot as it will change wherever the test is run
50
- const output = cdktf_1.Testing.synth(new ExampleAzureKeyVault_1.exampleAzureKeyVault(cdktf_1.Testing.app(), "testAzureKeyVault"));
51
- const myObject = JSON.parse(output);
52
- expect(util.removeTenantIdFromSnapshot(myObject)).toMatchSnapshot();
53
- });
54
- it("check if the produced terraform configuration is valid", () => {
55
- // We need to do a full synth to plan the terraform configuration
56
- expect(cdktf_1.Testing.fullSynth(new ExampleAzureKeyVault_1.exampleAzureKeyVault(cdktf_1.Testing.app(), "testAzureKeyVault"))).toBeValidTerraform();
57
- });
58
- it("check if this can be planned", () => {
59
- // We need to do a full synth to plan the terraform configuration
60
- expect(cdktf_1.Testing.fullSynth(new ExampleAzureKeyVault_1.exampleAzureKeyVault(cdktf_1.Testing.app(), "testAzureKeyVault"))).toPlanSuccessfully();
61
- });
62
- });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXp1cmVLZXlWYXVsdC5zcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F6dXJlLWtleXZhdWx0L3Rlc3QvQXp1cmVLZXlWYXVsdC5zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsbUVBQXVFO0FBQ3ZFLCtFQUEyRTtBQUMzRSxpQ0FBZ0Q7QUFDaEQsaUVBQThEO0FBQzlELDJDQUF5QztBQUN6Qyx5QkFBeUI7QUFDekIsd0RBQXdEO0FBRXhELFFBQVEsQ0FBQywrQkFBK0IsRUFBRSxHQUFHLEVBQUU7SUFDN0MsSUFBSSxLQUFxQixDQUFDO0lBQzFCLElBQUksZUFBb0IsQ0FBQztJQUV6QixVQUFVLENBQUMsR0FBRyxFQUFFO1FBQ2QsTUFBTSxHQUFHLEdBQUcsZUFBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQzFCLEtBQUssR0FBRyxJQUFJLHNCQUFjLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRXhDLElBQUksMEJBQWUsQ0FBQyxLQUFLLEVBQUUsY0FBYyxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFN0QsTUFBTSxFQUFFLEdBQUcsSUFBSSw4QkFBYSxDQUFDLEtBQUssRUFBRSxpQkFBaUIsRUFBRTtZQUNyRCxJQUFJLEVBQUUsU0FBUztZQUNmLFFBQVEsRUFBRSxRQUFRO1NBQ25CLENBQUMsQ0FBQztRQUVILElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsMkJBQTJCLEVBQUU7WUFDL0MsSUFBSSxFQUFFLFNBQVM7WUFDZixRQUFRLEVBQUUsUUFBUTtZQUNsQixhQUFhLEVBQUUsRUFBRTtZQUNqQixRQUFRLEVBQUUsc0NBQXNDO1NBQ2pELENBQUMsQ0FBQztRQUVILGVBQWUsR0FBRyxlQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsNEJBQTRCO0lBQzFFLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLDhEQUE4RCxFQUFFLEdBQUcsRUFBRTtRQUN0RSxNQUFNLENBQUMsZUFBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUMscUNBQXFDO0lBQ3ZGLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLHdEQUF3RCxFQUFFLEdBQUcsRUFBRTtRQUNoRSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLHVCQUF1QjtJQUN2RSxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyw4QkFBOEIsRUFBRSxHQUFHLEVBQUU7UUFDdEMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQyx1QkFBdUI7SUFDdkUsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQztBQUVILFFBQVEsQ0FBQyx5QkFBeUIsRUFBRSxHQUFHLEVBQUU7SUFDdkMsNEJBQTRCO0lBRTVCLHFCQUFxQjtJQUNyQiwrQkFBK0I7SUFDL0IsNkNBQTZDO0lBRTdDLG9DQUFvQztJQUNwQyw0REFBNEQ7SUFDNUQsUUFBUTtJQUNSLE1BQU07SUFFTixFQUFFLENBQUMsd0RBQXdELEVBQUUsR0FBRyxFQUFFO1FBQ2hFLDRGQUE0RjtRQUM1RixNQUFNLE1BQU0sR0FBRyxlQUFPLENBQUMsS0FBSyxDQUMxQixJQUFJLDJDQUFvQixDQUFDLGVBQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxtQkFBbUIsQ0FBQyxDQUM3RCxDQUFDO1FBQ0YsTUFBTSxRQUFRLEdBQXdCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFekQsTUFBTSxDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3RFLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLHdEQUF3RCxFQUFFLEdBQUcsRUFBRTtRQUNoRSxpRUFBaUU7UUFDakUsTUFBTSxDQUNKLGVBQU8sQ0FBQyxTQUFTLENBQ2YsSUFBSSwyQ0FBb0IsQ0FBQyxlQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsbUJBQW1CLENBQUMsQ0FDN0QsQ0FDRixDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDekIsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsOEJBQThCLEVBQUUsR0FBRyxFQUFFO1FBQ3RDLGlFQUFpRTtRQUNqRSxNQUFNLENBQ0osZUFBTyxDQUFDLFNBQVMsQ0FDZixJQUFJLDJDQUFvQixDQUFDLGVBQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxtQkFBbUIsQ0FBQyxDQUM3RCxDQUNGLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUN6QixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXp1cmVybVByb3ZpZGVyIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9wcm92aWRlclwiO1xuaW1wb3J0IHsgUmVzb3VyY2VHcm91cCB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvcmVzb3VyY2UtZ3JvdXBcIjtcbmltcG9ydCB7IFRlc3RpbmcsIFRlcnJhZm9ybVN0YWNrIH0gZnJvbSBcImNka3RmXCI7XG5pbXBvcnQgeyBleGFtcGxlQXp1cmVLZXlWYXVsdCB9IGZyb20gXCIuL0V4YW1wbGVBenVyZUtleVZhdWx0XCI7XG5pbXBvcnQgXCJjZGt0Zi9saWIvdGVzdGluZy9hZGFwdGVycy9qZXN0XCI7XG5pbXBvcnQgKiBhcyBrdiBmcm9tIFwiLi5cIjtcbmltcG9ydCAqIGFzIHV0aWwgZnJvbSBcIi4uLy4uL3V0aWwvYXp1cmVUZW5hbnRJZEhlbHBlcnNcIjtcblxuZGVzY3JpYmUoXCJBenVyZSBLZXkgVmF1bHQgV2l0aCBEZWZhdWx0c1wiLCAoKSA9PiB7XG4gIGxldCBzdGFjazogVGVycmFmb3JtU3RhY2s7XG4gIGxldCBmdWxsU3ludGhSZXN1bHQ6IGFueTtcblxuICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICBjb25zdCBhcHAgPSBUZXN0aW5nLmFwcCgpO1xuICAgIHN0YWNrID0gbmV3IFRlcnJhZm9ybVN0YWNrKGFwcCwgXCJ0ZXN0XCIpO1xuXG4gICAgbmV3IEF6dXJlcm1Qcm92aWRlcihzdGFjaywgXCJhenVyZUZlYXR1cmVcIiwgeyBmZWF0dXJlczoge30gfSk7XG5cbiAgICBjb25zdCByZyA9IG5ldyBSZXNvdXJjZUdyb3VwKHN0YWNrLCBcIk15UmVzb3VyY2VHcm91cFwiLCB7XG4gICAgICBuYW1lOiBcInJnLXRlc3RcIixcbiAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgIH0pO1xuXG4gICAgbmV3IGt2LlZhdWx0KHN0YWNrLCBcInRlc3RBenVyZUtleVZhdWx0RGVmYXVsdHNcIiwge1xuICAgICAgbmFtZTogXCJrdi10ZXN0XCIsXG4gICAgICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAgICAgIHJlc291cmNlR3JvdXA6IHJnLFxuICAgICAgdGVuYW50SWQ6IFwiMTIzZTQ1NjctZTg5Yi0xMmQzLWE0NTYtNDI2NjE0MTc0MDAwXCIsXG4gICAgfSk7XG5cbiAgICBmdWxsU3ludGhSZXN1bHQgPSBUZXN0aW5nLmZ1bGxTeW50aChzdGFjayk7IC8vIFNhdmUgdGhlIHJlc3VsdCBmb3IgcmV1c2VcbiAgfSk7XG5cbiAgaXQoXCJyZW5kZXJzIGFuIEF6dXJlIEtleSBWYXVsdCB3aXRoIGRlZmF1bHRzIGFuZCBjaGVja3Mgc25hcHNob3RcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChUZXN0aW5nLnN5bnRoKHN0YWNrKSkudG9NYXRjaFNuYXBzaG90KCk7IC8vIENvbXBhcmUgdGhlIGFscmVhZHkgcHJlcGFyZWQgc3RhY2tcbiAgfSk7XG5cbiAgaXQoXCJjaGVjayBpZiB0aGUgcHJvZHVjZWQgdGVycmFmb3JtIGNvbmZpZ3VyYXRpb24gaXMgdmFsaWRcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChmdWxsU3ludGhSZXN1bHQpLnRvQmVWYWxpZFRlcnJhZm9ybSgpOyAvLyBVc2UgdGhlIHNhdmVkIHJlc3VsdFxuICB9KTtcblxuICBpdChcImNoZWNrIGlmIHRoaXMgY2FuIGJlIHBsYW5uZWRcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChmdWxsU3ludGhSZXN1bHQpLnRvUGxhblN1Y2Nlc3NmdWxseSgpOyAvLyBVc2UgdGhlIHNhdmVkIHJlc3VsdFxuICB9KTtcbn0pO1xuXG5kZXNjcmliZShcIkF6dXJlIEtleSBWYXVsdCBFeGFtcGxlXCIsICgpID0+IHtcbiAgLy9sZXQgc3RhY2s6IFRlcnJhZm9ybVN0YWNrO1xuXG4gIC8vIGJlZm9yZUVhY2goKCkgPT4ge1xuICAvLyAgIGNvbnN0IGFwcCA9IFRlc3RpbmcuYXBwKCk7XG4gIC8vICAgc3RhY2sgPSBuZXcgVGVycmFmb3JtU3RhY2soYXBwLCBcInRlc3RcIik7XG5cbiAgLy8gICBUZXN0aW5nLnN5bnRoU2NvcGUoKHN0YWNrKSA9PiB7XG4gIC8vICAgICBuZXcgZXhhbXBsZUF6dXJlS2V5VmF1bHQoc3RhY2ssIFwidGVzdEF6dXJlS2V5VmF1bHRcIik7XG4gIC8vICAgfSk7XG4gIC8vIH0pO1xuXG4gIGl0KFwicmVuZGVycyB0aGUgRXhhbXBsZSBBenVyZSBLZXlWYXVsdCBhbmQgY2hlY2tzIHNuYXBzaG90XCIsICgpID0+IHtcbiAgICAvLyBOZWVkIHRvIHJlbW92ZSB0aGUgdGVuYW50X2lkIGZyb20gdGhlIHNuYXBzaG90IGFzIGl0IHdpbGwgY2hhbmdlIHdoZXJldmVyIHRoZSB0ZXN0IGlzIHJ1blxuICAgIGNvbnN0IG91dHB1dCA9IFRlc3Rpbmcuc3ludGgoXG4gICAgICBuZXcgZXhhbXBsZUF6dXJlS2V5VmF1bHQoVGVzdGluZy5hcHAoKSwgXCJ0ZXN0QXp1cmVLZXlWYXVsdFwiKSxcbiAgICApO1xuICAgIGNvbnN0IG15T2JqZWN0OiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0gSlNPTi5wYXJzZShvdXRwdXQpO1xuXG4gICAgZXhwZWN0KHV0aWwucmVtb3ZlVGVuYW50SWRGcm9tU25hcHNob3QobXlPYmplY3QpKS50b01hdGNoU25hcHNob3QoKTtcbiAgfSk7XG5cbiAgaXQoXCJjaGVjayBpZiB0aGUgcHJvZHVjZWQgdGVycmFmb3JtIGNvbmZpZ3VyYXRpb24gaXMgdmFsaWRcIiwgKCkgPT4ge1xuICAgIC8vIFdlIG5lZWQgdG8gZG8gYSBmdWxsIHN5bnRoIHRvIHBsYW4gdGhlIHRlcnJhZm9ybSBjb25maWd1cmF0aW9uXG4gICAgZXhwZWN0KFxuICAgICAgVGVzdGluZy5mdWxsU3ludGgoXG4gICAgICAgIG5ldyBleGFtcGxlQXp1cmVLZXlWYXVsdChUZXN0aW5nLmFwcCgpLCBcInRlc3RBenVyZUtleVZhdWx0XCIpLFxuICAgICAgKSxcbiAgICApLnRvQmVWYWxpZFRlcnJhZm9ybSgpO1xuICB9KTtcblxuICBpdChcImNoZWNrIGlmIHRoaXMgY2FuIGJlIHBsYW5uZWRcIiwgKCkgPT4ge1xuICAgIC8vIFdlIG5lZWQgdG8gZG8gYSBmdWxsIHN5bnRoIHRvIHBsYW4gdGhlIHRlcnJhZm9ybSBjb25maWd1cmF0aW9uXG4gICAgZXhwZWN0KFxuICAgICAgVGVzdGluZy5mdWxsU3ludGgoXG4gICAgICAgIG5ldyBleGFtcGxlQXp1cmVLZXlWYXVsdChUZXN0aW5nLmFwcCgpLCBcInRlc3RBenVyZUtleVZhdWx0XCIpLFxuICAgICAgKSxcbiAgICApLnRvUGxhblN1Y2Nlc3NmdWxseSgpO1xuICB9KTtcbn0pO1xuIl19
@@ -1,5 +0,0 @@
1
- import { Construct } from "constructs";
2
- import { BaseTestStack } from "../../testing";
3
- export declare class exampleAzureKeyVault extends BaseTestStack {
4
- constructor(scope: Construct, id: string);
5
- }