@drunk-pulumi/azure 0.0.19

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 (386) hide show
  1. package/Aks/Helper.d.ts +43 -0
  2. package/Aks/Helper.js +72 -0
  3. package/Aks/Identity.d.ts +14 -0
  4. package/Aks/Identity.js +32 -0
  5. package/Aks/VmSetAutoScale/index.d.ts +16 -0
  6. package/Aks/VmSetAutoScale/index.js +132 -0
  7. package/Aks/VmSetMonitor/index.d.ts +12 -0
  8. package/Aks/VmSetMonitor/index.js +67 -0
  9. package/Aks/index.d.ts +100 -0
  10. package/Aks/index.js +558 -0
  11. package/Apim/ApiProduct/Api.d.ts +35 -0
  12. package/Apim/ApiProduct/Api.js +131 -0
  13. package/Apim/ApiProduct/OpenApi.d.ts +85 -0
  14. package/Apim/ApiProduct/OpenApi.js +3 -0
  15. package/Apim/ApiProduct/PolicyBuilder.d.ts +79 -0
  16. package/Apim/ApiProduct/PolicyBuilder.js +361 -0
  17. package/Apim/ApiProduct/Product.d.ts +8 -0
  18. package/Apim/ApiProduct/Product.js +63 -0
  19. package/Apim/ApiProduct/SwaggerHelper.d.ts +6 -0
  20. package/Apim/ApiProduct/SwaggerHelper.js +44 -0
  21. package/Apim/ApiProduct/index.d.ts +9 -0
  22. package/Apim/ApiProduct/index.js +22 -0
  23. package/Apim/Helpers.d.ts +0 -0
  24. package/Apim/Helpers.js +2 -0
  25. package/Apim/HookProxy/index.d.ts +20 -0
  26. package/Apim/HookProxy/index.js +27 -0
  27. package/Apim/index.d.ts +22 -0
  28. package/Apim/index.js +118 -0
  29. package/Apps/LogicApp.d.ts +12 -0
  30. package/Apps/LogicApp.js +19 -0
  31. package/Automation/AutoAccount.d.ts +5 -0
  32. package/Automation/AutoAccount.js +20 -0
  33. package/AzAd/B2C.d.ts +9 -0
  34. package/AzAd/B2C.js +38 -0
  35. package/AzAd/ConditionalPolicies/index.d.ts +0 -0
  36. package/AzAd/ConditionalPolicies/index.js +2 -0
  37. package/AzAd/EnvRoles.d.ts +12 -0
  38. package/AzAd/EnvRoles.js +62 -0
  39. package/AzAd/GraphDefinition.d.ts +14 -0
  40. package/AzAd/GraphDefinition.js +5136 -0
  41. package/AzAd/Group.d.ts +29 -0
  42. package/AzAd/Group.js +70 -0
  43. package/AzAd/Helper.d.ts +18 -0
  44. package/AzAd/Helper.js +37 -0
  45. package/AzAd/Identities/AzDevOps.d.ts +23 -0
  46. package/AzAd/Identities/AzDevOps.js +61 -0
  47. package/AzAd/Identities/AzUserAdRevertSync.d.ts +14 -0
  48. package/AzAd/Identities/AzUserAdRevertSync.js +18 -0
  49. package/AzAd/Identity.d.ts +51 -0
  50. package/AzAd/Identity.js +133 -0
  51. package/AzAd/ManagedIdentity.d.ts +6 -0
  52. package/AzAd/ManagedIdentity.js +23 -0
  53. package/AzAd/Role.d.ts +19 -0
  54. package/AzAd/Role.js +25 -0
  55. package/AzAd/RoleAssignment.d.ts +79 -0
  56. package/AzAd/RoleAssignment.js +48 -0
  57. package/AzAd/RolesBuiltIn.d.ts +62 -0
  58. package/AzAd/RolesBuiltIn.js +13841 -0
  59. package/Cdn/index.d.ts +11 -0
  60. package/Cdn/index.js +47 -0
  61. package/Certificate/index.d.ts +41 -0
  62. package/Certificate/index.js +156 -0
  63. package/Certificate/p12.d.ts +5 -0
  64. package/Certificate/p12.js +37 -0
  65. package/Common/AppConfigs/dotnetConfig.d.ts +15 -0
  66. package/Common/AppConfigs/dotnetConfig.js +20 -0
  67. package/Common/AutoTags.d.ts +1 -0
  68. package/Common/AutoTags.js +24 -0
  69. package/Common/AzureEnv.d.ts +37 -0
  70. package/Common/AzureEnv.js +94 -0
  71. package/Common/ConfigHelper.d.ts +5 -0
  72. package/Common/ConfigHelper.js +14 -0
  73. package/Common/GlobalEnv.d.ts +14 -0
  74. package/Common/GlobalEnv.js +38 -0
  75. package/Common/Helpers.d.ts +10 -0
  76. package/Common/Helpers.js +30 -0
  77. package/Common/Location.d.ts +4 -0
  78. package/Common/Location.js +23 -0
  79. package/Common/LocationBuiltIn.d.ts +81 -0
  80. package/Common/LocationBuiltIn.js +1925 -0
  81. package/Common/Naming/index.d.ts +62 -0
  82. package/Common/Naming/index.js +146 -0
  83. package/Common/ResourceEnv.d.ts +16 -0
  84. package/Common/ResourceEnv.js +29 -0
  85. package/Common/StackEnv.d.ts +4 -0
  86. package/Common/StackEnv.js +22 -0
  87. package/Common/index.d.ts +5 -0
  88. package/Common/index.js +9 -0
  89. package/ContainerRegistry/Helper.d.ts +23 -0
  90. package/ContainerRegistry/Helper.js +47 -0
  91. package/ContainerRegistry/index.d.ts +28 -0
  92. package/ContainerRegistry/index.js +103 -0
  93. package/Core/Helper.d.ts +16 -0
  94. package/Core/Helper.js +37 -0
  95. package/Core/KeyGenetators.d.ts +33 -0
  96. package/Core/KeyGenetators.js +66 -0
  97. package/Core/Locker.d.ts +13 -0
  98. package/Core/Locker.js +14 -0
  99. package/Core/Random.d.ts +40 -0
  100. package/Core/Random.js +83 -0
  101. package/Core/ResourceCreator.d.ts +17 -0
  102. package/Core/ResourceCreator.js +48 -0
  103. package/Core/ResourceGroup.d.ts +13 -0
  104. package/Core/ResourceGroup.js +45 -0
  105. package/CosmosDb/index.d.ts +33 -0
  106. package/CosmosDb/index.js +129 -0
  107. package/CustomRoles/index.d.ts +5 -0
  108. package/CustomRoles/index.js +27 -0
  109. package/IOT/Hub/index.d.ts +32 -0
  110. package/IOT/Hub/index.js +208 -0
  111. package/KeyVault/CustomHelper.d.ts +35 -0
  112. package/KeyVault/CustomHelper.js +40 -0
  113. package/KeyVault/Helper.d.ts +33 -0
  114. package/KeyVault/Helper.js +58 -0
  115. package/KeyVault/VaultAccess.d.ts +15 -0
  116. package/KeyVault/VaultAccess.js +47 -0
  117. package/KeyVault/VaultPermissions.d.ts +26 -0
  118. package/KeyVault/VaultPermissions.js +169 -0
  119. package/KeyVault/index.d.ts +28 -0
  120. package/KeyVault/index.js +136 -0
  121. package/KubeX/AcrSecret.d.ts +15 -0
  122. package/KubeX/AcrSecret.js +31 -0
  123. package/KubeX/Apps/AstroPage.d.ts +12 -0
  124. package/KubeX/Apps/AstroPage.js +33 -0
  125. package/KubeX/Apps/KafKa.d.ts +6 -0
  126. package/KubeX/Apps/KafKa.js +13 -0
  127. package/KubeX/Apps/Nobelium.d.ts +13 -0
  128. package/KubeX/Apps/Nobelium.js +37 -0
  129. package/KubeX/Apps/Wikijs.d.ts +30 -0
  130. package/KubeX/Apps/Wikijs.js +54 -0
  131. package/KubeX/Apps/WordPress.d.ts +24 -0
  132. package/KubeX/Apps/WordPress.js +55 -0
  133. package/KubeX/Apps/YarpProxy/index.d.ts +17 -0
  134. package/KubeX/Apps/YarpProxy/index.js +107 -0
  135. package/KubeX/Apps/YarpProxy/type.d.ts +55 -0
  136. package/KubeX/Apps/YarpProxy/type.js +3 -0
  137. package/KubeX/CertHelper.d.ts +1 -0
  138. package/KubeX/CertHelper.js +9 -0
  139. package/KubeX/CertImports.d.ts +19 -0
  140. package/KubeX/CertImports.js +70 -0
  141. package/KubeX/CloudFlare/CertCreator.d.ts +19 -0
  142. package/KubeX/CloudFlare/CertCreator.js +90 -0
  143. package/KubeX/CloudFlare/CertImports.d.ts +17 -0
  144. package/KubeX/CloudFlare/CertImports.js +34 -0
  145. package/KubeX/CloudFlare/DynamicDns.d.ts +21 -0
  146. package/KubeX/CloudFlare/DynamicDns.js +39 -0
  147. package/KubeX/CloudFlare/Tunnel-Helm.d.ts +17 -0
  148. package/KubeX/CloudFlare/Tunnel-Helm.js +12 -0
  149. package/KubeX/CloudFlare/Tunnel.d.ts +23 -0
  150. package/KubeX/CloudFlare/Tunnel.js +54 -0
  151. package/KubeX/CloudFlare/index.d.ts +13 -0
  152. package/KubeX/CloudFlare/index.js +36 -0
  153. package/KubeX/Clusters/K3s/AutoUpgradeController/index.d.ts +6 -0
  154. package/KubeX/Clusters/K3s/AutoUpgradeController/index.js +60 -0
  155. package/KubeX/ConfigSecret.d.ts +24 -0
  156. package/KubeX/ConfigSecret.js +38 -0
  157. package/KubeX/Core/CertManager/index.d.ts +24 -0
  158. package/KubeX/Core/CertManager/index.js +96 -0
  159. package/KubeX/Core/KsCertSecret.d.ts +12 -0
  160. package/KubeX/Core/KsCertSecret.js +22 -0
  161. package/KubeX/Core/KsSecret.d.ts +9 -0
  162. package/KubeX/Core/KsSecret.js +12 -0
  163. package/KubeX/Core/LoadBalancer/MetalLB.d.ts +7 -0
  164. package/KubeX/Core/LoadBalancer/MetalLB.js +21 -0
  165. package/KubeX/Core/Monitoring/index.d.ts +22 -0
  166. package/KubeX/Core/Monitoring/index.js +322 -0
  167. package/KubeX/Core/Namespace.d.ts +12 -0
  168. package/KubeX/Core/Namespace.js +41 -0
  169. package/KubeX/Core/Nginx/index.d.ts +60 -0
  170. package/KubeX/Core/Nginx/index.js +109 -0
  171. package/KubeX/Core/OAuthProxy/index.d.ts +0 -0
  172. package/KubeX/Core/OAuthProxy/index.js +3 -0
  173. package/KubeX/Core/ResourceQuota.d.ts +12 -0
  174. package/KubeX/Core/ResourceQuota.js +13 -0
  175. package/KubeX/Core/SecurityRules.d.ts +34 -0
  176. package/KubeX/Core/SecurityRules.js +93 -0
  177. package/KubeX/Core/StorageClass/azureBlob.d.ts +20 -0
  178. package/KubeX/Core/StorageClass/azureBlob.js +77 -0
  179. package/KubeX/Core/StorageClass/azureFile.d.ts +17 -0
  180. package/KubeX/Core/StorageClass/azureFile.js +45 -0
  181. package/KubeX/Core/StorageClass/index.d.ts +13 -0
  182. package/KubeX/Core/StorageClass/index.js +25 -0
  183. package/KubeX/Core/index.d.ts +57 -0
  184. package/KubeX/Core/index.js +94 -0
  185. package/KubeX/Databases/MariaDb.d.ts +11 -0
  186. package/KubeX/Databases/MariaDb.js +39 -0
  187. package/KubeX/Databases/MySql.V2.d.ts +11 -0
  188. package/KubeX/Databases/MySql.V2.js +40 -0
  189. package/KubeX/Databases/MySql.d.ts +13 -0
  190. package/KubeX/Databases/MySql.js +55 -0
  191. package/KubeX/Databases/PostgreSql/PostgreSQL-HA.d.ts +10 -0
  192. package/KubeX/Databases/PostgreSql/PostgreSQL-HA.js +47 -0
  193. package/KubeX/Databases/PostgreSql/PostgreSQL.d.ts +10 -0
  194. package/KubeX/Databases/PostgreSql/PostgreSQL.js +51 -0
  195. package/KubeX/Databases/PostgreSql/PostgreSql.v1.d.ts +13 -0
  196. package/KubeX/Databases/PostgreSql/PostgreSql.v1.js +56 -0
  197. package/KubeX/Databases/PostgreSql/index.d.ts +17 -0
  198. package/KubeX/Databases/PostgreSql/index.js +6 -0
  199. package/KubeX/Databases/RedisCache.d.ts +14 -0
  200. package/KubeX/Databases/RedisCache.js +65 -0
  201. package/KubeX/Databases/SqlServer.d.ts +15 -0
  202. package/KubeX/Databases/SqlServer.js +77 -0
  203. package/KubeX/Deployment/PodAutoscaler.d.ts +14 -0
  204. package/KubeX/Deployment/PodAutoscaler.js +51 -0
  205. package/KubeX/Deployment/index.d.ts +136 -0
  206. package/KubeX/Deployment/index.js +306 -0
  207. package/KubeX/Helpers.d.ts +4 -0
  208. package/KubeX/Helpers.js +17 -0
  209. package/KubeX/Ingress/AppGatewayIngress.d.ts +2 -0
  210. package/KubeX/Ingress/AppGatewayIngress.js +4 -0
  211. package/KubeX/Ingress/Conts.d.ts +13 -0
  212. package/KubeX/Ingress/Conts.js +18 -0
  213. package/KubeX/Ingress/NginxIngress.d.ts +3 -0
  214. package/KubeX/Ingress/NginxIngress.js +186 -0
  215. package/KubeX/Ingress/NginxProxy.d.ts +21 -0
  216. package/KubeX/Ingress/NginxProxy.js +43 -0
  217. package/KubeX/Ingress/TraefikIngress/CustomHeader.d.ts +15 -0
  218. package/KubeX/Ingress/TraefikIngress/CustomHeader.js +15 -0
  219. package/KubeX/Ingress/TraefikIngress/index.d.ts +11 -0
  220. package/KubeX/Ingress/TraefikIngress/index.js +95 -0
  221. package/KubeX/Ingress/index.d.ts +5 -0
  222. package/KubeX/Ingress/index.js +12 -0
  223. package/KubeX/Ingress/type.d.ts +82 -0
  224. package/KubeX/Ingress/type.js +3 -0
  225. package/KubeX/Providers/index.d.ts +8 -0
  226. package/KubeX/Providers/index.js +15 -0
  227. package/KubeX/Storage/Longhorn/index.d.ts +15 -0
  228. package/KubeX/Storage/Longhorn/index.js +54 -0
  229. package/KubeX/Storage/index.d.ts +25 -0
  230. package/KubeX/Storage/index.js +79 -0
  231. package/KubeX/Tools/AWS/LocalStack.d.ts +7 -0
  232. package/KubeX/Tools/AWS/LocalStack.js +29 -0
  233. package/KubeX/Tools/AWS/S3.d.ts +6 -0
  234. package/KubeX/Tools/AWS/S3.js +44 -0
  235. package/KubeX/Tools/AWS/index.d.ts +7 -0
  236. package/KubeX/Tools/AWS/index.js +14 -0
  237. package/KubeX/Tools/AppHealthzMonitor.d.ts +18 -0
  238. package/KubeX/Tools/AppHealthzMonitor.js +52 -0
  239. package/KubeX/Tools/ArgoCD/index.d.ts +17 -0
  240. package/KubeX/Tools/ArgoCD/index.js +131 -0
  241. package/KubeX/Tools/Dapr/Storage.d.ts +66 -0
  242. package/KubeX/Tools/Dapr/Storage.js +70 -0
  243. package/KubeX/Tools/Dapr/index.d.ts +10 -0
  244. package/KubeX/Tools/Dapr/index.js +31 -0
  245. package/KubeX/Tools/Echo-App.d.ts +3 -0
  246. package/KubeX/Tools/Echo-App.js +21 -0
  247. package/KubeX/Tools/Gitea/GiteaRepo.d.ts +72 -0
  248. package/KubeX/Tools/Gitea/GiteaRepo.js +184 -0
  249. package/KubeX/Tools/Gitea/GiteaRunner.d.ts +11 -0
  250. package/KubeX/Tools/Gitea/GiteaRunner.js +37 -0
  251. package/KubeX/Tools/Gitea/GiteaRunner.v1.d.ts +11 -0
  252. package/KubeX/Tools/Gitea/GiteaRunner.v1.js +123 -0
  253. package/KubeX/Tools/HarborRepo.d.ts +29 -0
  254. package/KubeX/Tools/HarborRepo.js +78 -0
  255. package/KubeX/Tools/HelloWorld.d.ts +3 -0
  256. package/KubeX/Tools/HelloWorld.js +21 -0
  257. package/KubeX/Tools/KubeCleanup.d.ts +9 -0
  258. package/KubeX/Tools/KubeCleanup.js +34 -0
  259. package/KubeX/Tools/NoIp.d.ts +13 -0
  260. package/KubeX/Tools/NoIp.js +24 -0
  261. package/KubeX/Tools/OpenLDAP/index.d.ts +12 -0
  262. package/KubeX/Tools/OpenLDAP/index.js +56 -0
  263. package/KubeX/Tools/OutlineVpn/index.d.ts +25 -0
  264. package/KubeX/Tools/OutlineVpn/index.js +256 -0
  265. package/KubeX/Tools/SqlPad.d.ts +29 -0
  266. package/KubeX/Tools/SqlPad.js +133 -0
  267. package/KubeX/Tools/ToolPod.d.ts +10 -0
  268. package/KubeX/Tools/ToolPod.js +40 -0
  269. package/KubeX/Tools/UptimeKuma.d.ts +6 -0
  270. package/KubeX/Tools/UptimeKuma.js +38 -0
  271. package/KubeX/Tools/index.d.ts +27 -0
  272. package/KubeX/Tools/index.js +35 -0
  273. package/KubeX/VairableResolvers/index.d.ts +15 -0
  274. package/KubeX/VairableResolvers/index.js +49 -0
  275. package/KubeX/kx/index.d.ts +114 -0
  276. package/KubeX/kx/index.js +423 -0
  277. package/KubeX/types.d.ts +49 -0
  278. package/KubeX/types.js +3 -0
  279. package/Logs/AppInsight.d.ts +16 -0
  280. package/Logs/AppInsight.js +48 -0
  281. package/Logs/Helpers.d.ts +50 -0
  282. package/Logs/Helpers.js +95 -0
  283. package/Logs/LogAnalytics.d.ts +17 -0
  284. package/Logs/LogAnalytics.js +54 -0
  285. package/Logs/WebTest.d.ts +13 -0
  286. package/Logs/WebTest.js +68 -0
  287. package/Logs/index.d.ts +42 -0
  288. package/Logs/index.js +69 -0
  289. package/MySql/index.d.ts +20 -0
  290. package/MySql/index.js +93 -0
  291. package/Postgresql/index.d.ts +20 -0
  292. package/Postgresql/index.js +93 -0
  293. package/ReadMe.md +36 -0
  294. package/RedisCache/index.d.ts +9 -0
  295. package/RedisCache/index.js +79 -0
  296. package/ServiceBus/ServiceBusHelper.d.ts +21 -0
  297. package/ServiceBus/ServiceBusHelper.js +35 -0
  298. package/ServiceBus/index.d.ts +98 -0
  299. package/ServiceBus/index.js +396 -0
  300. package/SignalR/index.d.ts +20 -0
  301. package/SignalR/index.js +114 -0
  302. package/Sql/Auditing.d.ts +0 -0
  303. package/Sql/Auditing.js +2 -0
  304. package/Sql/Helper.d.ts +9 -0
  305. package/Sql/Helper.js +11 -0
  306. package/Sql/SqlDb.d.ts +14 -0
  307. package/Sql/SqlDb.js +42 -0
  308. package/Sql/index.d.ts +44 -0
  309. package/Sql/index.js +236 -0
  310. package/Storage/CdnEndpoint.d.ts +12 -0
  311. package/Storage/CdnEndpoint.js +62 -0
  312. package/Storage/CdnRules.d.ts +6 -0
  313. package/Storage/CdnRules.js +134 -0
  314. package/Storage/Helper.d.ts +28 -0
  315. package/Storage/Helper.js +66 -0
  316. package/Storage/ManagementRules.d.ts +70 -0
  317. package/Storage/ManagementRules.js +32 -0
  318. package/Storage/index.d.ts +55 -0
  319. package/Storage/index.js +264 -0
  320. package/VM/index.d.ts +37 -0
  321. package/VM/index.js +138 -0
  322. package/VNet/Bastion.d.ts +8 -0
  323. package/VNet/Bastion.js +30 -0
  324. package/VNet/Firewall.d.ts +27 -0
  325. package/VNet/Firewall.js +87 -0
  326. package/VNet/FirewallPolicies/AksFirewallPolicy.d.ts +20 -0
  327. package/VNet/FirewallPolicies/AksFirewallPolicy.js +241 -0
  328. package/VNet/FirewallPolicies/CloudPCFirewallPolicy.d.ts +14 -0
  329. package/VNet/FirewallPolicies/CloudPCFirewallPolicy.js +303 -0
  330. package/VNet/FirewallPolicy.d.ts +28 -0
  331. package/VNet/FirewallPolicy.js +110 -0
  332. package/VNet/FirewallRules/AksFirewallRules.d.ts +24 -0
  333. package/VNet/FirewallRules/AksFirewallRules.js +250 -0
  334. package/VNet/FirewallRules/DefaultRules.d.ts +2 -0
  335. package/VNet/FirewallRules/DefaultRules.js +23 -0
  336. package/VNet/FirewallRules/types.d.ts +20 -0
  337. package/VNet/FirewallRules/types.js +5 -0
  338. package/VNet/GlobalNetworkPeering.d.ts +9 -0
  339. package/VNet/GlobalNetworkPeering.js +17 -0
  340. package/VNet/Helper.d.ts +33 -0
  341. package/VNet/Helper.js +86 -0
  342. package/VNet/IpAddress.d.ts +17 -0
  343. package/VNet/IpAddress.js +38 -0
  344. package/VNet/IpAddressPrefix.d.ts +22 -0
  345. package/VNet/IpAddressPrefix.js +42 -0
  346. package/VNet/NSGRules/AzADService.d.ts +10 -0
  347. package/VNet/NSGRules/AzADService.js +45 -0
  348. package/VNet/NetworkPeering.d.ts +10 -0
  349. package/VNet/NetworkPeering.js +29 -0
  350. package/VNet/PrivateDns.d.ts +33 -0
  351. package/VNet/PrivateDns.js +64 -0
  352. package/VNet/PrivateEndpoint.d.ts +9 -0
  353. package/VNet/PrivateEndpoint.js +71 -0
  354. package/VNet/PublicDns.d.ts +21 -0
  355. package/VNet/PublicDns.js +59 -0
  356. package/VNet/RouteTable.d.ts +13 -0
  357. package/VNet/RouteTable.js +23 -0
  358. package/VNet/SecurityGroup.d.ts +8 -0
  359. package/VNet/SecurityGroup.js +13 -0
  360. package/VNet/Subnet.d.ts +26 -0
  361. package/VNet/Subnet.js +48 -0
  362. package/VNet/VirtualWAN.d.ts +25 -0
  363. package/VNet/VirtualWAN.js +40 -0
  364. package/VNet/Vnet.d.ts +51 -0
  365. package/VNet/Vnet.js +196 -0
  366. package/VNet/index.d.ts +65 -0
  367. package/VNet/index.js +198 -0
  368. package/Web/AppCertOrder.d.ts +16 -0
  369. package/Web/AppCertOrder.js +34 -0
  370. package/Web/AppConfig.d.ts +16 -0
  371. package/Web/AppConfig.js +79 -0
  372. package/Web/AppGateway.d.ts +15 -0
  373. package/Web/AppGateway.js +32 -0
  374. package/Web/FuncApp.d.ts +12 -0
  375. package/Web/FuncApp.js +24 -0
  376. package/Web/Helpers.d.ts +6 -0
  377. package/Web/Helpers.js +36 -0
  378. package/Web/WebAppPlan.d.ts +7 -0
  379. package/Web/WebAppPlan.js +26 -0
  380. package/Web/types.d.ts +169 -0
  381. package/Web/types.js +3 -0
  382. package/package.json +34 -0
  383. package/types.d.ts +69 -0
  384. package/types.js +3 -0
  385. package/z_tests/_tools/Mocks.d.ts +2 -0
  386. package/z_tests/_tools/Mocks.js +47 -0
@@ -0,0 +1,62 @@
1
+ import { ConventionProps } from '../../types';
2
+ /** The method to get Resource group Name*/
3
+ export declare const getResourceGroupName: (name: string) => string;
4
+ /** Get Azure Storage Account and CosmosDb Name*/
5
+ export declare const getStorageName: (name: string) => string;
6
+ /** Get Vault Secret Name. Remove the stack name and replace all _ with - then lower cases. */
7
+ export declare const getSecretName: (name: string) => string;
8
+ export declare const getAppPlanName: (name: string) => string;
9
+ export declare const getCertName: (name: string) => string;
10
+ export declare const getConnectionName: (name: string, type: 'primary' | 'secondary') => string;
11
+ export declare const getKeyName: (name: string, type: 'primary' | 'secondary') => string;
12
+ export declare const getPasswordName: (name: string, type: 'primary' | 'secondary' | null) => string;
13
+ export declare const getAutomationAccountName: (name: string) => string;
14
+ export declare const getB2cName: (name: string) => string;
15
+ export declare const getCosmosDbName: (name: string) => string;
16
+ export declare const getAppConfigName: (name: string) => string;
17
+ export declare const getApimName: (name: string) => string;
18
+ export declare const getSshName: (name: string) => string;
19
+ export declare const getIdentityName: (name: string) => string;
20
+ export declare const getManagedIdentityName: (name: string) => string;
21
+ export declare const getAksName: (name: string) => string;
22
+ export declare const getK8sProviderName: (name: string) => string;
23
+ export declare const getAppInsightName: (name: string) => string;
24
+ export declare const getLogWpName: (name: string) => string;
25
+ export declare const getWebAppName: (name: string) => string;
26
+ export declare const getFuncAppName: (name: string) => string;
27
+ export declare const getWebTestName: (name: string) => string;
28
+ export declare const getAlertName: (name: string) => string;
29
+ export declare const getRedisCacheName: (name: string) => string;
30
+ export declare const getServiceBusName: (name: string) => string;
31
+ export declare const getPrivateEndpointName: (name: string) => string;
32
+ export declare const getSignalRName: (name: string) => string;
33
+ export declare const getElasticPoolName: (name: string) => string;
34
+ export declare const getSqlDbName: (name: string) => string;
35
+ export declare const getSqlServerName: (name: string) => string;
36
+ export declare const getPostgresqlName: (name: string) => string;
37
+ export declare const getMySqlName: (name: string) => string;
38
+ export declare const getFirewallName: (name: string) => string;
39
+ export declare const getFirewallPolicyName: (name: string) => string;
40
+ export declare const getFirewallPolicyGroupName: (name: string) => string;
41
+ export declare const getVMName: (name: string) => string;
42
+ export declare const getNICName: (name: string) => string;
43
+ export declare const getVnetName: (name: string) => string;
44
+ export declare const getWanName: (name: string) => string;
45
+ export declare const getHubName: (name: string) => string;
46
+ export declare const getIotHubName: (name: string) => string;
47
+ export declare const getRouteName: (name: string) => string;
48
+ export declare const getRouteItemName: (name: string) => string;
49
+ export declare const getNetworkSecurityGroupName: (name: string) => string;
50
+ export declare const getIpAddressName: (name: string) => string;
51
+ export declare const getIpAddressPrefixName: (name: string) => string;
52
+ export declare const getAppGatewayName: (name: string) => string;
53
+ export declare const getBastionName: (name: string) => string;
54
+ /**Key vault allow to disable or custom the convention. The max length of vault name is 24*/
55
+ export declare const getKeyVaultName: (name: string, convention?: ConventionProps | false) => string;
56
+ export declare const getCdnEndpointName: (name: string) => string;
57
+ /**The CDN Profile is created to Global group so no prefix*/
58
+ export declare const getCdnProfileName: (name: string) => string;
59
+ /**The Azure Container Registry is created to Global group so no prefix*/
60
+ export declare const getAcrName: (name: string) => string;
61
+ /**The App Cert Order is created to Global group so no prefix*/
62
+ export declare const getCertOrderName: (name: string) => string;
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getKeyVaultName = exports.getBastionName = exports.getAppGatewayName = exports.getIpAddressPrefixName = exports.getIpAddressName = exports.getNetworkSecurityGroupName = exports.getRouteItemName = exports.getRouteName = exports.getIotHubName = exports.getHubName = exports.getWanName = exports.getVnetName = exports.getNICName = exports.getVMName = exports.getFirewallPolicyGroupName = exports.getFirewallPolicyName = exports.getFirewallName = exports.getMySqlName = exports.getPostgresqlName = exports.getSqlServerName = exports.getSqlDbName = exports.getElasticPoolName = exports.getSignalRName = exports.getPrivateEndpointName = exports.getServiceBusName = exports.getRedisCacheName = exports.getAlertName = exports.getWebTestName = exports.getFuncAppName = exports.getWebAppName = exports.getLogWpName = exports.getAppInsightName = exports.getK8sProviderName = exports.getAksName = exports.getManagedIdentityName = exports.getIdentityName = exports.getSshName = exports.getApimName = exports.getAppConfigName = exports.getCosmosDbName = exports.getB2cName = exports.getAutomationAccountName = exports.getPasswordName = exports.getKeyName = exports.getConnectionName = exports.getCertName = exports.getAppPlanName = exports.getSecretName = exports.getStorageName = exports.getResourceGroupName = void 0;
4
+ exports.getCertOrderName = exports.getAcrName = exports.getCdnProfileName = exports.getCdnEndpointName = void 0;
5
+ const Helpers_1 = require("../Helpers");
6
+ const ResourceEnv_1 = require("../ResourceEnv");
7
+ const StackEnv_1 = require("../StackEnv");
8
+ /** The method to get Resource group Name*/
9
+ const getResourceGroupName = (name) => (0, ResourceEnv_1.getResourceName)(name, {
10
+ suffix: StackEnv_1.organization ? `grp-${StackEnv_1.organization}` : 'grp',
11
+ });
12
+ exports.getResourceGroupName = getResourceGroupName;
13
+ /** Get Azure Storage Account and CosmosDb Name*/
14
+ const getStorageName = (name) => {
15
+ name = (0, ResourceEnv_1.getResourceName)(name, { includeOrgName: true, suffix: 'stg' });
16
+ name = (0, Helpers_1.replaceAll)(name, '-', '');
17
+ name = (0, Helpers_1.replaceAll)(name, '.', '');
18
+ return name.toLowerCase().substring(0, 24);
19
+ };
20
+ exports.getStorageName = getStorageName;
21
+ /** Get Vault Secret Name. Remove the stack name and replace all _ with - then lower cases. */
22
+ const getSecretName = (name) => {
23
+ name = name.replace(`${StackEnv_1.stack}-`, '');
24
+ name = name.replace(StackEnv_1.stack, '');
25
+ name = (0, Helpers_1.replaceAll)(name, ' ', '-');
26
+ name = (0, Helpers_1.replaceAll)(name, '.', '-');
27
+ return (0, Helpers_1.replaceAll)(name, '_', '-').toLowerCase();
28
+ };
29
+ exports.getSecretName = getSecretName;
30
+ const getAppPlanName = (name) => (0, ResourceEnv_1.getResourceName)(name, { includeOrgName: false, suffix: 'app-plan' });
31
+ exports.getAppPlanName = getAppPlanName;
32
+ const getCertName = (name) => {
33
+ name = (0, exports.getSecretName)(name);
34
+ return `${name}-cert`;
35
+ };
36
+ exports.getCertName = getCertName;
37
+ const getConnectionName = (name, type) => `${(0, exports.getSecretName)(name)}-conn-${type}`;
38
+ exports.getConnectionName = getConnectionName;
39
+ const getKeyName = (name, type) => `${(0, exports.getSecretName)(name)}-key-${type}`;
40
+ exports.getKeyName = getKeyName;
41
+ const getPasswordName = (name, type) => type === null
42
+ ? (0, ResourceEnv_1.getResourceName)(name, { suffix: 'pwd' })
43
+ : `${(0, exports.getSecretName)(name)}-pwd-${type}`;
44
+ exports.getPasswordName = getPasswordName;
45
+ const getAutomationAccountName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'acc-auto' });
46
+ exports.getAutomationAccountName = getAutomationAccountName;
47
+ const getB2cName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'b2c' });
48
+ exports.getB2cName = getB2cName;
49
+ const getCosmosDbName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'cdb' });
50
+ exports.getCosmosDbName = getCosmosDbName;
51
+ const getAppConfigName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'cfg' });
52
+ exports.getAppConfigName = getAppConfigName;
53
+ const getApimName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'apim' });
54
+ exports.getApimName = getApimName;
55
+ const getSshName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'ssh' });
56
+ exports.getSshName = getSshName;
57
+ const getIdentityName = (name) => (0, ResourceEnv_1.getResourceName)(name);
58
+ exports.getIdentityName = getIdentityName;
59
+ const getManagedIdentityName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'mid' });
60
+ exports.getManagedIdentityName = getManagedIdentityName;
61
+ const getAksName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'aks' });
62
+ exports.getAksName = getAksName;
63
+ const getK8sProviderName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'ks-pvd' });
64
+ exports.getK8sProviderName = getK8sProviderName;
65
+ const getAppInsightName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'isg' });
66
+ exports.getAppInsightName = getAppInsightName;
67
+ const getLogWpName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'wp' });
68
+ exports.getLogWpName = getLogWpName;
69
+ const getWebAppName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'web' });
70
+ exports.getWebAppName = getWebAppName;
71
+ const getFuncAppName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'func' });
72
+ exports.getFuncAppName = getFuncAppName;
73
+ const getWebTestName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'hlz' });
74
+ exports.getWebTestName = getWebTestName;
75
+ const getAlertName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'alt' });
76
+ exports.getAlertName = getAlertName;
77
+ const getRedisCacheName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'rds' });
78
+ exports.getRedisCacheName = getRedisCacheName;
79
+ const getServiceBusName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'bus' });
80
+ exports.getServiceBusName = getServiceBusName;
81
+ const getPrivateEndpointName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'pre' });
82
+ exports.getPrivateEndpointName = getPrivateEndpointName;
83
+ const getSignalRName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'sigr' });
84
+ exports.getSignalRName = getSignalRName;
85
+ const getElasticPoolName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'elp' });
86
+ exports.getElasticPoolName = getElasticPoolName;
87
+ const getSqlDbName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'db' });
88
+ exports.getSqlDbName = getSqlDbName;
89
+ const getSqlServerName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'sql' });
90
+ exports.getSqlServerName = getSqlServerName;
91
+ const getPostgresqlName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'postgres' });
92
+ exports.getPostgresqlName = getPostgresqlName;
93
+ const getMySqlName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'mysql' });
94
+ exports.getMySqlName = getMySqlName;
95
+ const getFirewallName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'fw' });
96
+ exports.getFirewallName = getFirewallName;
97
+ const getFirewallPolicyName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'fwp' });
98
+ exports.getFirewallPolicyName = getFirewallPolicyName;
99
+ const getFirewallPolicyGroupName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'fw-pg' });
100
+ exports.getFirewallPolicyGroupName = getFirewallPolicyGroupName;
101
+ const getVMName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'vm' });
102
+ exports.getVMName = getVMName;
103
+ const getNICName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'nic' });
104
+ exports.getNICName = getNICName;
105
+ const getVnetName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'vnt' });
106
+ exports.getVnetName = getVnetName;
107
+ const getWanName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'wan' });
108
+ exports.getWanName = getWanName;
109
+ const getHubName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'hub' });
110
+ exports.getHubName = getHubName;
111
+ const getIotHubName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'iot' });
112
+ exports.getIotHubName = getIotHubName;
113
+ const getRouteName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'route' });
114
+ exports.getRouteName = getRouteName;
115
+ const getRouteItemName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: '', includeOrgName: false });
116
+ exports.getRouteItemName = getRouteItemName;
117
+ const getNetworkSecurityGroupName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'nsg' });
118
+ exports.getNetworkSecurityGroupName = getNetworkSecurityGroupName;
119
+ const getIpAddressName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'ip' });
120
+ exports.getIpAddressName = getIpAddressName;
121
+ const getIpAddressPrefixName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'ipx' });
122
+ exports.getIpAddressPrefixName = getIpAddressPrefixName;
123
+ const getAppGatewayName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'gtw' });
124
+ exports.getAppGatewayName = getAppGatewayName;
125
+ const getBastionName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'bst' });
126
+ exports.getBastionName = getBastionName;
127
+ /**Key vault allow to disable or custom the convention. The max length of vault name is 24*/
128
+ const getKeyVaultName = (name, convention = {
129
+ suffix: 'vlt',
130
+ includeOrgName: true,
131
+ }) => (0, ResourceEnv_1.getResourceName)(name, convention == false
132
+ ? { prefix: '', suffix: '', includeOrgName: true }
133
+ : convention).substring(0, 24);
134
+ exports.getKeyVaultName = getKeyVaultName;
135
+ const getCdnEndpointName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'cdn' });
136
+ exports.getCdnEndpointName = getCdnEndpointName;
137
+ /**The CDN Profile is created to Global group so no prefix*/
138
+ const getCdnProfileName = (name) => (0, ResourceEnv_1.getResourceName)(name, { suffix: 'cdn-pfl' });
139
+ exports.getCdnProfileName = getCdnProfileName;
140
+ /**The Azure Container Registry is created to Global group so no prefix*/
141
+ const getAcrName = (name) => (0, Helpers_1.replaceAll)((0, ResourceEnv_1.getResourceName)(name, { prefix: '', suffix: 'acr' }), '-', '');
142
+ exports.getAcrName = getAcrName;
143
+ /**The App Cert Order is created to Global group so no prefix*/
144
+ const getCertOrderName = (name) => (0, ResourceEnv_1.getResourceName)(name.replace('.', '-'), { prefix: '', suffix: 'ca' });
145
+ exports.getCertOrderName = getCertOrderName;
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvQ29tbW9uL05hbWluZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQ0Esd0NBQXdDO0FBQ3hDLGdEQUFpRDtBQUNqRCwwQ0FBa0Q7QUFFbEQsMkNBQTJDO0FBQ3BDLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxJQUFZLEVBQVUsRUFBRSxDQUMzRCxJQUFBLDZCQUFlLEVBQUMsSUFBSSxFQUFFO0lBQ3BCLE1BQU0sRUFBRSx1QkFBWSxDQUFDLENBQUMsQ0FBQyxPQUFPLHVCQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSztDQUNyRCxDQUFDLENBQUM7QUFIUSxRQUFBLG9CQUFvQix3QkFHNUI7QUFFTCxpREFBaUQ7QUFDMUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxJQUFZLEVBQVUsRUFBRTtJQUNyRCxJQUFJLEdBQUcsSUFBQSw2QkFBZSxFQUFDLElBQUksRUFBRSxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDdEUsSUFBSSxHQUFHLElBQUEsb0JBQVUsRUFBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2pDLElBQUksR0FBRyxJQUFBLG9CQUFVLEVBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNqQyxPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQzdDLENBQUMsQ0FBQztBQUxXLFFBQUEsY0FBYyxrQkFLekI7QUFFRiw4RkFBOEY7QUFDdkYsTUFBTSxhQUFhLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRTtJQUM1QyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLGdCQUFLLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNyQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQy9CLElBQUksR0FBRyxJQUFBLG9CQUFVLEVBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNsQyxJQUFJLEdBQUcsSUFBQSxvQkFBVSxFQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDbEMsT0FBTyxJQUFBLG9CQUFVLEVBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztBQUNsRCxDQUFDLENBQUM7QUFOVyxRQUFBLGFBQWEsaUJBTXhCO0FBRUssTUFBTSxjQUFjLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUM3QyxJQUFBLDZCQUFlLEVBQUMsSUFBSSxFQUFFLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztBQUQxRCxRQUFBLGNBQWMsa0JBQzRDO0FBRWhFLE1BQU0sV0FBVyxHQUFHLENBQUMsSUFBWSxFQUFFLEVBQUU7SUFDMUMsSUFBSSxHQUFHLElBQUEscUJBQWEsRUFBQyxJQUFJLENBQUMsQ0FBQztJQUMzQixPQUFPLEdBQUcsSUFBSSxPQUFPLENBQUM7QUFDeEIsQ0FBQyxDQUFDO0FBSFcsUUFBQSxXQUFXLGVBR3RCO0FBRUssTUFBTSxpQkFBaUIsR0FBRyxDQUMvQixJQUFZLEVBQ1osSUFBNkIsRUFDN0IsRUFBRSxDQUFDLEdBQUcsSUFBQSxxQkFBYSxFQUFDLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDO0FBSDlCLFFBQUEsaUJBQWlCLHFCQUdhO0FBRXBDLE1BQU0sVUFBVSxHQUFHLENBQUMsSUFBWSxFQUFFLElBQTZCLEVBQUUsRUFBRSxDQUN4RSxHQUFHLElBQUEscUJBQWEsRUFBQyxJQUFJLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQztBQUQxQixRQUFBLFVBQVUsY0FDZ0I7QUFFaEMsTUFBTSxlQUFlLEdBQUcsQ0FDN0IsSUFBWSxFQUNaLElBQW9DLEVBQ3BDLEVBQUUsQ0FDRixJQUFJLEtBQUssSUFBSTtJQUNYLENBQUMsQ0FBQyxJQUFBLDZCQUFlLEVBQUMsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQzFDLENBQUMsQ0FBQyxHQUFHLElBQUEscUJBQWEsRUFBQyxJQUFJLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQztBQU45QixRQUFBLGVBQWUsbUJBTWU7QUFFcEMsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFLENBQ3ZELElBQUEsNkJBQWUsRUFBQyxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztBQURuQyxRQUFBLHdCQUF3Qiw0QkFDVztBQUV6QyxNQUFNLFVBQVUsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFLENBQ3pDLElBQUEsNkJBQWUsRUFBQyxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztBQUQ5QixRQUFBLFVBQVUsY0FDb0I7QUFFcEMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUM5QyxJQUFBLDZCQUFlLEVBQUMsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7QUFEOUIsUUFBQSxlQUFlLG1CQUNlO0FBRXBDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUMvQyxJQUFBLDZCQUFlLEVBQUMsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7QUFEOUIsUUFBQSxnQkFBZ0Isb0JBQ2M7QUFFcEMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUMxQyxJQUFBLDZCQUFlLEVBQUMsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7QUFEL0IsUUFBQSxXQUFXLGVBQ29CO0FBRXJDLE1BQU0sVUFBVSxHQUFHLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FDekMsSUFBQSw2QkFBZSxFQUFDLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0FBRDlCLFFBQUEsVUFBVSxjQUNvQjtBQUVwQyxNQUFNLGVBQWUsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFLENBQUMsSUFBQSw2QkFBZSxFQUFDLElBQUksQ0FBQyxDQUFDO0FBQTFELFFBQUEsZUFBZSxtQkFBMkM7QUFFaEUsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFLENBQ3JELElBQUEsNkJBQWUsRUFBQyxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztBQUQ5QixRQUFBLHNCQUFzQiwwQkFDUTtBQUVwQyxNQUFNLFVBQVUsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFLENBQ3pDLElBQUEsNkJBQWUsRUFBQyxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztBQUQ5QixRQUFBLFVBQVUsY0FDb0I7QUFFcEMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFLENBQ2pELElBQUEsNkJBQWUsRUFBQyxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztBQURqQyxRQUFBLGtCQUFrQixzQkFDZTtBQUV2QyxNQUFNLGlCQUFpQixHQUFHLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FDaEQsSUFBQSw2QkFBZSxFQUFDLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0FBRDlCLFFBQUEsaUJBQWlCLHFCQUNhO0FBRXBDLE1BQU0sWUFBWSxHQUFHLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FDM0MsSUFBQSw2QkFBZSxFQUFDLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBRDdCLFFBQUEsWUFBWSxnQkFDaUI7QUFFbkMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUM1QyxJQUFBLDZCQUFlLEVBQUMsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7QUFEOUIsUUFBQSxhQUFhLGlCQUNpQjtBQUVwQyxNQUFNLGNBQWMsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFLENBQzdDLElBQUEsNkJBQWUsRUFBQyxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztBQUQvQixRQUFBLGNBQWMsa0JBQ2lCO0FBRXJDLE1BQU0sY0FBYyxHQUFHLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FDN0MsSUFBQSw2QkFBZSxFQUFDLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0FBRDlCLFFBQUEsY0FBYyxrQkFDZ0I7QUFFcEMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUMzQyxJQUFBLDZCQUFlLEVBQUMsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7QUFEOUIsUUFBQSxZQUFZLGdCQUNrQjtBQUVwQyxNQUFNLGlCQUFpQixHQUFHLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FDaEQsSUFBQSw2QkFBZSxFQUFDLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0FBRDlCLFFBQUEsaUJBQWlCLHFCQUNhO0FBRXBDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUNoRCxJQUFBLDZCQUFlLEVBQUMsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7QUFEOUIsUUFBQSxpQkFBaUIscUJBQ2E7QUFFcEMsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFLENBQ3JELElBQUEsNkJBQWUsRUFBQyxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztBQUQ5QixRQUFBLHNCQUFzQiwwQkFDUTtBQUVwQyxNQUFNLGNBQWMsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFLENBQzdDLElBQUEsNkJBQWUsRUFBQyxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztBQUQvQixRQUFBLGNBQWMsa0JBQ2lCO0FBRXJDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUNqRCxJQUFBLDZCQUFlLEVBQUMsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7QUFEOUIsUUFBQSxrQkFBa0Isc0JBQ1k7QUFFcEMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUMzQyxJQUFBLDZCQUFlLEVBQUMsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7QUFEN0IsUUFBQSxZQUFZLGdCQUNpQjtBQUVuQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FDL0MsSUFBQSw2QkFBZSxFQUFDLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0FBRDlCLFFBQUEsZ0JBQWdCLG9CQUNjO0FBRXBDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUNoRCxJQUFBLDZCQUFlLEVBQUMsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7QUFEbkMsUUFBQSxpQkFBaUIscUJBQ2tCO0FBRXpDLE1BQU0sWUFBWSxHQUFHLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FDM0MsSUFBQSw2QkFBZSxFQUFDLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0FBRGhDLFFBQUEsWUFBWSxnQkFDb0I7QUFFdEMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUM5QyxJQUFBLDZCQUFlLEVBQUMsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7QUFEN0IsUUFBQSxlQUFlLG1CQUNjO0FBRW5DLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUNwRCxJQUFBLDZCQUFlLEVBQUMsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7QUFEOUIsUUFBQSxxQkFBcUIseUJBQ1M7QUFFcEMsTUFBTSwwQkFBMEIsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFLENBQ3pELElBQUEsNkJBQWUsRUFBQyxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztBQURoQyxRQUFBLDBCQUEwQiw4QkFDTTtBQUV0QyxNQUFNLFNBQVMsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFLENBQ3hDLElBQUEsNkJBQWUsRUFBQyxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztBQUQ3QixRQUFBLFNBQVMsYUFDb0I7QUFFbkMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUN6QyxJQUFBLDZCQUFlLEVBQUMsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7QUFEOUIsUUFBQSxVQUFVLGNBQ29CO0FBRXBDLE1BQU0sV0FBVyxHQUFHLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FDMUMsSUFBQSw2QkFBZSxFQUFDLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0FBRDlCLFFBQUEsV0FBVyxlQUNtQjtBQUVwQyxNQUFNLFVBQVUsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFLENBQ3pDLElBQUEsNkJBQWUsRUFBQyxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztBQUQ5QixRQUFBLFVBQVUsY0FDb0I7QUFFcEMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUN6QyxJQUFBLDZCQUFlLEVBQUMsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7QUFEOUIsUUFBQSxVQUFVLGNBQ29CO0FBRXBDLE1BQU0sYUFBYSxHQUFHLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FDNUMsSUFBQSw2QkFBZSxFQUFDLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0FBRDlCLFFBQUEsYUFBYSxpQkFDaUI7QUFFcEMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUMzQyxJQUFBLDZCQUFlLEVBQUMsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7QUFEaEMsUUFBQSxZQUFZLGdCQUNvQjtBQUV0QyxNQUFNLGdCQUFnQixHQUFHLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FDL0MsSUFBQSw2QkFBZSxFQUFDLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7QUFEbEQsUUFBQSxnQkFBZ0Isb0JBQ2tDO0FBRXhELE1BQU0sMkJBQTJCLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUMxRCxJQUFBLDZCQUFlLEVBQUMsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7QUFEOUIsUUFBQSwyQkFBMkIsK0JBQ0c7QUFFcEMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFLENBQy9DLElBQUEsNkJBQWUsRUFBQyxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztBQUQ3QixRQUFBLGdCQUFnQixvQkFDYTtBQUVuQyxNQUFNLHNCQUFzQixHQUFHLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FDckQsSUFBQSw2QkFBZSxFQUFDLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0FBRDlCLFFBQUEsc0JBQXNCLDBCQUNRO0FBRXBDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUNoRCxJQUFBLDZCQUFlLEVBQUMsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7QUFEOUIsUUFBQSxpQkFBaUIscUJBQ2E7QUFFcEMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUM3QyxJQUFBLDZCQUFlLEVBQUMsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7QUFEOUIsUUFBQSxjQUFjLGtCQUNnQjtBQUUzQyw0RkFBNEY7QUFDckYsTUFBTSxlQUFlLEdBQUcsQ0FDN0IsSUFBWSxFQUNaLGFBQXNDO0lBQ3BDLE1BQU0sRUFBRSxLQUFLO0lBQ2IsY0FBYyxFQUFFLElBQUk7Q0FDckIsRUFDRCxFQUFFLENBQ0YsSUFBQSw2QkFBZSxFQUNiLElBQUksRUFDSixVQUFVLElBQUksS0FBSztJQUNqQixDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRTtJQUNsRCxDQUFDLENBQUMsVUFBVSxDQUNmLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQVpSLFFBQUEsZUFBZSxtQkFZUDtBQUVkLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUNqRCxJQUFBLDZCQUFlLEVBQUMsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7QUFEOUIsUUFBQSxrQkFBa0Isc0JBQ1k7QUFFM0MsNERBQTREO0FBQ3JELE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUNoRCxJQUFBLDZCQUFlLEVBQUMsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7QUFEbEMsUUFBQSxpQkFBaUIscUJBQ2lCO0FBRS9DLHlFQUF5RTtBQUNsRSxNQUFNLFVBQVUsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFLENBQ3pDLElBQUEsb0JBQVUsRUFBQyxJQUFBLDZCQUFlLEVBQUMsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFEL0QsUUFBQSxVQUFVLGNBQ3FEO0FBRTVFLCtEQUErRDtBQUN4RCxNQUFNLGdCQUFnQixHQUFHLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FDL0MsSUFBQSw2QkFBZSxFQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztBQUQzRCxRQUFBLGdCQUFnQixvQkFDMkMifQ==
@@ -0,0 +1,16 @@
1
+ import { ConventionProps, ResourceGroupInfo } from '../types';
2
+ import { Input } from '@pulumi/pulumi';
3
+ export declare const resourceConvention: {
4
+ prefix: string;
5
+ suffix: undefined;
6
+ };
7
+ /** The method to get Resource Name. This is not applicable for Azure Storage Account and CosmosDb*/
8
+ export declare const getResourceName: (name: string, convention?: ConventionProps) => string;
9
+ export interface ResourceInfoArg {
10
+ /**If name and provider of the resource is not provided then the Id will be resource group Id*/
11
+ name?: Input<string>;
12
+ /**The provider name of the resource ex: "Microsoft.Network/virtualNetworks" or "Microsoft.Network/networkSecurityGroups"*/
13
+ provider?: string;
14
+ group: ResourceGroupInfo;
15
+ subscriptionId?: Input<string>;
16
+ }
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getResourceName = exports.resourceConvention = void 0;
4
+ const Helpers_1 = require("./Helpers");
5
+ const StackEnv_1 = require("./StackEnv");
6
+ exports.resourceConvention = {
7
+ prefix: StackEnv_1.stack,
8
+ suffix: undefined, //This may be specified by each resource name
9
+ };
10
+ /** ==================== Resources Variables ========================= */
11
+ const getName = (name, convention) => {
12
+ if (!name)
13
+ return name;
14
+ name = (0, Helpers_1.replaceAll)(name, ' ', '-');
15
+ //Add prefix
16
+ if (convention.prefix && !name.startsWith(convention.prefix))
17
+ name = convention.prefix + '-' + name;
18
+ //Organization
19
+ if (convention.includeOrgName && !name.includes(StackEnv_1.organization))
20
+ name = name + '-' + StackEnv_1.organization;
21
+ //Add the suffix
22
+ if (convention.suffix && !name.endsWith(convention.suffix))
23
+ name = name + '-' + convention.suffix;
24
+ return name.toLowerCase();
25
+ };
26
+ /** The method to get Resource Name. This is not applicable for Azure Storage Account and CosmosDb*/
27
+ const getResourceName = (name, convention) => getName(name, { ...exports.resourceConvention, ...convention });
28
+ exports.getResourceName = getResourceName;
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVzb3VyY2VFbnYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQ29tbW9uL1Jlc291cmNlRW52LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHVDQUF1QztBQUd2Qyx5Q0FBaUQ7QUFFcEMsUUFBQSxrQkFBa0IsR0FBRztJQUNoQyxNQUFNLEVBQUUsZ0JBQUs7SUFDYixNQUFNLEVBQUUsU0FBUyxFQUFFLDZDQUE2QztDQUNqRSxDQUFDO0FBRUYseUVBQXlFO0FBRXpFLE1BQU0sT0FBTyxHQUFHLENBQUMsSUFBWSxFQUFFLFVBQTJCLEVBQVUsRUFBRTtJQUNwRSxJQUFJLENBQUMsSUFBSTtRQUFFLE9BQU8sSUFBSSxDQUFDO0lBQ3ZCLElBQUksR0FBRyxJQUFBLG9CQUFVLEVBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUVsQyxZQUFZO0lBQ1osSUFBSSxVQUFVLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDO1FBQzFELElBQUksR0FBRyxVQUFVLENBQUMsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUM7SUFFeEMsY0FBYztJQUNkLElBQUksVUFBVSxDQUFDLGNBQWMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsdUJBQVksQ0FBQztRQUMzRCxJQUFJLEdBQUcsSUFBSSxHQUFHLEdBQUcsR0FBRyx1QkFBWSxDQUFDO0lBRW5DLGdCQUFnQjtJQUNoQixJQUFJLFVBQVUsQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7UUFDeEQsSUFBSSxHQUFHLElBQUksR0FBRyxHQUFHLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQztJQUV4QyxPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztBQUM1QixDQUFDLENBQUM7QUFFRixvR0FBb0c7QUFDN0YsTUFBTSxlQUFlLEdBQUcsQ0FDN0IsSUFBWSxFQUNaLFVBQTRCLEVBQ3BCLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsR0FBRywwQkFBa0IsRUFBRSxHQUFHLFVBQVUsRUFBRSxDQUFDLENBQUM7QUFIeEQsUUFBQSxlQUFlLG1CQUd5QyJ9
@@ -0,0 +1,4 @@
1
+ export declare const isDryRun: boolean;
2
+ export declare const organization: string;
3
+ export declare const projectName: string;
4
+ export declare const stack: string;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.stack = exports.projectName = exports.organization = exports.isDryRun = void 0;
4
+ const pulumi = require("@pulumi/pulumi");
5
+ exports.isDryRun = Boolean(process.env.PULUMI_NODEJS_DRY_RUN);
6
+ exports.organization = process.env.PULUMI_NODEJS_ORGANIZATION;
7
+ exports.projectName = process.env.PULUMI_NODEJS_PROJECT ?? pulumi.getProject().toLowerCase();
8
+ exports.stack = process.env.PULUMI_NODEJS_STACK ?? pulumi.getStack().toLowerCase();
9
+ // console.log(
10
+ // 'Pulumi Environments\n',
11
+ // Object.keys(process.env)
12
+ // .filter((key) => key.startsWith('PULUMI_'))
13
+ // .map((key) => `\t${key}: ${process.env[key]}`)
14
+ // .join('\n')
15
+ // );
16
+ console.log('Pulumi Environments:', {
17
+ organization: exports.organization,
18
+ projectName: exports.projectName,
19
+ stack: exports.stack,
20
+ isDryRun: exports.isDryRun,
21
+ });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RhY2tFbnYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQ29tbW9uL1N0YWNrRW52LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUF5QztBQUU1QixRQUFBLFFBQVEsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0FBQ3RELFFBQUEsWUFBWSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsMEJBQTJCLENBQUM7QUFDdkQsUUFBQSxXQUFXLEdBQ3RCLE9BQU8sQ0FBQyxHQUFHLENBQUMscUJBQXFCLElBQUksTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO0FBQzVELFFBQUEsS0FBSyxHQUNoQixPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQixJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztBQUVyRSxlQUFlO0FBQ2YsK0JBQStCO0FBQy9CLCtCQUErQjtBQUMvQixzREFBc0Q7QUFDdEQseURBQXlEO0FBQ3pELHNCQUFzQjtBQUN0QixLQUFLO0FBRUwsT0FBTyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsRUFBRTtJQUNsQyxZQUFZLEVBQVosb0JBQVk7SUFDWixXQUFXLEVBQVgsbUJBQVc7SUFDWCxLQUFLLEVBQUwsYUFBSztJQUNMLFFBQVEsRUFBUixnQkFBUTtDQUNULENBQUMsQ0FBQyJ9
@@ -0,0 +1,5 @@
1
+ export * as helpers from './Helpers';
2
+ export * as azureEnv from './AzureEnv';
3
+ export * as stackEnv from './StackEnv';
4
+ export * as resourceEnv from './ResourceEnv';
5
+ export * as global from './GlobalEnv';
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.global = exports.resourceEnv = exports.stackEnv = exports.azureEnv = exports.helpers = void 0;
4
+ exports.helpers = require("./Helpers");
5
+ exports.azureEnv = require("./AzureEnv");
6
+ exports.stackEnv = require("./StackEnv");
7
+ exports.resourceEnv = require("./ResourceEnv");
8
+ exports.global = require("./GlobalEnv");
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQ29tbW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHVDQUFxQztBQUNyQyx5Q0FBdUM7QUFDdkMseUNBQXVDO0FBQ3ZDLCtDQUE2QztBQUM3Qyx3Q0FBc0MifQ==
@@ -0,0 +1,23 @@
1
+ import { ResourceGroupInfo } from '../types';
2
+ export interface ImageInfo {
3
+ registry: string;
4
+ imageName: string;
5
+ tags: Tag[];
6
+ }
7
+ export interface Tag {
8
+ name: string;
9
+ signed: boolean;
10
+ }
11
+ interface LatestAcrImageProps {
12
+ repository: string;
13
+ acrName: string;
14
+ group: ResourceGroupInfo;
15
+ }
16
+ /**Get ACR credentials from Global Resource Group*/
17
+ export declare const getAcrCredentials: (name: string) => Promise<{
18
+ username: string;
19
+ password: string;
20
+ url: string;
21
+ }>;
22
+ export declare const getLastAcrImage: ({ acrName, repository, group, }: LatestAcrImageProps) => Promise<string | undefined>;
23
+ export {};
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getLastAcrImage = exports.getAcrCredentials = void 0;
4
+ const native = require("@pulumi/azure-native");
5
+ const axios_1 = require("axios");
6
+ const Naming_1 = require("../Common/Naming");
7
+ const Common_1 = require("../Common");
8
+ /**Get ACR credentials from Global Resource Group*/
9
+ const getAcrCredentials = async (name) => {
10
+ const n = (0, Naming_1.getAcrName)(name);
11
+ const credentials = await native.containerregistry.listRegistryCredentials({
12
+ registryName: n,
13
+ ...Common_1.global.groupInfo,
14
+ });
15
+ return {
16
+ username: credentials.username,
17
+ password: credentials.passwords[0].value,
18
+ url: `https://${n}.azurecr.io`,
19
+ };
20
+ };
21
+ exports.getAcrCredentials = getAcrCredentials;
22
+ const getLastAcrImage = async ({ acrName, repository, group, }) => {
23
+ const credentials = await native.containerregistry.listRegistryCredentials({
24
+ registryName: acrName,
25
+ ...group,
26
+ });
27
+ if (credentials == undefined)
28
+ return;
29
+ const token = Buffer.from(`${credentials.username}:${credentials.passwords[0].value}`).toString('base64');
30
+ const url = `https://${acrName}.azurecr.io/acr/v1/${repository}/_tags?last=1&n=1&orderby=timedesc`;
31
+ const rs = await axios_1.default
32
+ .get(url, {
33
+ headers: { Authorization: `Basic ${token}` },
34
+ })
35
+ .then((rs) => rs.data)
36
+ .catch((err) => {
37
+ console.log(`getLastAcrImage: "${url}" Error`, err.response?.data);
38
+ return undefined;
39
+ });
40
+ const latestImage = rs
41
+ ? `${rs.registry}/${rs.imageName}:${rs.tags[0].name}`
42
+ : `${acrName}.azurecr.io/${repository}:latest`;
43
+ console.log(`getLastAcrImage: ${acrName}`, latestImage);
44
+ return latestImage;
45
+ };
46
+ exports.getLastAcrImage = getLastAcrImage;
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0NvbnRhaW5lclJlZ2lzdHJ5L0hlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQ0FBK0M7QUFDL0MsaUNBQThEO0FBRTlELDZDQUE4QztBQUM5QyxzQ0FBbUM7QUFtQm5DLG1EQUFtRDtBQUM1QyxNQUFNLGlCQUFpQixHQUFHLEtBQUssRUFBRSxJQUFZLEVBQUUsRUFBRTtJQUN0RCxNQUFNLENBQUMsR0FBRyxJQUFBLG1CQUFVLEVBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0IsTUFBTSxXQUFXLEdBQUcsTUFBTSxNQUFNLENBQUMsaUJBQWlCLENBQUMsdUJBQXVCLENBQUM7UUFDekUsWUFBWSxFQUFFLENBQUM7UUFDZixHQUFHLGVBQU0sQ0FBQyxTQUFTO0tBQ3BCLENBQUMsQ0FBQztJQUVILE9BQU87UUFDTCxRQUFRLEVBQUUsV0FBVyxDQUFDLFFBQVM7UUFDL0IsUUFBUSxFQUFFLFdBQVcsQ0FBQyxTQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBTTtRQUMxQyxHQUFHLEVBQUUsV0FBVyxDQUFDLGFBQWE7S0FDL0IsQ0FBQztBQUNKLENBQUMsQ0FBQztBQVpXLFFBQUEsaUJBQWlCLHFCQVk1QjtBQUVLLE1BQU0sZUFBZSxHQUFHLEtBQUssRUFBRSxFQUNwQyxPQUFPLEVBQ1AsVUFBVSxFQUNWLEtBQUssR0FDZSxFQUFFLEVBQUU7SUFDeEIsTUFBTSxXQUFXLEdBQUcsTUFBTSxNQUFNLENBQUMsaUJBQWlCLENBQUMsdUJBQXVCLENBQUM7UUFDekUsWUFBWSxFQUFFLE9BQU87UUFDckIsR0FBRyxLQUFLO0tBQ1QsQ0FBQyxDQUFDO0lBRUgsSUFBSSxXQUFXLElBQUksU0FBUztRQUFFLE9BQU87SUFFckMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FDdkIsR0FBRyxXQUFXLENBQUMsUUFBUyxJQUFJLFdBQVcsQ0FBQyxTQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBTSxFQUFFLENBQy9ELENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRXJCLE1BQU0sR0FBRyxHQUFHLFdBQVcsT0FBTyxzQkFBc0IsVUFBVSxvQ0FBb0MsQ0FBQztJQUNuRyxNQUFNLEVBQUUsR0FBRyxNQUFNLGVBQUs7U0FDbkIsR0FBRyxDQUFZLEdBQUcsRUFBRTtRQUNuQixPQUFPLEVBQUUsRUFBRSxhQUFhLEVBQUUsU0FBUyxLQUFLLEVBQUUsRUFBRTtLQUN2QixDQUFDO1NBQ3ZCLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQztTQUNyQixLQUFLLENBQUMsQ0FBQyxHQUFlLEVBQUUsRUFBRTtRQUN6QixPQUFPLENBQUMsR0FBRyxDQUFDLHFCQUFxQixHQUFHLFNBQVMsRUFBRSxHQUFHLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ25FLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUMsQ0FBQyxDQUFDO0lBRUwsTUFBTSxXQUFXLEdBQUcsRUFBRTtRQUNwQixDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUU7UUFDckQsQ0FBQyxDQUFDLEdBQUcsT0FBTyxlQUFlLFVBQVUsU0FBUyxDQUFDO0lBRWpELE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLE9BQU8sRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3hELE9BQU8sV0FBVyxDQUFDO0FBQ3JCLENBQUMsQ0FBQztBQWpDVyxRQUFBLGVBQWUsbUJBaUMxQiJ9
@@ -0,0 +1,28 @@
1
+ import * as containerregistry from '@pulumi/azure-native/containerregistry';
2
+ import { DefaultResourceArgs, KeyVaultInfo, NetworkRulesProps, ResourceGroupInfo } from '../types';
3
+ interface Props extends DefaultResourceArgs {
4
+ name: string;
5
+ group?: ResourceGroupInfo;
6
+ adminUserEnabled?: boolean;
7
+ enableStorageAccount?: boolean;
8
+ vaultInfo?: KeyVaultInfo;
9
+ sku?: containerregistry.SkuName;
10
+ /**Only support Premium sku*/
11
+ network?: NetworkRulesProps;
12
+ }
13
+ /** The Azure Container Registry will be created at the GLobal Group.
14
+ * Follow ReadMe file to setup the cleaning tasks for this Registry
15
+ */
16
+ declare const _default: ({ name, group, sku, adminUserEnabled, lock, vaultInfo, network, ...others }: Props) => {
17
+ name: string;
18
+ registry: import("@pulumi/azure-native/containerregistry/registry").Registry;
19
+ vaultKeyNames: {
20
+ userNameKey: string;
21
+ primaryPasswordKey: string;
22
+ secondaryPasswordKey: string;
23
+ urlKey: string;
24
+ };
25
+ locker: import("@pulumi/azure-native/authorization/managementLockByScope").ManagementLockByScope | undefined;
26
+ diagnostic: import("@pulumi/azure-native/aadiam/diagnosticSetting").DiagnosticSetting | undefined;
27
+ };
28
+ export default _default;
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const containerregistry = require("@pulumi/azure-native/containerregistry");
4
+ const ResourceCreator_1 = require("../Core/ResourceCreator");
5
+ const global = require("../Common/GlobalEnv");
6
+ const Naming_1 = require("../Common/Naming");
7
+ const PrivateEndpoint_1 = require("../VNet/PrivateEndpoint");
8
+ const CustomHelper_1 = require("../KeyVault/CustomHelper");
9
+ /** The Azure Container Registry will be created at the GLobal Group.
10
+ * Follow ReadMe file to setup the cleaning tasks for this Registry
11
+ */
12
+ exports.default = ({ name, group = global.groupInfo, sku = containerregistry.SkuName.Basic, adminUserEnabled = true, lock = true, vaultInfo, network, ...others }) => {
13
+ name = (0, Naming_1.getAcrName)(name);
14
+ const urlKey = `${name}-url`;
15
+ const userNameKey = `${name}-user-name`;
16
+ const primaryPasswordKey = (0, Naming_1.getPasswordName)(name, 'primary');
17
+ const secondaryPasswordKey = (0, Naming_1.getPasswordName)(name, 'secondary');
18
+ const { resource, diagnostic, locker } = (0, ResourceCreator_1.default)(containerregistry.Registry, {
19
+ registryName: name,
20
+ ...group,
21
+ adminUserEnabled,
22
+ lock,
23
+ sku: { name: sku },
24
+ networkRuleSet: sku === 'Premium' && network
25
+ ? {
26
+ defaultAction: containerregistry.DefaultAction.Allow,
27
+ ipRules: network.ipAddresses
28
+ ? network.ipAddresses.map((ip) => ({ iPAddressOrRange: ip }))
29
+ : undefined,
30
+ virtualNetworkRules: network.subnetId
31
+ ? [{ virtualNetworkResourceId: network.subnetId }]
32
+ : undefined,
33
+ }
34
+ : undefined,
35
+ ...others,
36
+ });
37
+ if (sku === 'Premium' && network?.privateLink && network?.subnetId) {
38
+ (0, PrivateEndpoint_1.default)({
39
+ name: (0, Naming_1.getPrivateEndpointName)(name),
40
+ group,
41
+ privateDnsZoneName: 'privatelink.azurecr.io',
42
+ subnetId: network.subnetId,
43
+ ...network.privateLink,
44
+ linkServiceGroupIds: ['azurecr'],
45
+ resourceId: resource.id,
46
+ });
47
+ }
48
+ if (vaultInfo && adminUserEnabled) {
49
+ resource.id.apply(async (id) => {
50
+ //The Resource is not created in Azure yet.
51
+ if (!id)
52
+ return;
53
+ //Only able to gert the secret once the resource is created.
54
+ const keys = await containerregistry.listRegistryCredentials({
55
+ registryName: name,
56
+ resourceGroupName: global.groupInfo.resourceGroupName,
57
+ });
58
+ (0, CustomHelper_1.addCustomSecret)({
59
+ name: urlKey,
60
+ value: `https://${name}.azurecr.io`,
61
+ vaultInfo,
62
+ contentType: 'Container Registry',
63
+ dependsOn: resource,
64
+ });
65
+ (0, CustomHelper_1.addCustomSecret)({
66
+ name: userNameKey,
67
+ value: keys.username,
68
+ vaultInfo,
69
+ contentType: 'Container Registry',
70
+ dependsOn: resource,
71
+ });
72
+ (0, CustomHelper_1.addCustomSecret)({
73
+ name: primaryPasswordKey,
74
+ formattedName: true,
75
+ value: keys.passwords[0].value,
76
+ vaultInfo,
77
+ contentType: 'Container Registry',
78
+ dependsOn: resource,
79
+ });
80
+ (0, CustomHelper_1.addCustomSecret)({
81
+ name: secondaryPasswordKey,
82
+ formattedName: true,
83
+ value: keys.passwords[1].value,
84
+ vaultInfo,
85
+ contentType: 'Container Registry',
86
+ dependsOn: resource,
87
+ });
88
+ });
89
+ }
90
+ return {
91
+ name,
92
+ registry: resource,
93
+ vaultKeyNames: {
94
+ userNameKey,
95
+ primaryPasswordKey,
96
+ secondaryPasswordKey,
97
+ urlKey,
98
+ },
99
+ locker,
100
+ diagnostic,
101
+ };
102
+ };
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvQ29udGFpbmVyUmVnaXN0cnkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw0RUFBNEU7QUFPNUUsNkRBQThDO0FBQzlDLDhDQUE4QztBQUM5Qyw2Q0FJMEI7QUFDMUIsNkRBQXNEO0FBQ3RELDJEQUEyRDtBQWEzRDs7R0FFRztBQUNILGtCQUFlLENBQUMsRUFDZCxJQUFJLEVBQ0osS0FBSyxHQUFHLE1BQU0sQ0FBQyxTQUFTLEVBQ3hCLEdBQUcsR0FBRyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUNyQyxnQkFBZ0IsR0FBRyxJQUFJLEVBQ3ZCLElBQUksR0FBRyxJQUFJLEVBQ1gsU0FBUyxFQUNULE9BQU8sRUFDUCxHQUFHLE1BQU0sRUFDSCxFQUFFLEVBQUU7SUFDVixJQUFJLEdBQUcsSUFBQSxtQkFBVSxFQUFDLElBQUksQ0FBQyxDQUFDO0lBRXhCLE1BQU0sTUFBTSxHQUFHLEdBQUcsSUFBSSxNQUFNLENBQUM7SUFDN0IsTUFBTSxXQUFXLEdBQUcsR0FBRyxJQUFJLFlBQVksQ0FBQztJQUN4QyxNQUFNLGtCQUFrQixHQUFHLElBQUEsd0JBQWUsRUFBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDNUQsTUFBTSxvQkFBb0IsR0FBRyxJQUFBLHdCQUFlLEVBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBRWhFLE1BQU0sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUEseUJBQU8sRUFDOUMsaUJBQWlCLENBQUMsUUFBUSxFQUMxQjtRQUNFLFlBQVksRUFBRSxJQUFJO1FBQ2xCLEdBQUcsS0FBSztRQUVSLGdCQUFnQjtRQUNoQixJQUFJO1FBQ0osR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRTtRQUNsQixjQUFjLEVBQ1osR0FBRyxLQUFLLFNBQVMsSUFBSSxPQUFPO1lBQzFCLENB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
@@ -0,0 +1,16 @@
1
+ export interface AzureResourceItem {
2
+ id: string;
3
+ name: string;
4
+ location: string;
5
+ resourceGroupName: string;
6
+ tags: {
7
+ [key: string]: string;
8
+ };
9
+ }
10
+ export interface AzureResourceResult {
11
+ value: Array<AzureResourceItem>;
12
+ }
13
+ /** Find a NetworkSecurityGroups in a Resource Group*/
14
+ export declare const findNetworkSecurityGroups: (group: string) => Promise<AzureResourceItem[] | undefined>;
15
+ /** Find VM Scale set in a Resource Group */
16
+ export declare const findVMScaleSet: (group: string) => Promise<AzureResourceItem[] | undefined>;
package/Core/Helper.js ADDED
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.findVMScaleSet = exports.findNetworkSecurityGroups = void 0;
4
+ const Axios_1 = require("@drunk-pulumi/azure-providers/Tools/Axios");
5
+ /** Find a NetworkSecurityGroups in a Resource Group*/
6
+ const findNetworkSecurityGroups = async (group) => {
7
+ const axios = (0, Axios_1.createAxios)();
8
+ try {
9
+ const url = `/resourceGroups/${group}/providers/Microsoft.Network/networkSecurityGroups?api-version=2020-05-01`;
10
+ const rs = await axios.get(url).then((rs) => rs.data);
11
+ return rs.value.map((i) => {
12
+ i.resourceGroupName = group;
13
+ return i;
14
+ });
15
+ }
16
+ catch (error) {
17
+ return undefined;
18
+ }
19
+ };
20
+ exports.findNetworkSecurityGroups = findNetworkSecurityGroups;
21
+ /** Find VM Scale set in a Resource Group */
22
+ const findVMScaleSet = async (group) => {
23
+ const axios = (0, Axios_1.createAxios)();
24
+ try {
25
+ const url = `/resourceGroups/${group}/providers/Microsoft.Compute/virtualMachineScaleSets?api-version=2020-06-01`;
26
+ const rs = await axios.get(url).then((rs) => rs.data);
27
+ return rs.value.map((i) => {
28
+ i.resourceGroupName = group;
29
+ return i;
30
+ });
31
+ }
32
+ catch (error) {
33
+ return undefined;
34
+ }
35
+ };
36
+ exports.findVMScaleSet = findVMScaleSet;
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0NvcmUvSGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUFzRTtBQWdCdEUsc0RBQXNEO0FBQy9DLE1BQU0seUJBQXlCLEdBQUcsS0FBSyxFQUFFLEtBQWEsRUFBRSxFQUFFO0lBQy9ELE1BQU0sS0FBSyxHQUFHLElBQUEsbUJBQVcsR0FBRSxDQUFDO0lBQzVCLElBQUksQ0FBQztRQUNILE1BQU0sR0FBRyxHQUFHLG1CQUFtQixLQUFLLDJFQUEyRSxDQUFDO1FBQ2hILE1BQU0sRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEdBQUcsQ0FBc0IsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFM0UsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3hCLENBQUMsQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7WUFDNUIsT0FBTyxDQUFDLENBQUM7UUFDWCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztBQUNILENBQUMsQ0FBQztBQWJXLFFBQUEseUJBQXlCLDZCQWFwQztBQUVGLDRDQUE0QztBQUNyQyxNQUFNLGNBQWMsR0FBRyxLQUFLLEVBQUUsS0FBYSxFQUFFLEVBQUU7SUFDcEQsTUFBTSxLQUFLLEdBQUcsSUFBQSxtQkFBVyxHQUFFLENBQUM7SUFDNUIsSUFBSSxDQUFDO1FBQ0gsTUFBTSxHQUFHLEdBQUcsbUJBQW1CLEtBQUssNkVBQTZFLENBQUM7UUFDbEgsTUFBTSxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsR0FBRyxDQUFzQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUUzRSxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDeEIsQ0FBQyxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztZQUM1QixPQUFPLENBQUMsQ0FBQztRQUNYLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBYlcsUUFBQSxjQUFjLGtCQWF6QiJ9
@@ -0,0 +1,33 @@
1
+ import { KeyVaultInfo } from '../types';
2
+ import { SshKeyResource } from '@drunk-pulumi/azure-providers/SshKeyGenerator';
3
+ import { LoginProps } from './Random';
4
+ import { PGPProps, PGPResource } from '@drunk-pulumi/azure-providers/PGPGenerator';
5
+ export declare const generateSsh: ({ name, loginPrefix, maxUserNameLength, passwordOptions, vaultInfo, }: LoginProps & {
6
+ vaultInfo: KeyVaultInfo;
7
+ }) => {
8
+ userName: import("@pulumi/pulumi").Output<string>;
9
+ ssh: SshKeyResource;
10
+ password: import("@pulumi/pulumi").Output<string>;
11
+ vaultNames: {
12
+ passwordKeyName: string;
13
+ publicKeyName: string;
14
+ privateKeyName: string;
15
+ };
16
+ lists: {
17
+ getUserName: () => Promise<string | undefined>;
18
+ getPublicKey: () => Promise<string | undefined>;
19
+ };
20
+ };
21
+ export declare const generatePGP: ({ name, options, vaultInfo, }: {
22
+ name: string;
23
+ vaultInfo: KeyVaultInfo;
24
+ options: PGPProps;
25
+ }) => {
26
+ name: string;
27
+ pgp: PGPResource;
28
+ lists: {
29
+ getPublicKey: () => Promise<string | undefined>;
30
+ getPrivateKey: () => Promise<string | undefined>;
31
+ getRevocationCertificate: () => Promise<string | undefined>;
32
+ };
33
+ };