@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,303 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const Location_1 = require("../../Common/Location");
4
+ exports.default = ({ name, location, vnetAddressSpace, enableCloudPcRules = true, enableDeveloperResources = true, enableAzureResources = true, allowIpCheckApi = true, allowFullOutboundAddress, }) => {
5
+ location = (0, Location_1.getLocation)(location);
6
+ const networkRules = new Array();
7
+ const applicationRules = new Array();
8
+ if (allowFullOutboundAddress) {
9
+ networkRules.push({
10
+ ruleType: 'NetworkRule',
11
+ name: 'allow-out-all',
12
+ description: 'Allow out all',
13
+ ipProtocols: ['TCP'],
14
+ sourceAddresses: allowFullOutboundAddress,
15
+ destinationAddresses: ['*'],
16
+ destinationPorts: ['443'],
17
+ });
18
+ }
19
+ if (enableCloudPcRules) {
20
+ networkRules.push({
21
+ ruleType: 'NetworkRule',
22
+ name: 'allow-AVD-traffic',
23
+ description: 'AVD traffic',
24
+ ipProtocols: ['TCP'],
25
+ sourceAddresses: vnetAddressSpace,
26
+ destinationAddresses: ['169.254.169.254', '168.63.129.16'],
27
+ destinationPorts: ['80'],
28
+ }, {
29
+ ruleType: 'NetworkRule',
30
+ name: 'allow-AVD-WA',
31
+ description: 'AVD WA',
32
+ ipProtocols: ['TCP'],
33
+ sourceAddresses: vnetAddressSpace,
34
+ destinationAddresses: ['23.102.135.246'],
35
+ destinationPorts: ['1688'],
36
+ }, {
37
+ ruleType: 'NetworkRule',
38
+ name: 'allow-time-sync',
39
+ description: 'Win time sync',
40
+ ipProtocols: ['UDP'],
41
+ sourceAddresses: vnetAddressSpace,
42
+ destinationFqdns: ['time.windows.com'],
43
+ destinationPorts: ['123'],
44
+ }, {
45
+ ruleType: 'NetworkRule',
46
+ name: 'allow-AzureDevOps',
47
+ description: 'AzureDevOps',
48
+ ipProtocols: ['TCP'],
49
+ sourceAddresses: vnetAddressSpace,
50
+ destinationAddresses: [
51
+ '13.107.6.0/24',
52
+ '13.107.9.0/24',
53
+ '13.107.42.0/24',
54
+ '13.107.43.0/24',
55
+ ],
56
+ destinationPorts: ['443'],
57
+ }, {
58
+ ruleType: 'NetworkRule',
59
+ name: 'allow-ServiceBus',
60
+ description: 'ServiceBus',
61
+ ipProtocols: ['TCP'],
62
+ sourceAddresses: vnetAddressSpace,
63
+ destinationFqdns: ['servicebus.windows.net'],
64
+ destinationPorts: [
65
+ '5671',
66
+ '5672',
67
+ '9350',
68
+ '9351',
69
+ '9352',
70
+ '9353',
71
+ '9354',
72
+ ],
73
+ }, {
74
+ ruleType: 'NetworkRule',
75
+ name: 'allow-Azure',
76
+ description: 'Allows Azure',
77
+ ipProtocols: ['TCP'],
78
+ sourceAddresses: vnetAddressSpace,
79
+ destinationAddresses: [
80
+ `ApiManagement.SoutheastAsia`,
81
+ `AzureCloud.SoutheastAsia`,
82
+ `AzureContainerRegistry.SoutheastAsia`,
83
+ `AzureCosmosDB.SoutheastAsia`,
84
+ `AzureKeyVault.SoutheastAsia`,
85
+ `EventHub.SoutheastAsia`,
86
+ `MicrosoftContainerRegistry.SoutheastAsia`,
87
+ `ServiceBus.SoutheastAsia`,
88
+ `Storage.SoutheastAsia`,
89
+ ],
90
+ destinationPorts: ['443'],
91
+ }, {
92
+ ruleType: 'NetworkRule',
93
+ name: 'allow-Azure-Db',
94
+ description: 'Allows Azure Sql',
95
+ ipProtocols: ['TCP'],
96
+ sourceAddresses: vnetAddressSpace,
97
+ destinationAddresses: [`Sql.SoutheastAsia`],
98
+ destinationPorts: ['1433', '1434', '11000-11999', '14000-14999'],
99
+ });
100
+ applicationRules.push({
101
+ ruleType: 'ApplicationRule',
102
+ name: 'allow-AVD-vvd',
103
+ description: 'WindowsVirtualDesktop traffic',
104
+ sourceAddresses: allowFullOutboundAddress,
105
+ fqdnTags: ['WindowsVirtualDesktop'],
106
+ }, {
107
+ ruleType: 'ApplicationRule',
108
+ name: 'allow-AVD-Diagnostics',
109
+ description: 'WindowsVirtualDesktop Diagnostics',
110
+ sourceAddresses: allowFullOutboundAddress,
111
+ //protocols: [{ protocolType: 'Https', port: 443 }],
112
+ fqdnTags: ['WindowsDiagnostics'],
113
+ }, {
114
+ ruleType: 'ApplicationRule',
115
+ name: 'allow-AVD-Update',
116
+ description: 'WindowsVirtualDesktop Update',
117
+ sourceAddresses: allowFullOutboundAddress,
118
+ //protocols: [{ protocolType: 'Https', port: 443 }],
119
+ fqdnTags: ['WindowsUpdate'],
120
+ }, {
121
+ ruleType: 'ApplicationRule',
122
+ name: 'allow-AVD-times',
123
+ description: 'Allow ADV Times',
124
+ protocols: [{ protocolType: 'Https', port: 443 }],
125
+ sourceAddresses: allowFullOutboundAddress,
126
+ targetFqdns: ['*.core.windows.net', '*.servicebus.windows.net'],
127
+ });
128
+ }
129
+ if (enableDeveloperResources) {
130
+ applicationRules.push({
131
+ ruleType: 'ApplicationRule',
132
+ name: 'allow-others-https',
133
+ description: 'Allow others HTTPs',
134
+ protocols: [{ protocolType: 'Https', port: 443 }],
135
+ sourceAddresses: allowFullOutboundAddress,
136
+ targetFqdns: [
137
+ '*.digicert.com',
138
+ //Draw.io
139
+ 'draw.io',
140
+ 'draw.net',
141
+ '*.draw.io',
142
+ '*.draw.net',
143
+ '*.diagrams.net',
144
+ 'python.org',
145
+ '*.pulumi.com',
146
+ ],
147
+ }, {
148
+ ruleType: 'ApplicationRule',
149
+ name: 'allow-others-http',
150
+ description: 'Allow others HTTP',
151
+ protocols: [{ protocolType: 'Http', port: 80 }],
152
+ sourceAddresses: allowFullOutboundAddress,
153
+ targetFqdns: ['*.digicert.com'],
154
+ }, {
155
+ ruleType: 'ApplicationRule',
156
+ name: 'allow-choco',
157
+ description: 'Allow choco',
158
+ protocols: [
159
+ { protocolType: 'Http', port: 80 },
160
+ { protocolType: 'Https', port: 443 },
161
+ ],
162
+ sourceAddresses: allowFullOutboundAddress,
163
+ targetFqdns: ['*.chocolatey.org', 'chocolatey.org'],
164
+ });
165
+ }
166
+ if (enableAzureResources) {
167
+ applicationRules.push({
168
+ ruleType: 'ApplicationRule',
169
+ name: 'allow-azure-resources',
170
+ description: 'Allows Azure Resources',
171
+ protocols: [{ protocolType: 'Https', port: 443 }],
172
+ sourceAddresses: allowFullOutboundAddress,
173
+ targetFqdns: [
174
+ //AKS
175
+ '*.hcp.southeastasia.azmk8s.io',
176
+ 'dl.k8s.io',
177
+ '*.googleapis.com',
178
+ //Azure DevOps
179
+ '*.dev.azure.com',
180
+ '*.vsassets.io',
181
+ '*gallerycdn.vsassets.io',
182
+ '*vstmrblob.vsassets.io',
183
+ 'aadcdn.msauth.net',
184
+ 'aadcdn.msftauth.net',
185
+ 'aex.dev.azure.com',
186
+ 'aexprodea1.vsaex.visualstudio.com',
187
+ 'amcdn.msftauth.net',
188
+ 'amp.azure.net',
189
+ 'app.vssps.dev.azure.com',
190
+ 'app.vssps.visualstudio.com',
191
+ '*.vssps.visualstudio.com',
192
+ 'azure.microsoft.com',
193
+ 'azurecomcdn.azureedge.net',
194
+ 'cdn.vsassets.io',
195
+ 'dev.azure.com',
196
+ 'go.microsoft.com',
197
+ 'graph.microsoft.com',
198
+ 'live.com',
199
+ 'login.live.com',
200
+ 'login.microsoftonline.com',
201
+ 'management.azure.com',
202
+ 'management.core.windows.net',
203
+ 'microsoft.com',
204
+ 'microsoftonline.com',
205
+ 'static2.sharepointonline.com',
206
+ 'visualstudio.com',
207
+ 'vsrm.dev.azure.com',
208
+ 'vstsagentpackage.azureedge.net',
209
+ 'windows.net',
210
+ 'login.microsoftonline.com',
211
+ 'app.vssps.visualstudio.com',
212
+ 'transwap.visualstudio.com',
213
+ '*.blob.core.windows.net',
214
+ 'transwap.vsrm.visualstudio.com',
215
+ 'transwap.vstmr.visualstudio.com',
216
+ 'transwap.pkgs.visualstudio.com',
217
+ 'transwap.vssps.visualstudio.com',
218
+ //Office 365
219
+ 'transwapo365-my.sharepoint.com',
220
+ 'admin.microsoft.com',
221
+ '*.office365.com',
222
+ '*.outlook.com',
223
+ '*.office.com',
224
+ '*.outlook.office.com',
225
+ 'attachments.office.net',
226
+ '*.protection.outlook.com',
227
+ '*.mail.protection.outlook.com',
228
+ '*.officeapps.live.com',
229
+ '*.online.office.com',
230
+ 'office.live.com',
231
+ '*.aria.microsoft.com',
232
+ '*.events.data.microsoft.com',
233
+ '*.o365weve.com',
234
+ 'amp.azure.net',
235
+ 'appsforoffice.microsoft.com',
236
+ 'assets.onestore.ms',
237
+ 'auth.gfx.ms',
238
+ 'c1.microsoft.com',
239
+ 'contentstorage.osi.office.net',
240
+ 'dgps.support.microsoft.com',
241
+ 'docs.microsoft.com',
242
+ 'msdn.microsoft.com',
243
+ 'platform.linkedin.com',
244
+ 'prod.msocdn.com',
245
+ 'shellprod.msocdn.com',
246
+ '*.cdn.office.net',
247
+ 'support.content.office.net',
248
+ 'support.microsoft.com',
249
+ 'technet.microsoft.com',
250
+ 'videocontent.osi.office.net',
251
+ 'videoplayercdn.osi.office.net',
252
+ 'identity.nel.measure.office.net',
253
+ //Azure
254
+ '*.login.microsoftonline.com',
255
+ '*.aadcdn.microsoftonline-p.com',
256
+ '*.aka.ms',
257
+ '*.applicationinsights.io',
258
+ '*.azure.com',
259
+ '*.azure.net',
260
+ '*.azure-api.net',
261
+ '*.azuredatalakestore.net',
262
+ '*.azureedge.net',
263
+ '*.loganalytics.io',
264
+ '*.microsoft.com',
265
+ '*.microsoftonline.com',
266
+ '*.microsoftonline-p.com',
267
+ '*.msauth.net',
268
+ '*.msftauth.net',
269
+ '*.trafficmanager.net',
270
+ '*.visualstudio.com',
271
+ '*.windows.net',
272
+ '*.windows-int.net',
273
+ '*.wns.windows.com',
274
+ '*.activity.windows.com',
275
+ '*.mp.microsoft.com',
276
+ //PowerBI
277
+ '*.powerbi.com',
278
+ '*.analysis.windows.net',
279
+ '*.frontend.clouddatahub.net',
280
+ '*.msftncsi.com',
281
+ '*.dc.services.visualstudio.com',
282
+ ],
283
+ });
284
+ }
285
+ if (allowIpCheckApi) {
286
+ applicationRules.push({
287
+ ruleType: 'ApplicationRule',
288
+ name: 'allow-ip-checks',
289
+ description: 'Allows Ip Checks',
290
+ protocols: [{ protocolType: 'Https', port: 443 }],
291
+ sourceAddresses: allowFullOutboundAddress,
292
+ targetFqdns: ['*.ipify.org', '*.myip.com', 'ip.me'],
293
+ });
294
+ }
295
+ return [
296
+ {
297
+ name,
298
+ networkRules,
299
+ applicationRules,
300
+ },
301
+ ];
302
+ };
303
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xvdWRQQ0ZpcmV3YWxsUG9saWN5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL1ZOZXQvRmlyZXdhbGxQb2xpY2llcy9DbG91ZFBDRmlyZXdhbGxQb2xpY3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFHQSxvREFBb0Q7QUFhcEQsa0JBQWUsQ0FBQyxFQUNkLElBQUksRUFDSixRQUFRLEVBQ1IsZ0JBQWdCLEVBQ2hCLGtCQUFrQixHQUFHLElBQUksRUFDekIsd0JBQXdCLEdBQUcsSUFBSSxFQUMvQixvQkFBb0IsR0FBRyxJQUFJLEVBQzNCLGVBQWUsR0FBRyxJQUFJLEVBQ3RCLHdCQUF3QixHQUNsQixFQUE0QixFQUFFO0lBQ3BDLFFBQVEsR0FBRyxJQUFBLHNCQUFXLEVBQUMsUUFBUSxDQUFDLENBQUM7SUFFakMsTUFBTSxZQUFZLEdBQUcsSUFBSSxLQUFLLEVBQXlDLENBQUM7SUFDeEUsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLEtBQUssRUFFL0IsQ0FBQztJQUVKLElBQUksd0JBQXdCLEVBQUUsQ0FBQztRQUM3QixZQUFZLENBQUMsSUFBSSxDQUFDO1lBQ2hCLFFBQVEsRUFBRSxhQUFhO1lBQ3ZCLElBQUksRUFBRSxlQUFlO1lBQ3JCLFdBQVcsRUFBRSxlQUFlO1lBQzVCLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNwQixlQUFlLEVBQUUsd0JBQXdCO1lBQ3pDLG9CQUFvQixFQUFFLENBQUMsR0FBRyxDQUFDO1lBQzNCLGdCQUFnQixFQUFFLENBQUMsS0FBSyxDQUFDO1NBQzFCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLGtCQUFrQixFQUFFLENBQUM7UUFDdkIsWUFBWSxDQUFDLElBQUksQ0FDZjtZQUNFLFFBQVEsRUFBRSxhQUFhO1lBQ3ZCLElBQUksRUFBRSxtQkFBbUI7WUFDekIsV0FBVyxFQUFFLGFBQWE7WUFDMUIsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ3BCLGVBQWUsRUFB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
@@ -0,0 +1,28 @@
1
+ import { input as inputs, enums } from '@pulumi/azure-native/types';
2
+ import { Input, Resource } from '@pulumi/pulumi';
3
+ import { BasicResourceArgs, DefaultResourceArgs } from '../types';
4
+ import { FirewallRuleProps } from './FirewallRules/types';
5
+ export declare const denyOtherAppRule: inputs.network.ApplicationRuleArgs;
6
+ interface PolicyRulesProps extends BasicResourceArgs {
7
+ firewallPolicyName: Input<string>;
8
+ priority?: number;
9
+ rules: Array<FirewallRuleProps>;
10
+ enableDenyOtherAppRule?: boolean;
11
+ dependsOn?: Input<Input<Resource>[]> | Input<Resource>;
12
+ }
13
+ export declare const linkRulesToPolicy: ({ firewallPolicyName, priority, group, name, rules, enableDenyOtherAppRule, dependsOn, }: PolicyRulesProps) => import("@pulumi/azure-native/network/firewallPolicyRuleCollectionGroup").FirewallPolicyRuleCollectionGroup;
14
+ interface Props extends BasicResourceArgs, Omit<DefaultResourceArgs, 'monitoring'>, Omit<PolicyRulesProps, 'firewallPolicyName' | 'rules'> {
15
+ basePolicyId?: Input<string>;
16
+ dnsSettings?: Input<inputs.network.DnsSettingsArgs>;
17
+ transportSecurityCA?: inputs.network.FirewallPolicyCertificateAuthorityArgs;
18
+ sku?: enums.network.FirewallPolicySkuTier;
19
+ insights?: {
20
+ defaultWorkspaceId?: Input<string>;
21
+ workspaces: Array<{
22
+ regions: Input<string>;
23
+ workspaceId?: Input<string>;
24
+ }>;
25
+ };
26
+ }
27
+ declare const _default: ({ name, group, basePolicyId, dnsSettings, transportSecurityCA, insights, sku, dependsOn, }: Props) => import("@pulumi/azure-native/network/firewallPolicy").FirewallPolicy;
28
+ export default _default;
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.linkRulesToPolicy = exports.denyOtherAppRule = void 0;
4
+ const network = require("@pulumi/azure-native/network");
5
+ const types_1 = require("@pulumi/azure-native/types");
6
+ const AzureEnv_1 = require("../Common/AzureEnv");
7
+ const Naming_1 = require("../Common/Naming");
8
+ exports.denyOtherAppRule = {
9
+ name: 'deny-others-websites',
10
+ ruleType: 'ApplicationRule',
11
+ description: 'Deny All Others websites',
12
+ sourceAddresses: ['*'],
13
+ targetFqdns: ['*'],
14
+ protocols: [
15
+ { protocolType: 'Http', port: 80 },
16
+ { protocolType: 'Https', port: 443 },
17
+ { protocolType: 'Mssql', port: 1433 },
18
+ ],
19
+ };
20
+ const linkRulesToPolicy = ({ firewallPolicyName, priority = 200, group, name, rules, enableDenyOtherAppRule, dependsOn, }) => {
21
+ const ruleCollections = new Array();
22
+ let p = 200;
23
+ rules.forEach((r, i) => {
24
+ if (r.dnatRules && r.dnatRules.length > 0) {
25
+ ruleCollections.push({
26
+ name: `${r.name}-dnat`,
27
+ priority: i + p++,
28
+ action: {
29
+ type: types_1.enums.network.FirewallPolicyNatRuleCollectionActionType.DNAT,
30
+ },
31
+ ruleCollectionType: 'FirewallPolicyNatRuleCollection',
32
+ rules: r.dnatRules,
33
+ });
34
+ }
35
+ if (r.networkRules && r.networkRules.length > 0) {
36
+ ruleCollections.push({
37
+ name: `${r.name}-net`,
38
+ priority: i + p++,
39
+ action: {
40
+ type: types_1.enums.network.FirewallPolicyFilterRuleCollectionActionType
41
+ .Allow,
42
+ },
43
+ ruleCollectionType: 'FirewallPolicyFilterRuleCollection',
44
+ rules: r.networkRules,
45
+ });
46
+ }
47
+ if (r.applicationRules && r.applicationRules.length > 0) {
48
+ ruleCollections.push({
49
+ name: `${r.name}-app`,
50
+ priority: i + 200 + p++,
51
+ action: {
52
+ type: types_1.enums.network.FirewallPolicyFilterRuleCollectionActionType
53
+ .Allow,
54
+ },
55
+ ruleCollectionType: 'FirewallPolicyFilterRuleCollection',
56
+ rules: r.applicationRules,
57
+ });
58
+ }
59
+ });
60
+ if (enableDenyOtherAppRule) {
61
+ //Denied others
62
+ ruleCollections.push({
63
+ name: `${name}-deny-others`,
64
+ priority: 6001,
65
+ action: {
66
+ type: types_1.enums.network.FirewallPolicyFilterRuleCollectionActionType.Allow,
67
+ },
68
+ ruleCollectionType: 'FirewallPolicyFilterRuleCollection',
69
+ rules: [exports.denyOtherAppRule],
70
+ });
71
+ }
72
+ const groupName = (0, Naming_1.getFirewallPolicyGroupName)(name);
73
+ return new network.FirewallPolicyRuleCollectionGroup(groupName, {
74
+ name: groupName,
75
+ ...group,
76
+ firewallPolicyName,
77
+ priority,
78
+ ruleCollections,
79
+ }, { dependsOn });
80
+ };
81
+ exports.linkRulesToPolicy = linkRulesToPolicy;
82
+ exports.default = ({ name, group, basePolicyId, dnsSettings, transportSecurityCA, insights, sku = types_1.enums.network.FirewallPolicySkuTier.Basic, dependsOn, }) => {
83
+ name = (0, Naming_1.getFirewallPolicyName)(name);
84
+ const policy = new network.FirewallPolicy(name, {
85
+ firewallPolicyName: name,
86
+ ...group,
87
+ sku: { tier: sku },
88
+ basePolicy: basePolicyId ? { id: basePolicyId } : undefined,
89
+ dnsSettings,
90
+ threatIntelMode: types_1.enums.network.AzureFirewallThreatIntelMode.Deny,
91
+ transportSecurity: transportSecurityCA
92
+ ? { certificateAuthority: transportSecurityCA }
93
+ : undefined,
94
+ insights: insights
95
+ ? {
96
+ isEnabled: true,
97
+ logAnalyticsResources: {
98
+ defaultWorkspaceId: { id: insights.defaultWorkspaceId },
99
+ workspaces: insights.workspaces.map((i) => ({
100
+ region: i.regions,
101
+ workspaceId: { id: i.workspaceId },
102
+ })),
103
+ },
104
+ }
105
+ : undefined,
106
+ tags: AzureEnv_1.defaultTags,
107
+ }, { dependsOn });
108
+ return policy;
109
+ };
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmlyZXdhbGxQb2xpY3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvVk5ldC9GaXJld2FsbFBvbGljeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx3REFBd0Q7QUFDeEQsc0RBQW9FO0FBR3BFLGlEQUFpRDtBQUNqRCw2Q0FHMEI7QUFHYixRQUFBLGdCQUFnQixHQUF1QztJQUNsRSxJQUFJLEVBQUUsc0JBQXNCO0lBQzVCLFFBQVEsRUFBRSxpQkFBaUI7SUFDM0IsV0FBVyxFQUFFLDBCQUEwQjtJQUN2QyxlQUFlLEVBQUUsQ0FBQyxHQUFHLENBQUM7SUFDdEIsV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDO0lBQ2xCLFNBQVMsRUFBRTtRQUNULEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFO1FBQ2xDLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFO1FBQ3BDLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFO0tBQ3RDO0NBQ0YsQ0FBQztBQVVLLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxFQUNoQyxrQkFBa0IsRUFDbEIsUUFBUSxHQUFHLEdBQUcsRUFDZCxLQUFLLEVBQ0wsSUFBSSxFQUNKLEtBQUssRUFDTCxzQkFBc0IsRUFDdEIsU0FBUyxHQUNRLEVBQUUsRUFBRTtJQUNyQixNQUFNLGVBQWUsR0FBRyxJQUFJLEtBQUssRUFLOUIsQ0FBQztJQUVKLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQztJQUNaLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDckIsSUFBSSxDQUFDLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzFDLGVBQWUsQ0FBQyxJQUFJLENBQUM7Z0JBQ25CLElBQUksRUFBRSxHQUFHLENB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
@@ -0,0 +1,24 @@
1
+ import { Input } from '@pulumi/pulumi';
2
+ import { FirewallRuleResults } from './types';
3
+ interface BasicRuleProps {
4
+ startPriority: number;
5
+ }
6
+ interface NatRuleProps extends BasicRuleProps {
7
+ publicIpAddresses: Input<string>[];
8
+ dNATs: [
9
+ {
10
+ name: string;
11
+ allowHttp?: boolean;
12
+ externalIpAddress: Input<string>;
13
+ internalIpAddress: Input<string>;
14
+ }
15
+ ];
16
+ }
17
+ interface AksNetProps extends BasicRuleProps {
18
+ location?: string;
19
+ vnetAddressSpace: Array<Input<string>>;
20
+ }
21
+ export interface AksFirewallProps extends BasicRuleProps, NatRuleProps, AksNetProps {
22
+ }
23
+ declare const _default: ({ startPriority, vnetAddressSpace, ...others }: AksFirewallProps) => FirewallRuleResults;
24
+ export default _default;