@microsoft/teamsfx-core 1.2.1 → 1.2.2-alpha.01a113d2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (642) hide show
  1. package/build/common/armInterface.d.ts +0 -20
  2. package/build/common/armInterface.d.ts.map +1 -1
  3. package/build/common/deps-checker/constant/message.d.ts +0 -1
  4. package/build/common/deps-checker/constant/message.d.ts.map +1 -1
  5. package/build/common/deps-checker/constant/message.js +0 -4
  6. package/build/common/deps-checker/constant/message.js.map +1 -1
  7. package/build/common/deps-checker/depsChecker.d.ts +1 -0
  8. package/build/common/deps-checker/depsChecker.d.ts.map +1 -1
  9. package/build/common/deps-checker/depsChecker.js.map +1 -1
  10. package/build/common/deps-checker/depsManager.d.ts +2 -1
  11. package/build/common/deps-checker/depsManager.d.ts.map +1 -1
  12. package/build/common/deps-checker/depsManager.js +12 -7
  13. package/build/common/deps-checker/depsManager.js.map +1 -1
  14. package/build/common/deps-checker/index.d.ts +1 -0
  15. package/build/common/deps-checker/index.d.ts.map +1 -1
  16. package/build/common/deps-checker/index.js +1 -0
  17. package/build/common/deps-checker/index.js.map +1 -1
  18. package/build/common/deps-checker/internal/dotnetChecker.d.ts.map +1 -1
  19. package/build/common/deps-checker/internal/dotnetChecker.js +2 -1
  20. package/build/common/deps-checker/internal/dotnetChecker.js.map +1 -1
  21. package/build/common/deps-checker/internal/funcToolChecker.d.ts.map +1 -1
  22. package/build/common/deps-checker/internal/funcToolChecker.js +2 -1
  23. package/build/common/deps-checker/internal/funcToolChecker.js.map +1 -1
  24. package/build/common/deps-checker/internal/ngrokChecker.d.ts +1 -1
  25. package/build/common/deps-checker/internal/ngrokChecker.d.ts.map +1 -1
  26. package/build/common/deps-checker/internal/ngrokChecker.js +2 -4
  27. package/build/common/deps-checker/internal/ngrokChecker.js.map +1 -1
  28. package/build/common/deps-checker/internal/nodeChecker.d.ts +1 -0
  29. package/build/common/deps-checker/internal/nodeChecker.d.ts.map +1 -1
  30. package/build/common/deps-checker/internal/nodeChecker.js +9 -1
  31. package/build/common/deps-checker/internal/nodeChecker.js.map +1 -1
  32. package/build/common/deps-checker/util/extensionInstaller.d.ts +3 -0
  33. package/build/common/deps-checker/util/extensionInstaller.d.ts.map +1 -0
  34. package/build/common/deps-checker/util/extensionInstaller.js +47 -0
  35. package/build/common/deps-checker/util/extensionInstaller.js.map +1 -0
  36. package/build/common/deps-checker/util/index.d.ts +5 -0
  37. package/build/common/deps-checker/util/index.d.ts.map +1 -0
  38. package/build/common/deps-checker/util/index.js +10 -0
  39. package/build/common/deps-checker/util/index.js.map +1 -0
  40. package/build/common/index.d.ts +1 -3
  41. package/build/common/index.d.ts.map +1 -1
  42. package/build/common/index.js +1 -3
  43. package/build/common/index.js.map +1 -1
  44. package/build/common/local/constants.d.ts +5 -0
  45. package/build/common/local/constants.d.ts.map +1 -1
  46. package/build/common/local/constants.js +7 -1
  47. package/build/common/local/constants.js.map +1 -1
  48. package/build/common/local/index.d.ts +6 -0
  49. package/build/common/local/index.d.ts.map +1 -0
  50. package/build/common/local/index.js +11 -0
  51. package/build/common/local/index.js.map +1 -0
  52. package/build/{plugins/solution/fx-solution/debug/util/certificate.d.ts → common/local/localCertificateManager.d.ts} +4 -6
  53. package/build/common/local/localCertificateManager.d.ts.map +1 -0
  54. package/build/{plugins/solution/fx-solution/debug/util/certificate.js → common/local/localCertificateManager.js} +37 -47
  55. package/build/common/local/localCertificateManager.js.map +1 -0
  56. package/build/common/local/localEnvManager.d.ts +6 -2
  57. package/build/common/local/localEnvManager.d.ts.map +1 -1
  58. package/build/common/local/localEnvManager.js +41 -1
  59. package/build/common/local/localEnvManager.js.map +1 -1
  60. package/build/common/local/packageJsonHelper.d.ts +1 -0
  61. package/build/common/local/packageJsonHelper.d.ts.map +1 -1
  62. package/build/common/local/packageJsonHelper.js +29 -1
  63. package/build/common/local/packageJsonHelper.js.map +1 -1
  64. package/build/common/local/portChecker.d.ts.map +1 -1
  65. package/build/common/local/portChecker.js +18 -48
  66. package/build/common/local/portChecker.js.map +1 -1
  67. package/build/{plugins/solution/fx-solution/debug/util → common/local}/process.d.ts +0 -0
  68. package/build/common/local/process.d.ts.map +1 -0
  69. package/build/{plugins/solution/fx-solution/debug/util → common/local}/process.js +0 -0
  70. package/build/common/local/process.js.map +1 -0
  71. package/build/common/local/projectSettingsHelper.d.ts +5 -5
  72. package/build/common/local/projectSettingsHelper.d.ts.map +1 -1
  73. package/build/common/local/projectSettingsHelper.js +28 -21
  74. package/build/common/local/projectSettingsHelper.js.map +1 -1
  75. package/build/common/local/taskDefinition.d.ts +1 -1
  76. package/build/common/local/taskDefinition.d.ts.map +1 -1
  77. package/build/common/local/taskDefinition.js +7 -5
  78. package/build/common/local/taskDefinition.js.map +1 -1
  79. package/build/common/localSettingsConstants.d.ts +1 -0
  80. package/build/common/localSettingsConstants.d.ts.map +1 -1
  81. package/build/common/localSettingsConstants.js +1 -0
  82. package/build/common/localSettingsConstants.js.map +1 -1
  83. package/build/common/localSettingsProvider.d.ts.map +1 -1
  84. package/build/common/localSettingsProvider.js +1 -0
  85. package/build/common/localSettingsProvider.js.map +1 -1
  86. package/build/common/permissionInterface.d.ts +2 -0
  87. package/build/common/permissionInterface.d.ts.map +1 -1
  88. package/build/common/permissionInterface.js +2 -0
  89. package/build/common/permissionInterface.js.map +1 -1
  90. package/build/common/samples-config.json +24 -12
  91. package/build/common/samples.d.ts +1 -0
  92. package/build/common/samples.d.ts.map +1 -1
  93. package/build/common/samples.js +1 -0
  94. package/build/common/samples.js.map +1 -1
  95. package/build/common/telemetry.d.ts +7 -2
  96. package/build/common/telemetry.d.ts.map +1 -1
  97. package/build/common/telemetry.js +10 -4
  98. package/build/common/telemetry.js.map +1 -1
  99. package/build/common/{templates.d.ts → template-utils/templates.d.ts} +0 -0
  100. package/build/common/template-utils/templates.d.ts.map +1 -0
  101. package/build/common/{templates.js → template-utils/templates.js} +1 -1
  102. package/build/common/template-utils/templates.js.map +1 -0
  103. package/build/common/{templatesActions.d.ts → template-utils/templatesActions.d.ts} +0 -0
  104. package/build/common/template-utils/templatesActions.d.ts.map +1 -0
  105. package/build/common/{templatesActions.js → template-utils/templatesActions.js} +3 -3
  106. package/build/common/template-utils/templatesActions.js.map +1 -0
  107. package/build/common/{templatesUtils.d.ts → template-utils/templatesUtils.d.ts} +0 -0
  108. package/build/common/template-utils/templatesUtils.d.ts.map +1 -0
  109. package/build/common/{templatesUtils.js → template-utils/templatesUtils.js} +1 -1
  110. package/build/common/template-utils/templatesUtils.js.map +1 -0
  111. package/build/common/templates-config.json +1 -1
  112. package/build/common/tools.d.ts +1 -4
  113. package/build/common/tools.d.ts.map +1 -1
  114. package/build/common/tools.js +41 -12
  115. package/build/common/tools.js.map +1 -1
  116. package/build/core/index.d.ts +2 -2
  117. package/build/core/index.d.ts.map +1 -1
  118. package/build/core/index.js +14 -3
  119. package/build/core/index.js.map +1 -1
  120. package/build/core/middleware/errorHandler.js +2 -1
  121. package/build/core/middleware/errorHandler.js.map +1 -1
  122. package/build/core/middleware/projectMigrator.d.ts.map +1 -1
  123. package/build/core/middleware/projectMigrator.js +1 -11
  124. package/build/core/middleware/projectMigrator.js.map +1 -1
  125. package/build/core/permissionRequest.js +2 -2
  126. package/build/core/permissionRequest.js.map +1 -1
  127. package/build/core/question.d.ts.map +1 -1
  128. package/build/core/question.js +7 -4
  129. package/build/core/question.js.map +1 -1
  130. package/build/plugins/resource/aad/aadAppClient.d.ts +2 -2
  131. package/build/plugins/resource/aad/aadAppClient.d.ts.map +1 -1
  132. package/build/plugins/resource/aad/aadAppClient.js +3 -4
  133. package/build/plugins/resource/aad/aadAppClient.js.map +1 -1
  134. package/build/plugins/resource/aad/errors.d.ts.map +1 -1
  135. package/build/plugins/resource/aad/errors.js +1 -2
  136. package/build/plugins/resource/aad/errors.js.map +1 -1
  137. package/build/plugins/resource/aad/interfaces/IAADDefinition.d.ts +4 -0
  138. package/build/plugins/resource/aad/interfaces/IAADDefinition.d.ts.map +1 -1
  139. package/build/plugins/resource/aad/plugin.d.ts.map +1 -1
  140. package/build/plugins/resource/aad/plugin.js +33 -46
  141. package/build/plugins/resource/aad/plugin.js.map +1 -1
  142. package/build/plugins/resource/aad/utils/common.d.ts +2 -0
  143. package/build/plugins/resource/aad/utils/common.d.ts.map +1 -1
  144. package/build/plugins/resource/aad/utils/common.js +14 -14
  145. package/build/plugins/resource/aad/utils/common.js.map +1 -1
  146. package/build/plugins/resource/aad/utils/configs.d.ts +1 -0
  147. package/build/plugins/resource/aad/utils/configs.d.ts.map +1 -1
  148. package/build/plugins/resource/aad/utils/configs.js +20 -38
  149. package/build/plugins/resource/aad/utils/configs.js.map +1 -1
  150. package/build/plugins/resource/aad/v2/index.d.ts +2 -2
  151. package/build/plugins/resource/aad/v2/index.d.ts.map +1 -1
  152. package/build/plugins/resource/aad/v2/index.js +2 -1
  153. package/build/plugins/resource/aad/v2/index.js.map +1 -1
  154. package/build/plugins/resource/apim/error.d.ts.map +1 -1
  155. package/build/plugins/resource/apim/error.js +1 -4
  156. package/build/plugins/resource/apim/error.js.map +1 -1
  157. package/build/plugins/resource/apim/managers/apimManager.d.ts.map +1 -1
  158. package/build/plugins/resource/apim/managers/apimManager.js +23 -62
  159. package/build/plugins/resource/apim/managers/apimManager.js.map +1 -1
  160. package/build/plugins/resource/apim/managers/questionManager.d.ts.map +1 -1
  161. package/build/plugins/resource/apim/managers/questionManager.js +0 -7
  162. package/build/plugins/resource/apim/managers/questionManager.js.map +1 -1
  163. package/build/plugins/resource/apim/questions/vscodeQuestion.d.ts.map +1 -1
  164. package/build/plugins/resource/apim/questions/vscodeQuestion.js +6 -13
  165. package/build/plugins/resource/apim/questions/vscodeQuestion.js.map +1 -1
  166. package/build/plugins/resource/apim/v2/index.d.ts +2 -2
  167. package/build/plugins/resource/apim/v2/index.d.ts.map +1 -1
  168. package/build/plugins/resource/apim/v2/index.js +2 -1
  169. package/build/plugins/resource/apim/v2/index.js.map +1 -1
  170. package/build/plugins/resource/appstudio/constants.d.ts +5 -2
  171. package/build/plugins/resource/appstudio/constants.d.ts.map +1 -1
  172. package/build/plugins/resource/appstudio/constants.js +82 -11
  173. package/build/plugins/resource/appstudio/constants.js.map +1 -1
  174. package/build/plugins/resource/appstudio/index.d.ts +2 -36
  175. package/build/plugins/resource/appstudio/index.d.ts.map +1 -1
  176. package/build/plugins/resource/appstudio/index.js +1 -31
  177. package/build/plugins/resource/appstudio/index.js.map +1 -1
  178. package/build/plugins/resource/appstudio/manifestTemplate.d.ts +1 -1
  179. package/build/plugins/resource/appstudio/manifestTemplate.d.ts.map +1 -1
  180. package/build/plugins/resource/appstudio/manifestTemplate.js +18 -10
  181. package/build/plugins/resource/appstudio/manifestTemplate.js.map +1 -1
  182. package/build/plugins/resource/appstudio/plugin.d.ts +1 -0
  183. package/build/plugins/resource/appstudio/plugin.d.ts.map +1 -1
  184. package/build/plugins/resource/appstudio/plugin.js +14 -1
  185. package/build/plugins/resource/appstudio/plugin.js.map +1 -1
  186. package/build/plugins/resource/appstudio/v2/index.d.ts +2 -2
  187. package/build/plugins/resource/appstudio/v2/index.d.ts.map +1 -1
  188. package/build/plugins/resource/appstudio/v2/index.js +2 -1
  189. package/build/plugins/resource/appstudio/v2/index.js.map +1 -1
  190. package/build/plugins/resource/appstudio/v3/index.d.ts +1 -3
  191. package/build/plugins/resource/appstudio/v3/index.d.ts.map +1 -1
  192. package/build/plugins/resource/appstudio/v3/index.js +42 -16
  193. package/build/plugins/resource/appstudio/v3/index.js.map +1 -1
  194. package/build/plugins/resource/bot/configs/provisionConfig.d.ts.map +1 -1
  195. package/build/plugins/resource/bot/configs/provisionConfig.js +0 -10
  196. package/build/plugins/resource/bot/configs/provisionConfig.js.map +1 -1
  197. package/build/plugins/resource/bot/dotnet/constants.d.ts +5 -0
  198. package/build/plugins/resource/bot/dotnet/constants.d.ts.map +1 -0
  199. package/build/plugins/resource/bot/dotnet/constants.js +13 -0
  200. package/build/plugins/resource/bot/dotnet/constants.js.map +1 -0
  201. package/build/plugins/resource/bot/dotnet/plugin.d.ts +14 -0
  202. package/build/plugins/resource/bot/dotnet/plugin.d.ts.map +1 -0
  203. package/build/plugins/resource/bot/dotnet/plugin.js +62 -0
  204. package/build/plugins/resource/bot/dotnet/plugin.js.map +1 -0
  205. package/build/plugins/resource/bot/index.d.ts +5 -0
  206. package/build/plugins/resource/bot/index.d.ts.map +1 -1
  207. package/build/plugins/resource/bot/index.js +23 -13
  208. package/build/plugins/resource/bot/index.js.map +1 -1
  209. package/build/plugins/resource/bot/interface.d.ts +16 -0
  210. package/build/plugins/resource/bot/interface.d.ts.map +1 -0
  211. package/build/plugins/resource/bot/interface.js +5 -0
  212. package/build/plugins/resource/bot/interface.js.map +1 -0
  213. package/build/plugins/resource/bot/languageStrategy.d.ts +1 -1
  214. package/build/plugins/resource/bot/languageStrategy.d.ts.map +1 -1
  215. package/build/plugins/resource/bot/languageStrategy.js +1 -1
  216. package/build/plugins/resource/bot/languageStrategy.js.map +1 -1
  217. package/build/plugins/resource/bot/plugin.d.ts +2 -1
  218. package/build/plugins/resource/bot/plugin.d.ts.map +1 -1
  219. package/build/plugins/resource/bot/plugin.js +16 -135
  220. package/build/plugins/resource/bot/plugin.js.map +1 -1
  221. package/build/plugins/resource/bot/v2/index.d.ts +2 -2
  222. package/build/plugins/resource/bot/v2/index.d.ts.map +1 -1
  223. package/build/plugins/resource/bot/v2/index.js +2 -1
  224. package/build/plugins/resource/bot/v2/index.js.map +1 -1
  225. package/build/plugins/resource/frontend/configs.d.ts +1 -1
  226. package/build/plugins/resource/frontend/configs.d.ts.map +1 -1
  227. package/build/plugins/resource/frontend/configs.js +3 -9
  228. package/build/plugins/resource/frontend/configs.js.map +1 -1
  229. package/build/plugins/resource/frontend/constants.d.ts +2 -8
  230. package/build/plugins/resource/frontend/constants.d.ts.map +1 -1
  231. package/build/plugins/resource/frontend/constants.js +3 -11
  232. package/build/plugins/resource/frontend/constants.js.map +1 -1
  233. package/build/plugins/resource/frontend/dotnet/constants.d.ts +56 -0
  234. package/build/plugins/resource/frontend/dotnet/constants.d.ts.map +1 -0
  235. package/build/plugins/resource/frontend/dotnet/constants.js +73 -0
  236. package/build/plugins/resource/frontend/dotnet/constants.js.map +1 -0
  237. package/build/plugins/resource/frontend/{blazor → dotnet}/enum.d.ts +1 -1
  238. package/build/plugins/resource/frontend/{blazor → dotnet}/enum.d.ts.map +1 -1
  239. package/build/plugins/resource/frontend/dotnet/enum.js +39 -0
  240. package/build/plugins/resource/frontend/{blazor → dotnet}/enum.js.map +1 -1
  241. package/build/plugins/resource/frontend/{blazor → dotnet}/error-factory.d.ts +0 -0
  242. package/build/plugins/resource/frontend/{blazor → dotnet}/error-factory.d.ts.map +1 -1
  243. package/build/plugins/resource/frontend/{blazor → dotnet}/error-factory.js +3 -3
  244. package/build/plugins/resource/frontend/{blazor → dotnet}/error-factory.js.map +1 -1
  245. package/build/plugins/resource/frontend/{blazor → dotnet}/ops/deploy.d.ts +0 -0
  246. package/build/plugins/resource/frontend/{blazor → dotnet}/ops/deploy.d.ts.map +1 -1
  247. package/build/plugins/resource/frontend/{blazor → dotnet}/ops/deploy.js +3 -3
  248. package/build/plugins/resource/frontend/{blazor → dotnet}/ops/deploy.js.map +1 -1
  249. package/build/plugins/resource/frontend/dotnet/plugin.d.ts +34 -0
  250. package/build/plugins/resource/frontend/dotnet/plugin.d.ts.map +1 -0
  251. package/build/plugins/resource/frontend/dotnet/plugin.js +124 -0
  252. package/build/plugins/resource/frontend/dotnet/plugin.js.map +1 -0
  253. package/build/plugins/resource/frontend/dotnet/resources/errors.d.ts +35 -0
  254. package/build/plugins/resource/frontend/dotnet/resources/errors.d.ts.map +1 -0
  255. package/build/plugins/resource/frontend/{blazor → dotnet}/resources/errors.js +10 -22
  256. package/build/plugins/resource/frontend/dotnet/resources/errors.js.map +1 -0
  257. package/build/plugins/resource/frontend/{blazor → dotnet}/resources/messages.d.ts +0 -4
  258. package/build/plugins/resource/frontend/dotnet/resources/messages.d.ts.map +1 -0
  259. package/build/plugins/resource/frontend/{blazor → dotnet}/resources/messages.js +0 -4
  260. package/build/plugins/resource/frontend/dotnet/resources/messages.js.map +1 -0
  261. package/build/plugins/resource/frontend/dotnet/utils/azure-client.d.ts +6 -0
  262. package/build/plugins/resource/frontend/dotnet/utils/azure-client.d.ts.map +1 -0
  263. package/build/plugins/resource/frontend/dotnet/utils/azure-client.js +11 -0
  264. package/build/plugins/resource/frontend/dotnet/utils/azure-client.js.map +1 -0
  265. package/build/plugins/resource/frontend/index.d.ts +6 -3
  266. package/build/plugins/resource/frontend/index.d.ts.map +1 -1
  267. package/build/plugins/resource/frontend/index.js +27 -45
  268. package/build/plugins/resource/frontend/index.js.map +1 -1
  269. package/build/plugins/resource/frontend/interface.d.ts +13 -0
  270. package/build/plugins/resource/frontend/interface.d.ts.map +1 -0
  271. package/build/plugins/resource/frontend/interface.js +5 -0
  272. package/build/plugins/resource/frontend/interface.js.map +1 -0
  273. package/build/plugins/resource/frontend/ops/deploy.d.ts +3 -0
  274. package/build/plugins/resource/frontend/ops/deploy.d.ts.map +1 -1
  275. package/build/plugins/resource/frontend/ops/deploy.js +43 -0
  276. package/build/plugins/resource/frontend/ops/deploy.js.map +1 -1
  277. package/build/plugins/resource/frontend/ops/scaffold.d.ts.map +1 -1
  278. package/build/plugins/resource/frontend/ops/scaffold.js +1 -1
  279. package/build/plugins/resource/frontend/ops/scaffold.js.map +1 -1
  280. package/build/plugins/resource/frontend/plugin.d.ts +3 -3
  281. package/build/plugins/resource/frontend/plugin.d.ts.map +1 -1
  282. package/build/plugins/resource/frontend/plugin.js +15 -47
  283. package/build/plugins/resource/frontend/plugin.js.map +1 -1
  284. package/build/plugins/resource/frontend/resources/errors.d.ts +23 -20
  285. package/build/plugins/resource/frontend/resources/errors.d.ts.map +1 -1
  286. package/build/plugins/resource/frontend/resources/errors.js +31 -67
  287. package/build/plugins/resource/frontend/resources/errors.js.map +1 -1
  288. package/build/plugins/resource/frontend/resources/templateInfo.js +1 -1
  289. package/build/plugins/resource/frontend/resources/templateInfo.js.map +1 -1
  290. package/build/plugins/resource/frontend/utils/logger.d.ts +3 -1
  291. package/build/plugins/resource/frontend/utils/logger.d.ts.map +1 -1
  292. package/build/plugins/resource/frontend/utils/logger.js +9 -6
  293. package/build/plugins/resource/frontend/utils/logger.js.map +1 -1
  294. package/build/plugins/resource/frontend/utils/progress-helper.d.ts +0 -8
  295. package/build/plugins/resource/frontend/utils/progress-helper.d.ts.map +1 -1
  296. package/build/plugins/resource/frontend/utils/progress-helper.js +1 -19
  297. package/build/plugins/resource/frontend/utils/progress-helper.js.map +1 -1
  298. package/build/plugins/resource/frontend/v2/index.d.ts +3 -2
  299. package/build/plugins/resource/frontend/v2/index.d.ts.map +1 -1
  300. package/build/plugins/resource/frontend/v2/index.js +5 -1
  301. package/build/plugins/resource/frontend/v2/index.js.map +1 -1
  302. package/build/plugins/resource/frontend/v3/AzureStoragePlugin.d.ts +15 -0
  303. package/build/plugins/resource/frontend/v3/AzureStoragePlugin.d.ts.map +1 -0
  304. package/build/plugins/resource/frontend/v3/AzureStoragePlugin.js +149 -0
  305. package/build/plugins/resource/frontend/v3/AzureStoragePlugin.js.map +1 -0
  306. package/build/plugins/resource/frontend/v3/ReactTabScaffoldPlugin.d.ts +8 -0
  307. package/build/plugins/resource/frontend/v3/ReactTabScaffoldPlugin.d.ts.map +1 -0
  308. package/build/plugins/resource/frontend/v3/ReactTabScaffoldPlugin.js +95 -0
  309. package/build/plugins/resource/frontend/v3/ReactTabScaffoldPlugin.js.map +1 -0
  310. package/build/plugins/resource/frontend/v3/error.d.ts +23 -0
  311. package/build/plugins/resource/frontend/v3/error.d.ts.map +1 -0
  312. package/build/plugins/resource/frontend/v3/error.js +66 -0
  313. package/build/plugins/resource/frontend/v3/error.js.map +1 -0
  314. package/build/plugins/resource/frontend/v3/index.d.ts +3 -0
  315. package/build/plugins/resource/frontend/v3/index.d.ts.map +1 -0
  316. package/build/plugins/resource/frontend/v3/index.js +7 -0
  317. package/build/plugins/resource/frontend/v3/index.js.map +1 -0
  318. package/build/plugins/resource/function/index.d.ts +1 -1
  319. package/build/plugins/resource/function/index.d.ts.map +1 -1
  320. package/build/plugins/resource/function/index.js +8 -21
  321. package/build/plugins/resource/function/index.js.map +1 -1
  322. package/build/plugins/resource/function/ops/deploy.d.ts.map +1 -1
  323. package/build/plugins/resource/function/ops/deploy.js +8 -9
  324. package/build/plugins/resource/function/ops/deploy.js.map +1 -1
  325. package/build/plugins/resource/function/ops/scaffold.js +1 -1
  326. package/build/plugins/resource/function/ops/scaffold.js.map +1 -1
  327. package/build/plugins/resource/function/plugin.d.ts.map +1 -1
  328. package/build/plugins/resource/function/plugin.js +35 -138
  329. package/build/plugins/resource/function/plugin.js.map +1 -1
  330. package/build/plugins/resource/function/resources/message.d.ts +0 -1
  331. package/build/plugins/resource/function/resources/message.d.ts.map +1 -1
  332. package/build/plugins/resource/function/resources/message.js +0 -1
  333. package/build/plugins/resource/function/resources/message.js.map +1 -1
  334. package/build/plugins/resource/function/utils/depsChecker/funcHelper.d.ts +11 -0
  335. package/build/plugins/resource/function/utils/depsChecker/funcHelper.d.ts.map +1 -0
  336. package/build/plugins/resource/function/utils/depsChecker/funcHelper.js +48 -0
  337. package/build/plugins/resource/function/utils/depsChecker/funcHelper.js.map +1 -0
  338. package/build/plugins/resource/function/utils/depsChecker/funcPluginLogger.d.ts +6 -4
  339. package/build/plugins/resource/function/utils/depsChecker/funcPluginLogger.d.ts.map +1 -1
  340. package/build/plugins/resource/function/utils/depsChecker/funcPluginLogger.js +15 -8
  341. package/build/plugins/resource/function/utils/depsChecker/funcPluginLogger.js.map +1 -1
  342. package/build/plugins/resource/function/utils/depsChecker/funcPluginTelemetry.d.ts +4 -3
  343. package/build/plugins/resource/function/utils/depsChecker/funcPluginTelemetry.d.ts.map +1 -1
  344. package/build/plugins/resource/function/utils/depsChecker/funcPluginTelemetry.js +5 -4
  345. package/build/plugins/resource/function/utils/depsChecker/funcPluginTelemetry.js.map +1 -1
  346. package/build/plugins/resource/function/utils/telemetry-helper.d.ts +1 -1
  347. package/build/plugins/resource/function/utils/telemetry-helper.d.ts.map +1 -1
  348. package/build/plugins/resource/function/v2/index.d.ts +2 -2
  349. package/build/plugins/resource/function/v2/index.d.ts.map +1 -1
  350. package/build/plugins/resource/function/v2/index.js +2 -1
  351. package/build/plugins/resource/function/v2/index.js.map +1 -1
  352. package/build/plugins/resource/identity/index.d.ts +0 -1
  353. package/build/plugins/resource/identity/index.d.ts.map +1 -1
  354. package/build/plugins/resource/identity/index.js +3 -22
  355. package/build/plugins/resource/identity/index.js.map +1 -1
  356. package/build/plugins/resource/identity/v2/index.d.ts +2 -2
  357. package/build/plugins/resource/identity/v2/index.d.ts.map +1 -1
  358. package/build/plugins/resource/identity/v2/index.js +2 -1
  359. package/build/plugins/resource/identity/v2/index.js.map +1 -1
  360. package/build/plugins/resource/keyvault/plugin.d.ts.map +1 -1
  361. package/build/plugins/resource/keyvault/plugin.js +1 -2
  362. package/build/plugins/resource/keyvault/plugin.js.map +1 -1
  363. package/build/plugins/resource/keyvault/v2/index.d.ts +2 -2
  364. package/build/plugins/resource/keyvault/v2/index.d.ts.map +1 -1
  365. package/build/plugins/resource/keyvault/v2/index.js +2 -1
  366. package/build/plugins/resource/keyvault/v2/index.js.map +1 -1
  367. package/build/plugins/resource/localdebug/v2/index.d.ts +2 -2
  368. package/build/plugins/resource/localdebug/v2/index.d.ts.map +1 -1
  369. package/build/plugins/resource/localdebug/v2/index.js +2 -1
  370. package/build/plugins/resource/localdebug/v2/index.js.map +1 -1
  371. package/build/plugins/resource/simpleauth/index.d.ts.map +1 -1
  372. package/build/plugins/resource/simpleauth/index.js +6 -11
  373. package/build/plugins/resource/simpleauth/index.js.map +1 -1
  374. package/build/plugins/resource/simpleauth/plugin.d.ts.map +1 -1
  375. package/build/plugins/resource/simpleauth/plugin.js +2 -7
  376. package/build/plugins/resource/simpleauth/plugin.js.map +1 -1
  377. package/build/plugins/resource/simpleauth/v2/index.d.ts +2 -2
  378. package/build/plugins/resource/simpleauth/v2/index.d.ts.map +1 -1
  379. package/build/plugins/resource/simpleauth/v2/index.js +2 -1
  380. package/build/plugins/resource/simpleauth/v2/index.js.map +1 -1
  381. package/build/plugins/resource/spfx/plugin.d.ts.map +1 -1
  382. package/build/plugins/resource/spfx/plugin.js +14 -9
  383. package/build/plugins/resource/spfx/plugin.js.map +1 -1
  384. package/build/plugins/resource/spfx/utils/constants.d.ts +5 -4
  385. package/build/plugins/resource/spfx/utils/constants.d.ts.map +1 -1
  386. package/build/plugins/resource/spfx/utils/constants.js +5 -4
  387. package/build/plugins/resource/spfx/utils/constants.js.map +1 -1
  388. package/build/plugins/resource/spfx/utils/progress-helper.d.ts.map +1 -1
  389. package/build/plugins/resource/spfx/utils/progress-helper.js +1 -1
  390. package/build/plugins/resource/spfx/utils/progress-helper.js.map +1 -1
  391. package/build/plugins/resource/spfx/v2/index.d.ts +2 -2
  392. package/build/plugins/resource/spfx/v2/index.d.ts.map +1 -1
  393. package/build/plugins/resource/spfx/v2/index.js +2 -1
  394. package/build/plugins/resource/spfx/v2/index.js.map +1 -1
  395. package/build/plugins/resource/sql/config.d.ts +1 -0
  396. package/build/plugins/resource/sql/config.d.ts.map +1 -1
  397. package/build/plugins/resource/sql/config.js +1 -0
  398. package/build/plugins/resource/sql/config.js.map +1 -1
  399. package/build/plugins/resource/sql/constants.d.ts +3 -0
  400. package/build/plugins/resource/sql/constants.d.ts.map +1 -1
  401. package/build/plugins/resource/sql/constants.js +3 -0
  402. package/build/plugins/resource/sql/constants.js.map +1 -1
  403. package/build/plugins/resource/sql/errors.d.ts +1 -1
  404. package/build/plugins/resource/sql/errors.d.ts.map +1 -1
  405. package/build/plugins/resource/sql/errors.js +1 -1
  406. package/build/plugins/resource/sql/errors.js.map +1 -1
  407. package/build/plugins/resource/sql/index.d.ts.map +1 -1
  408. package/build/plugins/resource/sql/index.js +11 -11
  409. package/build/plugins/resource/sql/index.js.map +1 -1
  410. package/build/plugins/resource/sql/managementClient.js +14 -14
  411. package/build/plugins/resource/sql/managementClient.js.map +1 -1
  412. package/build/plugins/resource/sql/plugin.d.ts +3 -0
  413. package/build/plugins/resource/sql/plugin.d.ts.map +1 -1
  414. package/build/plugins/resource/sql/plugin.js +76 -68
  415. package/build/plugins/resource/sql/plugin.js.map +1 -1
  416. package/build/plugins/resource/sql/sqlClient.d.ts +2 -2
  417. package/build/plugins/resource/sql/sqlClient.d.ts.map +1 -1
  418. package/build/plugins/resource/sql/sqlClient.js +13 -12
  419. package/build/plugins/resource/sql/sqlClient.js.map +1 -1
  420. package/build/plugins/resource/sql/v2/index.d.ts +2 -2
  421. package/build/plugins/resource/sql/v2/index.d.ts.map +1 -1
  422. package/build/plugins/resource/sql/v2/index.js +2 -1
  423. package/build/plugins/resource/sql/v2/index.js.map +1 -1
  424. package/build/plugins/resource/utils4v2.d.ts +1 -1
  425. package/build/plugins/resource/utils4v2.d.ts.map +1 -1
  426. package/build/plugins/resource/utils4v2.js +3 -3
  427. package/build/plugins/resource/utils4v2.js.map +1 -1
  428. package/build/plugins/solution/fx-solution/ResourcePluginContainer.d.ts +3 -3
  429. package/build/plugins/solution/fx-solution/ResourcePluginContainer.d.ts.map +1 -1
  430. package/build/plugins/solution/fx-solution/ResourcePluginContainer.js +3 -3
  431. package/build/plugins/solution/fx-solution/ResourcePluginContainer.js.map +1 -1
  432. package/build/plugins/solution/fx-solution/arm.d.ts +9 -2
  433. package/build/plugins/solution/fx-solution/arm.d.ts.map +1 -1
  434. package/build/plugins/solution/fx-solution/arm.js +44 -13
  435. package/build/plugins/solution/fx-solution/arm.js.map +1 -1
  436. package/build/plugins/solution/fx-solution/commonQuestions.d.ts +4 -3
  437. package/build/plugins/solution/fx-solution/commonQuestions.d.ts.map +1 -1
  438. package/build/plugins/solution/fx-solution/commonQuestions.js +11 -10
  439. package/build/plugins/solution/fx-solution/commonQuestions.js.map +1 -1
  440. package/build/plugins/solution/fx-solution/constants.d.ts +1 -0
  441. package/build/plugins/solution/fx-solution/constants.d.ts.map +1 -1
  442. package/build/plugins/solution/fx-solution/constants.js +1 -0
  443. package/build/plugins/solution/fx-solution/constants.js.map +1 -1
  444. package/build/plugins/solution/fx-solution/debug/constants.d.ts +0 -5
  445. package/build/plugins/solution/fx-solution/debug/constants.d.ts.map +1 -1
  446. package/build/plugins/solution/fx-solution/debug/constants.js +1 -7
  447. package/build/plugins/solution/fx-solution/debug/constants.js.map +1 -1
  448. package/build/plugins/solution/fx-solution/debug/provisionLocal.d.ts.map +1 -1
  449. package/build/plugins/solution/fx-solution/debug/provisionLocal.js +6 -4
  450. package/build/plugins/solution/fx-solution/debug/provisionLocal.js.map +1 -1
  451. package/build/plugins/solution/fx-solution/debug/scaffolding.d.ts +2 -2
  452. package/build/plugins/solution/fx-solution/debug/scaffolding.d.ts.map +1 -1
  453. package/build/plugins/solution/fx-solution/debug/scaffolding.js +5 -3
  454. package/build/plugins/solution/fx-solution/debug/scaffolding.js.map +1 -1
  455. package/build/plugins/solution/fx-solution/question.d.ts +2 -2
  456. package/build/plugins/solution/fx-solution/question.d.ts.map +1 -1
  457. package/build/plugins/solution/fx-solution/question.js +32 -22
  458. package/build/plugins/solution/fx-solution/question.js.map +1 -1
  459. package/build/plugins/solution/fx-solution/solution.d.ts.map +1 -1
  460. package/build/plugins/solution/fx-solution/solution.js +15 -15
  461. package/build/plugins/solution/fx-solution/solution.js.map +1 -1
  462. package/build/plugins/solution/fx-solution/utils/ResourceGroupHelper.d.ts +31 -0
  463. package/build/plugins/solution/fx-solution/utils/ResourceGroupHelper.d.ts.map +1 -0
  464. package/build/plugins/solution/fx-solution/utils/ResourceGroupHelper.js +222 -0
  465. package/build/plugins/solution/fx-solution/utils/ResourceGroupHelper.js.map +1 -0
  466. package/build/plugins/solution/fx-solution/v2/adaptor.js +1 -1
  467. package/build/plugins/solution/fx-solution/v2/adaptor.js.map +1 -1
  468. package/build/plugins/solution/fx-solution/v2/checkPermission.d.ts.map +1 -1
  469. package/build/plugins/solution/fx-solution/v2/checkPermission.js +1 -2
  470. package/build/plugins/solution/fx-solution/v2/checkPermission.js.map +1 -1
  471. package/build/plugins/solution/fx-solution/v2/createEnv.d.ts.map +1 -1
  472. package/build/plugins/solution/fx-solution/v2/createEnv.js +1 -3
  473. package/build/plugins/solution/fx-solution/v2/createEnv.js.map +1 -1
  474. package/build/plugins/solution/fx-solution/v2/deploy.js +1 -1
  475. package/build/plugins/solution/fx-solution/v2/deploy.js.map +1 -1
  476. package/build/plugins/solution/fx-solution/v2/executeUserTask.d.ts +2 -2
  477. package/build/plugins/solution/fx-solution/v2/executeUserTask.d.ts.map +1 -1
  478. package/build/plugins/solution/fx-solution/v2/executeUserTask.js +196 -122
  479. package/build/plugins/solution/fx-solution/v2/executeUserTask.js.map +1 -1
  480. package/build/plugins/solution/fx-solution/v2/generateResourceTemplate.d.ts +2 -2
  481. package/build/plugins/solution/fx-solution/v2/generateResourceTemplate.d.ts.map +1 -1
  482. package/build/plugins/solution/fx-solution/v2/generateResourceTemplate.js +9 -16
  483. package/build/plugins/solution/fx-solution/v2/generateResourceTemplate.js.map +1 -1
  484. package/build/plugins/solution/fx-solution/v2/getQuestions.d.ts.map +1 -1
  485. package/build/plugins/solution/fx-solution/v2/getQuestions.js +84 -99
  486. package/build/plugins/solution/fx-solution/v2/getQuestions.js.map +1 -1
  487. package/build/plugins/solution/fx-solution/v2/grantPermission.js +1 -2
  488. package/build/plugins/solution/fx-solution/v2/grantPermission.js.map +1 -1
  489. package/build/plugins/solution/fx-solution/v2/listCollaborator.d.ts.map +1 -1
  490. package/build/plugins/solution/fx-solution/v2/listCollaborator.js +6 -1
  491. package/build/plugins/solution/fx-solution/v2/listCollaborator.js.map +1 -1
  492. package/build/plugins/solution/fx-solution/v2/provision.d.ts.map +1 -1
  493. package/build/plugins/solution/fx-solution/v2/provision.js +1 -1
  494. package/build/plugins/solution/fx-solution/v2/provision.js.map +1 -1
  495. package/build/plugins/solution/fx-solution/v2/provisionLocal.js +1 -1
  496. package/build/plugins/solution/fx-solution/v2/provisionLocal.js.map +1 -1
  497. package/build/plugins/solution/fx-solution/v2/publish.js +1 -1
  498. package/build/plugins/solution/fx-solution/v2/publish.js.map +1 -1
  499. package/build/plugins/solution/fx-solution/v2/scaffolding.d.ts.map +1 -1
  500. package/build/plugins/solution/fx-solution/v2/scaffolding.js +16 -2
  501. package/build/plugins/solution/fx-solution/v2/scaffolding.js.map +1 -1
  502. package/build/plugins/solution/fx-solution/v2/utils.d.ts +3 -3
  503. package/build/plugins/solution/fx-solution/v2/utils.d.ts.map +1 -1
  504. package/build/plugins/solution/fx-solution/v2/utils.js +7 -5
  505. package/build/plugins/solution/fx-solution/v2/utils.js.map +1 -1
  506. package/build/plugins/solution/fx-solution/v3/addModule.d.ts +2 -4
  507. package/build/plugins/solution/fx-solution/v3/addModule.d.ts.map +1 -1
  508. package/build/plugins/solution/fx-solution/v3/addModule.js +29 -6
  509. package/build/plugins/solution/fx-solution/v3/addModule.js.map +1 -1
  510. package/build/plugins/solution/fx-solution/v3/addResource.d.ts +6 -14
  511. package/build/plugins/solution/fx-solution/v3/addResource.d.ts.map +1 -1
  512. package/build/plugins/solution/fx-solution/v3/addResource.js +23 -51
  513. package/build/plugins/solution/fx-solution/v3/addResource.js.map +1 -1
  514. package/build/plugins/solution/fx-solution/v3/constants.d.ts +2 -0
  515. package/build/plugins/solution/fx-solution/v3/constants.d.ts.map +1 -1
  516. package/build/plugins/solution/fx-solution/v3/constants.js +2 -0
  517. package/build/plugins/solution/fx-solution/v3/constants.js.map +1 -1
  518. package/build/plugins/solution/fx-solution/v3/deploy.d.ts +1 -3
  519. package/build/plugins/solution/fx-solution/v3/deploy.d.ts.map +1 -1
  520. package/build/plugins/solution/fx-solution/v3/deploy.js.map +1 -1
  521. package/build/plugins/solution/fx-solution/v3/init.d.ts.map +1 -1
  522. package/build/plugins/solution/fx-solution/v3/init.js +9 -0
  523. package/build/plugins/solution/fx-solution/v3/init.js.map +1 -1
  524. package/build/plugins/solution/fx-solution/v3/provision.d.ts +8 -1
  525. package/build/plugins/solution/fx-solution/v3/provision.d.ts.map +1 -1
  526. package/build/plugins/solution/fx-solution/v3/provision.js +219 -16
  527. package/build/plugins/solution/fx-solution/v3/provision.js.map +1 -1
  528. package/build/plugins/solution/fx-solution/v3/provisionLocal.d.ts.map +1 -1
  529. package/build/plugins/solution/fx-solution/v3/provisionLocal.js +96 -1
  530. package/build/plugins/solution/fx-solution/v3/provisionLocal.js.map +1 -1
  531. package/build/plugins/solution/fx-solution/v3/scaffold.d.ts +8 -13
  532. package/build/plugins/solution/fx-solution/v3/scaffold.d.ts.map +1 -1
  533. package/build/plugins/solution/fx-solution/v3/scaffold.js +30 -52
  534. package/build/plugins/solution/fx-solution/v3/scaffold.js.map +1 -1
  535. package/build/plugins/solution/spfx-solution/addModule.d.ts +2 -4
  536. package/build/plugins/solution/spfx-solution/addModule.d.ts.map +1 -1
  537. package/build/plugins/solution/spfx-solution/addModule.js +1 -1
  538. package/build/plugins/solution/spfx-solution/addModule.js.map +1 -1
  539. package/build/plugins/solution/spfx-solution/scaffold.d.ts +2 -10
  540. package/build/plugins/solution/spfx-solution/scaffold.d.ts.map +1 -1
  541. package/build/plugins/solution/spfx-solution/scaffold.js +3 -39
  542. package/build/plugins/solution/spfx-solution/scaffold.js.map +1 -1
  543. package/build/plugins/solution/spfx-solution/solution.d.ts +12 -17
  544. package/build/plugins/solution/spfx-solution/solution.d.ts.map +1 -1
  545. package/build/plugins/solution/spfx-solution/solution.js +7 -7
  546. package/build/plugins/solution/spfx-solution/solution.js.map +1 -1
  547. package/package.json +14 -9
  548. package/resource/strings.json +23 -8
  549. package/templates/plugins/resource/apim/bicep/apimConfiguration.bicep +1 -0
  550. package/templates/plugins/resource/apim/bicep/apimProvision.bicep +7 -5
  551. package/templates/plugins/resource/apim/bicep/config.template.bicep +1 -0
  552. package/templates/plugins/resource/bot/bicep/botConfiguration.template.bicep +12 -12
  553. package/templates/plugins/resource/bot/bicep/botProvision.template.bicep +15 -11
  554. package/templates/plugins/resource/bot/bicep/config.template.bicep +2 -0
  555. package/templates/plugins/resource/botservice/bicep/botServiceProvision.template.bicep +34 -0
  556. package/templates/plugins/resource/botservice/bicep/parameters.json +4 -0
  557. package/templates/plugins/resource/botservice/bicep/provision.template.bicep +13 -0
  558. package/templates/plugins/resource/frontend/bicep/frontendHostingProvision.bicep +4 -2
  559. package/templates/plugins/resource/frontend/bicep/provision.template.bicep +1 -0
  560. package/templates/plugins/resource/function/bicep/config.template.bicep +2 -0
  561. package/templates/plugins/resource/function/bicep/functionConfiguration.template.bicep +15 -15
  562. package/templates/plugins/resource/function/bicep/functionProvision.template.bicep +17 -14
  563. package/templates/plugins/resource/identity/bicep/identityProvision.template.bicep +2 -1
  564. package/templates/plugins/resource/keyvault/bicep/keyVaultProvision.template.bicep +9 -7
  565. package/templates/plugins/resource/simpleauth/bicep/config.template.bicep +2 -0
  566. package/templates/plugins/resource/simpleauth/bicep/simpleAuthConfiguration.template.bicep +7 -7
  567. package/templates/plugins/resource/simpleauth/bicep/simpleAuthProvision.template.bicep +9 -6
  568. package/templates/plugins/resource/sql/bicep/newDatabase.orchestration.template.bicep +5 -0
  569. package/templates/plugins/resource/sql/bicep/newDatabaseProvision.template.bicep +15 -0
  570. package/templates/plugins/resource/sql/bicep/sqlProvision.template.bicep +9 -5
  571. package/templates/plugins/resource/storage/bicep/azureStorageProvision.bicep +25 -0
  572. package/templates/plugins/resource/storage/bicep/provision.template.bicep +15 -0
  573. package/templates/plugins/resource/webapp/bicep/config.template.bicep +10 -0
  574. package/templates/plugins/resource/webapp/bicep/provision.template.bicep +16 -0
  575. package/templates/plugins/resource/webapp/bicep/webappConfiguration.template.bicep +74 -0
  576. package/templates/plugins/resource/webapp/bicep/webappProvision.template.bicep +48 -0
  577. package/build/common/templates.d.ts.map +0 -1
  578. package/build/common/templates.js.map +0 -1
  579. package/build/common/templatesActions.d.ts.map +0 -1
  580. package/build/common/templatesActions.js.map +0 -1
  581. package/build/common/templatesUtils.d.ts.map +0 -1
  582. package/build/common/templatesUtils.js.map +0 -1
  583. package/build/plugins/resource/frontend/blazor/constants.d.ts +0 -75
  584. package/build/plugins/resource/frontend/blazor/constants.d.ts.map +0 -1
  585. package/build/plugins/resource/frontend/blazor/constants.js +0 -98
  586. package/build/plugins/resource/frontend/blazor/constants.js.map +0 -1
  587. package/build/plugins/resource/frontend/blazor/enum.js +0 -39
  588. package/build/plugins/resource/frontend/blazor/ops/provision.d.ts +0 -8
  589. package/build/plugins/resource/frontend/blazor/ops/provision.d.ts.map +0 -1
  590. package/build/plugins/resource/frontend/blazor/ops/provision.js +0 -42
  591. package/build/plugins/resource/frontend/blazor/ops/provision.js.map +0 -1
  592. package/build/plugins/resource/frontend/blazor/plugin.d.ts +0 -35
  593. package/build/plugins/resource/frontend/blazor/plugin.d.ts.map +0 -1
  594. package/build/plugins/resource/frontend/blazor/plugin.js +0 -190
  595. package/build/plugins/resource/frontend/blazor/plugin.js.map +0 -1
  596. package/build/plugins/resource/frontend/blazor/resources/errors.d.ts +0 -41
  597. package/build/plugins/resource/frontend/blazor/resources/errors.d.ts.map +0 -1
  598. package/build/plugins/resource/frontend/blazor/resources/errors.js.map +0 -1
  599. package/build/plugins/resource/frontend/blazor/resources/messages.d.ts.map +0 -1
  600. package/build/plugins/resource/frontend/blazor/resources/messages.js.map +0 -1
  601. package/build/plugins/resource/frontend/blazor/utils/azure-client.d.ts +0 -21
  602. package/build/plugins/resource/frontend/blazor/utils/azure-client.d.ts.map +0 -1
  603. package/build/plugins/resource/frontend/blazor/utils/azure-client.js +0 -47
  604. package/build/plugins/resource/frontend/blazor/utils/azure-client.js.map +0 -1
  605. package/build/plugins/resource/frontend/utils/azure-client.d.ts +0 -12
  606. package/build/plugins/resource/frontend/utils/azure-client.d.ts.map +0 -1
  607. package/build/plugins/resource/frontend/utils/azure-client.js +0 -29
  608. package/build/plugins/resource/frontend/utils/azure-client.js.map +0 -1
  609. package/build/plugins/resource/function/utils/depsChecker/backendExtensionsInstall.d.ts +0 -9
  610. package/build/plugins/resource/function/utils/depsChecker/backendExtensionsInstall.d.ts.map +0 -1
  611. package/build/plugins/resource/function/utils/depsChecker/backendExtensionsInstall.js +0 -55
  612. package/build/plugins/resource/function/utils/depsChecker/backendExtensionsInstall.js.map +0 -1
  613. package/build/plugins/resource/function/utils/depsChecker/checker.d.ts +0 -54
  614. package/build/plugins/resource/function/utils/depsChecker/checker.d.ts.map +0 -1
  615. package/build/plugins/resource/function/utils/depsChecker/checker.js +0 -104
  616. package/build/plugins/resource/function/utils/depsChecker/checker.js.map +0 -1
  617. package/build/plugins/resource/function/utils/depsChecker/common.d.ts +0 -84
  618. package/build/plugins/resource/function/utils/depsChecker/common.d.ts.map +0 -1
  619. package/build/plugins/resource/function/utils/depsChecker/common.js +0 -136
  620. package/build/plugins/resource/function/utils/depsChecker/common.js.map +0 -1
  621. package/build/plugins/resource/function/utils/depsChecker/cpUtils.d.ts +0 -22
  622. package/build/plugins/resource/function/utils/depsChecker/cpUtils.d.ts.map +0 -1
  623. package/build/plugins/resource/function/utils/depsChecker/cpUtils.js +0 -105
  624. package/build/plugins/resource/function/utils/depsChecker/cpUtils.js.map +0 -1
  625. package/build/plugins/resource/function/utils/depsChecker/dotnetChecker.d.ts +0 -53
  626. package/build/plugins/resource/function/utils/depsChecker/dotnetChecker.d.ts.map +0 -1
  627. package/build/plugins/resource/function/utils/depsChecker/dotnetChecker.js +0 -387
  628. package/build/plugins/resource/function/utils/depsChecker/dotnetChecker.js.map +0 -1
  629. package/build/plugins/resource/function/utils/depsChecker/errors.d.ts +0 -14
  630. package/build/plugins/resource/function/utils/depsChecker/errors.d.ts.map +0 -1
  631. package/build/plugins/resource/function/utils/depsChecker/errors.js +0 -41
  632. package/build/plugins/resource/function/utils/depsChecker/errors.js.map +0 -1
  633. package/build/plugins/resource/function/utils/depsChecker/funcPluginAdapter.d.ts +0 -26
  634. package/build/plugins/resource/function/utils/depsChecker/funcPluginAdapter.d.ts.map +0 -1
  635. package/build/plugins/resource/function/utils/depsChecker/funcPluginAdapter.js +0 -111
  636. package/build/plugins/resource/function/utils/depsChecker/funcPluginAdapter.js.map +0 -1
  637. package/build/plugins/solution/fx-solution/debug/util/certificate.d.ts.map +0 -1
  638. package/build/plugins/solution/fx-solution/debug/util/certificate.js.map +0 -1
  639. package/build/plugins/solution/fx-solution/debug/util/process.d.ts.map +0 -1
  640. package/build/plugins/solution/fx-solution/debug/util/process.js.map +0 -1
  641. package/resource/plugins/resource/function/dotnet-install.ps1 +0 -1095
  642. package/resource/plugins/resource/function/dotnet-install.sh +0 -1222
@@ -38,21 +38,21 @@ var m365ApplicationIdUri = 'api://botid-${botId}'
38
38
  resource botWebAppSettings 'Microsoft.Web/sites/config@2021-02-01' = {
39
39
  name: '${botWebAppName}/appsettings'
40
40
  properties: union({
41
- INITIATE_LOGIN_ENDPOINT: uri(provisionOutputs.botOutput.value.siteEndpoint, 'auth-start.html')
42
- M365_AUTHORITY_HOST: m365OauthAuthorityHost
43
- M365_CLIENT_ID: m365ClientId
44
- M365_CLIENT_SECRET: m365ClientSecret
45
- M365_TENANT_ID: m365TenantId
46
- M365_APPLICATION_ID_URI: m365ApplicationIdUri
47
- BOT_ID: botAadAppClientId
48
- BOT_PASSWORD: botAadAppClientSecret
41
+ INITIATE_LOGIN_ENDPOINT: uri(provisionOutputs.botOutput.value.siteEndpoint, 'auth-start.html') // The page is used to let users consent required OAuth permissions during bot SSO process
42
+ M365_AUTHORITY_HOST: m365OauthAuthorityHost // AAD authority host
43
+ M365_CLIENT_ID: m365ClientId // Client id of AAD application
44
+ M365_CLIENT_SECRET: m365ClientSecret // Client secret of AAD application
45
+ M365_TENANT_ID: m365TenantId // Tenant id of AAD application
46
+ M365_APPLICATION_ID_URI: m365ApplicationIdUri // Application ID URI of AAD application
47
+ BOT_ID: botAadAppClientId // ID of your bot
48
+ BOT_PASSWORD: botAadAppClientSecret // Secret of your bot
49
49
  {{#if (contains "fx-resource-function" plugins) }}
50
- API_ENDPOINT: provisionOutputs.functionOutput.value.functionEndpoint
50
+ API_ENDPOINT: provisionOutputs.functionOutput.value.functionEndpoint // Azure Function endpoint
51
51
  {{/if}}
52
52
  {{#if (contains "fx-resource-azure-sql" plugins)}}
53
- SQL_DATABASE_NAME: \{{fx-resource-azure-sql.References.databaseName}}
54
- SQL_ENDPOINT: \{{fx-resource-azure-sql.References.sqlEndpoint}}
53
+ SQL_DATABASE_NAME: \{{fx-resource-azure-sql.References.databaseName}} // SQL database name
54
+ SQL_ENDPOINT: \{{fx-resource-azure-sql.References.sqlEndpoint}} // SQL server endpoint
55
55
  {{/if}}
56
- IDENTITY_ID: \{{fx-resource-identity.References.identityClientId}}
56
+ IDENTITY_ID: \{{fx-resource-identity.References.identityClientId}} // User assigned identity id, the identity is used to access other Azure resources
57
57
  }, currentAppSettings)
58
58
  }
@@ -3,14 +3,15 @@ param provisionParameters object
3
3
  param userAssignedIdentityId string
4
4
 
5
5
  var resourceBaseName = provisionParameters.resourceBaseName
6
- var botAadAppClientId = provisionParameters['botAadAppClientId']
7
- var botServiceName = contains(provisionParameters, 'botServiceName') ? provisionParameters['botServiceName'] : '${resourceBaseName}'
8
- var botServiceSku = contains(provisionParameters, 'botServiceSku') ? provisionParameters['botServiceSku'] : 'F0'
9
- var botDisplayName = contains(provisionParameters, 'botDisplayName') ? provisionParameters['botDisplayName'] : '${resourceBaseName}'
10
- var serverfarmsName = contains(provisionParameters, 'botServerfarmsName') ? provisionParameters['botServerfarmsName'] : '${resourceBaseName}bot'
11
- var webAppSKU = contains(provisionParameters, 'botWebAppSKU') ? provisionParameters['botWebAppSKU'] : 'F1'
12
- var webAppName = contains(provisionParameters, 'botSitesName') ? provisionParameters['botSitesName'] : '${resourceBaseName}bot'
6
+ var botAadAppClientId = provisionParameters['botAadAppClientId'] // Read AAD app client id for Azure Bot Service from parameters
7
+ var botServiceName = contains(provisionParameters, 'botServiceName') ? provisionParameters['botServiceName'] : '${resourceBaseName}' // Try to read name for Azure Bot Service from parameters
8
+ var botServiceSku = contains(provisionParameters, 'botServiceSku') ? provisionParameters['botServiceSku'] : 'F0' // Try to read SKU for Azure Bot Service from parameters
9
+ var botDisplayName = contains(provisionParameters, 'botDisplayName') ? provisionParameters['botDisplayName'] : '${resourceBaseName}' // Try to read display name for Azure Bot Service from parameters
10
+ var serverfarmsName = contains(provisionParameters, 'botServerfarmsName') ? provisionParameters['botServerfarmsName'] : '${resourceBaseName}bot' // Try to read name for App Service Plan from parameters
11
+ var webAppSKU = contains(provisionParameters, 'botWebAppSKU') ? provisionParameters['botWebAppSKU'] : 'F1' // Try to read SKU for Azure Web App from parameters
12
+ var webAppName = contains(provisionParameters, 'botSitesName') ? provisionParameters['botSitesName'] : '${resourceBaseName}bot' // Try to read name for Azure Web App from parameters
13
13
 
14
+ // Register your web service as a bot with the Bot Framework
14
15
  resource botService 'Microsoft.BotService/botServices@2021-03-01' = {
15
16
  kind: 'azurebot'
16
17
  location: 'global'
@@ -25,6 +26,7 @@ resource botService 'Microsoft.BotService/botServices@2021-03-01' = {
25
26
  }
26
27
  }
27
28
 
29
+ // Connect the bot service to Microsoft Teams
28
30
  resource botServiceMsTeamsChannel 'Microsoft.BotService/botServices/channels@2021-03-01' = {
29
31
  parent: botService
30
32
  location: 'global'
@@ -34,6 +36,7 @@ resource botServiceMsTeamsChannel 'Microsoft.BotService/botServices/channels@202
34
36
  }
35
37
  }
36
38
 
39
+ // Compute resources for your Web App
37
40
  resource serverfarm 'Microsoft.Web/serverfarms@2021-02-01' = {
38
41
  kind: 'app'
39
42
  location: resourceGroup().location
@@ -43,22 +46,23 @@ resource serverfarm 'Microsoft.Web/serverfarms@2021-02-01' = {
43
46
  }
44
47
  }
45
48
 
49
+ // Web App that hosts your bot
46
50
  resource webApp 'Microsoft.Web/sites@2021-02-01' = {
47
51
  kind: 'app'
48
52
  location: resourceGroup().location
49
53
  name: webAppName
50
54
  properties: {
51
55
  serverFarmId: serverfarm.id
52
- keyVaultReferenceIdentity: userAssignedIdentityId
56
+ keyVaultReferenceIdentity: userAssignedIdentityId // Use given user assigned identity to access Key Vault
53
57
  siteConfig: {
54
58
  appSettings: [
55
59
  {
56
60
  name: 'SCM_DO_BUILD_DURING_DEPLOYMENT'
57
- value: 'true'
61
+ value: 'true' // Execute build steps on your site during deployment
58
62
  }
59
63
  {
60
64
  name: 'WEBSITE_NODE_DEFAULT_VERSION'
61
- value: '~14'
65
+ value: '~14' // Set NodeJS version to 14.x for your site
62
66
  }
63
67
  ]
64
68
  }
@@ -66,7 +70,7 @@ resource webApp 'Microsoft.Web/sites@2021-02-01' = {
66
70
  identity: {
67
71
  type: 'UserAssigned'
68
72
  userAssignedIdentities: {
69
- '${userAssignedIdentityId}': {}
73
+ '${userAssignedIdentityId}': {} // The identity is used to access other Azure resources
70
74
  }
71
75
  }
72
76
  }
@@ -1,5 +1,7 @@
1
+ // Get existing app settings for merge
1
2
  var botCurrentAppSettings = list('${provisionOutputs.botOutput.value.botWebAppResourceId}/config/appsettings', '2021-02-01').properties
2
3
 
4
+ // Merge TeamsFx configurations to Bot resources
3
5
  module teamsFxBotConfig '\{{fx-resource-bot.Configuration.bot.path}}' = {
4
6
  name: 'addTeamsFxBotConfiguration'
5
7
  params: {
@@ -0,0 +1,34 @@
1
+ @secure()
2
+ param provisionParameters object
3
+ param botEndpoint string
4
+
5
+ var resourceBaseName = provisionParameters.resourceBaseName
6
+ var botAadAppClientId = provisionParameters['botAadAppClientId'] // Read AAD app client id for Azure Bot Service from parameters
7
+ var botServiceName = contains(provisionParameters, 'botServiceName') ? provisionParameters['botServiceName'] : '${resourceBaseName}' // Try to read name for Azure Bot Service from parameters
8
+ var botServiceSku = contains(provisionParameters, 'botServiceSku') ? provisionParameters['botServiceSku'] : 'F0' // Try to read SKU for Azure Bot Service from parameters
9
+ var botDisplayName = contains(provisionParameters, 'botDisplayName') ? provisionParameters['botDisplayName'] : '${resourceBaseName}' // Try to read display name for Azure Bot Service from parameters
10
+
11
+ // Register your web service as a bot with the Bot Framework
12
+ resource botService 'Microsoft.BotService/botServices@2021-03-01' = {
13
+ kind: 'azurebot'
14
+ location: 'global'
15
+ name: botServiceName
16
+ properties: {
17
+ displayName: botDisplayName
18
+ endpoint: uri(botEndpoint, '/api/messages')
19
+ msaAppId: botAadAppClientId
20
+ }
21
+ sku: {
22
+ name: botServiceSku // You can follow https://aka.ms/teamsfx-bicep-add-param-tutorial to add botServiceSku property to provisionParameters to override the default value "F0".
23
+ }
24
+ }
25
+
26
+ // Connect the bot service to Microsoft Teams
27
+ resource botServiceMsTeamsChannel 'Microsoft.BotService/botServices/channels@2021-03-01' = {
28
+ parent: botService
29
+ location: 'global'
30
+ name: 'MsTeamsChannel'
31
+ properties: {
32
+ channelName: 'MsTeamsChannel'
33
+ }
34
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "botAadAppClientId": "{{state.fx-resource-bot.botId}}",
3
+ "botAadAppClientSecret": "{{state.fx-resource-bot.botPassword}}"
4
+ }
@@ -0,0 +1,13 @@
1
+ // Resources for bot
2
+ module botProvision '\{{fx-resource-bot.Provision.botservice.path}}' = {
3
+ name: 'botProvision'
4
+ params: {
5
+ provisionParameters: provisionParameters
6
+ botEndpoint: \{{fx-resource-frontend-hosting.References.endpointAsParam}}
7
+ }
8
+ }
9
+
10
+ output botOutput object = {
11
+ teamsFxPluginId: 'fx-resource-bot'
12
+ validDomain: \{{fx-resource-frontend-hosting.References.domainAsParam}}
13
+ }
@@ -1,9 +1,10 @@
1
1
  @secure()
2
2
  param provisionParameters object
3
3
  var resourceBaseName = provisionParameters.resourceBaseName
4
- var storageName = contains(provisionParameters, 'frontendHostingStorageName') ? provisionParameters['frontendHostingStorageName'] : '${resourceBaseName}tab'
5
- var storageSku = contains(provisionParameters, 'frontendHostingStorageSku') ? provisionParameters['frontendHostingStorageSku'] : 'Standard_LRS'
4
+ var storageName = contains(provisionParameters, 'frontendHostingStorageName') ? provisionParameters['frontendHostingStorageName'] : '${resourceBaseName}tab' // Try to read name for frontend hosting Storage Account from parameters
5
+ var storageSku = contains(provisionParameters, 'frontendHostingStorageSku') ? provisionParameters['frontendHostingStorageSku'] : 'Standard_LRS' // Try to read SKU for frontend hosting Storage Account from parameters
6
6
 
7
+ // Azure Storage that hosts your static web site
7
8
  resource storage 'Microsoft.Storage/storageAccounts@2021-06-01' = {
8
9
  kind: 'StorageV2'
9
10
  location: resourceGroup().location
@@ -21,3 +22,4 @@ var siteDomain = replace(replace(storage.properties.primaryEndpoints.web, 'https
21
22
  output resourceId string = storage.id
22
23
  output endpoint string = 'https://${siteDomain}'
23
24
  output domain string = siteDomain
25
+ output indexPath string = '/index.html#'
@@ -10,5 +10,6 @@ output frontendHostingOutput object = {
10
10
  teamsFxPluginId: 'fx-resource-frontend-hosting'
11
11
  domain: frontendHostingProvision.outputs.domain
12
12
  endpoint: frontendHostingProvision.outputs.endpoint
13
+ indexPath: frontendHostingProvision.outputs.indexPath
13
14
  storageResourceId: frontendHostingProvision.outputs.resourceId
14
15
  }
@@ -1,6 +1,8 @@
1
+ // Get existing app settings and site config for merge
1
2
  var functionCurrentConfigs = reference('${provisionOutputs.functionOutput.value.functionAppResourceId}/config/web', '2021-02-01')
2
3
  var functionCurrentAppSettings = list('${provisionOutputs.functionOutput.value.functionAppResourceId}/config/appsettings', '2021-02-01').properties
3
4
 
5
+ // Merge TeamsFx configurations to Azure Functions resources
4
6
  module teamsFxFunctionConfig '\{{fx-resource-function.Configuration.function.path}}' = {
5
7
  name: 'addTeamsFxFunctionConfiguration'
6
8
  params: {
@@ -60,7 +60,7 @@ resource appConfig 'Microsoft.Web/sites/config@2021-02-01' = {
60
60
  properties: {
61
61
  cors: {
62
62
  allowedOrigins: union(currentAllowedOrigins, [
63
- tabAppEndpoint
63
+ tabAppEndpoint // allow requests from tab app
64
64
  ])
65
65
  }
66
66
  }
@@ -69,29 +69,29 @@ resource appConfig 'Microsoft.Web/sites/config@2021-02-01' = {
69
69
  resource appSettings 'Microsoft.Web/sites/config@2021-02-01' = {
70
70
  name: '${functionAppName}/appsettings'
71
71
  properties: union({
72
- API_ENDPOINT: \{{fx-resource-function.References.functionEndpoint}}
73
- ALLOWED_APP_IDS: authorizedClientApplicationIds
74
- M365_CLIENT_ID: m365ClientId
75
- M365_CLIENT_SECRET: m365ClientSecret
76
- M365_TENANT_ID: m365TenantId
77
- M365_AUTHORITY_HOST: m365OauthAuthorityHost
78
- M365_APPLICATION_ID_URI: m365ApplicationIdUri
79
- IDENTITY_ID: \{{fx-resource-identity.References.identityClientId}}
72
+ API_ENDPOINT: \{{fx-resource-function.References.functionEndpoint}} // Azure Functions endpoint
73
+ ALLOWED_APP_IDS: authorizedClientApplicationIds // Only allow tokens issued by these AAD applications
74
+ M365_CLIENT_ID: m365ClientId // Client id of AAD application
75
+ M365_CLIENT_SECRET: m365ClientSecret // Client secret of AAD application
76
+ M365_TENANT_ID: m365TenantId // Tenant id of AAD application
77
+ M365_AUTHORITY_HOST: m365OauthAuthorityHost // AAD authority host
78
+ M365_APPLICATION_ID_URI: m365ApplicationIdUri // Application ID URI of AAD application
79
+ IDENTITY_ID: \{{fx-resource-identity.References.identityClientId}} // User assigned identity id, the identity is used to access other Azure resources
80
80
  {{#if (contains "fx-resource-azure-sql" plugins) }}
81
- SQL_DATABASE_NAME: \{{fx-resource-azure-sql.References.databaseName}}
82
- SQL_ENDPOINT: \{{fx-resource-azure-sql.References.sqlEndpoint}}
81
+ SQL_DATABASE_NAME: \{{fx-resource-azure-sql.References.databaseName}} // SQL database name
82
+ SQL_ENDPOINT: \{{fx-resource-azure-sql.References.sqlEndpoint}} // SQL server endpoint
83
83
  {{/if}}
84
- }, currentAppSettings)
84
+ }, currentAppSettings) // Merge new settings with existing settings
85
85
  }
86
86
 
87
87
  resource authSettings 'Microsoft.Web/sites/config@2021-02-01' = {
88
88
  name: '${functionAppName}/authsettings'
89
89
  properties: {
90
- enabled: true
90
+ enabled: true // Validate access token in request authorization header
91
91
  defaultProvider: 'AzureActiveDirectory'
92
92
  clientId: m365ClientId
93
- issuer: '${oauthAuthority}/v2.0'
94
- allowedAudiences: [
93
+ issuer: '${oauthAuthority}/v2.0' // Issuer of access token
94
+ allowedAudiences: [ // Only allow tokens with following audiences
95
95
  m365ClientId
96
96
  m365ApplicationIdUri
97
97
  ]
@@ -3,12 +3,13 @@ param provisionParameters object
3
3
  param userAssignedIdentityId string
4
4
 
5
5
  var resourceBaseName = provisionParameters.resourceBaseName
6
- var serverfarmsName = contains(provisionParameters, 'functionServerfarmsName') ? provisionParameters['functionServerfarmsName'] : '${resourceBaseName}api'
7
- var serverfarmsSku = contains(provisionParameters, 'functionServerfarmsSku') ? provisionParameters['functionServerfarmsSku'] : 'Y1'
8
- var functionAppName = contains(provisionParameters, 'functionWebappName') ? provisionParameters['functionWebappName'] : '${resourceBaseName}api'
9
- var storageName = contains(provisionParameters, 'functionStorageName') ? provisionParameters['functionStorageName'] : '${resourceBaseName}api'
10
- var storageSku = contains(provisionParameters, 'functionStorageSku') ? provisionParameters['functionStorageSku'] : 'Standard_LRS'
6
+ var serverfarmsName = contains(provisionParameters, 'functionServerfarmsName') ? provisionParameters['functionServerfarmsName'] : '${resourceBaseName}api' // Try to read name for App Service Plan from parameters
7
+ var serverfarmsSku = contains(provisionParameters, 'functionServerfarmsSku') ? provisionParameters['functionServerfarmsSku'] : 'Y1' // Try to read SKU for App Service Plan from parameters
8
+ var functionAppName = contains(provisionParameters, 'functionWebappName') ? provisionParameters['functionWebappName'] : '${resourceBaseName}api' // Try to read name for Azure Functions from parameters
9
+ var storageName = contains(provisionParameters, 'functionStorageName') ? provisionParameters['functionStorageName'] : '${resourceBaseName}api' // Try to read name for Azure Storage from parameters
10
+ var storageSku = contains(provisionParameters, 'functionStorageSku') ? provisionParameters['functionStorageSku'] : 'Standard_LRS' // Try to read SKU for Azure Storage from parameters
11
11
 
12
+ // Compute resources for Azure Functions
12
13
  resource serverfarms 'Microsoft.Web/serverfarms@2021-02-01' = {
13
14
  name: serverfarmsName
14
15
  kind: 'functionapp'
@@ -18,42 +19,43 @@ resource serverfarms 'Microsoft.Web/serverfarms@2021-02-01' = {
18
19
  }
19
20
  }
20
21
 
22
+ // Azure Functions that hosts your function code
21
23
  resource functionApp 'Microsoft.Web/sites@2021-02-01' = {
22
24
  name: functionAppName
23
25
  kind: 'functionapp'
24
26
  location: resourceGroup().location
25
27
  properties: {
26
28
  serverFarmId: serverfarms.id
27
- keyVaultReferenceIdentity: userAssignedIdentityId
29
+ keyVaultReferenceIdentity: userAssignedIdentityId // Use given user assigned identity to access Key Vault
28
30
  siteConfig: {
29
31
  appSettings: [
30
32
  {
31
33
  name: 'AzureWebJobsDashboard'
32
- value: 'DefaultEndpointsProtocol=https;AccountName=${storage.name};AccountKey=${listKeys(storage.id, storage.apiVersion).keys[0].value};EndpointSuffix=${environment().suffixes.storage}'
34
+ value: 'DefaultEndpointsProtocol=https;AccountName=${storage.name};AccountKey=${listKeys(storage.id, storage.apiVersion).keys[0].value};EndpointSuffix=${environment().suffixes.storage}' // Azure Functions internal setting
33
35
  }
34
36
  {
35
37
  name: 'AzureWebJobsStorage'
36
- value: 'DefaultEndpointsProtocol=https;AccountName=${storage.name};AccountKey=${listKeys(storage.id, storage.apiVersion).keys[0].value};EndpointSuffix=${environment().suffixes.storage}'
38
+ value: 'DefaultEndpointsProtocol=https;AccountName=${storage.name};AccountKey=${listKeys(storage.id, storage.apiVersion).keys[0].value};EndpointSuffix=${environment().suffixes.storage}' // Azure Functions internal setting
37
39
  }
38
40
  {
39
41
  name: 'FUNCTIONS_EXTENSION_VERSION'
40
- value: '~3'
42
+ value: '~3' // Use Azure Functions runtime v3
41
43
  }
42
44
  {
43
45
  name: 'FUNCTIONS_WORKER_RUNTIME'
44
- value: 'node'
46
+ value: 'node' // Set runtime to NodeJS
45
47
  }
46
48
  {
47
49
  name: 'WEBSITE_CONTENTAZUREFILECONNECTIONSTRING'
48
- value: 'DefaultEndpointsProtocol=https;AccountName=${storage.name};AccountKey=${listKeys(storage.id, storage.apiVersion).keys[0].value};EndpointSuffix=${environment().suffixes.storage}'
50
+ value: 'DefaultEndpointsProtocol=https;AccountName=${storage.name};AccountKey=${listKeys(storage.id, storage.apiVersion).keys[0].value};EndpointSuffix=${environment().suffixes.storage}' // Azure Functions internal setting
49
51
  }
50
52
  {
51
53
  name: 'WEBSITE_RUN_FROM_PACKAGE'
52
- value: '1'
54
+ value: '1' // Run Azure Functions from a package file
53
55
  }
54
56
  {
55
57
  name: 'WEBSITE_NODE_DEFAULT_VERSION'
56
- value: '~14'
58
+ value: '~14' // Set NodeJS version to 14.x
57
59
  }
58
60
  ]
59
61
  }
@@ -61,11 +63,12 @@ resource functionApp 'Microsoft.Web/sites@2021-02-01' = {
61
63
  identity: {
62
64
  type: 'UserAssigned'
63
65
  userAssignedIdentities: {
64
- '${userAssignedIdentityId}': {}
66
+ '${userAssignedIdentityId}': {} // The identity is used to access other Azure resources
65
67
  }
66
68
  }
67
69
  }
68
70
 
71
+ // Azure Storage is required when creating Azure Functions instance
69
72
  resource storage 'Microsoft.Storage/storageAccounts@2021-06-01' = {
70
73
  name: storageName
71
74
  kind: 'StorageV2'
@@ -1,8 +1,9 @@
1
1
  @secure()
2
2
  param provisionParameters object
3
3
  var resourceBaseName = provisionParameters.resourceBaseName
4
- var identityName = contains(provisionParameters, 'userAssignedIdentityName') ? provisionParameters['userAssignedIdentityName'] : '${resourceBaseName}'
4
+ var identityName = contains(provisionParameters, 'userAssignedIdentityName') ? provisionParameters['userAssignedIdentityName'] : '${resourceBaseName}' // Try to read name for user assigned identity from parameters
5
5
 
6
+ // user assigned identity will be used to access other Azure resources
6
7
  resource managedIdentity 'Microsoft.ManagedIdentity/userAssignedIdentities@2018-11-30' = {
7
8
  name: identityName
8
9
  location: resourceGroup().location
@@ -1,15 +1,15 @@
1
1
  @secure()
2
2
  param provisionParameters object
3
- param userAssignedIdentityObjectId string
3
+ param userAssignedIdentityObjectId string // User assigned identity that will be grant Key Vault access permission
4
4
 
5
5
  var resourceBaseName = provisionParameters.resourceBaseName
6
- var keyVaultName = contains(provisionParameters, 'keyVaultName') ? provisionParameters['keyVaultName'] : '${resourceBaseName}'
6
+ var keyVaultName = contains(provisionParameters, 'keyVaultName') ? provisionParameters['keyVaultName'] : '${resourceBaseName}' // Try to read name for Key Vault from parameters
7
7
  var tenantId = subscription().tenantId
8
- var m365ClientSecretName = 'm365ClientSecret'
9
- var m365ClientSecret = provisionParameters['m365ClientSecret']
10
- var botClientSecretName = 'botClientSecret'
11
- var botClientSecret = contains(provisionParameters, 'botAadAppClientSecret') ? provisionParameters['botAadAppClientSecret'] : ''
12
- var keyVaultSkuName = contains(provisionParameters, 'keyVaultSkuName') ? provisionParameters['keyVaultSkuName'] : 'standard'
8
+ var m365ClientSecretName = 'm365ClientSecret' // Secret name of AAD app client secret
9
+ var m365ClientSecret = provisionParameters['m365ClientSecret'] // Read AAD app client secret from parameters
10
+ var botClientSecretName = 'botClientSecret' // Secret name of bot's AAD app client secret
11
+ var botClientSecret = contains(provisionParameters, 'botAadAppClientSecret') ? provisionParameters['botAadAppClientSecret'] : '' // Try to read bot's AAD app client secret from parameters
12
+ var keyVaultSkuName = contains(provisionParameters, 'keyVaultSkuName') ? provisionParameters['keyVaultSkuName'] : 'standard' // Try to read SKU for Key Vault from parameters
13
13
 
14
14
  resource keyVault 'Microsoft.KeyVault/vaults@2019-09-01' = {
15
15
  name: keyVaultName
@@ -34,6 +34,7 @@ resource keyVault 'Microsoft.KeyVault/vaults@2019-09-01' = {
34
34
  }
35
35
  }
36
36
 
37
+ // Set or update AAD app client secret if it's not empty in parameters
37
38
  resource clientSecretKv 'Microsoft.KeyVault/vaults/secrets@2019-09-01' = if (length(m365ClientSecret) != 0) {
38
39
  parent: keyVault
39
40
  name: m365ClientSecretName
@@ -42,6 +43,7 @@ resource clientSecretKv 'Microsoft.KeyVault/vaults/secrets@2019-09-01' = if (len
42
43
  }
43
44
  }
44
45
 
46
+ // Set or update bot's AAD app client secret if it's not empty in parameters
45
47
  resource botClientSecretKv 'Microsoft.KeyVault/vaults/secrets@2019-09-01' = if (length(botClientSecret) != 0) {
46
48
  parent: keyVault
47
49
  name: botClientSecretName
@@ -1,5 +1,7 @@
1
+ // Get existing app settings and site config for merge
1
2
  var simpleAuthCurrentAppSettings = list('${provisionOutputs.simpleAuthOutput.value.webAppResourceId}/config/appsettings', '2021-02-01').properties
2
3
 
4
+ // Merge TeamsFx configurations to Simple Auth resources
3
5
  module teamsFxSimpleAuthConfig '\{{fx-resource-simple-auth.Configuration.simpleAuth.path}}' = {
4
6
  name: 'addTeamsFxSimpleAuthConfiguration'
5
7
  params: {
@@ -47,14 +47,14 @@ var authorizedClientApplicationIds = '${teamsMobileOrDesktopAppClientId};${teams
47
47
  resource simpleAuthWebAppSettings 'Microsoft.Web/sites/config@2021-02-01' = {
48
48
  name: '${webAppName}/appsettings'
49
49
  properties: {
50
- AAD_METADATA_ADDRESS: aadMetadataAddress
51
- ALLOWED_APP_IDS: authorizedClientApplicationIds
52
- IDENTIFIER_URI: m365ApplicationIdUri
53
- CLIENT_ID: m365ClientId
54
- CLIENT_SECRET: m365ClientSecret
55
- OAUTH_AUTHORITY: oauthAuthority
50
+ AAD_METADATA_ADDRESS: aadMetadataAddress // AAD metadata address used to validate access tokens
51
+ ALLOWED_APP_IDS: authorizedClientApplicationIds // Only allow access tokens from these clients
52
+ IDENTIFIER_URI: m365ApplicationIdUri // Application ID URI of AAD app
53
+ CLIENT_ID: m365ClientId // Client id of AAD app
54
+ CLIENT_SECRET: m365ClientSecret // Client secret of AAD app
55
+ OAUTH_AUTHORITY: oauthAuthority // AAD authority
56
56
  {{#if (contains "fx-resource-frontend-hosting" plugins)}}
57
- TAB_APP_ENDPOINT: tabAppEndpoint
57
+ TAB_APP_ENDPOINT: tabAppEndpoint // Enable CORS for tab app
58
58
  {{/if}}
59
59
  }
60
60
  }
@@ -2,11 +2,12 @@
2
2
  param provisionParameters object
3
3
  param userAssignedIdentityId string
4
4
  var resourceBaseName = provisionParameters.resourceBaseName
5
- var sku = contains(provisionParameters, 'simpleAuthSku') ? provisionParameters['simpleAuthSku'] : 'F1'
6
- var serverFarmsName = contains(provisionParameters, 'simpleAuthServerFarmsName') ? provisionParameters['simpleAuthServerFarmsName'] : '${resourceBaseName}simpleAuth'
7
- var webAppName = contains(provisionParameters, 'simpleAuthWebAppName') ? provisionParameters['simpleAuthWebAppName'] : '${resourceBaseName}simpleAuth'
8
- var simpleAuthPackageUri = contains(provisionParameters, 'simpleAuthPackageUri') ? provisionParameters['simpleAuthPackageUri'] : 'https://github.com/OfficeDev/TeamsFx/releases/download/simpleauth@0.1.0/Microsoft.TeamsFx.SimpleAuth_0.1.0.zip'
5
+ var sku = contains(provisionParameters, 'simpleAuthSku') ? provisionParameters['simpleAuthSku'] : 'F1' // Try to read SKU for App Service Plan from parameters
6
+ var serverFarmsName = contains(provisionParameters, 'simpleAuthServerFarmsName') ? provisionParameters['simpleAuthServerFarmsName'] : '${resourceBaseName}simpleAuth' // Try to read name for App Service Plan from parameters
7
+ var webAppName = contains(provisionParameters, 'simpleAuthWebAppName') ? provisionParameters['simpleAuthWebAppName'] : '${resourceBaseName}simpleAuth' // Try to read name for Web App from parameters
8
+ var simpleAuthPackageUri = contains(provisionParameters, 'simpleAuthPackageUri') ? provisionParameters['simpleAuthPackageUri'] : 'https://github.com/OfficeDev/TeamsFx/releases/download/simpleauth@0.1.0/Microsoft.TeamsFx.SimpleAuth_0.1.0.zip' // Try to read url of Simple Auth bits from parameters
9
9
 
10
+ // Compute resources for Web App
10
11
  resource serverFarms 'Microsoft.Web/serverfarms@2021-02-01' = {
11
12
  name: serverFarmsName
12
13
  location: resourceGroup().location
@@ -16,22 +17,24 @@ resource serverFarms 'Microsoft.Web/serverfarms@2021-02-01' = {
16
17
  kind: 'app'
17
18
  }
18
19
 
20
+ // Web App that hosts Simple Auth
19
21
  resource webApp 'Microsoft.Web/sites@2021-02-01' = {
20
22
  kind: 'app'
21
23
  name: webAppName
22
24
  location: resourceGroup().location
23
25
  properties: {
24
26
  serverFarmId: serverFarms.id
25
- keyVaultReferenceIdentity: userAssignedIdentityId
27
+ keyVaultReferenceIdentity: userAssignedIdentityId // Use given user assigned identity to access Key Vault
26
28
  }
27
29
  identity: {
28
30
  type: 'UserAssigned'
29
31
  userAssignedIdentities: {
30
- '${userAssignedIdentityId}': {}
32
+ '${userAssignedIdentityId}': {} // The identity is used to access other Azure resources
31
33
  }
32
34
  }
33
35
  }
34
36
 
37
+ // Deploy Simple Auth bits to Web App
35
38
  resource simpleAuthDeploy 'Microsoft.Web/sites/extensions@2021-02-01' = {
36
39
  parent: webApp
37
40
  name: 'MSDeploy'
@@ -0,0 +1,5 @@
1
+ // output for database with name suffix [{{suffix}}]
2
+ output azureSqlOutput_{{suffix}} object = {
3
+ teamsFxPluginId: 'fx-resource-azure-sql'
4
+ databaseName_{{suffix}}: azureSqlProvision.outputs.databaseName_{{suffix}}
5
+ }
@@ -0,0 +1,15 @@
1
+ // database added with name suffix [{{suffix}}]
2
+ var sqlDatabaseName_{{suffix}} = contains(provisionParameters, 'sqlDatabaseName_{{suffix}}') ? provisionParameters['sqlDatabaseName_{{suffix}}'] : '${resourceBaseName}_{{suffix}}'
3
+ var sqlDatabaseSku_{{suffix}} = contains(provisionParameters, 'sqlDatabaseSku_{{suffix}}') ? provisionParameters['sqlDatabaseSku_{{suffix}}'] : 'Basic'
4
+
5
+ resource sqlDatabase_{{suffix}} 'Microsoft.Sql/servers/databases@2021-05-01-preview' = {
6
+ // parent should refer to resource symbolic name of SQL server
7
+ parent: sqlServer
8
+ location: resourceGroup().location
9
+ name: sqlDatabaseName_{{suffix}}
10
+ sku: {
11
+ name: sqlDatabaseSku_{{suffix}}
12
+ }
13
+ }
14
+
15
+ output databaseName_{{suffix}} string = sqlDatabaseName_{{suffix}}
@@ -1,12 +1,14 @@
1
1
  @secure()
2
2
  param provisionParameters object
3
3
  var resourceBaseName = provisionParameters.resourceBaseName
4
- var sqlServerName = contains(provisionParameters, 'sqlServerName') ? provisionParameters['sqlServerName'] : '${resourceBaseName}'
5
- var sqlDatabaseName = contains(provisionParameters, 'sqlDatabaseName') ? provisionParameters['sqlDatabaseName'] : '${resourceBaseName}'
6
- var sqlDatabaseSku = contains(provisionParameters, 'sqlDatabaseSku') ? provisionParameters['sqlDatabaseSku'] : 'Basic'
7
- var administratorLogin = contains(provisionParameters, 'azureSqlAdmin') ? provisionParameters['azureSqlAdmin'] : ''
8
- var administratorLoginPassword = contains(provisionParameters, 'azureSqlAdminPassword') ? provisionParameters['azureSqlAdminPassword'] : ''
4
+ var sqlServerName = contains(provisionParameters, 'sqlServerName') ? provisionParameters['sqlServerName'] : '${resourceBaseName}' // Try to read name for SQL Server from parameters
5
+ var sqlDatabaseName = contains(provisionParameters, 'sqlDatabaseName') ? provisionParameters['sqlDatabaseName'] : '${resourceBaseName}' // Try to read name for SQL Database from parameters
6
+ var sqlDatabaseSku = contains(provisionParameters, 'sqlDatabaseSku') ? provisionParameters['sqlDatabaseSku'] : 'Basic' // Try to read SKU for SQL Database from parameters
7
+ var administratorLogin = contains(provisionParameters, 'azureSqlAdmin') ? provisionParameters['azureSqlAdmin'] : '' // Try to read admin name for SQL Server from parameters, the value must be empty or same with the admin name used to create SQL Server
8
+ var administratorLoginPassword = contains(provisionParameters, 'azureSqlAdminPassword') ? provisionParameters['azureSqlAdminPassword'] : '' // Try to read admin password for SQL Server from parameters, empty means do not update admin password
9
9
 
10
+ // SQL Server that hosts the databases
11
+ // The symbolic name of SQL Server will be referenced as parent when adding nmultiple databases
10
12
  resource sqlServer 'Microsoft.Sql/servers@2021-05-01-preview' = {
11
13
  location: resourceGroup().location
12
14
  name: sqlServerName
@@ -16,6 +18,7 @@ resource sqlServer 'Microsoft.Sql/servers@2021-05-01-preview' = {
16
18
  }
17
19
  }
18
20
 
21
+ // SQL Database
19
22
  resource sqlDatabase 'Microsoft.Sql/servers/databases@2021-05-01-preview' = {
20
23
  parent: sqlServer
21
24
  location: resourceGroup().location
@@ -25,6 +28,7 @@ resource sqlDatabase 'Microsoft.Sql/servers/databases@2021-05-01-preview' = {
25
28
  }
26
29
  }
27
30
 
31
+ // Allow Azure services connect to the SQL Server
28
32
  resource sqlFirewallRules 'Microsoft.Sql/servers/firewallRules@2021-05-01-preview' = {
29
33
  parent: sqlServer
30
34
  name: 'AllowAzure'
@@ -0,0 +1,25 @@
1
+ @secure()
2
+ param provisionParameters object
3
+ var resourceBaseName = provisionParameters.resourceBaseName
4
+ var storageName = contains(provisionParameters, 'azureStorageName') ? provisionParameters['azureStorageName'] : '${resourceBaseName}tab' // Try to read name for frontend hosting Storage Account from parameters
5
+ var storageSku = contains(provisionParameters, 'azureStorageSku') ? provisionParameters['azureStorageSku'] : 'Standard_LRS' // Try to read SKU for frontend hosting Storage Account from parameters
6
+
7
+ // Azure Storage that hosts your static web site
8
+ resource storage 'Microsoft.Storage/storageAccounts@2021-06-01' = {
9
+ kind: 'StorageV2'
10
+ location: resourceGroup().location
11
+ name: storageName
12
+ properties: {
13
+ supportsHttpsTrafficOnly: true
14
+ }
15
+ sku: {
16
+ name: storageSku // You can follow https://aka.ms/teamsfx-bicep-add-param-tutorial to add frontendHostingStorageSku property to provisionParameters to override the default value "Standard_LRS".
17
+ }
18
+ }
19
+
20
+ var siteDomain = replace(replace(storage.properties.primaryEndpoints.web, 'https://', ''), '/', '')
21
+
22
+ output resourceId string = storage.id
23
+ output endpoint string = 'https://${siteDomain}'
24
+ output domain string = siteDomain
25
+ output indexPath string = '/index.html#'
@@ -0,0 +1,15 @@
1
+ // Resources for frontend hosting
2
+ module azureStorageProvision '\{{fx-resource-azure-storage.Provision.azureStorage.path}}' = {
3
+ name: 'azureStorageProvision'
4
+ params: {
5
+ provisionParameters: provisionParameters
6
+ }
7
+ }
8
+
9
+ output azureStorageOutput object = {
10
+ teamsFxPluginId: 'fx-resource-frontend-hosting'
11
+ domain: azureStorageProvision.outputs.domain
12
+ endpoint: azureStorageProvision.outputs.endpoint
13
+ indexPath: azureStorageProvision.outputs.indexPath
14
+ storageResourceId: azureStorageProvision.outputs.resourceId
15
+ }
@@ -0,0 +1,10 @@
1
+ var webappCurrentAppSettings = list('${provisionOutputs.webappOutput.value.webAppResourceId}/config/appsettings', '2021-02-01').properties
2
+
3
+ module teamsFxWebappConfig '\{{fx-resource-frontend-hosting.Configuration.webapp.path}}' = {
4
+ name: 'addTeamsFxWebappConfiguration'
5
+ params: {
6
+ provisionParameters: provisionParameters
7
+ provisionOutputs: provisionOutputs
8
+ currentAppSettings: webappCurrentAppSettings
9
+ }
10
+ }
@@ -0,0 +1,16 @@
1
+ // Resources for web app
2
+ module webappProvision '\{{fx-resource-frontend-hosting.Provision.webapp.path}}' = {
3
+ name: 'webappProvision'
4
+ params: {
5
+ provisionParameters: provisionParameters
6
+ userAssignedIdentityId: userAssignedIdentityProvision.outputs.identityResourceId
7
+ }
8
+ }
9
+
10
+ output webappOutput object = {
11
+ teamsFxPluginId: 'fx-resource-frontend-hosting'
12
+ domain: webappProvision.outputs.domain
13
+ endpoint: webappProvision.outputs.endpoint
14
+ indexPath: webappProvision.outputs.indexPath
15
+ webAppResourceId: webappProvision.outputs.resourceId
16
+ }